# Release Notes ## Summary This release adds a new Breeding Plans page, expands reporting tools with filters, totals, sorting and default chart views, and introduces several invoicing and language enhancements. The signup experience now offers a demo data option, and login stability across multiple tabs has been fixed. Additional bug fixes improve error handling and prevent crashes during avatar uploads. ## Highlights - New Breeding Plans page for managing breeding schedules - Income/Expense reports now include filters, a total column, and default chart view - Demo data option added to signup for a simpler trial experience - Invoice workflow now opens the Move Horse dialog automatically when adding a horse sale - Finalize and send invoices even without a valid payment mandate - Fallback and preferred invoice language settings introduced ## Features - **Breeding Plans page added** A new page lets you view and manage breeding plans, with a list view and detailed plan information. - **Add SWS filter to Fertility Report** The fertility report now includes a filter to search for SWS entries. - **Show Deployment Report only for Breeding Plans** The deployment report is now displayed exclusively when viewing Breeding Plans. - **Income/Expense reports enhanced with filters, total column and default chart view** You can now filter the report by horse or contact, see a total column summarizing yearly amounts, and the chart is shown by default. - **Grouped reports are now sortable** You can sort the grouped report columns to organize data as needed. - **Feed Report improvements: active filters, cost toggle, and average feed price** The feed report displays active filters, includes a cost toggle, and the feed type settings now show the average feed price both in the modal and the table. - **Move Horse dialog opens automatically when creating a horse sale invoice** When you add a horse sale line to an invoice, the move horse modal appears pre-filled, streamlining the sale process. - **Demo content option added to signup** A new checkbox on the signup screen lets you enable or disable demo data for a simpler trial experience. - **Fallback and preferred invoice language settings added** Organizations can now set a fallback and preferred invoice language, improving language handling for invoices and the webshop. - **Finalize invoices without a valid payment mandate** A finalize and send anyway option lets you complete invoices even if the customer's payment mandate is missing or invalid. ## Improvements - **Reordered items in reports list** The list of reports has been reordered for better navigation. ## Fixes - **Display unknown contacts and stables as Unknown** When a contact or stable cannot be resolved, the horse details now show a clear Unknown label instead of raw IDs. - **Show validation errors from bulk API calls** Field errors from bulk operations are now parsed and displayed, so validation issues are visible to users. - **Sync refreshed tokens across browser tabs** Opening a second tab no longer logs you out of the first tab by synchronising the refreshed token. - **Prevent avatar upload crash when S3 presign response is empty** The upload flow now safely handles empty S3 presign responses, avoiding a cannot convert undefined or null to object error. ## Other - **Do not log 400 errors for account deletion** Account deletion attempts that result in user-level 400 errors are no longer logged as application errors. - **Release notes stage added to CI pipeline** The CI pipeline now includes a stage for generating release notes before production deployment. - **Removed Vercel dependencies** Dependencies related to Vercel have been removed from the project. - **Prevent duplicate logging of handled 400 errors** Handled 400 errors are no longer logged twice to the error-tracking system. - **Do not log cancel errors in care horse form** Cancellation errors in the care horse form are no longer logged as failures. - **Stop double-logging of already handled API errors** Errors that are already presented to the user are no longer logged again to the error-tracking system.