Skip to content

Latest commit

 

History

History
399 lines (251 loc) · 16.7 KB

CHANGELOG.md

File metadata and controls

399 lines (251 loc) · 16.7 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.10.2 (2024-05-08)

Bug Fixes

0.10.1 (2024-04-15)

Bug Fixes

  • correctly find config file after updating min. black to v24.3 (0f20494)
  • don't add spacing between consencutive braces in string [closes #222] (2d28922)

0.10.0 (2024-01-31)

Features

Bug Fixes

  • preserve double curly braces in python code [#215] (1cbcfb1)

0.9.0 (2024-01-09)

⚠ BREAKING CHANGES

  • update black, which bumps min. req. python

Bug Fixes

  • don't add space between string and comma [python3.12 f-string tokenize] (18e9874)
  • don't remove double braces in f-strings in rule directives [closes #207] (8b47454)
  • handle python3.12 f-string tokenization [closes #210] (b7e0e47)
  • improve handling of indenting in shell directive [#186] (105e856)

Build System

  • update black, which bumps min. req. python (022d6ab)

Continuous Integration

  • correct version for next release (f28c08d)

0.8.5 (2023-10-04)

Bug Fixes

  • make default exclude regex more specific [#202] (82ef2c4)

0.8.4 (2023-04-04)

Bug Fixes

0.8.3 (2023-03-15)

Bug Fixes

0.8.2 (2023-03-08)

Bug Fixes

  • add .template to default excludes (610762f)
  • dont raise NotAnIdentifier function (#179) (932df73)
  • only show diff for changed files (7b35c16)

0.8.1 (2023-02-02)

Bug Fixes

Build

  • updated black to version ^23.1.0 (5462512)

0.8.0 (2022-12-19)

Features

  • add support for resource_scopes directive (67fb11b)
  • add support for resource_scopes directive (514192a)

Bug Fixes

0.7.0 (2022-11-08)

Features

  • add support for new exclude expressions in use rule statements (9f03019)

Bug Fixes

  • do not align the inside of multiline strings [#123]] (bb4aabf)
  • don't format r-strings [#123] (bcc5371)
  • formatting of triple quoted strings [#152] (764e11d)
  • line spacing after snakemake keyword (beca978)

0.6.1 (2022-06-13)

Added

Fixed

  • Keyword argument lambdas are now allowed inside rules [#135]
  • Improve reported line number in Snakefile when black fails to parse [#127]
  • Better handling of snakemake code inside nested if-else statements with comments at differing indentation levels [#126] - a HUGE thank you to @siebrenf for testing

0.6.0 (2022-03-03)

Added

  • Support for template_engine keyword. This requires bumping our minimum python version to 3.7 to allow for snakemake v7.

Added

  • Support for prefix and default_target keywords [#131]

Changed

  • Updated snakemake dependency to ^6.15.0
  • Updated black dependency to stable version (v22.1.0). See the release changes for details of style changes. This also required updating click to v8.0.0.

Fixed

  • Fix edge case for keywords inside Python if/else (#115)

Removed

  • No longer raise error if multiple keywords have the same name (e.g. rule a used twice)

Fixed

  • Collapsing of multi-line strings does not cause syntax error now [#118]
  • Version detection adapts to python version
  • Single-quoted multi-line strings are now supported [#121]

Added

Changed

  • Upgraded minimum black version to 21.7b0 [#116] (@jalaziz)

Fixed

  • Three parsing-related bugs:
    • Complex lambda function syntax (#108)
    • Argument unpacking (#109)
    • Multiline parameters (#111)

Fixed

  • Add support for multiple anonymous rules, as per snakemake grammar ([#103][103])
  • Newline bug in use syntax (#106)

Added

  • Support for module syntax: module keyword and use rule syntax (#99)
  • Support for containerized keyword

Changed

  • Updated snakemake dependency to ^6.0.0 (#99)

Fixed

  • Support nested python code following python/snakemake nested code (#96)

Removed

  • Dockerfile has been removed as the biocontainers images are smaller and some recent changes to the cryptography dependency require Rust to be installed (on Alpine) which further bloats our DockerHub image.

Changed

  • Update click, toml and black (major version) to latest releases (@jlewis91) [#97]

Fixed

  • Remove use of a Python 3.8-only logging module feature (#89)
  • Update Python support to ^3.6.1 due to use of typing module NamedTuples
  • Better support for python/snakemake interspersed code (#91; #93)

Added

  • Documentation for integration with Visual Studio Code (#80; thanks @austinkeller)
  • Issue warnings for comment-related formatting (#85)
  • File-specific logging: warnings and errors during reformatting now automatically refer to the raising source file.

Fixed

Better comment-related formatting (#85; thanks @dlaehnemann):

  • PEP8 inline comment formatting: use 2 spaces
  • Comments above keywords stay untouched
  • Inline comments in inline-formatted keywords get relocated above keyword

Added

  • pre-commit hook integration (@jfear)

Fixed

  • Proper indentation of nested if/else python code mixed with snakemake keywords [#78]

Changed

  • Vim plugin imports: snakefmt and black module imports raise distinct errors (@dcroote)

Added

  • Add a vim plugin to snakefmt [#62] and instructions to use it
  • New searching for project configuration. Used to look for pyproject.toml in current working directory, now recursively search for it in directories of formatted file(s).

Fixed

  • black config was not being used if it did not contain [tool.snakefmt] [#73]
  • better handling of black.FileMode params [#73]

Added

  • new scattergather directive to the grammar [#74]

Added

  • repeated top-level, single-parameter keywords get placed on consecutive lines [#67]

Changed

  • allow --check and --diff to be used together [#68]

Fixed

  • dedented comments were being tied to previous indented context in run directive [#61]
  • single version sourcing from pyproject.toml was failing on pip installed distributions [#65]. Fixed by using importlib_metadata.

Fixed

  • Add parsing support for format and raw (f/r) triple-quoted strings [#59].

Fixed

  • Version was not correctly updated in 0.1.2.

This release will potentially produce different output to previous versions. Previously, when passing code to black for formatting, we were not allowing for the indentation level of the code. For example, if a line has an indentation level of two and the code is 40 character long, the line is 48 characters long. However, we were only passing the 40 characters of code to black meaning, in the running example, if you had set --line-length 45 the line would not have been formatted. This behaviour is now fixed.

Changed

  • When passing code to black, reduce the line length by the indentation level.

Fixed

  • f-strings with triple quotes are now correctly handled [#55]

Added

  • First release - so everything you see is new!