These features will be included in the next release:
2.2.0_ - 2025-01-07
- Update to Pylint 3.3.0+ and adjust disabled messages accordingly.
- Add support for Python 3.13.
- Test on development version of Python 3.14.
- Drop support for Python 3.8.
- Only split input files at Python's universal newlines (LF, CRLF, CR), not on more exotic newline sequences. This fixes some edge cases in Darker.
2.1.0 - 2024-11-19
- Tools for easy creation of differently scoped Git repository fixtures for tests.
Helps speed up parameterized tests that need a Git repository, especially on Windows
where Git process forks are comically expensive. The
test_git.py
test module now makes use of this and runs in 9s instead of 18s on one Windows laptop. - Unit tests of configuration file options for darkgraylib.config.load_config.
- Keep Pylint below version 3.3.0 until we drop support for Python 3.8.
- Don't convert
log_level = "<string>"
in the configuration file to an integer. - Add the
quiet = <bool>
configuration file option.
2.0.1 - 2024-08-09
- When running Git with a clean environment, keep all environment variables and just override the language.
2.0.0 - 2024-07-31
- Return exit code 3 if command line parsing fails. We want to reserve 2 for file not found errors which will make GitHub actions easier. Also define constants for various exit codes to be used in Darkgraylib and applications which use it.
1.3.2 - 2024-07-29
- Added typing to
diff
test helpers to solve Mypy errors in Darker.
1.3.1 - 2024-07-29
- Drop the use of
click
.
1.3.0 - 2024-07-29
- The command
graylint --config=check-darkgraylib.toml
now runs Flake8_, Mypy_, pydocstyle_, Pylint_ and Ruff_ on modified lines in Python files. Those tools are included in the[test]
extra. - Make the section name argument for the config dump function mandatory.
- The config dump section name is now required and is not inferred from the caller.
- Update
darkgray-dev-tools
for Pip >= 24.1 compatibility. - The ~darkgraylib.command_line.make_argument_parser function now has a
version
argument which defaults to Darkgraylib's own version. This allows Darker and Graylint to correctly report their own version when called with the--version
option.
1.2.1 - 2024-04-21
- Icons in the contributors table in
README.rst
now link to searches across both Darker and Darkgraylib.
- The
darker -vv
andgraylint -vv
verbosity options now show the correct section name[tool.darker]
and[tool.graylint]
in the configuration dump.
1.2.0 - 2024-04-01
- An optional hook to be called after loading the configuration file. Used by Darker to show deprecation warnings for configuration options.
- The
release_tools/update_contributors.py
script was moved to thedarkgray-dev-tools
repository.
- Badge links in the README on GitHub.
- Replace calls to the deprecated datetime.datetime.utcfromtimestamp method with datetime.datetime.fromtimestamp, passing it the timezone datetime.timezone.utc.
1.1.1 - 2024-03-27
- Support for Python 3.12 in the package metadata and the CI build.
- Run unit tests with the newest Black release, not a fixed version.
- In the future test, upgrade
toml
andPygments
to repositorymaster
. - Messages from future test are now generic, not Black-specific.
- Require
click
when running tests.
- Dependency on Black, flynt, isort and regex.
- Obsolete Mypy configuration options.
- Skip tests on Python 3.13-dev in Windows and macOS. C extension builds are failing, this exclusion is to be removed when Python 3.13 has been removed.
- In the
--update-readme
command, escape pipe symbols (|
) in the help output placed in theREADME.rst
file.
1.1.0 - 2024-03-15
- Rename method on
git_repo
plugin to rename/move files in repo. - Update to Black 24.2.x and isort 5.13.x in pre-commit configuration.
bump_version.py
is now in the separatedarkgray-dev-tools
repository.
- Install
darkgray-dev-tools
from PyPI. They don't allow dependencies from GitHub.
1.0.0 - 2024-03-09
- Copy the code base from Darker 1.7.0.
- Make command line and configuration tooling flexible to provide base command line and configuration parsing and common options, allowing these to be used and extended by Darker and Graylint.
- Provide
git_repo
as a Pytest plugin. - Configure the
ruff
linting tool. --update-readme
and--verify-readme
command line options to assist in updating and verifying--help
output in theREADME.rst
file in Darker and Graylint.- Drop support for Python 3.7.
- Limit Black to versions before 24.2 until the incompatibility is resolved or Black requirement removed.
- Allow
-
as the single source filename when using the--stdin-filename
option. This makes the option compatible with Black. - Upgrade NixOS tests to use Python 3.11 on both Linux and macOS.
- Remove the Darker GitHub action.
- No CI test needed for
--help
output. - Reformatting logic and command line moved to Darker.
- Linting support moved to Graylint.
- Handling of Darker and Graylint specific command line options and configuration moved to the respective packages.
- Rename the package to
darkgraylib
. - Update imports and configure
setuptools
, release tools, linters, issue report templates, and CI workflows for the new package name. - Rename
darkgraylib.__main__
to.main
. - Use
git worktree
instead ofgit clone
andgit checkout
to set up a temporary working tree for running linters for a baseline in therev1
revision of the repository. - Include the
py.typed
typing marker in distributions. - Python 3.12 compatibility in multi-line string scanning.
- Upgrade
install-nix-action
to version 22 in CI to fix an issue with macOS. - Fix tests to run on pushes to
main
and pull requests formain
. - Configuration options spelled with hyphens in
pyproject.toml
(e.g.line-length = 88
) are now supported. - In debug log output mode, configuration options are now always spelled with hyphens instead of underscores.
release_tools/update_contributors.py
can now handle - GitHub usernames with RTL override characters - deleted GitHub users- Black 24.2 compatibility by adding our own implementation of
darkgraylib.files.find_project_root
. - Updates to GitHub actions in CI builds:
-
actions/checkout
from@v3
to@v4
-actions/setup-python
from@v4
to@v5
-wearerequired/lint-action
from@v2.1.0
to@v2.3.0
- Move test helpers used by both Darker and Graylint to importable modules.
For changes before the migration of code from Darker to Darkgraylib, see CHANGES.rst in the Darker repository.