Releases: akaihola/darker
Releases · akaihola/darker
Release 1.5.0
Added
- The
--workers
/-W
option now specifies how many Darker jobs are used to
process files in parallel to complete reformatting/linting faster. - Linters can now be installed and run in the GitHub Action using the
lint:
option. - Sort imports only if the range of modified lines overlaps with changes resulting from
sorting the imports. - Allow force enabling/disabling of syntax highlighting using the
color
option in
pyproject.toml
, thePY_COLORS
andNO_COLOR
environment variables, and the
--color
/--no-color
command line options. - Syntax highlighting is now enabled by default in the GitHub Action.
pytest>=6.2.0
now required for the test suite due to type hinting issues.
Fixed
- Avoid memory leak from using
@lru_cache
on a method. - Handle files encoded with an encoding other than UTF-8 without an exception.
- The GitHub Action now handles missing
revision:
correctly. - Update
cachix/install-nix-action
tov17
to fix macOS build error. - Downgrade Python from 3.10 to 3.9 in the macOS NixOS build on GitHub due to a build
error with Python 3.10. - Darker now reads its own configuration from the file specified using
-c
/--config
, or in case a directory is specified, frompyproject.toml
inside that directory.
Version 1.4.2
Added
- Document
isort
's requirement to be run in the same environment as
the modules which are processed. - Document VSCode and
--lint
/-L
incompatibility in the README. - Guard against breaking changes in
isort
by testing against itsmain
branch in thetest-future
GitHub Workflow. release_tools/bump_version.py
script for incrementing version numbers and
milestone numbers in various files when releasing.
Fixed
- Fix NixOS builds when
pytest-darker
callspylint
. Needed to activate
the virtualenv. - Allow more time to pass when checking file modification times in a unit test.
Windows tests on GitHub are sometimes really slow.
Version 1.4.1
Added
- Run tests on CI against Black
main
branch to get an early warning of
incompatible changes which would break Darker. - Determine the commit range to check automatically in the GitHub Action.
- Improve GitHub Action documentation.
- Add Nix CI builds on Linux and macOS.
- Add a YAML linting workflow to the Darker repository.
- Updated Mypy to version 0.931.
Fixed
- Consider
.py.tmp
as files which should be reformatted.
This enables VSCode Format On Save. - Use the latest release of Darker instead of 1.3.2 in the GitHub Action.
Version 1.4.0
1.4.0_ - 2022-02-08
Added
- Experimental GitHub Actions integration
- Consecutive lines of linter output are now separated by a blank line.
- Highligh linter output if Pygments is installed.
- Allow running Darker on plain directories in addition to Git repositories.
Fixed
regex
module now always available for unit tests- Compatibility with NixOS. Keep
$PATH
intact so Git can be called. - Updated tests to pass on new Pygments versions
- Compatibility with Black 22.1
- Removed additional newline at the end of the file with the
--stdout
flag
compared to without. - Handle isort file skip comment
#isort:file_skip
without an exception. - Fix compatibility with Pygments 2.11.2.
Version 1.3.2
Added
- Linter failures now result in an exit value of 1, regardless of whether
--check
was used or not. This makes linting in Darker compatible withpre-commit
. - Declare Python 3.9 and 3.10 as supported in package metadata
- Run test build in a Python 3.10 environment on GitHub Actions
- Explanation in README about how to use
args:
in pre-commit configuration
Fixed
.py.<hash>.tmp
files from VSCode are now correctly compared to corresponding
.py
files in earlier revisions of the Git reposiotry- Honor exclusion patterns from Black configuration when choosing files to reformat.
This only applies when recursing directories specified on the command line, and only
affects Black reformatting, notisort
or linters. --revision rev1...rev2
now actually applies reformatting and filters linter output
to only lines modified compared to the common ancestor ofrev1
andrev2
- Relative paths are now resolved correctly when using the
--stdout
option - Downgrade to Flake8 version 3.x for Pytest compatibility.
Seetholo/pytest-flake8#81
Version 1.3.1
1.3.1 – 2021-10-05
Added
- Empty and all-whitespace files are now reformatted properly
- Darker now allows itself to modify files when called with
pre-commit -o HEAD
, but also emits a warning about this being an experimental feature - Mention Black's possible new line range formatting support in README
Fixed
/foo $ darker --diff /bar/my-repo
now works: the current working directory can be in a different part of the directory hierarchy- An incompatible
isort
version now causes a short user-friendly error message - Improve bisect performance by not recomputing invariant data within bisect loop
Version 1.3.0
Added
- Support for Black's
--skip-magic-trailing-comma
option darker --diff
output is now identical to that ofblack --diff
- The
-d
/--stdout
option outputs the reformatted contents of the single Python
file provided on the command line. - Terminate with an error if non-existing files or directories are passed on the command
line. This also improves the error from misquoted parameters like"--lint pylint"
. - Allow Git test case to run slower when checking file timestamps. CI can be slow.
- Fix compatibility with Black >= 21.7b1.dev9
- Show a simple one-line error instead of full traceback on some unexpected failures
- Skip reformatting files set to be excluded by Black in configuration files
Fixed
- Ensure a full revision range
--revision <COMMIT_A>..<COMMIT_B>
where
COMMIT_B is not:WORKTREE:
works too. - Hide fatal error from Git on stderr when
git show
doesn't find the file in rev1.
This isn't fatal from Darker's point of view since it's a newly created file. - Use forward slash as the path separator when calling Git in Windows. At least
git show
andgit cat-file
fail when using backslashes.
Version 1.2.4
Added
- Upgrade to and satisfy MyPy 0.910 by adding
types-toml
as a test dependency, and
types-dataclasses
as well if running on Python 3.6 - Installation instructions in a Conda environment
Fixed
- Git-related commands in the test suite now ignore the user's
~/.gitconfig
- Now works again even if
isort
isn't installed - AST verification no longer erroneously fails when using
--isort
- Historical comparisons like
darker --diff --revision=v1.0..v1.1
now actually
compare the second revision and not the working tree files on disk - Ensure identical Black formatting on Unix and Windows by always passing Unix newlines
to Black
Version 1.2.3
Added
- A unified
TextDocument
class to represent source code file contents - Move help texts into the separate
darker.help
module - If AST differs with zero context lines, search for the lowest successful number of
context lines using a binary search to improve performance - Return an exit value of 1 also if there are failures from any of the linters on
modified lines - Run GitHub Actions for the test build also on Windows and macOS
Fixed
- Compatibility with MyPy 0.812
- Keep newline character sequence and text encoding intact when modifying files
- Installation now works on Windows
- Improve compatibility with pre-commit. Fallback to compare against HEAD if
--revision :PRE-COMMIT:
is set, butPRE_COMMIT_FROM_REF
or
PRE_COMMIT_TO_REF
are not set.
Version 1.2.2
Added
- Get revision range from pre-commit_'s
PRE_COMMIT_FROM_REF
and
PRE_COMMIT_TO_REF
environment variables when using the--revision :PRE-COMMIT:
option - Configure a pre-commit hook for Darker itself
Fixed
<commit>...
now compares always correctly to the latest common ancestor- Migrate from Travis CI to GitHub Actions