Monday, August 24, 2026
1 change · master
Features or functions removed from Odoo
Odoo removed a temporary icon compatibility layer that supported legacy FontAwesome markup after the system completed its move to the newer icon format. This reduces maintenance overhead and keeps the web and editor code cleaner, with safeguards already in place to prevent old icon usage from returning.
Original PR description
__What__ - Remove `icons_mappings/fa_to_ms.scss` and `icons_mappings/oi_to_ms.scss`, along with every `.fa`/`.fa-*` compatibility rule in `icons.scss`. - Remove `LegacyIconMigrationPlugin` (and its…
__What__ - Remove `icons_mappings/fa_to_ms.scss` and `icons_mappings/oi_to_ms.scss`, along with every `.fa`/`.fa-*` compatibility rule in `icons.scss`. - Remove `LegacyIconMigrationPlugin` (and its tests), which rewrote legacy `fa fa-*` markup into `oi` + `data-icon` at editor startup. __Why__ The mappings only existed as a transition layer: they let old `fa-*` markup keep rendering while the codebase was being converted. That transition is over. - odoo/odoo#256840 converted every remaining `fa-*` usage to `oi` + `data-icon`, so nothing relies on the mapping anymore. - odoo/odoo#279361 added a CI check preventing any new `fa-*` class from being introduced, so the mapping cannot become needed again. __Note__ `icons.scss` was cleaned up along the way: the now single-purpose mixins (`icon-content`, `ms-icon`, `oi-icon`, `rotate`, `flip`) were inlined, duplicated blocks (`.oi-fw`, `.oi-spin`, `.oi-pulse`, the variables section) were deduplicated, the RTL rules were collapsed into a single selector list, and the `-webkit-` prefixed transforms/animations were dropped. The `fa-spin` keyframes are renamed `oi-spin` since the FontAwesome ones are no longer inherited. task-5901783