Monday, November 24, 2025
8 changes · master
Enhancements to existing features
Point of Sale screens now show the currency symbol in payment amounts and better align custom text options in product configuration. This makes checkout and product customization clearer and more consistent for users.
Original PR description
Before this commit:
1. The currency symbol was not visible in the monetary field in the payment form view.
2. The custom text box in a customizable item was not aligned with the other choices.
After this commit:
1. Now, the currency symbol is visible.
2. Now, the text box is aligned with other choices.
Task id : 5106355
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#229545Toolbar buttons in the HTML editor now display their related keyboard shortcuts in the tooltip. This helps users discover faster editing actions while working on content, emails, and website pages.
Original PR description
This PR updates toolbar button tooltips to display their corresponding keyboard shortcuts. Enterprise PR: https://github.com/odoo/enterprise/pull/98451 task-5160025 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change streamlines how Odoo automatically updates database columns during upgrades. It avoids unnecessary recalculation work and preserves required-field safeguards, helping upgrades run more efficiently while leaving complex conversions to planned upgrade scripts.
Original PR description
The auto column conversion should be limited to simple and intuitive use cases. It shouldn't trigger the slow ORM recomputation if the field is computed. We always expect an upgrade script to handle…
The auto column conversion should be limited to simple and intuitive use cases. It shouldn't trigger the slow ORM recomputation if the field is computed. We always expect an upgrade script to handle more complex use cases.
This commit introduces two changes:
### 1. Removal of `drop_not_null` during auto column conversion
Before https://github.com/odoo/odoo/commit/50767ef90eadeca2ed05b9400238af8bdbe77fb3 We dropped the not_null constraint because the original column would be renamed. After that commit, we actually don't need to drop the not_null constraint since the `convert_column` will neither convert a not-null value to `null` nor convert 'null' to a not-null value. Keeping the not_null constraint shouldn't block the column convert.
### 2. Removal of `column.clear()`
When a computed/related Float field is changed from `digits=None` to `digits='xxx'`, the `column.clear()` will trigger ORM recomputation during upgrade which is useless since `double precision` to `numeric` is lossless. The recomputation in ORM is slow and should be avoided. If the rerounding is really needed, a sql script is required for upgrade or installation.
The `column.clear()` was originally introduced to avoid `Missing not-null constraint` warnings in specific scenarios:
Case 1 (Upgrade Warning): from saas-18.4 to 19.0
old database: Selection field `l10n_be.export.sdworx.leaves.wizard.reference_year` upgrade: pre-migrate `util.rename_model(cr, "l10n_be.export.sdworx.leaves.wizard", "l10n.be.hr.payroll.export.sdworx")` new database: Integer field `l10n.be.hr.payroll.export.sdworx.reference_year` The column value which was a required stringified integer is auto-converted to an integer.
Case 2 (Installation Warning):
In pos_urban_piper, the required field `pos.config.name` is overridden from `translate=False` to `translate=True`. The column value which was a required text is auto-converted to `'{"en_US": "text"}'::jsonb`
The not_null constraint was previously lost by the `sql.drop_not_null` in `update_db_column` and is not restored by `update_db_notnull` because of the inconsistency between the variable `column['is_nullable']` and the actual not_null constraint in the database.
Thanks to change 1, we will no longer lose the not_null constraint in `update_db_column`. The constraint can be kept even without `column.clear()`.
By removing the `column.clear()`, we also revert the meaning of the `column` variable, which is the column's configuration (dict) before `update_db` if it exists, or `None`
Description of the issue/feature this PR addresses:
Current behavior before PR:
Desired behavior after PR is merged:
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#236780
Forward-Port-Of: odoo/odoo#236299Device communication logs have been made more concise by recording only key message details instead of full message contents. This reduces log clutter from large receipt data and makes monitoring easier, while also adding timing information for action execution.
Original PR description
Before this commit, the WebRTC client was logging every message it received in full at the 'info' level. This was causing logs to be flooded with base64 receipt data. We now only log the message type and device. We also now log the action execution time similarly to the websocket client. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#236646
Signing templates now organize their field definitions in a dedicated extension point, making future adaptations easier to maintain. This mainly helps teams and partners customize signing workflows with less risk when applying updates.
Original PR description
Introduced a dedicated _getTemplateFields() method to make easier to override or extend the fields in patches. Forward-Port-Of: odoo/enterprise#100096 Forward-Port-Of: odoo/enterprise#95722
The spreadsheet version history panel now uses tile colors with better contrast in dark mode. This makes previous versions easier to read and reduces visual strain for users working with dark mode enabled.
Original PR description
Change the color of the tiles of the version history to have a better contrast in dark mode. Task: [5265478](https://www.odoo.com/web#id=5265478&cids=1&menu_id=4720&action=333&active_id=2328&model=project.task&view_type=form)
Sent email records now keep the exact address used when contacting a recipient. This prevents past notification details from changing if the recipient's partner email is updated later, improving auditability and clarity.
Original PR description
Purpose ======= When we send an email to a partner, we don't store the email used. So if we change the email of the partner, then the email shown in the mail notification won't be accurate anymore. Now, we store that email in `mail_email_address`. Task-5215602
Toolbar buttons in Web Studio now display their matching keyboard shortcuts in their tooltips. This helps users discover faster ways to work and makes common editing actions easier to learn.
Original PR description
This PR updates toolbar button tooltips to display their corresponding keyboard shortcuts. Community PR: https://github.com/odoo/odoo/pull/233741 task-5160025