Release Notes - Technical Details
Internal companion to RELEASE_NOTES.md. Not for customers.
- Range:
13aa73dddd386e098879b1c27d9fd49381da982e→ef679328ebcb228854e885ed6b026b36930ee853 - Generated: 2026-10-22 10:17 UTC
- Merge requests: 67
- Commits: 156 (0 without a merge request)
Merge requests
!1177 feat: Added calendar feed
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/1177
- Author: Rein de Vries
- Closes: #213 Feature Request: sync EquineM agenda with external calendar (e.g. Google/outlook), #896 Add function for users to signup to iCal (calendar) stream
- Commits:
0c7ff0b3feat(planning): add calendar feeds settings tile8083b7efrefactor(planning): load activity types on the planning settings page
!1229 (daypart): use the correct error function to get the error
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/1229
- Author: Rein de Vries
- Closes: #999 Starttijd moet uniek zijn moet onder start tijd komen
- Commits:
35e73c02fix(dayparts): show api errors at the related day part row
!1701 (contact): Always allow editing contact initials and show profile initials in sidebar
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/1701
- Author: Rein de Vries
- Commits:
d60a755bfix(contacts): always show initials field and use profile initials in sidebar avatar
!2193 chore(order): use the last order as base for the repeat order
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2193
- Author: Rein de Vries
- Labels: VDL
- Commits:
294654eechore(order): use the last order as base for the repeat order
!2215 Refactor/use country select as filterinput
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2215
- Author: Rein de Vries
- Commits:
e7f03055fix(signup): make the timezone select non-nullable againb6231a91refactor(country): use the FilterSelectInput with flags for country selects
!2331 fix(horses): show actual search sources in multiple-results message
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2331
- Author: Gerben Morsink
- Labels: Bug, Enhancement
- Commits:
a82f5c67fix(horses): make external search results modal title source-agnostic19b674f1fix(horses): show actual search sources in multiple-results message
!2333 chore(android): support R8
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2333
- Author: Rein de Vries
- Commits:
b644e8f2chore(android): support R8
!2417 Fix/security open redirect token leak
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2417
- Author: Michel
- Commits:
51f19c3dfix(pdf): redact token from logs and escape query params in topdf edge functionca8852a2fix(auth): block open redirect via ?redirect= param, bump react-router-dom
!2437 fix(invoice): multiple fixes for finalized invoice
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2437
- Author: Rein de Vries
- Closes: #1074 Change in invoice item description not visible in invoice pdf after invoice is finalized
- Commits:
c4578186fix(invoice): disable currency field when editing a finalized invoice9944b73ffix(invoice): refresh historic_customer when customer changes on a finalized invoice
!2439 fix(invoice): poll send status and warn when sending is not confirmed
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2439
- Author: Rein de Vries
- Closes: #559 Invoices: Finalizing + sending an invoice takes over 30 seconds
- Commits:
d639e459fix(invoice): poll send status and warn when sending is not confirmed
!2457 fix(invoice): show a not found page for an unknown public invoice
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2457
- Author: Rein de Vries
- Labels: Bug, Prio:High
- Closes: #666 Public invoice not found page
- Commits:
29795218fix: correct the name Equinem to EquineMcac8c52cfix(invoice): show a not found page for an unknown public invoice
!2464 feat(contacts): enhanced contact/user list
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2464
- Author: Rein de Vries
- Closes: #760 Contact list overview should provide more information
- Commits:
e7292146feat(contacts): show the duplicate count and put the primary action on the right8203a422feat(contacts): show role badges under the name and combine contact details in the contact and user lists75e116cbfeat(contacts): add roles column and filter to the contact listf92ae4b1fix(contacts): apply every list filter instead of only the first54cde894refactor(roles): extract shared roleOptions helper
!2478 fix(picklist): hide stock collected after the order shipping date
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2478
- Author: Rein de Vries
- Closes: #818 Do not show future semen stock in the picklist
- Commits:
1820b86cfix(picklist): hide stock collected after the order shipping date
!2489 feat: TransPas facility reservation frontend
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2489
- Author: Michel
- Closes: #1725 TransPas integration (Gelissen): facility reservation frontend
- Commits:
d4f8a0f5fix(planning): count all day reservations when finding free boxesd32bf08afix(planning): hide same day gaps in the unassigned TransPas facility906f9f7dfeat(planning): only show the Gantt menu item for SSD organisations890c64cbfeat(planning): color TransPas reservations by leg number3e39380efix(planning): show the boxes as a grid when moving a TransPas reservation30e42514feat(planning): name barn slots "Box" in the Gantt2415359dfix(planning): fix type and lint errors after rebasing onto mastere0fb869drefactor(planning): move the TransPas Gantt to its own page6ce1d2fefix(planning): collapse the slots of a facility in the Gantt0c75580dfeat(horses): default the horse list to external horses for TransPas organisationsce708d8bfeat(planning): move TransPas reservations to another facilityeb1b050afeat(planning): add a change modal for TransPas reservationsac49830cfeat(planning): hide deleting and cancelling TransPas reservations0fc8e21bfeat(planning): hide creating facility reservations for TransPas organisations8fa4e3e7feat(planning): show TransPas dossier details on facility reservations6094df13feat(facilities): hide removing and slot capacity of the unassigned facility
!2492 chore(ts): switch the tsconfig module from CommonJS to ESNext
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2492
- Author: Rein de Vries
- Closes: #1710 Remove commonJS and ES2022 (or higher)
- Commits:
335ba4bbchore(ts): switch the tsconfig module from CommonJS to ESNext
!2495 fix(planning): mobile full day column header and day header actions menu
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2495
- Author: Michel
- Commits:
d83a00f8feat(planning): open day actions menu by clicking the day header41055658fix(planning): hide empty column header in mobile full day view
!2498 feat(breedingPlans): filter on plans without agent / insemination station
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2498
- Author: Michel
- Commits:
b23a7618feat(breedingPlans): filter on plans without agent / insemination station
!2500 fix(edge): don't throw on disallowed CORS origins and allow shop domains
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2500
- Author: Rein de Vries
- Labels: Bug
- Closes: #1741 Edge functions return 500 on requests from disallowed CORS origins
- Commits:
f23661d3fix(edge): don't throw on disallowed CORS origins and allow shop domains
!2502 chore: shrinks app file size
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2502
- Author: Rein de Vries
- Commits:
e6c6e7aebuild: skip PWA startup images when generating store faviconsf64a9567build: strip PWA startup images from native builds941e48f7ci(shops): list largest files and icons per apk/aab in android buildc26dbbc6ci(shops): list generated icons per ipa in ios builda75a5130ci(shops): print shop artifact sizes in android buildb7e12e31ci(shops): avoid SIGPIPE failure when listing ipa contentsefa1e91cbuild: delete sourcemaps after uploading them to Bugsinkcfc34443ci(shops): list largest files per ipa in ios build5a5d5340ci(shops): only collect the shop's apk/aab as android artifact
!2503 perf(breeding): load horse summaries instead of all full horses
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2503
- Author: Gerben Morsink
- Closes: #1740 Load horse summaries instead of every full horse on breeding and horse screens
- Commits:
e58c95e1refactor(breeding): name the horse summaries promise after its cache keyd53747b0perf(breeding): load horse summaries instead of all full horses
!2504 chore(bugsink): ignore benign ResizeObserver loop errors
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2504
- Author: Rein de Vries
- Commits:
0bde50bechore(sentry): ignore benign ResizeObserver loop errors
!2505 Fix/ensure safe storage object
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2505
- Author: Rein de Vries
- Commits:
ec9a2104fix: guard browser storage access against SecurityErrorc2fe0c5bfix(auth): don't crash when browser storage is blocked
!2506 Chore/update open api
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2506
- Author: Rein de Vries
- Commits:
d4a66eb7chore: adapt to OpenApi changes560da1ecchore: update OpenApi
!2507 fix(android): lock phones to portrait, allow landscape on tablets
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2507
- Author: Rein de Vries
- Closes: #1735 mobile: landscape should be disabled for phone but not for tablets
- Commits:
cd6f9a86fix(android): lock phones to portrait, allow landscape on tablets
!2508 perf(breeding): load contact summaries instead of all full contacts
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2508
- Author: Gerben Morsink
- Closes: #1744 Load contact summaries instead of every full contact on breeding and horse screens
- Commits:
f671bee2fix(breeding): leave hidden insemination stations without plans out of the requester filter5abb0d6ftest(breeding): leave hidden insemination stations without plans out of the requester filter6f071184perf(breeding): load contact summaries in the mare cycle check modalea924c75revert(horses): keep full contacts in the create horse modal7864bd1frefactor(breeding): name the contact summaries promise after its cache key67cb4bd2perf(breeding): load contact summaries instead of all full contacts
!2509 fix(invoice): log missing related horse as warning instead of error
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2509
- Author: Rein de Vries
- Closes: #1745 Missing related horse on invoice is reported as error in Sentry
- Commits:
43869058fix(invoice): log missing related horse as warning instead of error
!2510 Resolve "Network failure in min version check is reported as error in Bugsink"
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2510
- Author: Rein de Vries
- Closes: #1746 Network failure in min version check is reported as error in Sentry
- Commits:
1619fc24docs: refer to error tracking as Bugsink4a9f5cc8fix(app-update): don't report network errors from min version check
!2511 fix(audio): don't report failed sound playback as error
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2511
- Author: Rein de Vries
- Closes: #1747 Failed check sound playback is reported as error in Bugsink
- Commits:
573c6291fix(audio): don't report failed sound playback as error
!2512 fix(image): fall back to original file when EXIF parsing fails
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2512
- Author: Rein de Vries
- Closes: #1748 Invalid image format when reading EXIF orientation is reported as error in Bugsink
- Commits:
ed82d69efix(image): fall back to original file when EXIF parsing fails
!2513 fix(activities): show form validation errors instead of reporting them to Bugsink
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2513
- Author: Rein de Vries
- Closes: #1749 Activity form validation errors are reported as error in Bugsink
- Commits:
5d9d312bfix(activities): show form validation errors instead of reporting them to Bugsink
!2514 feat: boarders add their own horses and co-riders
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2514
- Author: Gerben Morsink
- Closes: #1751 Boarders add their own horses and co-riders
- Commits:
6d0b088ffix(useFormError): don't repeat a field's API error above the formcb6d6de7feat(horse): link a co-rider to their contact page #17511d1b52fffix(horse): require a name for a co-rider invite, show who is invited #17514f0cf66bfeat: boarders add their own horses and co-riders #1751
!2515 fix(profile): skip fetching stables when there are too many organisations
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2515
- Author: Rein de Vries
- Labels: Prio:High
- Closes: #1752 Profile page fetches stables for every organisation in super admin mode
- Commits:
35154019fix(profile): skip fetching stables when there are too many organisations
!2516 fix(layout): keep sticky content below the impersonation banner
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2516
- Author: Rein de Vries
- Closes: #1753 Impersonation banner covers sticky page content when scrolled
- Commits:
61261715fix(layout): keep sticky content below the impersonation banner
!2517 Chore/update open api 1210
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2517
- Author: Rein de Vries
- Labels: Prio:High
- Commits:
13de12fbchore: adapt to OpenApi changesa92b6d24chore: update OpenApi
!2518 fix(ApiCache): close connection on versionchange and time out stuck db open
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2518
- Author: Rein de Vries
- Labels: Bug
- Closes: #1754 Page hangs on loading because the IndexedDB cache never opens
- Commits:
aa3146e8fix(ApiCache): close connection on versionchange and time out stuck db open
!2519 Resolve "Update Expenses menu"
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2519
- Author: Rein de Vries
- Labels: Financial module
- Closes: #1647 Update Expenses menu, #1731 Several horses or customers on a transaction item or manual entry
- Commits:
f299557dfeat(transaction): show a "not invoiced" badge that creates an invoice iteme99067a7fix(financial): rename expense detail page title to "View expense"7b457c12feat(financial): filter and link billable items from expenses via has_transaction73abcabbrefactor(financial): remove sorting of expense itemsaae12b24feat(financial): redesign the expense items list54a9480cfeat(horses): mark expenses shared with other horsesbc4efb71feat(financial): create invoice items from expense itemseb0e6d60feat(ui): add ConfirmationMessage71b4562crefactor(financial): remove horse activity selection from expense items77a520b2feat(financial): allocate expense items to general costs, customers or horsesc5746344feat(financial): link customers and horses on manual entry detail85978c9dfeat(financial): allocate manual entries to several horses or customers
!2521 fix(horses): add KMAR to the horse phase list
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2521
- Author: Gerben Morsink
- Closes: #1762 KMAR missing from the horse phase list
- Commits:
1aca7607refactor(horses): use a Record for the phase labels2bdd4a06fix(horses): add KMAR to the horse phase list
!2522 feat(activities): translate recurrence descriptions
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2522
- Author: Gerben Morsink
- Closes: #390 Do i18n for RRule.toText
- Commits:
28871d96feat(activities): translate recurrence descriptions
!2523 fix(horse): parse box number as number in edit form
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2523
- Author: Gerben Morsink
- Closes: #1763 Editing box number on a horse fails with 'expected number, received string'
- Commits:
04440da3fix(horse): parse box number as number in edit form
!2524 feat(invitation): ask an invitee with an account to log in instead of signing up
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2524
- Author: Gerben Morsink
- Labels: API changes
- Closes: #759 Being invited to use EquineM on an existing account leads to confusion
- Commits:
9fe4d294feat(invitation): title and prefill the login when accepting an invitationf426ab4dfeat(invitation): ask an invitee with an account to log in instead of signing up
!2525 fix(planning): keep the slots of a facility event saved without a horse
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2525
- Author: Gerben Morsink
- Closes: #1766 Saving a facility event without a horse deletes its slot
- Commits:
dc03ca02fix(planning): keep the slots of a facility event saved without a horse
!2529 feat(invoice): personalize WhatsApp invoice message in the invoice language
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2529
- Author: Rein de Vries
- Closes: #988 Personalize invoice message via whatsapp
- Commits:
4d2d5659feat(invoice): personalize WhatsApp invoice message in the invoice language
!2530 fix(manure): host RVO manure calculation brochure ourselves
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2530
- Author: Rein de Vries
- Closes: #1025 Link to manure calculation explanation is no longer active
- Commits:
3aef0a1cfix(manure): host RVO manure calculation brochure ourselves
!2531 fix(feed): show translated quantity measure in feed reports
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2531
- Author: Rein de Vries
- Closes: #1029 New feedtypes abbreviations are confusing
- Commits:
06f86344fix(feed): show translated quantity measure in feed reports
!2532 Resolve "Chore: update tsconfig target and module to ES2022 once we not using vercel"
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2532
- Author: Rein de Vries
- Closes: #1030 Chore: update tsconfig target and module to ES2022 once we not using vercel
- Commits:
98530c77chore: remove leftover Vercel hosting flag94bcbd5dchore(pdf): load pdf worker from pdfjs-dist instead of public assets105f3f86chore: set tsconfig target to ES2022
!2533 chore: update OpenApi
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2533
- Author: Rein de Vries
- Closes: #1768 API changes in the GAT release of 2026-10-15 (295019055)
- Commits:
41e7a3b4feat(financial): mention the deleted charge in the expense delete confirmation5156bb3ffix(contacts): allow inviting a user without stablesd5565e9dchore: update OpenApif5b0c22ddocs(claude): add update open API task
!2534 fix(pwa): set manifest description to a string
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2534
- Author: Rein de Vries
- Closes: #1770 Manifest warning: 'description' ignored, type string expected
- Commits:
bd380d2bfix(pwa): set manifest description to a string
!2536 feat(horse-files): folders and a SharePoint style file browser
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2536
- Author: Michel
- Closes: #360 Add Youtube option for the Horse files in both the horse detail and the horse public share page, #979 Add date to each document/image in the media overview of horse profile
- Commits:
6db066dffix(horse-files): hide the preparing state when an upload failsd8b94464fix(files): bypass the cache when fetching a file to download or shared152ad9ffix(horse-files): address review comments9818dd46feat(horse-files): drag and drop into folders, upload progress and preview fixes9ef6f82dfeat(horse-files): folders and a SharePoint style file browser4ee68ebafeat(files): edit the name and description of a file2a25bb85feat(files): share the file itself via the share menu of the devicedff1307ffeat(files): file preview with a details sidebar1d0fd369feat(files): rich file type iconsf79317e8feat(files): recognise YouTube linksf35727c6feat(files): helpers for folders in file names
!2537 feat(reports): show feed quantities, totals and xlsx export in monthly feed report
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2537
- Author: Rein de Vries
- Labels: Enhancement
- Closes: #1034 Feeding history report to see what feed has been given in the past
- Commits:
fe95f3cafeat(reports): show feed quantities, totals and xlsx export in monthly feed report
!2538 feat(planning): allow assigning a task to a staff member
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2538
- Author: Rein de Vries
- Labels: Prio:High
- Closes: #1111 Allow for a task to be assigned to a staff member
- Commits:
9de30acafeat(planning): allow assigning a task to a staff member
!2539 fix(horse): auto complete on button press instead of on every keystroke
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2539
- Author: Michel
- Closes: #1771 Don't do too many calls to horses/search_horse when creating a horse
- Commits:
19c06a61fix(horse): auto complete on button press instead of on every keystroke
!2540 fix(planning): only show riders of the selected stable in the calendar filter
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2540
- Author: Rein de Vries
- Closes: #1543 Calendar: Filter rider filter options based on selected stable
- Commits:
be0568c8fix(planning): only show riders of the selected stable in the calendar filter
!2541 Horse list improvements for mobile
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2541
- Author: Rein de Vries
- Closes: #1761 Horselist improvements mobile
- Commits:
1cd282f6feat(ui): pick and step through a period in the mobile date filtercfb2aa76fix(ui): show the shadow of the selection bar when it is stucka6f4167ffeat(ui): restore the scroll position when navigating back to a list79a8bc30fix(horses): show the horse list from cache when navigating back3fca54abfix(ui): reduce top spacing of the selection bar on mobileb13c2fc3fix(horses): only start selection via the select button on mobilec6fe06b6fix(horses): avoid double tap on mobile horse list
!2542 fix(integrations): require the accounting module to connect a bookkeeping integration
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2542
- Author: Rein de Vries
- Closes: #506 Integration of accounting systems needs to be connected with subscription
- Commits:
327bfd70fix(subscription): require an accounting service contract, also for paid organizations61075e91fix(integrations): require the accounting module to connect a bookkeeping integration
!2544 fix(signup): show password mismatch error on the repeat field
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2544
- Author: Rein de Vries
- Closes: #1780 Signup: no error shown when the repeated password doesn't match
- Commits:
2a5f6ee5fix(signup): show password mismatch error on the repeat field
!2545 chore: update OpenApi
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2545
- Author: Rein de Vries
- Closes: #1772 API changes in the GAT release of 2026-10-15 (3caf2b75c)
- Commits:
0bd613f1docs(claude): find unlabelled API changes issues and link everything in the summary556afa44chore: update OpenApi964aa16echore(openapi): send the X-Schema-Key header when pulling the schema
!2546 Resolve "Add invoice email to contact forms"
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2546
- Author: Rein de Vries
- Labels: API changes
- Closes: #1114 Contacts need a separate (second) email address for invoices, #1779 Add invoice email to contact forms
- Commits:
14061857refactor(contacts): group the invoice fields behind the financial module8fc2b637feat(contacts): add invoice email to the contact form
!2547 feat(employment): add employment start date input
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2547
- Author: Rein de Vries
- Labels: Bug
- Closes: #1238 There is no employment_start_date input field
- Commits:
de14330ffeat(employment): add employment start date input
!2548 feat(financial): filter recurring services by customer #1073
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2548
- Author: Rein de Vries
- Closes: #1073 Allow for filtering on contact in recurring services overview
- Commits:
5ff62183feat(financial): filter recurring services by customer #1073
!2549 chore: update OpenApi
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2549
- Author: Rein de Vries
- Closes: #1783 API changes in the GAT release of 2026-10-19 (11536eed3)
- Commits:
c7110ac3chore: update OpenApi
!2552 feat(version): expose previous release commit hash in /api/version
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2552
- Author: Michel
- Commits:
c79ae65afix(ci): avoid YAML mapping in deploy echo line0c4a8645feat(version): expose previous release commit hash in /api/version
!2553 feat(release-notes): support multiple Ollama API keys with fallback
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2553
- Author: Michel
- Commits:
182d5d40feat(release-notes): support multiple Ollama API keys with fallback
!2555 fix: fail translate job on extraction errors and fix folder-file-count key
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2555
- Author: Michel
- Commits:
7ddcacf8fix(files): add default translation for folder file count6261de00fix(ci): fail translation extraction on parser errors
!2557 Resolve "Client invoicing: Update UI of 'to invoice' on mobile"
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2557
- Author: Rein de Vries
- Closes: #1108 Client invoicing: Update UI of 'to invoice' on mobile
- Commits:
ab0fcd57fix(client-invoicing): show more info in compact mobile row of to-invoice list21efdd61fix(financial): align invoice and payment list headers with the md mobile breakpoint
!2558 feat(breeding): allow destroying a custom amount of semen stock
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2558
- Author: Rein de Vries
- Closes: #1109 Allow for custom amount deletion of semen portions
- Commits:
092de176feat(breeding): allow destroying a custom amount of semen stock
!2560 feat(release-notes): release notes in English, German and Dutch
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2560
- Author: Michel
- Commits:
d6ccbd6dfeat(release-notes): link to the release notes in the user's language27c86518feat(release-notes): generate release notes in English, German and Dutch
!2564 fix(breeding): keep the fresh portions row visible when stock is 0
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2564
- Author: Rein de Vries
- Closes: #1794 Stallion mount: fresh portions row hidden when stock is 0
- Commits:
17e2fdfffix(breeding): keep the fresh portions row visible when stock is 0
Left out of the customer release notes
OpenAPI schema refreshes and other changes with no customer-visible effect.
- !2506 Chore/update open api (https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2506)
- !2517 Chore/update open api 1210 (https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2517)
- !2533 chore: update OpenApi (https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2533)
- !2545 chore: update OpenApi (https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2545)
- !2549 chore: update OpenApi (https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2549)