Every released version, what changed in it, and the date it went out. This page is generated from the module’s own changelog, which is the same file shipped inside technovision_access_xray and rendered on its Odoo Apps Store listing.
Technical name is technovision_access_xray again, and the display name is "Access X-Ray — Effective Odoo Permissions". This reverses the rename in 18.0.1.0.5, at the owner's direction.
18.0.1.0.5 renamed the module the other way because a store search audit found it absent from 100-300 results for every buyer term tried while ranking #1 for its own brand name. That trade-off has been made again in the opposite direction knowingly; it is recorded here so the reversal is not later mistaken for an accident.
No installation is affected: both listings were at zero purchases when this was done, checked on their own listing pages.
Fixed
One product, one listing. The branch the Apps Store scans carried two module directories — this one from before the 18.0.1.0.5 rename, and the renamed one added afterwards so the store could find it, added alongside rather than replacing. The store creates one listing per module directory, so two listings went live for one product.
They were functionally identical: same models and fields, same 30 methods, same 7 ACL rows, same tests. Both declared access.finding and access.resolver, so a customer who installed both — and they looked like different products — would have hit Odoo's silent model merge and lost fields with no error.
The abandoned listing is unpublished and its source is preserved at tag archive/user_access_rights_manager-18.0.1.
Verified
Installed into a fresh database with --test-enable: 0 failed, 0 errors of 12 tests, and no warning naming this module.
18.0.1.0.5
Changed
Listing price changed. The current price is on the product page.
18.0.1.0.4
Changed
The store listing now shows the product. 4 screenshots taken from a running Odoo 18, each captioned with what it shows. Until now the listing had a banner and an icon, and a buyer had no way to see the software before paying for it.
18.0.1.0.3
Fixed
The last instance of the N+1. explain_grant in the resolver still browsed each granting group by id inside its loop - the same shape fixed in the two probe wizards in 18.0.1.0.2, missed there because the wizards were what the browser had made visible. Found by scanning every module in the catalogue for ORM calls inside loops. All granting groups are now named in a single read.
The equivalent sites in Security & Audit Center were checked in the same pass and are not affected: they browse a whole set at once (browse(sorted(added))), which is the correct batched form.
18.0.1.0.2
Notes
Two defects found by running the module on a clean Odoo 18 database with demo data, both in the presentation layer, both on screens a buyer is shown.
Fixed
The By Model probe could freeze the browser. _format_groups browsed each granting group by id inside the per-account, per-permission loop - an N+1 that grows with accounts x permissions x granting groups. Group display names are now read once per probe into a map. The same pattern was present in the By User probe and is fixed there too.
The By Model probe is now bounded at 300 rendered rows, with the summary reporting the true totals and saying how many are shown. The server resolved the whole answer before; materialising every line into a dialog was what made the client unusable.
The Model column no longer truncates. It rendered as account.ac... on consecutive rows, which made the product's own answer unreadable. All three wizards now open in an extra-large dialog, and model_name and granted_by have explicit widths.
18.0.1.0.1
Notes
Documentation release. No functional change.
Module documentation added under docs/ — INSTALLATION, CONFIGURATION, USER_GUIDE, SECURITY, FAQ, TROUBLESHOOTING, TEST_REPORT and this file. The Odoo Apps Store reads <module>/docs, so these ship with the product and reach the people who bought it.
maintainer declared in the manifest, matching the rest of the catalogue.
18.0.1.0.0
Notes
First public release on the Odoo Apps Store.
Features
By User probe — every model an account can read, write, create or delete, with every granting group named and record rules shown separately for global and per-group scope. Optional filter to sensitive models only.
By Model probe — every account that can reach a given model, through which group, with unconstrained accounts listed separately.
Compare Users — two accounts side by side with differences highlighted.
Risk findings with a scan action, ordered by weight, each naming the affected accounts and carrying a recommendation: - Administrators — accounts that bypass access control - Delete rights on sensitive models — 11 models where deletion is effectively irreversible or moves money - Can edit security — accounts able to change res.users, res.groups, ir.model.access or ir.rule - Dormant with access — significant access without a login for 90 days, adjustable on the scan
Grant explanation — "because Billing Manager implies Accounting / Billing, which grants unlink on account.move", with the shortest path reported.
Bypass reporting — superuser and Settings accounts are reported as bypasses rather than given a permission list implying limits they do not have.
User form integration — group count and a direct action to the By User probe.
Design decisions worth recording
Read-only, enforced by test. The module writes nothing to res.users, res.groups, ir.model.access or ir.rule, and test_module_writes_nothing_to_odoo_security_tables asserts it.
base only. No dependency on accounting, HR, or on Security & Audit Center — a governance tool must be installable on the databases that most need it.
Settings group only. The output is a map of who can reach what; a wider audience would manufacture the risk the product exists to find.
Cycles and diamonds in the group graph terminate. Odoo does not forbid either, and a naive traversal hangs on both.
Known limitations
Field-level groups= attributes are not resolved.
Odoo 18.0 only. No 17.0 or 19.0 build.
No automated performance test for very large user directories.