Skip to content

Releases: akaihola/darker

Release 1.5.0

23 Apr 18:33
05a0ce7
Compare
Choose a tag to compare

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, the PY_COLORS and NO_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 to v17 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, from pyproject.toml
    inside that directory.

Version 1.4.2

13 Mar 19:44
a1fe70f
Compare
Choose a tag to compare

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 its main
    branch in the test-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 calls pylint. 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

17 Feb 22:19
Compare
Choose a tag to compare

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

08 Feb 10:17
ad7a6d8
Compare
Choose a tag to compare

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

28 Oct 19:06
67ca4ae
Compare
Choose a tag to compare

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 with pre-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, not isort or linters.
  • --revision rev1...rev2 now actually applies reformatting and filters linter output
    to only lines modified compared to the common ancestor of rev1 and rev2
  • Relative paths are now resolved correctly when using the --stdout option
  • Downgrade to Flake8 version 3.x for Pytest compatibility.
    See tholo/pytest-flake8#81

Version 1.3.1

05 Oct 15:21
2178802
Compare
Choose a tag to compare

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

04 Sep 15:37
9760d18
Compare
Choose a tag to compare

Added

  • Support for Black's --skip-magic-trailing-comma option
  • darker --diff output is now identical to that of black --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 and git cat-file fail when using backslashes.

Version 1.2.4

26 Jun 21:58
Compare
Choose a tag to compare

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

02 May 19:24
c3ef954
Compare
Choose a tag to compare

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, but PRE_COMMIT_FROM_REF or
    PRE_COMMIT_TO_REF are not set.

Version 1.2.2

30 Dec 18:27
bc75184
Compare
Choose a tag to compare

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