Skip to content

Releases: Instagram/LibCST

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

v0.4.8

10 Nov 09:42
c44b182
Compare
Choose a tag to compare

New Contributors

Fixed

  • Fix parse error message for number parsing by @zzl0 in #724
  • Fix problematic doc build, due to the new builder image provided by readthedocs doesn't has the graphviz-dev package pre-installed any more by @MapleCCC in #751
  • Fix docstring of FullRepoManager by @MapleCCC in #750
  • Fix bug when TypeOf is one of options in OneOf / AllOf by @MapleCCC in #756
  • Tighten the metadata type of ExpressionContextProvider by @MapleCCC in #760
  • Fix the bug that the use of formatter in codemods has undetermined target Python version, resulting in hard-to-reason-with behavior by @MapleCCC in #771

Added

  • Python 3.11 rutime support
  • Raise informative exception when metadata is unresolved in a metadata-based match by @MapleCCC in #757
  • Add AccessorProvider by @matthewshaer in #807

Full Changelog: v0.4.7...v0.4.8

v0.4.7

12 Jul 14:56
c85f9bf
Compare
Choose a tag to compare

New Contributors

Fixed

  • Fix get_qualified_names_for matching on prefixes of the given name by @lpetre in #719

Added

  • Implement lazy loading mechanism for expensive metadata providers by @Chenguang-Zhu in #720

Full Changelog: v0.4.6...v0.4.7