Repository navigation
v0.25.0
fxcss 0.25.0 captures the parts of Firefox that themes style outside the main window: panels, Settings and hover states. The PR preview comment now shows each distinct change once instead of one picture per view per platform. It also says which older Firefox releases a change stops styling.
-
14 new views, light and dark, each cropped to its own surface so a tab-strip change leaves them alone:
- hovered toolbar buttons;
- the search engine button and its menu;
- the app menu, the extensions panel and the account panel;
- Settings (about:preferences, styled through
userContent.css).
Panels are separate OS windows, so they are taken with a screen capture checked against Firefox's own capture of the nav bar. That needs
fxcss[images], and on macOS screen-recording permission. When a machine can't see Firefox, the panel views are reported as not captured, with the reason, rather than captured wrong. -
Categories. Every view and every change belongs to one of 11 areas: Window, Tabs, Toolbars, Address bar, Find bar, Sidebar, Content, Dialogs, Panels, Settings and Optional stylesheets. A change in a full-window view is filed under the area it is actually in.
-
Distinct changes.
fxcss comparegroups changed pixels into distinct changes:- a page that moved by 1px in 42 views is one change, "moved up 1px";
- the PR preview comment is grouped by category, with one cropped picture per change and the same change on other platforms folded under it;
- every view is still linked to its full before and after.
On WhiteSur's #240, the 55 changed views on macOS come down to 15 changes. The old comment had 147 pictures across three platforms.
-
fxcss support --base OLD --head NEWsays which older Firefox releases a change drops styling for. A rename that only works from Firefox 158 is one example. The result now leads the PR preview comment and the Firefox watch's fix PRs. Set how far back to look withFXCSS_OLDEST_FIREFOXorfxcss init --oldest-firefox(default: the current ESR). -
PR previews can be narrowed with
FXCSS_VARIANTS,FXCSS_VIEWSandFXCSS_MIN_CHANGED_PERCENT, orfxcss init --variants/--views/--min-changed-percent. -
audit --strict-varsno longer counts a custom property as read by Firefox when only DevTools reads it. -
fxcss try --infokeeps a flag's argument, such as-t <name>, when listing a theme README's options.
Upgrade an existing installation with pipx upgrade fxcss, or use pip install "fxcss[images]==0.25.0" in a virtual environment or CI.
Generated workflows keep their version pins until you regenerate them. Run fxcss init with your existing options and --force, then review the diff to keep local edits. A check baseline saved by 0.24 lacks the new views; they are listed as not compared and don't fail the check. Run fxcss check --update-baseline with 0.25 to start comparing them.
The release workflow passed all 26 jobs, including cross-platform browser tests, installed-package checks and the PyPI installability gate. Before tagging, a Firefox compatibility run on the release commit's parent passed on Stable, ESR, Beta and Nightly. The pull request's CI captured every new view on Linux, Linux ESR, Windows and macOS, with each view reacting to its own CSS.
A fresh installation from PyPI showed version 0.25.0 with all 34 standard views. The published wheel and source archive have the same SHA256 hashes as the files the release workflow built and tested.