Releases: fmind/theme
Release list
Fmind theme v3.0.1
This patch corrects theme contrast, native color configuration and packaging, and adds dependency audits to the shared validation gate.
- Darken TTY bright text, Light Table line numbers and ptpython scrollbars; improve FreeCAD control borders and retain its native dock close icon.
- Use valid nnn ANSI palette indexes with documented terminal requirements.
- Keep Highlight.js, Prism and MacDown text upright; fix the ptpython config-loader example.
- Include the MIT license in the Thonny wheel.
- Strip volatile artwork preview metadata, sort manifest inputs and refresh both synthetic terminal captures.
- Update Ruff, uv, VHS, the dprint JSON plugin, fonttools and uharfbuzz; pin Node.js and FFmpeg.
- Audit the project Python lock, artwork script lock and JupyterLab npm lock in
mise run check; enable JupyterLab Dependabot updates.
Validation: the full shared gate passes (8 repository tests, formatting, workflow checks and dependency audits). The publishable snapshot has no Gitleaks findings. All 31 generated artwork files reproduce byte-for-byte. JupyterLab and Thonny 3.0.1 wheels build with license files. Terminal captures, native ptpython registration and browser CSS checks pass.
The release payload is the automatic source archive. Wheels were validated locally; no PyPI or extension marketplace publication is included. Repository checks and synthetic captures do not establish native GUI acceptance for all 483 integrations. FreeCAD, Light Table, nnn and MacDown native GUI/session acceptance was not performed; existing incomplete ports and experimental desktop/session components retain their documented limitations.
Fmind theme v3.0.0
Breaking
- Move integration files from
<app>/...tothemes/<app>/.... Update checkout paths, raw download URLs and chezmoi external-file sources. Application destinations and existing tags are unchanged.
Changed
-
Separate validation (
checks/) from artwork sources and generation (artworks/). -
Display README directly on GitHub; remove the standalone site, browser checks and Pages deployment.
-
Replace app-specific validation harnesses with shared palette, structured-file, documentation and artwork checks; remove Docker and parser installation from validation.
-
Add branding wallpapers and social banners with bundled Google Sans attribution.
-
Correct the Standard Notes download URL and APT truecolor output.
-
Improve Plasma 5 session interfaces, keyboard access and control contrast.
-
List every theme alphabetically and move tool installation instructions into each theme directory.
-
Simplify project documentation and add README navigation and a theme-problem form.
-
Add dependency-update automation and protect version tags against modification and deletion.
Validation and limits
-
Hosted CI passed on release commit
dbfa68666bc68a2af1d8ebe862c2fe20cd9fb240, including clean-runner locked tool installation. -
Local
mise run allpassed: 8 shared tests, Python lint/formatting, documentation/configuration formatting, workflow security/lint checks and hook validation. The staged secret scan found no leaks. -
All twelve artwork PNG exports regenerated byte-for-byte; both synthetic terminal screenshots were refreshed and visually reviewed. GitHub renders all 483 theme links and serves matching preview files.
-
Repository checks cover shared invariants, not native application acceptance. Experimental ports remain incomplete; changed Plasma 5.27 lock/logout/OSD components require isolated native session acceptance, and Plasma 6 session behavior remains unverified.
-
Source archives are the release payload. No Python package or extension marketplace publication is included.
v1.0.0
A phosphor-green terminal theme, defined once and rendered into every tool that takes a palette.
One palette. palettes/fmind.yaml is the source of truth: a pure black ground, warm primaries with cool relatives, a hot red pair for errors and warnings, and amber kept on numbers and constants. Green carries every syntax role, so red and amber are the only colours that are not green.
Fourteen roles, not six. The bright half of the ANSI palette carries independent meanings rather than lightened copies, so a call, its arguments and the local it returns into are three different greens.
Validated, not eyeballed. render.py refuses to ship a palette that misses the contrast floor or the weighted separation requirement in palette.py, so what is designed and what is rendered cannot drift apart. CI re-renders on every push and fails if out/ has drifted from palettes/.
Eight tools. Ghostty, Zellij, fish, Starship, delta, k9s, gh-dash, and a real Neovim colorscheme that sets treesitter captures, LSP semantic tokens, diagnostics and diff groups — and never sets italic.
Generated files under out/ are committed and meant to be referenced directly; see the wiring table in the README.