Daily updates from Odoo
Tuesday, November 4, 2025
14 changes · master
Enhancements to existing features
Appraisal forms now include an expand button for employee and manager feedback fields. This opens a larger pop-up editor, making it easier to review and update longer feedback during performance appraisals.
Original PR description
Add the expand button to the employee feedback and manager feedback fields on the appraisal form, click on it, it will open a pop up to update the employee or manager feedback. task-4852953
The Barcode app now shows a more descriptive unpack icon by combining existing icon elements into a custom visual. This helps warehouse users better recognize the unpack action and reduces confusion during barcode workflows.
Original PR description
In barcode the unpack icon isn't descriptive enough. Since font-awesome doesn't provide any icons to convey the proper meaning, this PR stacks 2 fa icons to create a new one. task-5051649 Forward-Port-Of: odoo/enterprise#95749
The bike tax deduction field was removed from the vehicle model information because it is now managed under engine specifications. This avoids showing the same information in two places and helps keep payroll fleet data clearer for users.
Original PR description
for bike, removed tax deduction field from model info since it's now handled under engine specs. task-4653379
The Discuss app now uses a shared synchronization approach for related channel, member, and category information. This reduces duplicate logic behind the scenes, making future maintenance safer while preserving the user experience.
Original PR description
Currently, Discuss Channel, Discuss Channel Member, Discuss Category, have certain fields that need to stay synchronized when updated. This is currently done with a custom implementation of _sync_field_names on each model and orm (write) overrides. Since the synchronization logic is mostly similar across these models, we want to introduce a way to generalize this solution. task-5221092 https://github.com/odoo/odoo/pull/233654
Contract salary template version fields now open using the correct form view configuration. This helps HR users reach the intended contract template screen more reliably and reduces navigation confusion.
Original PR description
The contract template form view is now written on the formview_action directly. task-5082709
Odoo now uses one consistent way to keep internal dictionary data read-only, reducing the chance of inconsistent behavior. This improves reliability and performance for internal processes without changing day-to-day user workflows.
Original PR description
Before this commit, Odoo had two implementations for creating an immutable dictionary. These two implementations have different behaviors and coexist for backward compatibility reasons. The purpose of this commit is to leave only one implementation for the immutable dictionary, called `frozendict`. This implementation makes it truly impossible to modify the mapping. In addition, by default, we don't override internal methods of the dictionary which improves performance (despite the cost during creation). Note 1: Classes `LangData` and `LangDataDict` are adapted as `Mapping` subclasses instead of `ReadonlyDict`. This simplifies their implementation, which is not performance-critical. Note 2: This change is possible because the `MappingProxyType` class implements fallback on the `__hash__` method since version 3.12 (thanks to d357125). task-4808836
Resolved issues and error corrections
Authorized payroll users can now resend payslips by email without being blocked when the system prepares the secure document link. This ensures employees receive the correct payslip email link while keeping the button limited to users with the proper role.
Original PR description
Hr Payroll users that are meant to be able to use the Resend Payslip by email button do not have enough access right to get the documents token to put into the email "Your Payslip" button. Add a sudo on the payslip to get the document access url after the check of user role has been done. If have the right to use the button, sudo the rest. Task-5049444 Forward-Port-Of: odoo/enterprise#98510 Forward-Port-Of: odoo/enterprise#93420
This fix updates an automated website sale rental test so it matches the pricing produced by the latest default rental dates. It helps keep quality checks reliable and reduces false alerts in the release process, with no expected impact on customers.
Original PR description
runbot-233276 Forward-Port-Of: odoo/enterprise#98591
Fixes a crash that could happen when several project tasks were blocked by the same task and its deadline was changed. Dependency warnings are now calculated per task, helping teams update schedules without interruption.
Original PR description
Currently, an error occurs when computing the dependency warning for tasks. **Error:** ```Expected singleton: project.task(8, 7).``` After [this commit] if task1 depends on task2, if task1's task…
Currently, an error occurs when computing the dependency warning for tasks.
**Error:**
```Expected singleton: project.task(8, 7).```
After [this commit] if task1 depends on task2, if task1's task dependency is False, then the dependency warning for task1 should also be False.
However, when task dependency is enabled and two or more tasks are blocked by a single task, changing the Deadline of the blocking task triggers the computation of the dependency warning for those dependent tasks. During this process, the system attempts to check the task dependency across multiple records, which raises the error at [1].
This commit ensures that, since self may contain multiple tasks, the dependency warning is computed safely for each specific task.
[this commit]: https://github.com/odoo/enterprise/commit/50768627accb9d9767514fda7c6975bf4d8227d3#diff-b4bb763881453b0d69cae371c4c5034f6e199dfaf3a3056aba3381cf64dbf3dc
[1]- https://github.com/odoo/enterprise/blob/769201e22618b6683863f0839d7ad80bea0927cf/project_enterprise/models/project_task.py#L350
sentry-6914184933
Forward-Port-Of: odoo/enterprise#98532When an app icon is customized in Studio using a Font Awesome icon, it now appears correctly in the top navigation bar and mobile sidebar. This improves visual consistency and makes customized apps easier for users to recognize across desktop and mobile.
Original PR description
**Purpose:** Previously, when a user edited an app's icon in Studio and selected a Font Awesome icon instead of an image, the icon was not displayed in the navbar or mobile sidebar. This commit ensures the icon now displays correctly in both locations. task-5085482 Community : https://github.com/odoo/odoo/pull/228966
The French FEC import now uses a valid debit account for rounding entries after the previous account code became an account group. This prevents import issues and helps French accounting data load correctly.
Original PR description
This commit:https://github.com/odoo/odoo/commit/0ebf80b613d229ef5fb07ea97d406496f9df6254 change the COA of french localisation and the account 6850 was change to be an account group instead. This commit will change the debit account code used to put an existing one instead. no task-id Forward-Port-Of: odoo/enterprise#97283 Forward-Port-Of: odoo/enterprise#96972
Selection fields in Sign documents now correctly show their placeholder text before a signer makes a choice. This helps signers understand what information is expected and avoids confusion during document completion.
Original PR description
To reproduce: ============= - upload a document to sign and add a selection field on it - set a placeholder for the selection field - open the document to sign -> the placeholder is not displayed Problem: ======== the placeholder is not displayed because there is no option holding the placeholder value. Solution: ========= Add an option at the beginning of the select options to hold the placeholder value. opw-5140676 Forward-Port-Of: odoo/enterprise#97887
Marketing automation email templates now include version information for their mailing design blocks. This lets users with older templates update those blocks in the email builder until a fuller upgrade path is available.
Original PR description
Add a `vxml` (xml version) for every `mass_mailing` snippet, so that users with templates using old version of it can choose to update their snippet using the builder. It's the bare minimum in lieu of a proper upgrade (which will come later). task-5134263 Co-authored-by: Damien Abeloos <abd@odoo.com> Co-authored-by: Thomas Josse <thjo@odoo.com> Forward-Port-Of: odoo/enterprise#96082
Code cleanup and technical improvements
This draft reorganizes shared Point of Sale test logic so multiple country and device-specific features can rely on the same foundations. The change is mainly internal and helps reduce duplicated test setup, making future updates safer and easier to maintain.
Original PR description
Task: 4467373