Daily updates from Odoo
Thursday, February 12, 2026
2 changes
1 change
Code cleanup and technical improvements
This update optimizes how Odoo calculates employee dates, significantly speeding up processing for large teams. The change avoids multiple database queries, reducing processing time and improving overall HR system performance. This addresses a previous performance bottleneck related to version calculations.
Original PR description
Use batch computation for `_compute_dates`. Getting all values of `hr_presence_state` need that field. Implement `hr_presence_state` using *compute_sql* to have one implementation and add a limit for big databases because "Ugly hack". Related task that should be batched: #248045 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
1 change
Code cleanup and technical improvements
This update reorganizes how Odoo handles user sessions, moving the session store to its dedicated module for better organization and maintainability. This change improves the underlying architecture and resolves a technical inconsistency, ensuring smoother session handling within the system.
Original PR description
The session store is a global-ish variable that was set as a lazy property on the Application singleton. Now that http.py is split, it really doesn't make sense to have the session store inside Application inside router.py. It should be inside session.py, that's what this PR does. Changing the `@lazy` for a `@functools.lru_cache(1)` makes the decorated function better typing-wise, but makes it impossible to monkey-patch. As it was only monkey-patched inside `test_http`, we just adapted that module to use the real session store.