Release Notes - Technical Details
Internal companion to RELEASE_NOTES.md. Not for customers.
- Range:
b07f74751f82f5d8f47b5d3e26f485eb207eb5d6→dad0c28f81797be4b0d7ca3a6e8e4cd80ad82c55 - Generated: 2026-09-14 12:45 UTC
- Merge requests: 43
- Commits: 79 (0 without a merge request)
Merge requests
!1734 feat(horse): force delete in case the horse is hidden
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/1734
- Author: Rein de Vries
- Commits:
b1835151feat(horse): force delete in case the horse is hidden
!2199 feat(signup): support a module selection based on the type of stable
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2199
- Author: Rein de Vries
- Closes: #1332 Change signup module selection
- Commits:
4d28a36arefactor(timezone): use the filterInput select18067802feat(signup): support a module selection based on the type of stable
!2282 feat: manual expense
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2282
- Author: Rein de Vries
- Commits:
71fc369bchore(bi): show unknown subject76c79347feat: support manual expense1f879de8chore: move vatPercentage list with defaults to a helper function
!2289 Chore/update open api generator
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2289
- Author: Rein de Vries
- Closes: #1676 Move to the new Hey-api Open Api Parser and use internal ZOD parser
- Commits:
fa0d8c41fix(planning): treat null and undefined alike in activityHasFinalizedReport89914249chore(deployment): do not trigger refresh modal in development on an empty git hasa45cd5d0refactor: use IS_DEVELOPMENT as a const variable for checking node_env6ac88885refactor(webshopOrders): split loadApi data into 2 promises, one for the orders and one for meta datae0fa6fd2fix(horseDetail): error 'cannot appear as a descendant of...'8cf33afefix(planning): guard canFetchMore with isUsingPagination in ActionListcf2a34f5refactor: remove obsolete apiClient8a9702dcfix(session): send a validated token via validAuthToken fn to the toPdf endpoint80519925chore(pushNotification): send DeviceId7cd3fcfbrefactor(OpenApi): Adapt to new OpenApi Generator3c9aa430chore: added ApiError Error object6f7453e8refactor(ApiPromise): use promise based and support abort signal in callback835dae29chore(claude): update the specs for claude526aeadcchore: added AI rule for creating issues based on wrong schemab73c6ff2refactor(openApi): move to the new OpenApi generator and use the native ZOD schema's
!2306 Updated mare cycle check page
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2306
- Author: Michel
- Commits:
4a899393Fix mare cycle check back navigation from action listf490cf79Update mare cycle check dialog so cysts and notes can be copied in081eabb3cleanup: Remove 'showHorseOwner' from calendars202a17b4cleanup: Remove 'showBreedingBoxNumber' from calendars5d7a7440Updated mare cycle check page
!2325 feat(clientInvoicing): multiple enhancements
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2325
- Author: Rein de Vries
- Commits:
5c75cc3bfix(clientInvoicing): collapse status tabs into filter dropdown on mobile993ecf32chore(clientInvoice): added sort for the date column1723688afeat(clientInvoicing): add type filter to client invoicing list
!2326 fix(invoiceItems): map indexed field errors to their row/field instead of a generic banner
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2326
- Author: Rein de Vries
- Closes: #1679 Items: dit veld mag niet leeg zijn, #1688 Change of error for list (many=True) from list to dict
- Commits:
73b3b21afix(invoiceItems): map indexed field errors to their row/field instead of a generic banner6b9a6b42chore(apiParser): support dict keyed by string array-index
!2328 fix(invoice): keep invoice fields when only manual items remain
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2328
- Author: Rein de Vries
- Closes: #1694 (invoice): add a manual invoice item trigger the following error - Customer uid: This field is required
- Commits:
11c27e99fix(invoice): keep invoice fields when only manual items remain
!2330 fix(invoice): horse select disappearing after adding and removing invoice items
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2330
- Author: Rein de Vries
- Closes: #1678 Adding extra invoice item does not give horse selector
- Commits:
eb0d3ec2fix: reset all item fields on append to prevent stale data after delete-all-then-add1f1ca4c0fix(invoice): horse select disappearing after adding and removing invoice items
!2335 chore: update OpenApi
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2335
- Author: Rein de Vries
- Commits:
f93388f1chore: adapt to OpenApi changes936dbef0chore: update Open Api
!2336 fix(horses): stop search input from dropping keystrokes typed during URL commit
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2336
- Author: Rein de Vries
- Commits:
90a806b6fix(horses): stop search input from dropping keystrokes typed during URL commit
!2337 Automatically create release notes
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2337
- Author: Michel
- Commits:
f4b02822Show release notes button when they are available1b6f16edAutomatically create release notes
!2338 chore(bugsink): increase normalizeDepth to preserve nested error context
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2338
- Author: Rein de Vries
- Commits:
c5142311chore(bugsink): increase normalizeDepth to preserve nested error context
!2339 chore: added the correct billing name
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2339
- Author: Rein de Vries
- Commits:
6f2d5b55fix(saveContact): when saving a contact that is marked as primary_for_invoicing we should refresh the ME object to reflect that change3ce12aa2chore(subscriptionDetail): added back link when you edit the billable contacte552e529chore(subscriptionDetail): added the correct billing name903d9814chore: Adapt to OpenApi changes4bce8c1achore: Update OpenApi
!2340 fix(horses): replace deprecated get_horsetelex_detail with search_horse
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2340
- Author: Rein de Vries
- Closes: #1683 Deprecate get_horsetelex_detail
- Commits:
d34c172cfix(horses): replace deprecated get_horsetelex_detail with search_horse
!2341 Multi Invoice PDF
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2341
- Author: Michel
- Commits:
478c2770Make invoices downloadable in concept state from invoice details page1411df6eAdd bulk download invoices button
!2342 fix(listFilter): default filter storage to localStorage so it survives between closed sessions
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2342
- Author: Rein de Vries
- Commits:
91c2366dfix(listFilter): default filter storage to localStorage so it survives between closed sessions
!2343 fix(order): show the incomplete message only for existing orders, not new orders
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2343
- Author: Rein de Vries
- Commits:
2e1be744fix(order): show the incomplete message only for existing orders, not new orders
!2344 fix(planning): compare last used activity against sorted list, not raw API order
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2344
- Author: Rein de Vries
- Commits:
77674addfix(planning): compare last used activity against sorted list, not raw API order
!2345 fix(breeding): show mare cycle checks table instead of empty-state when any filter is active
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2345
- Author: Rein de Vries
- Commits:
e22ca628fix(breeding): show mare cycle checks table instead of empty-state when any filter is active
!2346 chore: added claude project instruction file
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2346
- Author: Rein de Vries
- Commits:
c55f2556chore: added claude project instruction file
!2347 fix(inseminationRoute): illegal dom nesting
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2347
- Author: Rein de Vries
- Commits:
de27b598fix(inseminationRoute): illegal dom nesting
!2348 fix(sentry): ignore benign cache-dir rmdir errors
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2348
- Author: Rein de Vries
- Closes: #1702 Failed to remove cache directory:: 'rmdir' failed because file at '/data/user/10/com.equinem.equinem/cache/equinem_cache/' does not exist.
- Commits:
af042a7efix(sentry): ignore benign cache-dir rmdir errors
!2349 Chore/update open api 0909
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2349
- Author: Rein de Vries
- Commits:
035b4b19chore: Adapt to OpenApi changesa29eb233chore: update OpenApi
!2350 refactor(signup): use correct 'modules' property from schema
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2350
- Author: Rein de Vries
- Closes: #1703 Modules field in Signup OpenApi is wrong
- Commits:
119ce396refactor(signup): use correct 'modules' property from schema
!2351 fix(invoice): don't translate invoice preview to invoice language in admin views
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2351
- Author: Rein de Vries
- Closes: #1681 Factuurtaal van contact naar Duits veranderd, Conceptfactuur is ineens in Engels (was Nederlands)
- Commits:
61bc4d0cfix(invoice): don't translate invoice preview to invoice language in admin views
!2352 fix(table): apply tableThead class to <thead> instead of tr/td
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2352
- Author: Rein de Vries
- Closes: #171 Use styling classes for tables correctly
- Commits:
cb305c09fix(table): apply tableThead class to <thead> instead of tr/td
!2353 refactor(invoice): extract MetaItem helper for repeated dt/dd markup in InvoiceMeta
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2353
- Author: Rein de Vries
- Closes: #165 Make component from Invoice Meta items
- Commits:
938fcd9frefactor(invoice): extract MetaItem helper for repeated dt/dd markup in InvoiceMeta
!2354 fix(vat): show error when deleting a VAT percentage fails
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2354
- Author: Rein de Vries
- Closes: #268 404 on removal of vatpercentages is not caught (should show error message)
- Commits:
4dd6c28ffix(vat): show error when deleting a VAT percentage fails
!2355 chore: format the claude MD
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2355
- Author: Rein de Vries
- Commits:
df8df22bchore: format the claude MD
!2356 chore(vite): remove redundant vite-plugin-eslint
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2356
- Author: Rein de Vries
- Commits:
26b6e181chore(vite): remove redundant vite-plugin-eslint
!2357 chore: remove manual jwt injection for all_auth as the specs are fixed
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2357
- Author: Rein de Vries
- Commits:
67fc21d9chore: remove manual jwt injection for all_auth as the specs are fixed
!2358 Fix markdown release notes
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2358
- Author: Michel
- Commits:
0e4da141Fix markdown release notes
!2359 chore(vite): upgrade to Vite 8 (Rolldown bundler)
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2359
- Author: Rein de Vries
- Commits:
d3ed31b3fix(vite): stop commit-hash.json losing the real git hash on build2c763c3echore(vite): upgrade to Vite 8 (Rolldown bundler)
!2360 fix: classify breeding order items via product_type
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2360
- Author: Rein de Vries
- Closes: #199 Breeding order items should include the shipping method
- Commits:
1882d1a3fix: classify breeding order items via product_type
!2361 Fix the release notes link and label it "What's new"
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2361
- Author: Michel
- Commits:
9d073372refactor(releaseNotes): label the release notes links "What's new"3d1f7e99fix(releaseNotes): tie the release notes url to the commit it was checked for
!2363 chore: update OpenApi
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2363
- Author: Rein de Vries
- Labels: Prio:High
- Commits:
767eea95chore: update OpenApi
!2365 fix(printPdf): set a correct name when printing via usePrintPage hook
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2365
- Author: Rein de Vries
- Labels: Prio:High
- Commits:
abeeb180fix(printPdf): set a correct name when printing via usePrintPage hook
!2366 fix: raise topdf edge-function timeouts for large print jobs
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2366
- Author: Rein de Vries
- Commits:
96f801bbfix: raise topdf edge-function timeouts for large print jobs
!2371 Chore/update open api 1409
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2371
- Author: Rein de Vries
- Commits:
def2ad17chore: Adapt to OpenApi changesfa9b12dbchore: update OpenApi
!2372 chore(toInvoice): added financial note if needed
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2372
- Author: Rein de Vries
- Commits:
76de5f2bchore(toInvoice): added financial note if needed
!2373 fix(toInvoice): persist description changes in invoice items to billable items on save
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2373
- Author: Rein de Vries
- Commits:
f850b115fix(toInvoice): persist description changes in invoice items to billable items on save
!2374 fix(invoice): remove line-type sort overriding saved invoice item order
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2374
- Author: Rein de Vries
- Commits:
ff82dd52fix(invoice): remove line-type sort overriding saved invoice item order
Left out of the customer release notes
OpenAPI schema refreshes and other changes with no customer-visible effect.
- !2335 chore: update OpenApi (https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2335)
- !2349 Chore/update open api 0909 (https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2349)
- !2363 chore: update OpenApi (https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2363)
- !2371 Chore/update open api 1409 (https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2371)