Friday, January 9, 2026
3 changes · 18.0
Enhancements to existing features
This update allows system administrators to customize the main Odoo home menu with a message. Administrators can set a configurable message through the database, such as a maintenance notification, ensuring timely communication to users. This improves internal communication and operational alerts.
Original PR description
Display a message on home menu based on an ir.config_parameter that can be added directly in the database by the system administrator.
The ir.config_parameter is sysadmin.message and should be a json loadable. The format shoud be something like this:
{
"type": "warning",
"replace": false,
"warning_type": "user",
"message": "`<span>A maintenance operation is planned on your server on <strong>2026-01-15</strong> between 14h and 15h</span>`"
}
Forward-Port-Of: odoo/enterprise#102433
Forward-Port-Of: odoo/enterprise#102239This update simplifies the process for unregistering PEPPOL accounts by allowing a default 'unregister to sender' option. Previously, users had to unlink accounts directly, which is now streamlined for better efficiency and ease of use. This change improves the overall PEPPOL integration experience.
Original PR description
Allow unregistering to sender instead of unlinking directly. task-5395262 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update strengthens Odoo's PDF/A compliance to the latest 3A standard, ensuring compatibility with critical document formats. Previously, inconsistencies in PDF libraries caused validation failures. This change includes fixes to decoding issues and adds necessary metadata for full compliance, improving document processing reliability.
Original PR description
This commit upgrades our PDF/A compliance from 3B to 3A, and fixes a few issues previously undetected due to the different PyPDF libraries we're currently supporting that made the previous PDF fails…
This commit upgrades our PDF/A compliance from 3B to 3A, and fixes a few issues previously undetected due to the different PyPDF libraries we're currently supporting that made the previous PDF fails even the 3B validation. Improvement 1: PDFA validators were previously detecting our file as 3B. Hence we update the metadata content `conformance` to `A`. Issue 2: When using `._pypdf` library, we failed the 6.1.2-2 and 6.8-1 rule even though we have implemented them on the previous version. It seems that this is caused by the `if SUBMOD...` check only ensuring it's not equal to `_pypdf2_2` (which makes it trigger for the new `_pypdf`). Hence, we reclarify the comments and fix the IF check. Issue 3: After implementing issue 2, it seems that a traceback occurs every time we're using `._pypdf` and calling the pdf write method. This is because the added characters on the header can't be decoded with `UTF-8`. Hence we change it to other greater-than-127-bytes characters that can still be decoded with `UTF-8`. (The actual character used here doesn't matter). Improvement 4: To be compliant with the new 3A rules (additional rules not there in 3B when we first implemented them), we add a minimal mark info dictionary and document structure on the PDF catalog object (`_root_object`). task-None Forward-Port-Of: odoo/odoo#234960