Releases: tsantalis/RefactoringMiner
Releases · tsantalis/RefactoringMiner
3.1.3
- Support nested class definitions in Python #1043
- Support conditionally defined classes in Python #1042
- Handle bare
exceptclause in Python (i.e., catch clause without specific exception type) - Support
TypeScriptrefactoring detection and AST diff generation (beta)- Parse
.tsfiles with swc4j - Model function declarations and arrow function expressions as
UMLOperationobjects - Support all TypeScript statement types
TypeScriptVisitorfor extracting sub-expressions within statements is partially complete- Add statement mapping tests for Extract Method refactorings in TypeScript
- Parse
3.1.2
3.1.1
3.1.0
The first RefactoringMiner version with multi-language support
Core Improvements
- Supports Python 3.14.2 (ANTLR parser implementation by @dkalaitz)
- Supports Kotlin 2.3.10 (kotlin-compiler-embeddable:2.3.10)
- Supports cross-language refactoring detection (Java to Kotlin migration)
Benchmarks
3.0.13
3.0.12
Core Improvements
- Improve precision and recall in Benchmark 2 [current precision is
~99%and recall~98%] - Support
Parameterize Testdetection with@MethodSource(in addition to@CsvSourceand@ValueSource) - Infer the detection of moved code between files (without the presence of calls) based on other moved methods between the two files #1010
- Further improve the matching of statements with
assert-related migrations in tests (AssertJ fluent assertions)
UI Improvements
- Added tooltips for the following scenarios:
- References to type declarations being renamed or moved
- References to method declarations being renamed
- References to variable/field declarations being renamed or moved
- Improved diff visualization for overlapping refactorings within moved code
- Support matching string arguments in
Parameterize Testrefactorings
- Support renames in
module-infodiff

3.0.11
UI Improvements
- Show Pull Request Code Review Comments #930
- Tooltips for moved code with links to move diffs #912 + refactoring-aware tooltips for moved code #886
- Show detected refactorings with link to the corresponding AST diff page #893
-
Support Java-reserved keywords
permits,implements,throws,extendsin the diff #887
Core Improvements
- Support
package-info.javaandmodule-info.javafiles. - Support Extract/Inline Method for small expressions being part of larger statements.
- Multi-threaded fetch of files in commits and pull requests is paused to avoid HTTP errors.
- New Java language features supported: Pattern Matching for
instanceof - Improved support for matching statements with
assert-related migrations in tests (AssertJ fluent assertions). - Support
assertThatThrownBymigration in tests. - Support refactoring detection and AST diff for a commit range.
- Support Perforce P4 centralized version control system. Thanks to @dmazinanian
Benchmarks
New benchmark from the paper titled "An Automated Approach to Discovering Software Refactorings by Comparing Successive Versions" is added. The validation is still in progress.
3.0.10
- Monaco diff improvement with AST node highlighting
- Refactoring PurityChecker API
- Support
SwitchExpressionmappings by representing switch cases as lambdas - Performance improvement when detecting method pairs with signature changes
- Support
sealedmodifier and diff forpermittedtypes (#806) - More accurate mappings for
return;statements - Support comment diff (including comments moved to extracted method)
- Use statement mappings to improve the accuracy of comment mappings
- Support Javadoc multi-mappings, when javadoc is moved/copied to extracted method
- Support detection of nested
Extract Methodrefactoring, when the intermediate extracted method has 0 mappings (#803) - Support
Extract Variablefor lambda expression - Improved matching of lambda parameters
- Improve mapping accuracy when multiple similar Stream API migrations take place within the same method
javaparser/javaparser@f70eef1 - Support new
Move Codescenario - Support advanced
Merge Methodscenario in square/okhttp@0bfd604
3.0.9
3.0.8
- New Single Page View (similar to GitHub) made by @pouryafard75
- Improved Javadoc diff (supports text reformatting, HTML tag restructuring)



