Releases: Instagram/LibCST
Releases · Instagram/LibCST
v1.4.0
Fixed
- Fix Literal parse error in RemoveImportsVisitor by @camillol in #1130
- Don't reset context.scratch between files by @zsol in #1151
- Various documentation fixes
Added
- Add helper functions for common ways of filtering nodes by @zaicruvoir1rominet in #1137
- Dump CST to .dot (graphviz) files by @zaicruvoir1rominet in #1147
- Implement PEP-696 by @thereversiblewheel in #1141
New Contributors
- @tiangolo made their first contribution in #1134
- @camillol made their first contribution in #1130
- @zaicruvoir1rominet made their first contribution in #1142
- @thereversiblewheel made their first contribution in #1141
Full Changelog: v1.3.1...v1.4.0
v1.3.1
v1.3.0
v1.2.0
Updated
- Support running LibCST on Python 3.12 and drop support for running it on 3.8
Added
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
- @itamaro made their first contribution in #1039
- @kinto0 made their first contribution in #1036
- @dtolnay made their first contribution in #1063
- @anonymousdouble made their first contribution in #1082
- @aleivag made their first contribution in #1083
- @Wilfred made their first contribution in #1071
- @diliop made their first contribution in #1106
Full Changelog: v1.1.0...v1.2.0
v1.1.0
Added
- PEP 695 support
- PEP 701 support
- 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:
New Contributors
- @apbard made their first contribution in #957
- @orf made their first contribution in #995
- @MichaReiser made their first contribution in #1007
- @andrecsilva made their first contribution in #1024
Full Changelog: v1.0.1...v1.1.0
v1.0.1
Fixed
- Fix type of
evaluated_value
on string to allow bytes by @ljodal in #721 - Fix Sentinal typo by @kit1980 in #948
- Allow no whitespace after lambda body in certain cases by @zsol in #939
- Fix whitespace, fstring, walrus related parse errors (#939, #938, #937,
#936, #935, #934, #933, #932, #931) by @zsol in #940 - Codemod CLI: Print diff only when there is a change by @kit1980 in #945
New Contributors
Full Changelog: v1.0.0...v1.0.1
v1.0.0
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
Full Changelog: v0.4.10...v1.0.0
v0.4.10
New Contributors
- @and-semakin made their first contribution in #816
- @carljm made their first contribution in #828
- @sagarbadiyani made their first contribution in #841
- @podtserkovskiy made their first contribution in #894
- @rchen152 made their first contribution in #903
- @Kludex made their first contribution in #913
- @jakkdl made their first contribution in #921
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
v0.4.8
New Contributors
- @dhruvmanila made their first contribution in #728
- @vfazio made their first contribution in #801
- @matthewshaer made their first contribution in #807
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 inOneOf
/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