Offline Entities
- Migrate forms to use offline entities #692
- Warn about forms with old version of entity spec <2024.* #730
- Entity submission backlog: apply create as update #702
- Update conflict logic for offline entities #698
- Show events about offline entities backlog on submission details page #821
Submission Deletion
- Delete Submissions from UI #709
- Show delete and undelete events in submission activity feed #789
- Improve error message when a soft-deleted form gets re-submitted #794
Enhancements to UI
- Redesign breadcrumbs #674
- Add hover cards #670
- Update buttons above Draft test Submissions #833
- Testing QR code flyout without option to close it #847
Improvements to OData
- $skiptoken results in error for repeat group of individual submission #622
- singleRowToOData(): handle unmatched repeatId getodk/central-backend#1216
- OData /Submissions and /Submissions.xyz.* endpoints return empty array for invalid $skiptoken #763
- Unparseable $skiptoken behaviour is undefined #764
- OData $filter: unsupported function results in 500 error #711
Bug Fixes + Other Improvements
- Save user preferences #689
- Add ability to hide forms trash #690
- Show message if version of Central is out-of-date #774
- Return MD5 hash for form attachments #758
- Reject creating property with name that case-insensitively matches an existing property #769
- Entity List template CSV gets opened and saved by Excel as not UTF-8 #721
- Unable to create entity when "create" and "update" are true #727
- Can't see test Submissions if filters are selected in Submissions tab #756
- OIDC login fails due to Authentik sending state QS and node-openid-client failing a check getodk/central-backend#1134
- s3 upload-pending command should not require pgrowlocks extension #812
- Handle additional bodyParser errors #788
- Backend crash when opening hostile-named submission detail getodk/central-backend#1157
- http: strip ETag headers from error responses getodk/central-backend#1103
- nginx: reject requests with unexpected Host header #809
- App user QR code violates CSP directive #629
- Content-Type application/javascript is being served uncompressed #819
Maintenance
- Update usage information metrics for v2024.3 #722
- Query fewer analytics at once getodk/central-backend#1228
- Update backend dependencies for v2024.3 #733
- Update frontend dependencies for v2024.3 #734
- Upgraded web-forms to 0.6 getodk/central-frontend#1109
- Update infrastructure dependencies for v2024.3 #732
- Update translations for v2024.3 #731
Forum announcement: https://forum.getodk.org/t/51515