Skip to content

Releases: Instagram/LibCST

v1.5.0

10 Oct 09:50
a2b3456
Compare
Choose a tag to compare

Added

  • FullyQualifiedNameProvider: Optionally consider pyproject.toml files when determining a file's module name and package by @camillol in #1148
  • Add validation for If node by @kiri11 in #1177
  • include python 3.13 in build by @khameeteman in #1203

Fixed

  • fix various Match statement visitation errors by @zsol in #1161
  • Mention codemod -x flag in docs by @kiri11 in #1169
  • Clear warnings for each file in codemod cli by @kiri11 in #1184
  • Typo fix in codemods_tutorial.rst (trivial) by @wimglenn in #1208
  • fix certain matchers breaking under multiprocessing by initializing them late by @kiri11 in #1204

Updated

New Contributors

Full Changelog: v1.4.0...v1.5.0

v1.4.0

22 May 14:23
96f5341
Compare
Choose a tag to compare

Fixed

Added

New Contributors

Full Changelog: v1.3.1...v1.4.0

v1.3.1

03 Apr 20:14
9f54920
Compare
Choose a tag to compare

Fixed

  • ImportError due to missing mypy_extensions dependency by @zsol in #1128

Full Changelog: v1.3.0...v1.3.1

v1.3.0

03 Apr 18:59
8b33474
Compare
Choose a tag to compare

Updated

  • Removed dependencies on typing_extensions and typing_inspect by @zsol in #1126

Full Changelog: v1.2.0...v1.3.0

v1.2.0

19 Feb 12:05
627bb0c
Compare
Choose a tag to compare

Updated

  • Support running LibCST on Python 3.12 and drop support for running it on 3.8

Added

  • Allow Element::codegen to be used by external users by @Wilfred in #1071

Fixed

  • Fix parsing list matchers without explicit brackets by @zsol in #1097
  • installing rustc/cargo for mybinder demo by @aleivag in #1083
  • fix filepathprovider generic type by @kinto0 in #1036

New Contributors

Full Changelog: v1.1.0...v1.2.0

v1.1.0

06 Oct 02:18
8d4229d
Compare
Choose a tag to compare

Added

  • PEP 695 support
    • parser: PEP 695 - Type Parameter Syntax #1004
    • Scope provider: support for type annotations #1014
  • PEP 701 support
    • parser: support arbitrarily nested f-strings #1026
    • parser: Parse multiline expressions in f-strings #1027
  • parser: Support files with mixed newlines #1007
  • libcst is now published to crates.io

Fixed

  • codemod/ApplyTypeAnnotationsVisitor: Do not annotate the same variable multiple times #956
  • parser: Don't swallow trailing whitespace #976
  • codemod/rename: Avoid duplicating import statements when the module name doesn't change #981

Updated

  • cli: Don't gather dirs ending .py #994
  • drop support for Python 3.7 #997
  • A few parser performance improvements:
    • Switch to using thread_local regular expressions to stop mutext contention #996
    • Remove need for regex in TextPosition::matches #1002
    • Remove Regexes from whitespace parser #1008

New Contributors

Full Changelog: v1.0.1...v1.1.0

v1.0.1

07 Jun 12:26
3cacca1
Compare
Choose a tag to compare

Fixed

New Contributors

Full Changelog: v1.0.0...v1.0.1

v1.0.0

25 May 18:50
193fab4
Compare
Choose a tag to compare

The first major release of LibCST is essentially the same as 0.4.10, but using the
newer, Rust-based parser implementation by default. The old, pure Python parser is
scheduled for removal in the next (non-patch) release. Until then, it is available with
the LIBCST_PARSER_TYPE environment variable set to pure.

Updated

  • Switch the default parser implementation to native by @zsol in #929

Full Changelog: v0.4.10...v1.0.0

v0.4.10

23 May 14:19
Compare
Choose a tag to compare

New Contributors

Added

  • Add py3.11 classifier by @and-semakin in #816
  • Script to regenerate test fixtures, upgrade to Pyre 0.9.10 by @amyreese in #872
  • Allow FullyQualifiedNameProvider to work with absolute paths by @amyreese in #867
  • Allow running codemods without configuring in YAML by @akx in #879
  • Support PEP 604 in ApplyTypeAnnotationsVisitor by @hauntsaninja in #868

Fixed

  • fix PEP 604 union annotations in decorators by @carljm in #828
  • [AddImportsVisitor] Docstring Check Only for the Top Element of the Body by @sagarbadiyani in #841
  • Fix #855 - fail to parse with statement by @stroxler in #861
  • Add setuptools-rust to build requirements in setup.py by @amyreese in #873
  • Relative imports from '' package are not allowed by @podtserkovskiy in #894
  • Use subprocess.DEVNULL instead of opening os.devnull by hand by @akx in #897
  • Ensure current Python interpreter is used for subprocesses by @akx in #898
  • Fix ApplyTypeAnnotationsVisitor behavior on attribute assignments. by @rchen152 in #903
  • Fix spelling and grammar in some comments by @stroxler in #908
  • skip escaped backslash in rf-string by @jakkdl in #921
  • relax validation rules on decorators by @jakkdl in #926

Full Changelog: v0.4.9...v0.4.10

v0.4.9

10 Nov 21:16
fc6e0c6
Compare
Choose a tag to compare

Updated

  • Bump setuptools-rust version by @zsol in #809

Full Changelog: v0.4.8...v0.4.9