Skip to content

Latest commit

 

History

History
108 lines (86 loc) · 7.15 KB

CHANGELOG.md

File metadata and controls

108 lines (86 loc) · 7.15 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.2.0 - 2021-07-25

Added

  • new firefox manifest entry: can be used to declare which versions of firefox are compatible with your theme: version+ means "version and up", up to version means, well, you guessed it, version1-version2 is an (inclusive) range and finally just version means exactly that version. Use major.minor to specify the minor version, or omit it (or use ".x") to ignore it.
  • prompt to show the manifest source of the theme you're installing. The prompt can be turned off with a new flag --skip-manifest-source
  • command reapply to reapply themes after firefox updates. The current themes for each profile are stored in a YAML file at ~/.config/ffcss/currently.yaml. If ffcss tells you that a profile has no ffcss theme applied, try re-applying it manually with ffcss use so that this file gets created & filled.
  • hooks to run custom shell commands before and after theme installations, via manifest entries run.before and run.after. Variants can override them.
  • "did you mean ...?" message when a theme with a similar name is found
  • command get to download a theme without applying it
  • manifest entry commit to specify a commit SHA to use for the theme. Can be overriden by variants.
  • manifest entry tag to specify a git tag to use for the theme. Can be overriden by variants.
  • manifest entry description that will be shown at the start of the installation
  • manifest entry by to set an author name to be shown at the start of the installation (for github repos, defaults to the owner in the URL)
  • shorthand flag -a for --all-profiles
  • flag -p/--profiles to specify profile paths to use (and therefore not prompt during installation)

Changed

  • ffcss use <theme name> is now case-insensitive, punctuation-insensitive (-, _ and .), whitespace-insensitive and unicode-insensitive (NFC normalization is applied before searching)
  • UI improvements: log what is happening with bullet points, don't show the full profile path when selecting

Fixed

  • inconsistent indentation in the --help screen

0.1.2 - 2021-07-10

Added

Fixed

  • ffcss init was generating a file with a repository setting instead of download [#36]
  • ffcss init added a .git suffix in the pre-filled value for name

0.1.1 - 2021-07-10

Fixed

  • crashes related to path handling on Windows

0.1.0 - 2021-07-09

Added

For users

  • Works on MacOS, GNU/Linux and Windows, tested on:
  • Manjaro Linux Omara 21.0.7 (with kernel 5.12.9-1-MANJARO)
  • MacOS Catalina 10.15.7
  • Windows 10 20H2 (Build 19042.1083) (Please use the new Windows Terminal or something else that support ANSI escape sequences)
  • a use commands to download & install themes
  • works with any remote git repository
  • works with any URL poiting to a .zip file
  • shorthand for github repositories: OWNER/REPO
  • a init command to add a ffcss.yaml manifest in your current repository
  • basic for now, a smarter version is planned
  • a cache clear command to clear the cache of downloaded repositories
  • 8 themes available out-of-the-box (use them by typing their name only, it works)
  • chameleons-beauty by Godiesc
  • fxcompact by dannycolin
  • lepton by black7375
  • materialfox by muckSponge
  • modoki by soup-bowl
  • simplerentfox by MiguelRAvila
  • verticaltabs by ranmaru22

For theme makers

  • a mechanism to handle theme variants:
  • Variants can be declared in the same manifest file under the variants entry to override other entries
  • per-OS paths: the {{ variant }} and {{ os }} placeholders get replaced with their values
  • the value {{ os }} gets replaced with can be customized in the manifest file under the os entry, use null to mark an OS as incompatible
  • Support for helper addons:
  • Declare URLs to open after installation under the addons manifest entry (I plan to auto-install them in the future)
  • Easy way to write about:config changes without writing a user.js file:
  • Use the config manifest entry
  • If you also use a user.js, you can combine both, they'll be written as a single user.js file
  • Support for custom assets:
  • Use the assets manifest entry to list out your assets
  • Supports glob patterns
  • If you store them under a chrome directory, you can use copy from: chrome/ so that they don't get copied to <profile directory>/chrome/chrome