- Switched the default tooling from flake8, isort etc. to ruff. Added a standard ``pyproject.toml`` file. - Fixed the differentiation between local and remote command execution with or without a replaced environment and with or without a PTY.
- Updated the pre-commit hooks. - Quieted deprecation warnings in SASS dependencies by default. We know that divison will be going away in Dart Sass 2.0. - Converted the ``update`` task to run things concurrently.
- Replaced the ``include_www=False`` default argument to ``nine-alias-add`` and ``nine-alias-remove`` with a mandatory boolean argument. - Added messages about updating the hostings overview.
- Guarded against including the environment name in the aliases list. - Customized the syslog identifier when adding systemd services. - Pinned fabric to <2.7 for now. - Stopped recommending ``importFrom`` when using ``postcss-custom-media``.
- Fixed ``fl github`` to actually set ``origin`` (again). - Added a ``--keep`` flag to ``fl upgrade`` if the virtualenv shouldn't be recreated unconditionally. - Changed the Nine systemd user service to not use a template anymore. This allows customizing the service per vhost.
- Changed the code to automatically determine the base. - Changed ``fl.require`` to not only update its own version but also all dotfiles. - Added Python 3.11 to the list of known interpreters. - Removed the ``fl bitbucket`` task.