Release Notes - Technical Details
Internal companion to RELEASE_NOTES.md. Not for customers.
- Range:
bf56b3d8f28894ac890189076f4269113cc22509→6510e26efa52ecad6afaaaec85715b8c147753e3 - Generated: 2026-11-03 16:25 UTC
- Merge requests: 29
- Commits: 120 (0 without a merge request)
Merge requests
!2017 Add tack module
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2017
- Author: Gerben Morsink
- Commits:
7b651ff5docs: note help anchors in CLAUDE.md54ddd94adocs(tack): add help anchors844f0304feat(tack): paginate the tack room listd9891092feat(list-filter): add a year range filter type8067b158refactor: remove the unused SearchHorse component5ead7d35refactor(tack): align the tack module with the codebase conventions82ae6d81feat(form): add hasFieldError to useFormError31bbc35dfeat(tack): add tack room and tack maintenance screens
!2368 refactor(printOrders): load lists instead of detail endpoints to speed up
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2368
- Author: Rein de Vries
- Commits:
578e6489fix(printOrders): split uid__in filters into requests of max 75 uids24f04499refactor(printOrders): send the filter query to the order exports instead of order uids5ef265e0feat(topdf): forward the order_query param to the order print pagesde8d9685refactor(printOrders): load lists instead of detail endpoints to speed up
!2590 feat(help): play a page's product video above its help
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2590
- Author: Michel
- Commits:
e50cae7bfeat(help): play the video almost full screen in a modal489dc3dafeat(help): show the video as a small play button until it's played8686c193feat(help): play a page's product video above its help
!2591 fix(reservations): save the end date of a reservation period
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2591
- Author: Michel
- Commits:
266c32e5fix(reservations): save the end date of a reservation period
!2592 chore(ci): run android builds one at a time via a shared resource group
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2592
- Author: Rein de Vries
- Commits:
77e85f04chore(ci): run android builds one at a time via a shared resource group
!2593 fix(ci): upload sourcemaps to the actual Bugsink project slugs
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2593
- Author: Michel
- Commits:
e3b5e967fix(ci): upload sourcemaps to the actual Bugsink project slugs
!2594 perf: decode jwt without jsonwebtoken to drop crypto polyfills from the bundle
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2594
- Author: Michel
- Labels: Enhancement
- Commits:
96bdd215perf: decode jwt without jsonwebtoken to drop crypto polyfills from the bundle
!2595 perf: only load the core-js polyfills the build needs
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2595
- Author: Michel
- Labels: Enhancement
- Commits:
c06b60d1perf: only load the core-js polyfills the build needs
!2598 fix(files): keep the file extension when opening a file on mobile
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2598
- Author: Rein de Vries
- Commits:
9fce2799fix(files): keep the file extension when opening a file on mobile
!2599 chore: update OpenApi (GAT release 2026-10-28)
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2599
- Author: Rein de Vries
- Closes: #1787 Contact merge page: merge all duplicates in one call with the picked values, #1819 API changes in the GAT release of 2026-10-28 (aba45fbc2)
- Commits:
451693f2chore: adapt to OpenApi changes (website and employment date on contact merge)68b5c11achore: adapt to OpenApi changes (contact merge in one call)17a2972bchore: adapt to OpenApi changes (invoice create send_failed)ea182352chore: adapt to OpenApi changes (finalize send_failed)dcb1dac4chore: update OpenApi
!2600 chore: update peer flags in package-lock
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2600
- Author: Rein de Vries
- Commits:
b63a3282chore: update peer flags in package-lock
!2601 fix(horses): show transport instructions next to note and warning
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2601
- Author: Rein de Vries
- Closes: #1826 Show transport instructions next (or below) to note and warning
- Commits:
7d650b11fix(horses): edit warning, note and transport instructions separately759982b3fix(horses): mention transport instructions in the note modal title and empty state9e60603ffix(horses): show transport instructions next to note and warning
!2602 chore: update OpenApi (GAT release of 2026-10-29)
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2602
- Author: Rein de Vries
- Closes: #1829 API changes in the GAT release of 2026-10-29 (3774e1c74), #1830 API changes in the GAT release of 2026-10-29 (272f95128)
- Commits:
5286ed61chore: adapt to OpenApi changes (order search results by relevance)3108260bchore: adapt to OpenApi changes (confirm a status change of a breeding plan without orders)d4a37cfcfix(breeding): only offer the agent filter in the search boxeabb558bchore: adapt to OpenApi changes (is pregnant filter on the breeding plan list)d4a047a8chore: adapt to OpenApi changes (show who set the breeding plan status)2e6c6dd3chore: adapt to OpenApi changes (reload the breeding plan after its activities change)539dc1abchore: adapt to OpenApi changes (only send a changed breeding plan status)1baaa5edchore: adapt to OpenApi changes (assumed pregnant breeding plan status)b8a291afchore: adapt to OpenApi changes (chatwoot identifier hash)2863db8adocs: check the error catalogue and answer in the API changes threadse83d9119chore: adapt to OpenApi changes (error response catalogue)f1933a29chore: update OpenApi
!2603 feat(calendar): swipeable calendar, sheet-like modals, day overview and planning performance
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2603
- Author: Michel
- Closes: #373 When opening an existing task the target (stable) of the tasks changes, #448 Make the repeat functionality of activities and reservations more prominent, #612 Activity recurrence is difficult to find, #676 Re-introduce the quick add of taks/message via the date ribbon, #1065 Planning: add monthly view or make the week view slide over, #1278 RealActivities: Make bulk 'mark as done' action, #1311 Add collapse button for tasks in planning, #1608 When selecting activities as done, possible errors are not shown to the user, #1656 Hide stable filter in activities when there is only one stable, #1675 Calendar functionality on iOS, #1793 Reduce full calendar re-renders on planning data changes, #1815 Typing in the compact activity form is slow and drops characters
- Commits:
fafc5937perf(calendar): only keep the panes of the periods used lasteac5d321fix(planning): open the day overview on the day again and give it an accessible name34fadf41fix(horses): only clear the unfinished activities of the horse that were handled1be094d4fix(planning): pause between marking the tasks as done, for the deadlock in the backende05248c6fix(planning): only mark all as done with the permission to, and not the activities that need a report0c70c333fix(calendar): don't show a wrong location or unknown owners of a horse without access to the contactsae7ebc50fix(planning): show a message when marking all as done fails per activityafc6fa4efix(planning): don't keep the end date of the recurrence of the previous activityf14235bffix(planning): only offer the week overview when the whole week is loadedb6fe6021fix(planning): only show the tasks of the selected stables in the day overview3c544460fix(calendar): cancel a slide when the view type changes during itaf0feecefix(calendar): don't slide the calendar when printing or without animations4adf292afix(calendar): swipe the week view a whole week1261c9b8fix(calendar): go back to the calendar from the horse profile opened in ita68e4230fix(calendar): don't let the roles of a staff member push its name out of the rowfe121a98fix(planning): place the unavailability of the staff on the right days98d50569feat(planning): drag tasks and messages to another dayf7d623fffeat(planning): collapse the tasks and messages again with a handle on the linec5cb5c7ffix(horses): show why handling the unfinished activities failed when moving a horsee0b43a9efeat(planning): hide the stable filter and stable view with a single stablee4c0609afix(ui): don't truncate the selected option of a multi-select earlyd16e7d2dfix(planning): keep the selected time scale when clicking it again59c906e0feat(planning): slide the date and recurrence panels open and closed5bbaa7c0feat(planning): give the recurrence a field of its own with quick choices76089d11feat(planning): mark activities as done in one requestc2822847feat(planning): flip the activity type pages with a vertical mouse wheel002f75b6fix(planning): keep the stable of a task or message when it's changed86f2f491feat(calendar): shorten the filter and day/week buttons on a smaller desktop screene3ee30b7feat(calendar): show an overview of the day or week with its progress when clicking a daycfabc2ccfix(calendar): size the daily notes bar to the period in view55192c6efeat(calendar): hold the arrow buttons to move the week view one day at a time1a710239feat(calendar): make the selected item stand out and center the assignee avatar of tasks42ed0658feat(planning): improve the blueprint form32f7f7abfeat(planning): improve the titles and details of activities, tasks and messages6a320ea9fix(planning): load the daily notes without a stable again4b2eaef4feat(calendar): show the mobile date header like a calendar app, with the stable and the visible range in its date selector605abcb3feat(calendar): show the bloodline, location and owners in the horse inspect modalfd01af6afeat(calendar): show the mobile calendar hints once in a generic onboarding overlayb46fcf35feat(calendar): restyle the column headers and the mobile row bar, and let the whole mobile calendar respond to swipes and task tapsba7af6a5refactor(calendar): resolve the React 19 lint todos in the calendarf1a34fc0feat(modals): make the action and page modals behave like iOS and Android sheets8fc5152cfeat(calendar): keep the scroll position on the same row when navigating between periodse5d88acbfeat(calendar): swipe between periods with the next and previous periods loaded in the background2b3b3b5dperf(planning): keep the selected activity in a store so a selection only re-renders what it affects03e506d6perf(planning): keep the blueprint in a store so a change only re-renders what it affects58c1dd6frefactor(activities): build the multi add activity once in the formdbf6a755refactor(activities): keep entered values on blueprint changes instead of copying them into the blueprint87f6836ffeat(calendar): grow the mobile blueprint sheet into the full modal on 'More options'4c68545ffix(modal): shrink the mobile page modal to its content, up to full heightdb5a45c9fix(calendar): smooth drawing, moving and resizing of the blueprint in the time scale43f256fffix(gantt): only move the dragged horse of a reservation to another slotbea742f9feat(facility-booking): book a facility for multiple horses3aabce18feat(planning): link multiple horses to a facility reservation
!2604 fix: remember the selected stable over the preferred stable and filter the action list on it
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2604
- Author: Rein de Vries
- Closes: #1825 Filter on stable does not stick if you have a preferred stable
- Commits:
2148ba52fix(actionList): apply the stable filter when a specific stable is selectedc949273cfix(profile): forget the selected stable when the preferred stable changes621e5175fix(listFilter): remember the selected stable for the session over the preferred stable
!2605 fix(horses): keep line breaks in horse warning and note
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2605
- Author: Rein de Vries
- Closes: #1357 Improve formatting on warnings and notes of the horse provile
- Commits:
7f622b4efix(horses): keep line breaks in horse warning and note
!2606 fix(horses): show care defaults bulk update error instead of closing the modal
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2606
- Author: Rein de Vries
- Closes: #1828 Care defaults: bulk update error is never shown to the user
- Commits:
384991b7fix(horses): show care defaults bulk update error instead of closing the modal
!2607 fix(breeding): keep a hidden insemination station selectable in the breeding plan modal
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2607
- Author: Rein de Vries
- Closes: #1773 Breeding plan modal drops a hidden agent / insemination station that is already selected
- Commits:
2b2b54aafix(breeding): keep a hidden insemination station selectable in the breeding plan modal
!2608 feat(companies): show the company website in the company info
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2608
- Author: Rein de Vries
- Closes: #1436 Website input on company
- Commits:
58aaac99feat(companies): show the company website in the company info
!2609 fix(financial): hide the external provider id for Snelstart on VAT percentages
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2609
- Author: Rein de Vries
- Closes: #1531 Hide column external provider id on VAT percentages for Snelstart
- Commits:
f526e71efix(financial): hide the external provider id for Snelstart on VAT percentages
!2610 fix(contacts): show an avatar for users in the contact search
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2610
- Author: Rein de Vries
- Closes: #1577 No Avatar visible for users only for contacts
- Commits:
1c056f4efix(contacts): show an avatar for users in the contact search
!2611 feat(manure): show the manure menu for BP organisations
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2611
- Author: Rein de Vries
- Closes: #1827 Give is_bp access to manure (in the menu under horses)
- Commits:
40d6a357feat(manure): show the manure menu for BP organisations
!2612 fix(integrations): save the Exact sales journal on the primary company
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2612
- Author: Rein de Vries
- Commits:
02aa8351fix(integrations): save the Exact sales journal on the primary company
!2613 fix(api): show a clear message when the server can't be reached
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2613
- Author: Rein de Vries
- Closes: #141 Failed to fetch error mag iets duidelijker naar de klant
- Commits:
2eaff0cefix(api): show a clear message when the server can't be reached
!2615 feat(facilities): default a booking to the minimum booking time of the facility
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2615
- Author: Rein de Vries
- Closes: #1339 Change the default time from one hour to the minimum time in facility planning
- Commits:
7948d529feat(facilities): default a booking to the minimum booking time of the facility
!2616 fix(breeding): clarify the insemination route export text
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2616
- Author: Rein de Vries
- Closes: #1397 Export insemination routes description text
- Commits:
21ed8b4afix(breeding): use new translation keys for the changed insemination route texts09beeeb8fix(breeding): clarify the insemination route export text
!2618 feat(breeding): show a clock icon for an assumed pregnant breeding plan
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2618
- Author: Rein de Vries
- Commits:
1859a427feat(breeding): show a clock icon for an assumed pregnant breeding plan
!2619 fix(feed): accept a decimal comma in feed quantities and price
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2619
- Author: Rein de Vries
- Closes: #1527 Decimal usage in feed quantity is confusing
- Commits:
17046fdefix(feed): accept a decimal comma in feed quantities and price
!2620 chore: update OpenApi (GAT release 2026-11-02)
- Merge request: https://gitlab.equinem.com/equinem/equiapp/-/merge_requests/2620
- Author: Rein de Vries
- Closes: #1837 API changes in the GAT release of 2026-11-02 (e19d6d9ee)
- Commits:
c55b8c63docs(claude): explain which contact name to use where98488a79feat(contacts): replace the title with form of address and academic title0042e064feat(invoices): show why sending an invoice failed307d4286fix(invoices): sum billable items as price × quantity in the to invoice list070a3219fix(ui): don't show "undefined" after a filter option's subtitle35659911feat(invoices): print the address name with form of address and academic title49cb636achore: adapt to OpenApi changes5d976462chore: update OpenApi