Thursday, October 9, 2025
16 changes · 19.0
Enhancements to existing features
Payslips that were previously shown as “Validated” will now appear as “Done”. This aligns the payslip status wording with the related payrun status, making payroll screens more consistent for users.
Original PR description
If the payslip status is "validated", the display status for the payslip is "Validated". The display has been changed to "Done" to match with the payrun's status.
When a user opens a project without their own top bar setup, Odoo now uses the project manager's configuration as a fallback. This helps keep project actions visible and consistent without requiring every user to configure the top bar manually.
Original PR description
If the current user doesn't have a top bar configuration yet for a given project, we fallback on the top bar configuration of the project manager to show the actions. task-5072899 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Documents folder action menu now opens immediately instead of waiting for all actions to load, with a spinner shown during loading. Selecting embedded folder actions also feels faster because changes appear right away, while server updates are batched to reduce delays and unnecessary calls.
Original PR description
The cogwheel which holds the folder actions was slow to open because it loads the actions at startup. To speedup it up, we backport the fix odoo/enterprise#90124 that allows the cogwheel to be open while loading the actions (instead of waiting that the actions are loaded). We also add a spinner while it is being loaded. When selecting action to embed for the folder, it was slow as well. To solve the problem, we toggle the action immediately (not waiting the answer of the server) and roll it back in case of failure. Finally, to limit the number of calls to the server, we only reload the search model if there are no pending toggle of action. So if you activate for example 5 actions in a row and the connection is slow enough, the search model will only be reloaded once instead of 5 times (when the 5 actions are toggled). Task-4828503 Forward-Port-Of: odoo/enterprise#94141
The HTML editor now supports simple Markdown-style shortcuts to create blockquotes and separators while typing. Separator placement has also been improved so inserted lines appear in the expected position based on where the cursor is, making content editing faster and more predictable.
Original PR description
### Desired behavior after PR is merged: - Adjust separator insertion logic based on cursor position: ```html <div>/separator[]</div> → before <div>/separator[]abc</div> → before <div>ab/separator[]c</div> → after <div>abc/separator[]</div> → after ``` - Refactor markdown shortcuts implementation by introducing `shorthands` resource containing objects with pattern and commandId keys. - In the shortcut_plugin, bind an onInput handler to process input events and match precedingText against the defined patterns, triggering the corresponding commands when matched. - Add support for > (blockquote) and --- (separator) markdown shortcuts. - Separator insertion behavior: ```html <div>--- []</div> → before <div>--- []abc</div> → before ``` task-4908567 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
A new test action on the IoT Box record helps users quickly check whether required communication methods are working. It also triggers a network quality check, making it easier to diagnose client-site connectivity issues before they disrupt device operations.
Original PR description
In order to ease debugging at client's, we introduce a test button on the IoT Box record that will first test communication protocols and display a notification for each non-working protocol, then request a network quality check on the IoT Box (ping to odoo.com + ping to gateway). Community PR: odoo/odoo#229655 Task: 5130809
The IoT system can now quickly check connection quality and show whether network performance is fast, normal, slow, or unreachable. This helps consultants diagnose connectivity issues more easily when working with IoT Boxes and receipt printing.
Original PR description
In order to ease network checks for consultants, we added a quick latency and packet loss check, formatting the output as "slow"/"normal"/ "fast" or "unreachable". We also add a way to test each protocol (webrtc, longpolling, websocket) and to check latency/packet lost, in order to add a `Test` button on the IoT Box record. Enterprise PR: odoo/enterprise#96298 Task: 5130809
Employee records now reliably show selected company cars in the activity history when contracts are signed, even when the contract version was already prepared. Offer summaries also include the selected car and bike names, making compensation details clearer for employees and HR teams.
Original PR description
As when signing the employee contract, the version related to that contract is already created and we just set the version active, the value of the car does not change, so the tracking is not triggered and it's not added into the chatter. This PR force the car_id and ordered_car_id to be tracked by adding the initial value the employee precommit tracking values, before the version is activated (so before the employee get the new values from the newly active version). Also, this PR adds the selected car and bike names to the offer summary. Task-4962922 Forward-Port-Of: odoo/enterprise#90915
The Stripe payment code was reorganized to keep related checkout and payment form behavior in the same area. This is an internal improvement that should make future payment updates easier to maintain without changing the customer payment experience.
Meeting participants can now see when the chat has unread messages directly from the meeting view. A grey dot highlights unread chat activity, while a red badge shows the number of important unread messages, helping users notice and respond to chat updates faster.
Original PR description
With this commit, meeting chat action in the discuss call meeting view now shows a badge when it has unread messages: - shows grey dot when chat has unread but no important messages. - shows red badge when it has important messages, and counter is the number of important messages in the chat. This makes it easier to know when there's new content in chat and incite user to open the chat in the meeting view. <img width="1022" height="912" alt="Screenshot 2025-10-06 at 18 32 38" src="https://github.com/user-attachments/assets/020c9dbb-99b4-43e3-95c5-1679be8c7649" />
Restaurant point-of-sale demo data now shows selected products with colors that differ from their categories. This helps customers see during onboarding that product colors can be customized independently, making menu setup easier to understand.
Original PR description
In this commit: ------------------ - We’ve added random colors to the below products in onboarding to help customers understand that they can choose different colors for products than the selected pos category. ### Products assigned new colors: - Water - Green Tea - Fanta - Bacon Burger - Pasta 4 Formaggi - Chicken Curry Sandwich - Club Sandwich - Sushi Lunch Combo task: 5103944
Point of Sale users can no longer accidentally change the quantity of a discount line or apply an extra discount to it from the numpad. They can still adjust the discount line price directly, with the amount keeping the correct positive or negative sign, making discount handling clearer and less error-prone.
Original PR description
In this commit: ======= - We are restricting the user from updating the quantity of the discount line and adding the extra discount on the discount line from the numpad. - Users can update the discount line price using the numpad, which will reflect the sign (positive or negative) of the order line price. task-4941627
The point of sale product editor now shows the name of a color variant when users hover over it. This makes it easier for staff to identify the correct product option quickly and avoid confusion when colors look similar.
Original PR description
In this commit: --------------- - We will display variant names when hovering over them from edit product popup on UI for color variants. task: 5095570
The bank configuration card now uses an adjusted background color when dark mode is enabled. This improves visual consistency and readability for users configuring online bank synchronization in dark mode.
Original PR description
This commit will change the background color of the dark mode of the configure bank cart. no task id
Odoo's core memory cleanup settings were adjusted to match changes in Python 3.13 and 3.14. This helps keep the system aligned with newer Python behavior and supports stable performance as the platform evolves.
Original PR description
The thresholds were changed in 3.13: threshold0 = 2000 instead of 700 There are only 2 collections instead of 3 since 3.14 and the second collection is processed incrementally. https://github.com/python/cpython/blob/3.14/InternalDocs/garbage_collector.md --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update reorganizes how the Accounting app decides when a journal entry needs confirmation before validation. It keeps the same user experience while making future customizations easier and less costly to maintain.
Original PR description
## Description of the issue/feature this PR addresses: This PR refactors the `action_validate_moves_with_confirmation` method to improve its extensibility. Currently, the conditions that determine…
## Description of the issue/feature this PR addresses: This PR refactors the `action_validate_moves_with_confirmation` method to improve its extensibility. Currently, the conditions that determine whether an `account.move` requires a confirmation dialog before posting (e.g., future-dated moves) are hardcoded within the action method itself. This design limits extensibility, as customizing the confirmation criteria requires overriding the entire action. This approach leads to code duplication and increases the maintenance burden for custom modules. To address this, the validation logic is decoupled and extracted into a new, protected helper method: `_get_moves_requiring_confirmation`. This change improves the modularity of the `account` module and provides a clean extension point for developers, without altering the existing user-facing behavior. ## Current behavior before PR: The logic for identifying moves that require confirmation is tightly coupled with the `action_validate_moves_with_confirmation` method. Customizing these conditions necessitates a complete override of the method, which is not ideal for maintainability. ## Desired behavior after PR is merged: The confirmation logic is isolated in a new, dedicated `_get_moves_requiring_confirmation` method. This provides a clear and standard extension point, allowing developers to modify the confirmation criteria by simply overriding this new method. This promotes cleaner code, reduces duplication in custom modules, and improves overall maintainability. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update enriches the Hong Kong payroll demo setup with more realistic employees, payslips, and pay runs. It makes it easier for users and evaluators to explore payroll scenarios such as MPF and end-of-year payments without extensive manual configuration.
Original PR description
Currently, the demo data in the HK payroll modules are quite weak, and it requires a lot of configuration if a user wants to test the features (MPF, EOY pay, ...) In this PR, we are improving this by adding more payslips and payruns, updating some of the employees data and so on. task-5079595