Releases: tsantalis/RefactoringMiner
Releases · tsantalis/RefactoringMiner
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)
3.0.7
3.0.6
- Diff includes code moves between files. New icon for code moves between files

- Hide unchanged code in monaco diff

- Soft wrap in monaco diff (toggle with Alt+w)
- Prev and Next buttons to go directly to the previous/next diff without coming back to the Overview page
- Refactored the AST diff generation code
3.0.5
- Dynamic Java compliance version (supports parsing of record declarations #697)
- Docker image https://hub.docker.com/r/tsantalis/refactoringminer
- New AST diff UI (directory structure similar to GitHub, file renames)

- Diff with multiple files when code is moved (
VM.javain the screenshot below)




