Odoo Release Updates
Every commit to Odoo Community and Enterprise, parsed and categorized. Never miss a bug fix, improvement, or new feature.
Activity
2026-03-27
[IMP] l10n_be_payroll: fiscal voluntarism (fixed and percentage)
[IMP] l10n_hk_hr_payroll: support for more pay schedules
[FIX] l10n_be_hr_payroll: fix default depend on rule parameter
[IMP] documents: improve the sharing flow for public user
[IMP] account_{accountant,invoice_extract}: update Accounting Firm mode
[IMP] delivery_*: remove carrier-specific settings
[FIX] hr_payroll: fix ormcache key for _get_parameter_from_code
[IMP] hr_recruitment: Add matching to talent applications
[IMP] mail: add internal field option to Store fields
[IMP] {website_}appointment{_account_payment}: enable apt selection designs
2026-03-26
This commit adds merge and unmerge functionality for table cells in the HTML editor, along with infrastructure improvements for handling colspan and rowspan attributes during copy-paste operations and table grid management. The feature intelligently disables merge options when selections span multiple rows and columns or include already-merged cells, while unmerge capability only appears for cells with active span attributes. Supporting changes include enhanced clipboard handling for colspan/rowspan preservation, refactored table grid building for accurate column tracking with merged cells, and improved drag-drop operations that respect merged cell boundaries.
[IMP] html_editor: merge and unmerge selected cells
This fix corrects the SEPA PAIN version validation logic in ISO20022 credit transfer file generation. The previous fix incorrectly relied on ORM field emptiness checks, which don't work as expected since the database value is always returned; the condition now properly validates against the field's defined values and defaults to PAIN 09 when the stored value is invalid, addressing migration inconsistencies.
[FIX] account_iso20022: fix sepa_pain_version at file generation to make it PAIN 09 when empty
This fix addresses runtime errors in the signature canvas feature by adding defensive checks to ensure the canvas element is properly initialized before attempting to render the user's name. The changes prevent crashes when the canvas lacks pixel data or dimensional properties, and improve the tour testing helper's robustness by validating canvas state before accessing its rendering context.
[FIX] web: wait canvas before sign
This commit relocates the test_guess_mimetypes test module from the test_orm addon to the test_tools addon, reorganizing test suite structure to better align mimetype utility testing with the tools module where the actual mimetype functionality resides. This improves code organization by grouping related tests closer to their implementation and resolves an open issue tracking this structural improvement.
[MOV] core: test_guess_mimetypes from test_orm to test_tools
This fix corrects the logic flow in the websocket kick_all function by moving the sleep operation before the connection state check, rather than after it. This ensures the system actually waits the intended time before checking if websockets have closed, eliminating false warnings about remaining connections and reducing the timeout window from an unbounded calculation to a consistent 5 seconds.
[FIX] bus: fine-tune resilient websocket kick_all
This fix corrects a reference to a data file in the Swiss HR Payroll module that was renamed from 'hr_contract_type_data.xml' to 'hr_employee_type_data.xml'. The change ensures the payroll system loads the correct employee type data during module updates, preventing data loading failures or missing payroll configuration in Swiss localization implementations.
[FIX] l10n_ch_hr_payroll: Fix file name that was renamed
This fix resolves a crash in the AI module's command palette when users attempt to message the LLM through the command palette interface. The issue was caused by an undefined return value from the action function in the askAIProvide method. The commit restructures the action function to explicitly return void instead of implicitly returning a value, eliminating the crash condition.
[FIX] ai: command palette crash on ai message