11# Changes
22
3+ ## 2026.31
4+
5+ ` 2026-06-05 ` | [ 8b4fe610f6...f3b4d68845] ( https://github.com/OneGov/onegov-cloud/compare/8b4fe610f6^...f3b4d68845 )
6+
7+ ### Core
8+
9+ ##### Avoids ` BrowserSession.pop ` causing changes for non-existent keys
10+
11+ This also cleans up some old sharp corners in the API
12+
13+ ` Bugfix ` | [ 5d1ad99e55] ( https://github.com/onegov/onegov-cloud/commit/5d1ad99e5583327b556f595e426a59800e9c98a4 )
14+
15+ ##### Replace N+1 has_table queries with single get_table_names on schema init
16+
17+ The fix fetches all existing table names in the schema with a single Inspector.get_table_names() call, then passes only the missing tables to create_all(..., checkfirst=False), reducing from O(n) to O(1)
18+
19+ ` Performance ` | [ HTTPS://SEANTIS-GMBH.SENTRY.IO/ISSUES/7357002739/ ] ( #HTTPS://SEANTIS-GMBH.SENTRY.IO/ISSUES/7357002739/ ) | [ 8b4fe610f6] ( https://github.com/onegov/onegov-cloud/commit/8b4fe610f6721407587f9b0c50fb71977071152e )
20+
21+ ### Directory
22+
23+ ##### Exclude all property names from the wtforms setattr loop
24+
25+ ` Bugfix ` | [ OGC-3195] ( https://linear.app/onegovcloud/issue/OGC-3195 ) | [ f23b9262a2] ( https://github.com/onegov/onegov-cloud/commit/f23b9262a2b1aee24d6685a72d268a3ce848759b )
26+
27+ ##### Explicitly include coordinates property in wtforms setattr loop
28+
29+ ` Bugfix ` | [ OGC-3195] ( https://linear.app/onegovcloud/issue/OGC-3195 ) | [ a99ca6283e] ( https://github.com/onegov/onegov-cloud/commit/a99ca6283e74801b8196b258d709ede17df19d11 )
30+
31+ ### Onboarding
32+
33+ ##### Fixes town assistant.
34+
35+ ` Bugfix ` | [ OGC-2727] ( https://linear.app/onegovcloud/issue/OGC-2727 ) | [ ec6fb0591b] ( https://github.com/onegov/onegov-cloud/commit/ec6fb0591bac676680a2c186076ee3aa565c22da )
36+
37+ ### Org
38+
39+ ##### Remove obsolete description from page form
40+
41+ ` Feature ` | [ NONE] ( #NONE ) | [ a7186f9813] ( https://github.com/onegov/onegov-cloud/commit/a7186f981363c8fad3e25c9d7c47c460f7f52f3a )
42+
43+ ##### Adds keywords (e.g. synonyms) to topics/pages. Keywords are also in the search index.
44+
45+ ` Feature ` | [ OGC-3155] ( https://linear.app/onegovcloud/issue/OGC-3155 ) | [ b718f04d1d] ( https://github.com/onegov/onegov-cloud/commit/b718f04d1d6239ae287030f68c3948190602335a )
46+
47+ ##### Fixes event search index corrupted after fetch.
48+
49+ The fetch CLI switches schemas multiple times in a loop (remote → local
50+ per source key), violating the session_manager's own design contract:
51+ "we only set the schema once per request". Any ORM flush during the
52+ schema-switch window would send indexing signals tagged with the wrong
53+ schema.
54+
55+ Wrap ` from_import() ` and the submit/publish/ticket block in
56+ ` disable_change_signals() ` , then explicitly index each added/updated
57+ published event after signals are restored.
58+
59+ ` Bugfix ` | [ OGC-3101] ( https://linear.app/onegovcloud/issue/OGC-3101 ) | [ 7c3b4503f1] ( https://github.com/onegov/onegov-cloud/commit/7c3b4503f12a51255088e6728fb547a03f71d647 )
60+
61+ ### Pas
62+
63+ ##### Don't show parliamentarian name in email.
64+
65+ ` Bugfix ` | [ OGC-3202] ( https://linear.app/onegovcloud/issue/OGC-3202 ) | [ eb9d4c8af7] ( https://github.com/onegov/onegov-cloud/commit/eb9d4c8af7b9211abf4f082dc10a60235e67b43f )
66+
67+ ### Town6
68+
69+ ##### Change label for all posts on homepage
70+
71+ This changes All articles to All posts
72+
73+ ` Feature ` | [ OGC-3181] ( https://linear.app/onegovcloud/issue/OGC-3181 ) | [ 51023e9c40] ( https://github.com/onegov/onegov-cloud/commit/51023e9c40fec0ca65534a0052f414aea97a7060 )
74+
75+ ### Winterthur
76+
77+ ##### Add iframe back button to directory entries and update it for events
78+
79+ ` Feature ` | [ OGC-3176] ( https://linear.app/onegovcloud/issue/OGC-3176 ) | [ 23ce66cdfd] ( https://github.com/onegov/onegov-cloud/commit/23ce66cdfdd83533da9c893527abb0f5f8b4a151 )
80+
81+ ## results
82+
83+ ` 2026-06-01 ` | [ 0e89ad461d...2a3b57e288] ( https://github.com/OneGov/onegov-cloud/compare/0e89ad461d^...2a3b57e288 )
84+
85+ ** Upgrade hints**
86+ - New version of xsdata-ech required, run ` make update `
87+ ### Core
88+
89+ ##### Fix ruff F811 errors [ skip-ci]
90+
91+ ` Bugfix ` | [ NONE] ( #NONE ) | [ 3225e9fca1] ( https://github.com/onegov/onegov-cloud/commit/3225e9fca18ff43858a886e20e1b5a5cc7accdcf )
92+
93+ ### Election-Day
94+
95+ ##### Improves error messages in API
96+
97+ Return proper errors in JSON for 401 and 500 errors.
98+
99+ ` Feature ` | [ 0e89ad461d] ( https://github.com/onegov/onegov-cloud/commit/0e89ad461dc51dabebaa97b3e0c9bf9d7bb94c3b )
100+
101+ ##### Adds support for eCH-0252 V2.0.0
102+
103+ Replaces existing pre release support.
104+
105+ ` Feature ` | [ fbe95b9391] ( https://github.com/onegov/onegov-cloud/commit/fbe95b9391d20a027acc296d089f00e17aebdde5 )
106+
107+ ##### Improves error message for unsupported DOI
108+
109+ ` Feature ` | [ a0d220d432] ( https://github.com/onegov/onegov-cloud/commit/a0d220d4329c5d53f2b302283fe6d6f4b207ac1e )
110+
111+ ##### No longer delete elections on the same date.
112+
113+ Deleting all elections on the same date that are not in the current
114+ eCH 0252 delivery is to aggressive. Remove only elections in the
115+ same ElectionCompound.
116+
117+ ` Feature ` | [ 5c58a21e9f] ( https://github.com/onegov/onegov-cloud/commit/5c58a21e9f60f1a3e5d129e7529397125a751922 )
118+
119+ ### Town
120+
121+ ##### Sortable fix
122+
123+ The view now scrolls when dragging an item to the list edge.
124+
125+ ` Feature ` | [ OGC-3111] ( https://linear.app/onegovcloud/issue/OGC-3111 ) | [ cdf0b667e6] ( https://github.com/onegov/onegov-cloud/commit/cdf0b667e63a2288077901fe8ec818b56b569e08 )
126+
127+ ## pro
128+
129+ ` 2026-05-28 ` | [ 8473c039e7...939f12381f] ( https://github.com/OneGov/onegov-cloud/compare/8473c039e7^...939f12381f )
130+
131+ ### Feriennet
132+
133+ ##### Volunteer Ticket
134+
135+ Volunteer registrations now create a ticket. The states can be changed in the ticket and mails are sent for registration and finalization.
136+
137+ ` Feature ` | [ PRO-1418] ( https://linear.app/projuventute/issue/PRO-1418 ) | [ 9bd8288850] ( https://github.com/onegov/onegov-cloud/commit/9bd8288850b9f4273dc47385412647f4f795302b )
138+
3139## 2026.30
4140
5- No changes since last release
141+ ` 2026-05-28 ` | [ 11fc058f63...11fc058f63 ] ( https://github.com/OneGov/onegov-cloud/compare/11fc058f63^...11fc058f63 )
6142
7143## 2026.29
8144
9- ` 2026-05-28 ` | [ 45e660da37 ...7e3e5ef99d] ( https://github.com/OneGov/onegov-cloud/compare/45e660da37 ^...7e3e5ef99d )
145+ ` 2026-05-28 ` | [ d73849d377 ...7e3e5ef99d] ( https://github.com/OneGov/onegov-cloud/compare/d73849d377 ^...7e3e5ef99d )
10146
11147### Core
12148
@@ -18,6 +154,10 @@ after a failed transaction or similar weird edge-cases.
18154
19155` Bugfix ` | [ OGC-3182] ( https://linear.app/onegovcloud/issue/OGC-3182 ) | [ 45e660da37] ( https://github.com/onegov/onegov-cloud/commit/45e660da3796474ae990d672b0404b006c9e3377 )
20156
157+ ##### Switch from requests to niquests
158+
159+ ` Performance ` | [ OGC-3166] ( https://linear.app/onegovcloud/issue/OGC-3166 ) | [ 51245bbbae] ( https://github.com/onegov/onegov-cloud/commit/51245bbbaec2637d3adc647bfc5e645b122bb570 )
160+
21161### Feriennet
22162
23163##### Add CLI to delete activities
@@ -54,24 +194,6 @@ on a very long time frame.
54194
55195` Performance ` | [ OGC-3183] ( https://linear.app/onegovcloud/issue/OGC-3183 ) | [ 62a08f26a5] ( https://github.com/onegov/onegov-cloud/commit/62a08f26a5a2553da7bdefd9718629bce98c2d07 )
56196
57- ### Swissvotes
58-
59- ##### New Design
60-
61- New design for the page.
62-
63- ` Feature ` | [ SWI-62] ( https://linear.app/swissvotes/issue/SWI-62 ) | [ f5646554d5] ( https://github.com/onegov/onegov-cloud/commit/f5646554d57f14cd02a760504c0b7a7195c508a3 )
64-
65- ## swi
66-
67- ` 2026-05-26 ` | [ b2808d3bc1...899516c297] ( https://github.com/OneGov/onegov-cloud/compare/b2808d3bc1^...899516c297 )
68-
69- ### Core
70-
71- ##### Switch from requests to niquests
72-
73- ` Performance ` | [ OGC-3166] ( https://linear.app/onegovcloud/issue/OGC-3166 ) | [ 51245bbbae] ( https://github.com/onegov/onegov-cloud/commit/51245bbbaec2637d3adc647bfc5e645b122bb570 )
74-
75197### Search
76198
77199##### Propagate errors while updating or deleting search index
@@ -80,6 +202,14 @@ Under high load (e.g. Feriennet opening days) concurrent bookings can trigger Po
80202
81203` Bugfix ` | [ PRO-1545] ( https://linear.app/projuventute/issue/PRO-1545 ) | [ edf9a3830f] ( https://github.com/onegov/onegov-cloud/commit/edf9a3830f31b46e2b1ab4370622458ad4d717d7 )
82204
205+ ### Swissvotes
206+
207+ ##### New Design
208+
209+ New design for the page.
210+
211+ ` Feature ` | [ SWI-62] ( https://linear.app/swissvotes/issue/SWI-62 ) | [ f5646554d5] ( https://github.com/onegov/onegov-cloud/commit/f5646554d57f14cd02a760504c0b7a7195c508a3 )
212+
83213## 2026.28
84214
85215` 2026-05-22 ` | [ 18c0a5a741...3de3c91a7d] ( https://github.com/OneGov/onegov-cloud/compare/18c0a5a741^...3de3c91a7d )
@@ -1504,111 +1634,3 @@ Replaces word `coordinate` with `map` to explain what really happens.
15041634
15051635` Bugfix ` | [ PRO-1478] ( https://linear.app/projuventute/issue/PRO-1478 ) | [ 0a4012edd8] ( https://github.com/onegov/onegov-cloud/commit/0a4012edd806ba1f1cb46d471f460484984e8368 )
15061636
1507- ## 2026.5
1508-
1509- ` 2026-02-10 ` | [ 7178b5005b...c93df57ee5] ( https://github.com/OneGov/onegov-cloud/compare/7178b5005b^...c93df57ee5 )
1510-
1511- ** Upgrade hints**
1512- - onegov-election-day --select /onegov_election_day/gr update-archived-results
1513- ### Core
1514-
1515- ##### Prepares for SQLAlchemy 2.0 upgrade
1516-
1517- ` Feature ` | [ OGC-2944] ( https://linear.app/onegovcloud/issue/OGC-2944 ) | [ ea2ef0eb7f] ( https://github.com/onegov/onegov-cloud/commit/ea2ef0eb7ff6e9162e3b935ae7fcaf98c736e2eb )
1518-
1519- ### Feriennet
1520-
1521- ##### Period display bugfix
1522-
1523- ` Bugfix ` | [ OGC-1467] ( https://linear.app/onegovcloud/issue/OGC-1467 ) | [ 111eac326b] ( https://github.com/onegov/onegov-cloud/commit/111eac326b77d44da6c0d757c66c78fab9c0e3b0 )
1524-
1525- ### Landsgemeinde
1526-
1527- ##### Allows refining search results with a date range
1528-
1529- All relevant content types now use the assembly date as their reference
1530- date in the search index.
1531-
1532- ` Feature ` | [ OGC-2909] ( https://linear.app/onegovcloud/issue/OGC-2909 ) | [ 65746148d2] ( https://github.com/onegov/onegov-cloud/commit/65746148d202c25738e79cc3c53d3b5505fad893 )
1533-
1534- ### Org
1535-
1536- ##### Avoids confusion by sometimes hiding the availability text
1537-
1538- Allocations that are in the past or no longer/not yet available
1539- because they're outside the registration window would previously
1540- sometimes say that they're available, or partly available, even
1541- though they can't be reserved. Since the reason for why they're
1542- currently unavailable can be a bit contrived, it's better to not
1543- display anything at all. Customers will still get a clear explanation
1544- when they try to reserve these slots.
1545-
1546- ` Feature ` | [ OGC-2334] ( https://linear.app/onegovcloud/issue/OGC-2334 ) | [ 0e575db9cc] ( https://github.com/onegov/onegov-cloud/commit/0e575db9cc7662715f58093221e2e277638d1119 )
1547-
1548- ##### Fixes CSP for Stripe/Datatrans payments
1549-
1550- ` Bugfix ` | [ OGC-2948] ( https://linear.app/onegovcloud/issue/OGC-2948 ) | [ ccf901324f] ( https://github.com/onegov/onegov-cloud/commit/ccf901324faef9bf73bb66b4fc3021108fa34513 )
1551-
1552- ##### Fixes blocker created with no reason being set to ` null `
1553-
1554- ` Bugfix ` | [ OGC-2954] ( https://linear.app/onegovcloud/issue/OGC-2954 ) | [ 28fb8697dc] ( https://github.com/onegov/onegov-cloud/commit/28fb8697dccb64c642a3529803f04c2578d90f6e )
1555-
1556- ##### Fixes regression in ` send_ticket_mail `
1557-
1558- ` Bugfix ` | [ OGC-2960] ( https://linear.app/onegovcloud/issue/OGC-2960 ) | [ d983f55617] ( https://github.com/onegov/onegov-cloud/commit/d983f556171c49d87100825928628af424d2cd8a )
1559-
1560- ### Town 6
1561-
1562- ##### Searchbar on homepage slider and video
1563-
1564- ` Feature ` | [ OGC-2790] ( https://linear.app/onegovcloud/issue/OGC-2790 ) | [ 5fa5d7056e] ( https://github.com/onegov/onegov-cloud/commit/5fa5d7056e2a0d9c74cf9dfd57e3f274f3494dc8 )
1565-
1566- ### Town6
1567-
1568- ##### Fix display bug of images
1569-
1570- ` Bugfix ` | [ OGC-2901] ( https://linear.app/onegovcloud/issue/OGC-2901 ) | [ 93b61635fa] ( https://github.com/onegov/onegov-cloud/commit/93b61635fad07090fb0195ff74312b0c52be0c2d )
1571-
1572- ### Wab
1573-
1574- ##### Show proposal, counterproposal and tie-breaker results separately for complex votes
1575-
1576- ` Feature ` | [ OGC-2850] ( https://linear.app/onegovcloud/issue/OGC-2850 ) | [ 435dbf9ae8] ( https://github.com/onegov/onegov-cloud/commit/435dbf9ae8c85197e60d213591ce0a11b90fa5d4 )
1577-
1578- ## 2026.4
1579-
1580- ` 2026-01-30 ` | [ 574f21d1c1...195a697ab3] ( https://github.com/OneGov/onegov-cloud/compare/574f21d1c1^...195a697ab3 )
1581-
1582- ### Directory
1583-
1584- ##### Fix directory migration crash when renaming option labels
1585-
1586- ` Bugfix ` | [ OGC-2353] ( https://linear.app/onegovcloud/issue/OGC-2353 ) | [ 6bbe21e2a0] ( https://github.com/onegov/onegov-cloud/commit/6bbe21e2a0647bcbb428908d5aee663a9dc8a7b2 )
1587-
1588- ### Org
1589-
1590- ##### Replaces data-attributes that triggered a call of ` eval `
1591-
1592- This means we no longer have any views where we have to add a narrow
1593- ` unsafe-eval ` exception to the CSP, in order to make things work.
1594-
1595- ` Feature ` | [ OGC-2916] ( https://linear.app/onegovcloud/issue/OGC-2916 ) | [ 24b52c862e] ( https://github.com/onegov/onegov-cloud/commit/24b52c862e06d2097c85848194445f5ec8304ad2 )
1596-
1597- ### Page
1598-
1599- ##### Improve iframe domain validation to for configured domains.
1600-
1601- Right split trailing slashes from configured domains prior comparison
1602-
1603- ` Feature ` | [ OGC-2940] ( https://linear.app/onegovcloud/issue/OGC-2940 ) | [ 005ce6fc34] ( https://github.com/onegov/onegov-cloud/commit/005ce6fc34f25b27cfaaa05d14cc8e4c736dc48a )
1604-
1605- ### Pas
1606-
1607- ##### Validate attendance to be within a settlement run.
1608-
1609- ` Bugfix ` | [ OGC-2848] ( https://linear.app/onegovcloud/issue/OGC-2848 ) | [ 9762773489] ( https://github.com/onegov/onegov-cloud/commit/97627734897050e2435e9a2d0622a3e66af017d0 )
1610-
1611- ##### Ensure finalized attendance for commission.
1612-
1613- ` Bugfix ` | [ OGC-2845] ( https://linear.app/onegovcloud/issue/OGC-2845 ) | [ 58d94c5689] ( https://github.com/onegov/onegov-cloud/commit/58d94c568988d3748aa184372b1ee755ac0c858a )
1614-
0 commit comments