python-rope/rope (rope)
### [`v1.13.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-1130)
[Compare Source](https://togithub.com/python-rope/rope/compare/1.12.0...1.13.0)
- [#781](https://togithub.com/python-rope/rope/issues/781), [#783](https://togithub.com/python-rope/rope/issues/783) Isolate tests that uses external_fixturepkg into a venv ([@lieryan](https://togithub.com/lieryan))
- [#751](https://togithub.com/python-rope/rope/issues/751) Check for ast.Attributes when finding occurrences in fstrings ([@sandratsy](https://togithub.com/sandratsy))
- [#777](https://togithub.com/python-rope/rope/issues/777), [#698](https://togithub.com/python-rope/rope/issues/698) add validation to refuse Rename refactoring to a python keyword ([@lieryan](https://togithub.com/lieryan))
- [#730](https://togithub.com/python-rope/rope/issues/730) Match on module aliases for autoimport suggestions ([@MrBago](https://togithub.com/MrBago))
- [#755](https://togithub.com/python-rope/rope/issues/755) Remove dependency on `build` package being installed while running tests ([@lieryan](https://togithub.com/lieryan))
- [#780](https://togithub.com/python-rope/rope/issues/780) Improved function parser to use ast parser instead of Worder ([@lieryan](https://togithub.com/lieryan))
- [#752](https://togithub.com/python-rope/rope/issues/752) Update pre-commit ([@bagel897](https://togithub.com/bagel897))
- [#782](https://togithub.com/python-rope/rope/issues/782) Integrate codecov with GHA ([@lieryan](https://togithub.com/lieryan))
- [#754](https://togithub.com/python-rope/rope/issues/754) Minor type hint improvements ([@lieryan](https://togithub.com/lieryan))
### [`v1.12.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-1120)
[Compare Source](https://togithub.com/python-rope/rope/compare/1.11.0...1.12.0)
- [#733](https://togithub.com/python-rope/rope/issues/733) skip directories with perm error when building autoimport index ([@MrBago](https://togithub.com/MrBago))
- [#722](https://togithub.com/python-rope/rope/issues/722), [#723](https://togithub.com/python-rope/rope/issues/723) Remove site-packages from packages search tree ([@tkrabel](https://togithub.com/tkrabel))
- [#738](https://togithub.com/python-rope/rope/issues/738) Implement os.PathLike on Resource ([@lieryan](https://togithub.com/lieryan))
- [#739](https://togithub.com/python-rope/rope/issues/739), [#736](https://togithub.com/python-rope/rope/issues/736) Ensure autoimport requests uses indexes ([@lieryan](https://togithub.com/lieryan))
- [#734](https://togithub.com/python-rope/rope/issues/734), [#735](https://togithub.com/python-rope/rope/issues/735) raise exception when extracting the start of a block without the end
### [`v1.11.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-1110)
[Compare Source](https://togithub.com/python-rope/rope/compare/1.10.0...1.11.0)
- [#710](https://togithub.com/python-rope/rope/issues/710), [#561](https://togithub.com/python-rope/rope/issues/561) Implement `except*` syntax ([@lieryan](https://togithub.com/lieryan))
- [#711](https://togithub.com/python-rope/rope/issues/711) allow building documentation without having rope module installed ([@kloczek](https://togithub.com/kloczek))
- [#719](https://togithub.com/python-rope/rope/issues/719) Allows the in-memory db to be shared across threads ([@tkrabel](https://togithub.com/tkrabel))
- [#720](https://togithub.com/python-rope/rope/issues/720) create one sqlite3.Connection per thread using a thread local ([@tkrabel](https://togithub.com/tkrabel))
- [#715](https://togithub.com/python-rope/rope/issues/715) change AutoImport's `get_modules` to be case sensitive ([@bagel897](https://togithub.com/bagel897))
### [`v1.10.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-1100)
[Compare Source](https://togithub.com/python-rope/rope/compare/1.9.0...1.10.0)
- [#708](https://togithub.com/python-rope/rope/issues/708), [#709](https://togithub.com/python-rope/rope/issues/709) Add support for Python 3.12 ([@lieryan](https://togithub.com/lieryan))
### [`v1.9.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-190)
[Compare Source](https://togithub.com/python-rope/rope/compare/1.8.0...1.9.0)
- [#624](https://togithub.com/python-rope/rope/issues/624), [#693](https://togithub.com/python-rope/rope/issues/693) Implement `nonlocal` keyword ([@lieryan](https://togithub.com/lieryan))
- [#697](https://togithub.com/python-rope/rope/issues/697), [#565](https://togithub.com/python-rope/rope/issues/565) Automatically purge autoimport.db when there is schema change
### [`v1.8.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-180)
[Compare Source](https://togithub.com/python-rope/rope/compare/1.7.0...1.8.0)
- [#650](https://togithub.com/python-rope/rope/issues/650) Install pre-commit hooks on rope repository ([@lieryan](https://togithub.com/lieryan))
- [#655](https://togithub.com/python-rope/rope/issues/655) Remove unused **init**() methods ([@edreamleo](https://togithub.com/edreamleo), [@lieryan](https://togithub.com/lieryan))
- [#656](https://togithub.com/python-rope/rope/issues/656) Reformat using black 23.1.0 ([@edreamleo](https://togithub.com/edreamleo))
- [#674](https://togithub.com/python-rope/rope/issues/674) Fix/supress all mypy complaints ([@edreamleo](https://togithub.com/edreamleo))
- [#680](https://togithub.com/python-rope/rope/issues/680) Remove a do-nothing statement in soi.\_handle_first_parameter ([@edreamleo](https://togithub.com/edreamleo))
- [#687](https://togithub.com/python-rope/rope/issues/687), [#688](https://togithub.com/python-rope/rope/issues/688) Fix autoimport not scanning packages recursively ([@lieryan](https://togithub.com/lieryan))
### [`v1.7.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-170)
[Compare Source](https://togithub.com/python-rope/rope/compare/1.6.0...1.7.0)
#### Feature
- [#548](https://togithub.com/python-rope/rope/issues/548) Implement MoveGlobal using string as destination module names ([@lieryan](https://togithub.com/lieryan))
#### Bug
- [#627](https://togithub.com/python-rope/rope/issues/627) Fix parsing of octal literal ([@lieryan](https://togithub.com/lieryan))
- [#643](https://togithub.com/python-rope/rope/issues/643), [#435](https://togithub.com/python-rope/rope/issues/435) Fix fstrings with mismatched parens ([@apmorton](https://togithub.com/apmorton))
- [#646](https://togithub.com/python-rope/rope/issues/646) Fix renaming kwargs when refactoring from imports ([@apmorton](https://togithub.com/apmorton))
- [#648](https://togithub.com/python-rope/rope/issues/648) Remove **init** from import statement when using sqlite autoimport ([@bagel897](https://togithub.com/bagel897))
#### Improvements
- rope.contrib.generate improvements
- [#640](https://togithub.com/python-rope/rope/issues/640) Remove unnecessary eval in generate.py ([@edreamleo](https://togithub.com/edreamleo))
- [#641](https://togithub.com/python-rope/rope/issues/641) Add type annotations for rope.contrib.generate.create_generate() ([@edreamleo](https://togithub.com/edreamleo))
- call_for_nodes() improvements
- [#634](https://togithub.com/python-rope/rope/issues/634) Remove call_for_nodes(recursive) argument ([@edreamleo](https://togithub.com/edreamleo))
- [#642](https://togithub.com/python-rope/rope/issues/642) Add comments & docstrings related to call_for_nodes ([@edreamleo](https://togithub.com/edreamleo), [@lieryan](https://togithub.com/lieryan))
- Data storage improvements
- [#604](https://togithub.com/python-rope/rope/issues/604) Fix test that sometimes leaves files behind in the current working directory ([@lieryan](https://togithub.com/lieryan))
- [#606](https://togithub.com/python-rope/rope/issues/606) Deprecate compress_objectdb and compress_history ([@lieryan](https://togithub.com/lieryan))
- [#607](https://togithub.com/python-rope/rope/issues/607) Remove importing from legacy files with `.pickle` suffix ([@lieryan](https://togithub.com/lieryan))
- [#611](https://togithub.com/python-rope/rope/issues/611) Implement JSON DataFile serialization ([@lieryan](https://togithub.com/lieryan))
- [#630](https://togithub.com/python-rope/rope/issues/630) SQLite models improvements ([@lieryan](https://togithub.com/lieryan))
- [#631](https://togithub.com/python-rope/rope/issues/631) Implement version hash ([@lieryan](https://togithub.com/lieryan))
#### Tech Debt
- [#594](https://togithub.com/python-rope/rope/issues/594) Tidy up patchedast ([@Alex-CodeLab](https://togithub.com/Alex-CodeLab))
- [#595](https://togithub.com/python-rope/rope/issues/595) Global default DEFAULT_TASK_HANDLE ([@Alex-CodeLab](https://togithub.com/Alex-CodeLab))
- [#609](https://togithub.com/python-rope/rope/issues/609), [#610](https://togithub.com/python-rope/rope/issues/610), [#612](https://togithub.com/python-rope/rope/issues/612), [#613](https://togithub.com/python-rope/rope/issues/613) Fix pyflakes issues ([@edreamleo](https://togithub.com/edreamleo))
- [#615](https://togithub.com/python-rope/rope/issues/615) Remove 'unicode' from builtins dict ([@edreamleo](https://togithub.com/edreamleo))
- [#616](https://togithub.com/python-rope/rope/issues/616), [#621](https://togithub.com/python-rope/rope/issues/621) Remove `file` builtins ([@edreamleo](https://togithub.com/edreamleo))
- [#618](https://togithub.com/python-rope/rope/issues/618) Separate pynames and pynamesdef and remove star-import ([@edreamleo](https://togithub.com/edreamleo), [@lieryan](https://togithub.com/lieryan))
- [#620](https://togithub.com/python-rope/rope/issues/620) Remove unused import in occurrences.py ([@edreamleo](https://togithub.com/edreamleo))
- [#625](https://togithub.com/python-rope/rope/issues/625) Remove support for deprecated ast nodes ([@lieryan](https://togithub.com/lieryan))
#### Tests/Dev
- [#626](https://togithub.com/python-rope/rope/issues/626) Install pre-commit hooks on rope repository ([@lieryan](https://togithub.com/lieryan))
- [#628](https://togithub.com/python-rope/rope/issues/628) Add isort to pre-commit ([@lieryan](https://togithub.com/lieryan))
- [#638](https://togithub.com/python-rope/rope/issues/638) Add a function to identify ast Constant nodes more granularly ([@lieryan](https://togithub.com/lieryan))
#### Docs
- [#636](https://togithub.com/python-rope/rope/issues/636) Update readme to reflect 1.0 has been released. ([@maxnoe](https://togithub.com/maxnoe))
### [`v1.6.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-160)
[Compare Source](https://togithub.com/python-rope/rope/compare/1.5.1...1.6.0)
#### New features & Enhancements
- [#559](https://togithub.com/python-rope/rope/issues/559), [#560](https://togithub.com/python-rope/rope/issues/560) Improve handling of whitespace in import and from-import statements ([@lieryan](https://togithub.com/lieryan))
- [#566](https://togithub.com/python-rope/rope/issues/566), [#567](https://togithub.com/python-rope/rope/issues/567), [#597](https://togithub.com/python-rope/rope/issues/597) Fix variables in kwonlyargs and posonlyargs not being correctly passed to extracted methods ([@lieryan](https://togithub.com/lieryan))
#### Unit Test
- [#589](https://togithub.com/python-rope/rope/issues/589), [#596](https://togithub.com/python-rope/rope/issues/596) Fix issue with `sample_project()` creating directories where it shouldn't when running tests ([@lieryan](https://togithub.com/lieryan))
- [#547](https://togithub.com/python-rope/rope/issues/547) Add config file for linters
- [#593](https://togithub.com/python-rope/rope/issues/593) Remove `only_for` decorator for all python versions less than 3.7 ([@edreamleo](https://togithub.com/edreamleo))
#### Tech Debt
- Code quality
- [#546](https://togithub.com/python-rope/rope/issues/546) Remove unused vars in test ([@lieryan](https://togithub.com/lieryan), [@edreamleo](https://togithub.com/edreamleo))
- [#551](https://togithub.com/python-rope/rope/issues/551), [#552](https://togithub.com/python-rope/rope/issues/552) Numerous flake8 linter complaints ([@edreamleo](https://togithub.com/edreamleo))
- [#558](https://togithub.com/python-rope/rope/issues/558) Fix typos ([@kianmeng](https://togithub.com/kianmeng))
- [#583](https://togithub.com/python-rope/rope/issues/583), [#584](https://togithub.com/python-rope/rope/issues/584) More consistent import style ([@edreamleo](https://togithub.com/edreamleo))
- Python 2-related tech debt
- [#533](https://togithub.com/python-rope/rope/issues/533) Refactoring to Remove usage of unicode type ([@lieryan](https://togithub.com/lieryan))
- [#549](https://togithub.com/python-rope/rope/issues/549), [#553](https://togithub.com/python-rope/rope/issues/553) Remove rope.base.utils.pycompat ([@dreamleo](https://togithub.com/dreamleo))
- [#555](https://togithub.com/python-rope/rope/issues/555) Fix some python2-isms ([@lieryan](https://togithub.com/lieryan))
- Rope's AST Wrapper
- [#536](https://togithub.com/python-rope/rope/issues/536), [#578](https://togithub.com/python-rope/rope/issues/578) walk does not return a value ([@edreamleo](https://togithub.com/edreamleo))
- [#537](https://togithub.com/python-rope/rope/issues/537), [#538](https://togithub.com/python-rope/rope/issues/538) Remove special case code from walk ([@edreamleo](https://togithub.com/edreamleo))
- [#581](https://togithub.com/python-rope/rope/issues/581) Remove functions in rope.base.ast that has functionally identical implementation in stdlib's ast ([@lieryan](https://togithub.com/lieryan), [@edreamleo](https://togithub.com/edreamleo))
- [#582](https://togithub.com/python-rope/rope/issues/582) Refactoring rope.base.ast and remove rope.base.astutils ([@lieryan](https://togithub.com/lieryan), [@edreamleo](https://togithub.com/edreamleo))
- pynames and pyobjects
- [#569](https://togithub.com/python-rope/rope/issues/569), [#572](https://togithub.com/python-rope/rope/issues/572) rename pynames to pynamesdef in pyobjectsdef.ph ([@edreamleo](https://togithub.com/edreamleo))
### [`v1.5.1`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-151)
[Compare Source](https://togithub.com/python-rope/rope/compare/1.5.0...1.5.1)
- [#531](https://togithub.com/python-rope/rope/issues/531) Add alternative way to retrieve version number from pyproject.toml
### [`v1.5.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-150)
[Compare Source](https://togithub.com/python-rope/rope/compare/1.4.0...1.5.0)
Date: 2022-11-23
- [#492](https://togithub.com/python-rope/rope/issues/492) Feat: Global configuration support ([@bagel897](https://togithub.com/bagel897))
- [#519](https://togithub.com/python-rope/rope/issues/519) Move pytest to pyproject.toml ([@gliptak](https://togithub.com/gliptak), [@bagel897](https://togithub.com/bagel897))
- [#509](https://togithub.com/python-rope/rope/issues/509) Fix read/write analysis of the left-hand side of an augmented assignment ([@lieryan](https://togithub.com/lieryan))
- [#522](https://togithub.com/python-rope/rope/issues/522) Implement patchedast parsing of MatchMapping ([@lieryan](https://togithub.com/lieryan))
- [#514](https://togithub.com/python-rope/rope/issues/514) Fix inlining dictionary with inline comment ([@lieryan](https://togithub.com/lieryan))
### [`v1.4.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-140)
[Compare Source](https://togithub.com/python-rope/rope/compare/1.3.0...1.4.0)
Date: 2022-10-22
#### Bug fixes
- [#506](https://togithub.com/python-rope/rope/issues/506), [#507](https://togithub.com/python-rope/rope/issues/507) Fix issue with parsing function call args list
- [#411](https://togithub.com/python-rope/rope/issues/411), [#505](https://togithub.com/python-rope/rope/issues/505) Fix extracting generator without parens
- [#18](https://togithub.com/python-rope/rope/issues/18), [#510](https://togithub.com/python-rope/rope/issues/510) When the function is a builtin function, the call parameter's name was sometimes incorrectly identified as an AssignedName. This led to rename refactoring incorrectly renaming these parameters.
### [`v1.3.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-130)
[Compare Source](https://togithub.com/python-rope/rope/compare/1.2.0...1.3.0)
Date: 2022-07-29
#### Bug fixes
- [#496](https://togithub.com/python-rope/rope/issues/496), [#497](https://togithub.com/python-rope/rope/issues/497) Add MatMul operator to patchedast
- [#495](https://togithub.com/python-rope/rope/issues/495) Fix autoimport collection for compiled modules
#### Improvement
- [#501](https://togithub.com/python-rope/rope/issues/501), [#502](https://togithub.com/python-rope/rope/issues/502) Autoimport improvements
### [`v1.2.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-120)
[Compare Source](https://togithub.com/python-rope/rope/compare/1.1.1...1.2.0)
Date: 2022-04-22
#### New feature
- [#473](https://togithub.com/python-rope/rope/issues/473) Pyproject.toml support ([@bageljrkhanofemus](https://togithub.com/bageljrkhanofemus))
- [#489](https://togithub.com/python-rope/rope/issues/489) Rope now publishes documentations to rope.readthedocs.org ([@bageljrkhanofemus](https://togithub.com/bageljrkhanofemus))
- [#490](https://togithub.com/python-rope/rope/issues/490) Migrate from setup.py to pyproject.toml ([@bageljrkhanofemus](https://togithub.com/bageljrkhanofemus))
#### Improvement
- [#479](https://togithub.com/python-rope/rope/issues/479) Add ABC and type hints for TaskHandle and JobSet ([@bageljrkhanofemus](https://togithub.com/bageljrkhanofemus))
- [#486](https://togithub.com/python-rope/rope/issues/486) Drop Python 2 support ([@bageljrkhanofemus](https://togithub.com/bageljrkhanofemus), [@lieryan](https://togithub.com/lieryan))
- [#487](https://togithub.com/python-rope/rope/issues/487) Improved value inference of **all** declaration ([@lieryan](https://togithub.com/lieryan))
- [#424](https://togithub.com/python-rope/rope/issues/424) Add some basic **repr** to make it easier for debugging ([@lieryan](https://togithub.com/lieryan))
### [`v1.1.1`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-111)
[Compare Source](https://togithub.com/python-rope/rope/compare/1.1.0...1.1.1)
#### Bug fixes
- [#476](https://togithub.com/python-rope/rope/issues/476) Fix rope.contrib.autoimport package missing from release ([@bageljrkhanofemus](https://togithub.com/bageljrkhanofemus))
### [`v1.1.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-110)
[Compare Source](https://togithub.com/python-rope/rope/compare/1.0.0...1.1.0)
Date: 2022-05-25
#### New feature
- [#464](https://togithub.com/python-rope/rope/issues/464) Add new autoimport implementation that uses a sqllite3 database, cache all available modules quickly, search for names and produce import statements, sort import statements. ([@bageljrkhanofemus](https://togithub.com/bageljrkhanofemus))
#### Bug fixes
- [#419](https://togithub.com/python-rope/rope/issues/419) Fix bug while moving decorated function ([@dryobates](https://togithub.com/dryobates))
- [#439](https://togithub.com/python-rope/rope/issues/439) Fix bug while moving decorated class ([@dryobates](https://togithub.com/dryobates))
- [#461](https://togithub.com/python-rope/rope/issues/461) Fix bug while extracting method with list comprehension in class method ([@dryobates](https://togithub.com/dryobates))
- [#440](https://togithub.com/python-rope/rope/issues/440) Fix bug while inlining function with type hints in signature ([@dryobates](https://togithub.com/dryobates))
#### Deprecation
- The pickle-based autoimport implementation is still the default, but will be deprecated sometime in the future.
### [`v1.0.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-100)
[Compare Source](https://togithub.com/python-rope/rope/compare/0.23.0...1.0.0)
Date: 2022-04-08
#### Syntax support
- [#400](https://togithub.com/python-rope/rope/issues/400) Drop Python 2.7 support
#### Bug fixes
- [#459](https://togithub.com/python-rope/rope/issues/459) Fix bug while extracting method with augmented assignment to subscript in try block ([@dryobates](https://togithub.com/dryobates))
### [`v0.23.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-0230)
[Compare Source](https://togithub.com/python-rope/rope/compare/0.22.0...0.23.0)
#### Syntax support
- [#451](https://togithub.com/python-rope/rope/issues/451), $456 Implement structural pattern matching (PEP634) ([@lieryan](https://togithub.com/lieryan))
- [#458](https://togithub.com/python-rope/rope/issues/458) Improve the heuristic for joining lines when extracting one line
expression ([@lieryan](https://togithub.com/lieryan))
#### Bug fixes
- [#134](https://togithub.com/python-rope/rope/issues/134), [#453](https://togithub.com/python-rope/rope/issues/453) Preserve newline format when writing files ([@lieryan](https://togithub.com/lieryan))
- [#457](https://togithub.com/python-rope/rope/issues/457) Fix extract info collection for list comprehension with multiple targets
([@lieryan](https://togithub.com/lieryan))
#### Documentation
- [#455](https://togithub.com/python-rope/rope/issues/455) Fix typo ([@Jasha10](https://togithub.com/Jasha10))
### [`v0.22.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-0220)
[Compare Source](https://togithub.com/python-rope/rope/compare/0.21.1...0.22.0)
Date: 2021-11-23
#### Syntax support
- [#443](https://togithub.com/python-rope/rope/issues/443) Implement `yield from` syntax support to patchedast.py
#### Bug fixes
- [#445](https://togithub.com/python-rope/rope/issues/445), [#446](https://togithub.com/python-rope/rope/issues/446) Improve empty tuple and handling of parentheses around tuple
- [#270](https://togithub.com/python-rope/rope/issues/270), [#432](https://togithub.com/python-rope/rope/issues/432) Fix rename import statement with dots and as keyword ([@climbus](https://togithub.com/climbus))
#### Misc
- [#447](https://togithub.com/python-rope/rope/issues/447) Add Python 3.10 to tests
### [`v0.21.1`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-0211)
[Compare Source](https://togithub.com/python-rope/rope/compare/0.21.0...0.21.1)
Date: 2021-11-11
#### Bug fixes
- [#441](https://togithub.com/python-rope/rope/issues/441). Start publishing wheel packages to allow offline installs
### [`v0.21.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-0210)
Date: 2021-10-18
#### Syntax support
- [#392](https://togithub.com/python-rope/rope/issues/392), [#316](https://togithub.com/python-rope/rope/issues/316) Handle `global` keyword when extracting method ([@climbus](https://togithub.com/climbus))
- context manager:
- [#387](https://togithub.com/python-rope/rope/issues/387), [#433](https://togithub.com/python-rope/rope/issues/433) Implement extract refactoring for code containing `async with` ([@lieryan](https://togithub.com/lieryan))
- [#398](https://togithub.com/python-rope/rope/issues/398), [#104](https://togithub.com/python-rope/rope/issues/104) Fix parsing of nested `with` statement/context manager ([@climbus](https://togithub.com/climbus))
- list/set/dict/generator comprehension scope issues:
- [#422](https://togithub.com/python-rope/rope/issues/422) Added scopes for comprehension expressions as part of [#293](https://togithub.com/python-rope/rope/issues/293) ([@climbus](https://togithub.com/climbus))
- [#426](https://togithub.com/python-rope/rope/issues/426), [#429](https://togithub.com/python-rope/rope/issues/429) Added support for checking scopes by offset as part of [#293](https://togithub.com/python-rope/rope/issues/293) ([@climbus](https://togithub.com/climbus))
- [#293](https://togithub.com/python-rope/rope/issues/293), [#430](https://togithub.com/python-rope/rope/issues/430) Fix renaming global var affects list comprehension ([@climbus](https://togithub.com/climbus))
- [#395](https://togithub.com/python-rope/rope/issues/395), [#315](https://togithub.com/python-rope/rope/issues/315) Reuse of variable in comprehensions confuses method extraction ([@climbus](https://togithub.com/climbus))
- [#436](https://togithub.com/python-rope/rope/issues/436) Fix error `TypeError: 'PyDefinedObject' object is not subscriptable` ([@lieryan](https://togithub.com/lieryan))
- f-string:
- [#303](https://togithub.com/python-rope/rope/issues/303), [#420](https://togithub.com/python-rope/rope/issues/420) Fix inlining into f-string containing quote characters ([@lieryan](https://togithub.com/lieryan))
- inline assignment/walrus operator:
- [#423](https://togithub.com/python-rope/rope/issues/423) Fix `AttributeError: '_ExpressionVisitor' object has no attribute 'defineds'` ([@lieryan](https://togithub.com/lieryan))
#### Bug fixes
- [#391](https://togithub.com/python-rope/rope/issues/391), [#376](https://togithub.com/python-rope/rope/issues/376) Fix improper replacement when extracting attribute access expression with `similar=True` ([@climbus](https://togithub.com/climbus))
- [#396](https://togithub.com/python-rope/rope/issues/396) Fix improper replacement when extracting index access expression with `similar=True` ([@lieryan](https://togithub.com/lieryan))
#### New feature
- [#434](https://togithub.com/python-rope/rope/issues/434) Move read() to FileSystemCommands ([@lieryan](https://togithub.com/lieryan))
#### Misc
- [#410](https://togithub.com/python-rope/rope/issues/410) Setup all-contributors bot ([@lieryan](https://togithub.com/lieryan))
- [#404](https://togithub.com/python-rope/rope/issues/404) Blacken source code, rope now follows black code style ([@climbus](https://togithub.com/climbus))
- [#399](https://togithub.com/python-rope/rope/issues/399) Add Github Actions to enforce black code style ([@lieryan](https://togithub.com/lieryan))
- [#403](https://togithub.com/python-rope/rope/issues/403) Remove plain 'unittest' only runner ([@lieryan](https://togithub.com/lieryan))
### [`v0.20.1`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-0201)
Date: 2021-09-18
#### Bug fixes
- Fix caller of `_namedexpr_last()` throwing exception due to returning unexpected list
instead of boolean
### [`v0.20.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-0200)
[Compare Source](https://togithub.com/python-rope/rope/compare/0.19.0...0.20.0)
Date: 2021-09-18
#### New feature
- [#377](https://togithub.com/python-rope/rope/issues/377) Added the ability to extract method to @staticmethod/[@classmethod](https://togithub.com/classmethod) ([@climbus](https://togithub.com/climbus))
- [#374](https://togithub.com/python-rope/rope/issues/374) Changed Organize import to keep variables listed in `__all__`
- Change default .ropeproject/config.py to ignore code in folders named
.venv and venv ([@0x1e02](https://togithub.com/0x1e02))
#### Syntax support
- [#372](https://togithub.com/python-rope/rope/issues/372) Add extract method refactoring of code containing `exec` ([@ceridwen](https://togithub.com/ceridwen))
- [#389](https://togithub.com/python-rope/rope/issues/389) Add extract method refactoring of code containing `async def`, `async for`, and `await`
- [#365](https://togithub.com/python-rope/rope/issues/365), [#386](https://togithub.com/python-rope/rope/issues/386) Support extract method of expressions containing inline assignment (walrus operator)
#### Bug fixes
- [#380](https://togithub.com/python-rope/rope/issues/380) Fix list of variables that are returned and/or turned into argument when extracting method in a loop
### [`v0.19.0`](https://togithub.com/python-rope/rope/compare/0.18.0...0.19.0)
[Compare Source](https://togithub.com/python-rope/rope/compare/0.18.0...0.19.0)
### [`v0.18.0`](https://togithub.com/python-rope/rope/compare/0.17.0...0.18.0)
[Compare Source](https://togithub.com/python-rope/rope/compare/0.17.0...0.18.0)
### [`v0.17.0`](https://togithub.com/python-rope/rope/compare/0.16.0...0.17.0)
[Compare Source](https://togithub.com/python-rope/rope/compare/0.16.0...0.17.0)
### [`v0.16.0`](https://togithub.com/python-rope/rope/compare/0.14.0...0.16.0)
[Compare Source](https://togithub.com/python-rope/rope/compare/0.14.0...0.16.0)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
^0.14.0
->^1.0.0
Release Notes
python-rope/rope (rope)
### [`v1.13.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-1130) [Compare Source](https://togithub.com/python-rope/rope/compare/1.12.0...1.13.0) - [#781](https://togithub.com/python-rope/rope/issues/781), [#783](https://togithub.com/python-rope/rope/issues/783) Isolate tests that uses external_fixturepkg into a venv ([@lieryan](https://togithub.com/lieryan)) - [#751](https://togithub.com/python-rope/rope/issues/751) Check for ast.Attributes when finding occurrences in fstrings ([@sandratsy](https://togithub.com/sandratsy)) - [#777](https://togithub.com/python-rope/rope/issues/777), [#698](https://togithub.com/python-rope/rope/issues/698) add validation to refuse Rename refactoring to a python keyword ([@lieryan](https://togithub.com/lieryan)) - [#730](https://togithub.com/python-rope/rope/issues/730) Match on module aliases for autoimport suggestions ([@MrBago](https://togithub.com/MrBago)) - [#755](https://togithub.com/python-rope/rope/issues/755) Remove dependency on `build` package being installed while running tests ([@lieryan](https://togithub.com/lieryan)) - [#780](https://togithub.com/python-rope/rope/issues/780) Improved function parser to use ast parser instead of Worder ([@lieryan](https://togithub.com/lieryan)) - [#752](https://togithub.com/python-rope/rope/issues/752) Update pre-commit ([@bagel897](https://togithub.com/bagel897)) - [#782](https://togithub.com/python-rope/rope/issues/782) Integrate codecov with GHA ([@lieryan](https://togithub.com/lieryan)) - [#754](https://togithub.com/python-rope/rope/issues/754) Minor type hint improvements ([@lieryan](https://togithub.com/lieryan)) ### [`v1.12.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-1120) [Compare Source](https://togithub.com/python-rope/rope/compare/1.11.0...1.12.0) - [#733](https://togithub.com/python-rope/rope/issues/733) skip directories with perm error when building autoimport index ([@MrBago](https://togithub.com/MrBago)) - [#722](https://togithub.com/python-rope/rope/issues/722), [#723](https://togithub.com/python-rope/rope/issues/723) Remove site-packages from packages search tree ([@tkrabel](https://togithub.com/tkrabel)) - [#738](https://togithub.com/python-rope/rope/issues/738) Implement os.PathLike on Resource ([@lieryan](https://togithub.com/lieryan)) - [#739](https://togithub.com/python-rope/rope/issues/739), [#736](https://togithub.com/python-rope/rope/issues/736) Ensure autoimport requests uses indexes ([@lieryan](https://togithub.com/lieryan)) - [#734](https://togithub.com/python-rope/rope/issues/734), [#735](https://togithub.com/python-rope/rope/issues/735) raise exception when extracting the start of a block without the end ### [`v1.11.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-1110) [Compare Source](https://togithub.com/python-rope/rope/compare/1.10.0...1.11.0) - [#710](https://togithub.com/python-rope/rope/issues/710), [#561](https://togithub.com/python-rope/rope/issues/561) Implement `except*` syntax ([@lieryan](https://togithub.com/lieryan)) - [#711](https://togithub.com/python-rope/rope/issues/711) allow building documentation without having rope module installed ([@kloczek](https://togithub.com/kloczek)) - [#719](https://togithub.com/python-rope/rope/issues/719) Allows the in-memory db to be shared across threads ([@tkrabel](https://togithub.com/tkrabel)) - [#720](https://togithub.com/python-rope/rope/issues/720) create one sqlite3.Connection per thread using a thread local ([@tkrabel](https://togithub.com/tkrabel)) - [#715](https://togithub.com/python-rope/rope/issues/715) change AutoImport's `get_modules` to be case sensitive ([@bagel897](https://togithub.com/bagel897)) ### [`v1.10.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-1100) [Compare Source](https://togithub.com/python-rope/rope/compare/1.9.0...1.10.0) - [#708](https://togithub.com/python-rope/rope/issues/708), [#709](https://togithub.com/python-rope/rope/issues/709) Add support for Python 3.12 ([@lieryan](https://togithub.com/lieryan)) ### [`v1.9.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-190) [Compare Source](https://togithub.com/python-rope/rope/compare/1.8.0...1.9.0) - [#624](https://togithub.com/python-rope/rope/issues/624), [#693](https://togithub.com/python-rope/rope/issues/693) Implement `nonlocal` keyword ([@lieryan](https://togithub.com/lieryan)) - [#697](https://togithub.com/python-rope/rope/issues/697), [#565](https://togithub.com/python-rope/rope/issues/565) Automatically purge autoimport.db when there is schema change ### [`v1.8.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-180) [Compare Source](https://togithub.com/python-rope/rope/compare/1.7.0...1.8.0) - [#650](https://togithub.com/python-rope/rope/issues/650) Install pre-commit hooks on rope repository ([@lieryan](https://togithub.com/lieryan)) - [#655](https://togithub.com/python-rope/rope/issues/655) Remove unused **init**() methods ([@edreamleo](https://togithub.com/edreamleo), [@lieryan](https://togithub.com/lieryan)) - [#656](https://togithub.com/python-rope/rope/issues/656) Reformat using black 23.1.0 ([@edreamleo](https://togithub.com/edreamleo)) - [#674](https://togithub.com/python-rope/rope/issues/674) Fix/supress all mypy complaints ([@edreamleo](https://togithub.com/edreamleo)) - [#680](https://togithub.com/python-rope/rope/issues/680) Remove a do-nothing statement in soi.\_handle_first_parameter ([@edreamleo](https://togithub.com/edreamleo)) - [#687](https://togithub.com/python-rope/rope/issues/687), [#688](https://togithub.com/python-rope/rope/issues/688) Fix autoimport not scanning packages recursively ([@lieryan](https://togithub.com/lieryan)) ### [`v1.7.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-170) [Compare Source](https://togithub.com/python-rope/rope/compare/1.6.0...1.7.0) #### Feature - [#548](https://togithub.com/python-rope/rope/issues/548) Implement MoveGlobal using string as destination module names ([@lieryan](https://togithub.com/lieryan)) #### Bug - [#627](https://togithub.com/python-rope/rope/issues/627) Fix parsing of octal literal ([@lieryan](https://togithub.com/lieryan)) - [#643](https://togithub.com/python-rope/rope/issues/643), [#435](https://togithub.com/python-rope/rope/issues/435) Fix fstrings with mismatched parens ([@apmorton](https://togithub.com/apmorton)) - [#646](https://togithub.com/python-rope/rope/issues/646) Fix renaming kwargs when refactoring from imports ([@apmorton](https://togithub.com/apmorton)) - [#648](https://togithub.com/python-rope/rope/issues/648) Remove **init** from import statement when using sqlite autoimport ([@bagel897](https://togithub.com/bagel897)) #### Improvements - rope.contrib.generate improvements - [#640](https://togithub.com/python-rope/rope/issues/640) Remove unnecessary eval in generate.py ([@edreamleo](https://togithub.com/edreamleo)) - [#641](https://togithub.com/python-rope/rope/issues/641) Add type annotations for rope.contrib.generate.create_generate() ([@edreamleo](https://togithub.com/edreamleo)) - call_for_nodes() improvements - [#634](https://togithub.com/python-rope/rope/issues/634) Remove call_for_nodes(recursive) argument ([@edreamleo](https://togithub.com/edreamleo)) - [#642](https://togithub.com/python-rope/rope/issues/642) Add comments & docstrings related to call_for_nodes ([@edreamleo](https://togithub.com/edreamleo), [@lieryan](https://togithub.com/lieryan)) - Data storage improvements - [#604](https://togithub.com/python-rope/rope/issues/604) Fix test that sometimes leaves files behind in the current working directory ([@lieryan](https://togithub.com/lieryan)) - [#606](https://togithub.com/python-rope/rope/issues/606) Deprecate compress_objectdb and compress_history ([@lieryan](https://togithub.com/lieryan)) - [#607](https://togithub.com/python-rope/rope/issues/607) Remove importing from legacy files with `.pickle` suffix ([@lieryan](https://togithub.com/lieryan)) - [#611](https://togithub.com/python-rope/rope/issues/611) Implement JSON DataFile serialization ([@lieryan](https://togithub.com/lieryan)) - [#630](https://togithub.com/python-rope/rope/issues/630) SQLite models improvements ([@lieryan](https://togithub.com/lieryan)) - [#631](https://togithub.com/python-rope/rope/issues/631) Implement version hash ([@lieryan](https://togithub.com/lieryan)) #### Tech Debt - [#594](https://togithub.com/python-rope/rope/issues/594) Tidy up patchedast ([@Alex-CodeLab](https://togithub.com/Alex-CodeLab)) - [#595](https://togithub.com/python-rope/rope/issues/595) Global default DEFAULT_TASK_HANDLE ([@Alex-CodeLab](https://togithub.com/Alex-CodeLab)) - [#609](https://togithub.com/python-rope/rope/issues/609), [#610](https://togithub.com/python-rope/rope/issues/610), [#612](https://togithub.com/python-rope/rope/issues/612), [#613](https://togithub.com/python-rope/rope/issues/613) Fix pyflakes issues ([@edreamleo](https://togithub.com/edreamleo)) - [#615](https://togithub.com/python-rope/rope/issues/615) Remove 'unicode' from builtins dict ([@edreamleo](https://togithub.com/edreamleo)) - [#616](https://togithub.com/python-rope/rope/issues/616), [#621](https://togithub.com/python-rope/rope/issues/621) Remove `file` builtins ([@edreamleo](https://togithub.com/edreamleo)) - [#618](https://togithub.com/python-rope/rope/issues/618) Separate pynames and pynamesdef and remove star-import ([@edreamleo](https://togithub.com/edreamleo), [@lieryan](https://togithub.com/lieryan)) - [#620](https://togithub.com/python-rope/rope/issues/620) Remove unused import in occurrences.py ([@edreamleo](https://togithub.com/edreamleo)) - [#625](https://togithub.com/python-rope/rope/issues/625) Remove support for deprecated ast nodes ([@lieryan](https://togithub.com/lieryan)) #### Tests/Dev - [#626](https://togithub.com/python-rope/rope/issues/626) Install pre-commit hooks on rope repository ([@lieryan](https://togithub.com/lieryan)) - [#628](https://togithub.com/python-rope/rope/issues/628) Add isort to pre-commit ([@lieryan](https://togithub.com/lieryan)) - [#638](https://togithub.com/python-rope/rope/issues/638) Add a function to identify ast Constant nodes more granularly ([@lieryan](https://togithub.com/lieryan)) #### Docs - [#636](https://togithub.com/python-rope/rope/issues/636) Update readme to reflect 1.0 has been released. ([@maxnoe](https://togithub.com/maxnoe)) ### [`v1.6.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-160) [Compare Source](https://togithub.com/python-rope/rope/compare/1.5.1...1.6.0) #### New features & Enhancements - [#559](https://togithub.com/python-rope/rope/issues/559), [#560](https://togithub.com/python-rope/rope/issues/560) Improve handling of whitespace in import and from-import statements ([@lieryan](https://togithub.com/lieryan)) - [#566](https://togithub.com/python-rope/rope/issues/566), [#567](https://togithub.com/python-rope/rope/issues/567), [#597](https://togithub.com/python-rope/rope/issues/597) Fix variables in kwonlyargs and posonlyargs not being correctly passed to extracted methods ([@lieryan](https://togithub.com/lieryan)) #### Unit Test - [#589](https://togithub.com/python-rope/rope/issues/589), [#596](https://togithub.com/python-rope/rope/issues/596) Fix issue with `sample_project()` creating directories where it shouldn't when running tests ([@lieryan](https://togithub.com/lieryan)) - [#547](https://togithub.com/python-rope/rope/issues/547) Add config file for linters - [#593](https://togithub.com/python-rope/rope/issues/593) Remove `only_for` decorator for all python versions less than 3.7 ([@edreamleo](https://togithub.com/edreamleo)) #### Tech Debt - Code quality - [#546](https://togithub.com/python-rope/rope/issues/546) Remove unused vars in test ([@lieryan](https://togithub.com/lieryan), [@edreamleo](https://togithub.com/edreamleo)) - [#551](https://togithub.com/python-rope/rope/issues/551), [#552](https://togithub.com/python-rope/rope/issues/552) Numerous flake8 linter complaints ([@edreamleo](https://togithub.com/edreamleo)) - [#558](https://togithub.com/python-rope/rope/issues/558) Fix typos ([@kianmeng](https://togithub.com/kianmeng)) - [#583](https://togithub.com/python-rope/rope/issues/583), [#584](https://togithub.com/python-rope/rope/issues/584) More consistent import style ([@edreamleo](https://togithub.com/edreamleo)) - Python 2-related tech debt - [#533](https://togithub.com/python-rope/rope/issues/533) Refactoring to Remove usage of unicode type ([@lieryan](https://togithub.com/lieryan)) - [#549](https://togithub.com/python-rope/rope/issues/549), [#553](https://togithub.com/python-rope/rope/issues/553) Remove rope.base.utils.pycompat ([@dreamleo](https://togithub.com/dreamleo)) - [#555](https://togithub.com/python-rope/rope/issues/555) Fix some python2-isms ([@lieryan](https://togithub.com/lieryan)) - Rope's AST Wrapper - [#536](https://togithub.com/python-rope/rope/issues/536), [#578](https://togithub.com/python-rope/rope/issues/578) walk does not return a value ([@edreamleo](https://togithub.com/edreamleo)) - [#537](https://togithub.com/python-rope/rope/issues/537), [#538](https://togithub.com/python-rope/rope/issues/538) Remove special case code from walk ([@edreamleo](https://togithub.com/edreamleo)) - [#581](https://togithub.com/python-rope/rope/issues/581) Remove functions in rope.base.ast that has functionally identical implementation in stdlib's ast ([@lieryan](https://togithub.com/lieryan), [@edreamleo](https://togithub.com/edreamleo)) - [#582](https://togithub.com/python-rope/rope/issues/582) Refactoring rope.base.ast and remove rope.base.astutils ([@lieryan](https://togithub.com/lieryan), [@edreamleo](https://togithub.com/edreamleo)) - pynames and pyobjects - [#569](https://togithub.com/python-rope/rope/issues/569), [#572](https://togithub.com/python-rope/rope/issues/572) rename pynames to pynamesdef in pyobjectsdef.ph ([@edreamleo](https://togithub.com/edreamleo)) ### [`v1.5.1`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-151) [Compare Source](https://togithub.com/python-rope/rope/compare/1.5.0...1.5.1) - [#531](https://togithub.com/python-rope/rope/issues/531) Add alternative way to retrieve version number from pyproject.toml ### [`v1.5.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-150) [Compare Source](https://togithub.com/python-rope/rope/compare/1.4.0...1.5.0) Date: 2022-11-23 - [#492](https://togithub.com/python-rope/rope/issues/492) Feat: Global configuration support ([@bagel897](https://togithub.com/bagel897)) - [#519](https://togithub.com/python-rope/rope/issues/519) Move pytest to pyproject.toml ([@gliptak](https://togithub.com/gliptak), [@bagel897](https://togithub.com/bagel897)) - [#509](https://togithub.com/python-rope/rope/issues/509) Fix read/write analysis of the left-hand side of an augmented assignment ([@lieryan](https://togithub.com/lieryan)) - [#522](https://togithub.com/python-rope/rope/issues/522) Implement patchedast parsing of MatchMapping ([@lieryan](https://togithub.com/lieryan)) - [#514](https://togithub.com/python-rope/rope/issues/514) Fix inlining dictionary with inline comment ([@lieryan](https://togithub.com/lieryan)) ### [`v1.4.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-140) [Compare Source](https://togithub.com/python-rope/rope/compare/1.3.0...1.4.0) Date: 2022-10-22 #### Bug fixes - [#506](https://togithub.com/python-rope/rope/issues/506), [#507](https://togithub.com/python-rope/rope/issues/507) Fix issue with parsing function call args list - [#411](https://togithub.com/python-rope/rope/issues/411), [#505](https://togithub.com/python-rope/rope/issues/505) Fix extracting generator without parens - [#18](https://togithub.com/python-rope/rope/issues/18), [#510](https://togithub.com/python-rope/rope/issues/510) When the function is a builtin function, the call parameter's name was sometimes incorrectly identified as an AssignedName. This led to rename refactoring incorrectly renaming these parameters. ### [`v1.3.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-130) [Compare Source](https://togithub.com/python-rope/rope/compare/1.2.0...1.3.0) Date: 2022-07-29 #### Bug fixes - [#496](https://togithub.com/python-rope/rope/issues/496), [#497](https://togithub.com/python-rope/rope/issues/497) Add MatMul operator to patchedast - [#495](https://togithub.com/python-rope/rope/issues/495) Fix autoimport collection for compiled modules #### Improvement - [#501](https://togithub.com/python-rope/rope/issues/501), [#502](https://togithub.com/python-rope/rope/issues/502) Autoimport improvements ### [`v1.2.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-120) [Compare Source](https://togithub.com/python-rope/rope/compare/1.1.1...1.2.0) Date: 2022-04-22 #### New feature - [#473](https://togithub.com/python-rope/rope/issues/473) Pyproject.toml support ([@bageljrkhanofemus](https://togithub.com/bageljrkhanofemus)) - [#489](https://togithub.com/python-rope/rope/issues/489) Rope now publishes documentations to rope.readthedocs.org ([@bageljrkhanofemus](https://togithub.com/bageljrkhanofemus)) - [#490](https://togithub.com/python-rope/rope/issues/490) Migrate from setup.py to pyproject.toml ([@bageljrkhanofemus](https://togithub.com/bageljrkhanofemus)) #### Improvement - [#479](https://togithub.com/python-rope/rope/issues/479) Add ABC and type hints for TaskHandle and JobSet ([@bageljrkhanofemus](https://togithub.com/bageljrkhanofemus)) - [#486](https://togithub.com/python-rope/rope/issues/486) Drop Python 2 support ([@bageljrkhanofemus](https://togithub.com/bageljrkhanofemus), [@lieryan](https://togithub.com/lieryan)) - [#487](https://togithub.com/python-rope/rope/issues/487) Improved value inference of **all** declaration ([@lieryan](https://togithub.com/lieryan)) - [#424](https://togithub.com/python-rope/rope/issues/424) Add some basic **repr** to make it easier for debugging ([@lieryan](https://togithub.com/lieryan)) ### [`v1.1.1`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-111) [Compare Source](https://togithub.com/python-rope/rope/compare/1.1.0...1.1.1) #### Bug fixes - [#476](https://togithub.com/python-rope/rope/issues/476) Fix rope.contrib.autoimport package missing from release ([@bageljrkhanofemus](https://togithub.com/bageljrkhanofemus)) ### [`v1.1.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-110) [Compare Source](https://togithub.com/python-rope/rope/compare/1.0.0...1.1.0) Date: 2022-05-25 #### New feature - [#464](https://togithub.com/python-rope/rope/issues/464) Add new autoimport implementation that uses a sqllite3 database, cache all available modules quickly, search for names and produce import statements, sort import statements. ([@bageljrkhanofemus](https://togithub.com/bageljrkhanofemus)) #### Bug fixes - [#419](https://togithub.com/python-rope/rope/issues/419) Fix bug while moving decorated function ([@dryobates](https://togithub.com/dryobates)) - [#439](https://togithub.com/python-rope/rope/issues/439) Fix bug while moving decorated class ([@dryobates](https://togithub.com/dryobates)) - [#461](https://togithub.com/python-rope/rope/issues/461) Fix bug while extracting method with list comprehension in class method ([@dryobates](https://togithub.com/dryobates)) - [#440](https://togithub.com/python-rope/rope/issues/440) Fix bug while inlining function with type hints in signature ([@dryobates](https://togithub.com/dryobates)) #### Deprecation - The pickle-based autoimport implementation is still the default, but will be deprecated sometime in the future. ### [`v1.0.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-100) [Compare Source](https://togithub.com/python-rope/rope/compare/0.23.0...1.0.0) Date: 2022-04-08 #### Syntax support - [#400](https://togithub.com/python-rope/rope/issues/400) Drop Python 2.7 support #### Bug fixes - [#459](https://togithub.com/python-rope/rope/issues/459) Fix bug while extracting method with augmented assignment to subscript in try block ([@dryobates](https://togithub.com/dryobates)) ### [`v0.23.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-0230) [Compare Source](https://togithub.com/python-rope/rope/compare/0.22.0...0.23.0) #### Syntax support - [#451](https://togithub.com/python-rope/rope/issues/451), $456 Implement structural pattern matching (PEP634) ([@lieryan](https://togithub.com/lieryan)) - [#458](https://togithub.com/python-rope/rope/issues/458) Improve the heuristic for joining lines when extracting one line expression ([@lieryan](https://togithub.com/lieryan)) #### Bug fixes - [#134](https://togithub.com/python-rope/rope/issues/134), [#453](https://togithub.com/python-rope/rope/issues/453) Preserve newline format when writing files ([@lieryan](https://togithub.com/lieryan)) - [#457](https://togithub.com/python-rope/rope/issues/457) Fix extract info collection for list comprehension with multiple targets ([@lieryan](https://togithub.com/lieryan)) #### Documentation - [#455](https://togithub.com/python-rope/rope/issues/455) Fix typo ([@Jasha10](https://togithub.com/Jasha10)) ### [`v0.22.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-0220) [Compare Source](https://togithub.com/python-rope/rope/compare/0.21.1...0.22.0) Date: 2021-11-23 #### Syntax support - [#443](https://togithub.com/python-rope/rope/issues/443) Implement `yield from` syntax support to patchedast.py #### Bug fixes - [#445](https://togithub.com/python-rope/rope/issues/445), [#446](https://togithub.com/python-rope/rope/issues/446) Improve empty tuple and handling of parentheses around tuple - [#270](https://togithub.com/python-rope/rope/issues/270), [#432](https://togithub.com/python-rope/rope/issues/432) Fix rename import statement with dots and as keyword ([@climbus](https://togithub.com/climbus)) #### Misc - [#447](https://togithub.com/python-rope/rope/issues/447) Add Python 3.10 to tests ### [`v0.21.1`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-0211) [Compare Source](https://togithub.com/python-rope/rope/compare/0.21.0...0.21.1) Date: 2021-11-11 #### Bug fixes - [#441](https://togithub.com/python-rope/rope/issues/441). Start publishing wheel packages to allow offline installs ### [`v0.21.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-0210) Date: 2021-10-18 #### Syntax support - [#392](https://togithub.com/python-rope/rope/issues/392), [#316](https://togithub.com/python-rope/rope/issues/316) Handle `global` keyword when extracting method ([@climbus](https://togithub.com/climbus)) - context manager: - [#387](https://togithub.com/python-rope/rope/issues/387), [#433](https://togithub.com/python-rope/rope/issues/433) Implement extract refactoring for code containing `async with` ([@lieryan](https://togithub.com/lieryan)) - [#398](https://togithub.com/python-rope/rope/issues/398), [#104](https://togithub.com/python-rope/rope/issues/104) Fix parsing of nested `with` statement/context manager ([@climbus](https://togithub.com/climbus)) - list/set/dict/generator comprehension scope issues: - [#422](https://togithub.com/python-rope/rope/issues/422) Added scopes for comprehension expressions as part of [#293](https://togithub.com/python-rope/rope/issues/293) ([@climbus](https://togithub.com/climbus)) - [#426](https://togithub.com/python-rope/rope/issues/426), [#429](https://togithub.com/python-rope/rope/issues/429) Added support for checking scopes by offset as part of [#293](https://togithub.com/python-rope/rope/issues/293) ([@climbus](https://togithub.com/climbus)) - [#293](https://togithub.com/python-rope/rope/issues/293), [#430](https://togithub.com/python-rope/rope/issues/430) Fix renaming global var affects list comprehension ([@climbus](https://togithub.com/climbus)) - [#395](https://togithub.com/python-rope/rope/issues/395), [#315](https://togithub.com/python-rope/rope/issues/315) Reuse of variable in comprehensions confuses method extraction ([@climbus](https://togithub.com/climbus)) - [#436](https://togithub.com/python-rope/rope/issues/436) Fix error `TypeError: 'PyDefinedObject' object is not subscriptable` ([@lieryan](https://togithub.com/lieryan)) - f-string: - [#303](https://togithub.com/python-rope/rope/issues/303), [#420](https://togithub.com/python-rope/rope/issues/420) Fix inlining into f-string containing quote characters ([@lieryan](https://togithub.com/lieryan)) - inline assignment/walrus operator: - [#423](https://togithub.com/python-rope/rope/issues/423) Fix `AttributeError: '_ExpressionVisitor' object has no attribute 'defineds'` ([@lieryan](https://togithub.com/lieryan)) #### Bug fixes - [#391](https://togithub.com/python-rope/rope/issues/391), [#376](https://togithub.com/python-rope/rope/issues/376) Fix improper replacement when extracting attribute access expression with `similar=True` ([@climbus](https://togithub.com/climbus)) - [#396](https://togithub.com/python-rope/rope/issues/396) Fix improper replacement when extracting index access expression with `similar=True` ([@lieryan](https://togithub.com/lieryan)) #### New feature - [#434](https://togithub.com/python-rope/rope/issues/434) Move read() to FileSystemCommands ([@lieryan](https://togithub.com/lieryan)) #### Misc - [#410](https://togithub.com/python-rope/rope/issues/410) Setup all-contributors bot ([@lieryan](https://togithub.com/lieryan)) - [#404](https://togithub.com/python-rope/rope/issues/404) Blacken source code, rope now follows black code style ([@climbus](https://togithub.com/climbus)) - [#399](https://togithub.com/python-rope/rope/issues/399) Add Github Actions to enforce black code style ([@lieryan](https://togithub.com/lieryan)) - [#403](https://togithub.com/python-rope/rope/issues/403) Remove plain 'unittest' only runner ([@lieryan](https://togithub.com/lieryan)) ### [`v0.20.1`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-0201) Date: 2021-09-18 #### Bug fixes - Fix caller of `_namedexpr_last()` throwing exception due to returning unexpected list instead of boolean ### [`v0.20.0`](https://togithub.com/python-rope/rope/blob/HEAD/CHANGELOG.md#Release-0200) [Compare Source](https://togithub.com/python-rope/rope/compare/0.19.0...0.20.0) Date: 2021-09-18 #### New feature - [#377](https://togithub.com/python-rope/rope/issues/377) Added the ability to extract method to @staticmethod/[@classmethod](https://togithub.com/classmethod) ([@climbus](https://togithub.com/climbus)) - [#374](https://togithub.com/python-rope/rope/issues/374) Changed Organize import to keep variables listed in `__all__` - Change default .ropeproject/config.py to ignore code in folders named .venv and venv ([@0x1e02](https://togithub.com/0x1e02)) #### Syntax support - [#372](https://togithub.com/python-rope/rope/issues/372) Add extract method refactoring of code containing `exec` ([@ceridwen](https://togithub.com/ceridwen)) - [#389](https://togithub.com/python-rope/rope/issues/389) Add extract method refactoring of code containing `async def`, `async for`, and `await` - [#365](https://togithub.com/python-rope/rope/issues/365), [#386](https://togithub.com/python-rope/rope/issues/386) Support extract method of expressions containing inline assignment (walrus operator) #### Bug fixes - [#380](https://togithub.com/python-rope/rope/issues/380) Fix list of variables that are returned and/or turned into argument when extracting method in a loop ### [`v0.19.0`](https://togithub.com/python-rope/rope/compare/0.18.0...0.19.0) [Compare Source](https://togithub.com/python-rope/rope/compare/0.18.0...0.19.0) ### [`v0.18.0`](https://togithub.com/python-rope/rope/compare/0.17.0...0.18.0) [Compare Source](https://togithub.com/python-rope/rope/compare/0.17.0...0.18.0) ### [`v0.17.0`](https://togithub.com/python-rope/rope/compare/0.16.0...0.17.0) [Compare Source](https://togithub.com/python-rope/rope/compare/0.16.0...0.17.0) ### [`v0.16.0`](https://togithub.com/python-rope/rope/compare/0.14.0...0.16.0) [Compare Source](https://togithub.com/python-rope/rope/compare/0.14.0...0.16.0)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.