Releases: openrewrite/rewrite
Releases · openrewrite/rewrite
v8.60.1
What's Changed
- Fix whitespace preservation when removing access modifiers by @dongwooooooo in #5905
- Fix ClassCastException for
valueMatches
in AddOrUpdateAnnotationAttribute by @jevanlingen in #5913 - Retain newline after deleted property by @timtebeek in #5915
- Add support for annotations to
TypeTable
by @knutwannheden in #5485 - Support dependency Map notation for version reference in Settings by @bmuschko in #5912
- Prevent version downgrade in Settings file referenced by buildscript by @bmuschko in #5917
- Gradle model rework by @sambsnyd in #5919
New Contributors
- @dongwooooooo made their first contribution in #5905
Full Changelog: v8.60.0...v8.60.1
8.60.0
What's Changed
- refactor: Inline variable by @timtebeek in #5785
- Parse dynamic method invocation by @jevanlingen in #5778
- Groovy Parser supports negative literals with trailing zeros by @jevanlingen in #5787
- Add option to UpdateScmFromGitOrigin recipe by @sambsnyd in #5798
- Null as Identifier in HCL by @MBoegers in #5780
- Sync best practices as defined in rewrite-rewrite by @timtebeek in #5800
- Test cases that show that UpgradeDependencyVersion does not downgrade by @bmuschko in #5797
- Add Flag.Enum to allow identifying enum constants from other members in a JavaType.Class of Enum Kind by @pdelagrave in #5789
- Enhance accuracy of GradleProject post
UpgradeDependencyVersion
with respect to transitive dependency versions/presense by @sambsnyd in #5799 - Groovy Parser supports basic Enum classes by @timtebeek in #5781
- Fix UpgradeTransitiveDependencyVersion to handle configuration inheritance by @sambsnyd in #5804
RemoveUnusedImports
creating ambiguous imports by @knutwannheden in #5714- Fix
UseStaticImport
creating ambiguous imports by @timtebeek in #5806 - Added a new recipe to add an XML tag attribute AddTagAttribute by @SureshMuthukaruppasamy in #5733
- Handling cases for
AddCommentToMethodInvocations
where single line comments would break code and simplifying recipe. by @steve-aom-elliott in #5793 - Groovy Parser supports constructor method invocations for Enum classes by @jevanlingen in #5802
- DeleteProperty: remove comments associated with the property deleted by @xLitil in #5747
- Refactor EmptyNewlineAtEndOfFile recipe by @jevanlingen in #5810
- Remove UpdateDependencyLock recipe and adapt consuming recipes by @Jenson3210 in #5809
- Add DependencyManagement handling by @Jenson3210 in #5623
UseStaticImport
fails when called twice for overloaded methods by @timtebeek in #5816- Support for external properties for UpgradeTransitiveDependencyVersion recipe (part 2) by @jevanlingen in #5794
UpdateJavaCompatibility
supportsjvmToolchain
shorthand by @jevanlingen in #5820- Javadoc snippets fail to parse by @timtebeek in #5827
- JavaScript - add support for generics in JSX/TSX tags by @greg-at-moderne in #5834
- Remove trailing whitespace by @greg-at-moderne in #5835
- refactor: Equals avoids null by @timtebeek in #5836
- refactor: Static imports for Collections and Collectors by @timtebeek in #5837
- refactor: Prefer increment and decrement operators by @greg-at-moderne in #5838
- Retry parsing in JavaTemplateParser by @greg-at-moderne in #5832
- Only look at requested pom when verifying if property is present so that properties of parents do not get added to child if not present. by @Jenson3210 in #5840
- refactor: Prefer increment/decrement and compound assignment operators by @greg-at-moderne in #5839
- JavaScript - fix whitespace parsing within JSX opening tags, next to generics by @greg-at-moderne in #5842
- Add
exclusions
andapplyTo
options to CoalesceProperties by @jevanlingen in #5824 - Ensure rewrite-kotlin uses junit 5 by @jevanlingen in #5850
- Visit
Hcl.Empty
inHclPrinter
for print equality by @timtebeek in #5854 - Remove
GetRef
RPC method by @knutwannheden in #5856 - Support Javadoc generic wildcards by @timtebeek in #5857
- fix: prevent variable renaming in class literal references by @jeanbottein in #5848
- Remove Gradle buildCache configuration by @timtebeek in #5826
- Always instantiate Kotlin recipes via Jackson by @knutwannheden in #5595
- Fixed wildcard matching for elements with type information. by @Jenson3210 in #5833
- AddOrUpdateAnnotationAttribute: Add better support for enums by @jevanlingen in #5709
- Fix the error message when a recipe test generates source files the test does not expect by @jevanlingen in #5859
- rename settings.local.json to settings.json by @zieka in #5861
- Avoid overwriting parent pom from marker when going in child. by @Jenson3210 in #5821
- Do not downgrade version defined in
settings.gradle
by @jevanlingen in #5808 - Create production-package.zip earlier in the process by @shanman190 in #5691
- Remove lambda parameter imports when inferred by @timtebeek in #5866
- Prefer direct comparison of numbers by @greg-at-moderne in #5870
- Applying code suggestions by @greg-at-moderne in #5871
- Show failure to parse extra semicolons surrounding imports by @timtebeek in #5878
- Ensure Maven parser uses last-wins strategy for duplicate dependencies by @Jenson3210 in #5872
- Prevent dependencies blocks in Gradle kotlin build files by @Laurens-W in #5876
- Extract common RewriteTest defaults for RecipeSpec by @timtebeek in #5887
ChangeDependencyGroupIdAndArtifactId
does not update properties in parent pom by @steve-aom-elliott in #5815- UpgradeTransitiveDependencyVersion should only compare name when comparing the config with the GradleDependencyConfiguration by @jevanlingen in #5865
- Fix performance problem with RemoveUnusedProperties by @timtebeek in #5895
- Stable label order for
PrintMavenAsDot
by @timtebeek in #5893 - Match dot output in CI by @timtebeek in #5898
- Adding recipe for adding comments to import statements by @steve-aom-elliott in #5884
- Make the parser settable on KotlinTemplate by @evanchooly in #5890
- Call user hook to inspect source file before validation and recipe execution by @timtebeek in #5888
- Add the concept of an "attribute" to Dependency. by @sambsnyd in #5881
- Call
UnnecessaryParenthesesVisitor
on parent afterRemoveObjectsIsNull
by @timtebeek in #5900 - Maven recipe to remove redundant properties by @tschut in #5831
- Gradle
DependencyInsights
breaks on dependencies with constraints by @MBoegers in #5897 - Revert "
ChangeDependencyGroupIdAndArtifactId
does not update properties in parent pom (#5815) by @Jenson3210 in #5903
New Contributors
- @SureshMuthukaruppasamy made their first contribution in #5733
- @jeanbottein made their first contribution in #5848
- @evanchooly made their first contribution in #5890
- @tschut made their first contribution in #5831
Full Changelog: v8.59.1...v8.60.0
8.59.1
What's Changed
- Revert "Support for external properties for UpgradeTransitiveDependencyVersion recipe (#5756)" by @jevanlingen in #5791
Full Changelog: v8.59.0...v8.59.1
8.59.0
What's Changed
- nightly-ci was missing node_auth_token by @Jammy-Louie in #5760
- Fix parsing of parameterized types in method arguments in Groovy by @e5LA in #5759
- Add a space between
yield
and its expression by @pdelagrave in #5763 - UpgradeDependencyVersion recipe does not update properties defined in parent by @jevanlingen in #5633
- Support for external properties for UpgradeTransitiveDependencyVersion recipe by @jevanlingen in #5756
- Fixing the application of
DoesNotIncludeDependency
against files of the incorrect type. by @steve-aom-elliott in #5758 - Improve construction of gradle string notation by @aet2505 in #5748
- MinimalViableSpacing missed imports and annotated variable declarations by @JohannisK in #5765
- MinimalViableSpacing recipe does not handle
extends
correctly by @JohannisK in #5768 - ChangeTagAttribute should be idempotent by @timtebeek in #5769
- MinimalViableSpacing does not handle throws correctly by @JohannisK in #5770
- Adding recipe for adding comment to method invocations & clarifying a description for
AddCommentToMethod
recipe. by @steve-aom-elliott in #5622 - Added support for dependency versions in buildscript.ext {} by @JohannisK in #5547
- Add recipe to update SCM tag based on Git origin by @e5LA in #5647
- Annotation with implicit value property does not support prefix whitespace by @jevanlingen in #5776
- Catch block should support modifiers by @jevanlingen in #5777
- fix(maven): POM file path in deserialization exception message by @edeweerd1A in #5615
- Add initial Helm support in YamlParser by @timtebeek in #5766
- Method references for Groovy Parser by @jevanlingen in #5774
- Handle
RecipeRunException
ingenerate
phase by @knutwannheden in #5596 - Add support for diamond operator in Groovy Parser by @jevanlingen in #5783
- Groovy parser supports lambda's with curly braces by @jevanlingen in #5784
- Groovy parser supports method invocations with type parameters by @jevanlingen in #5788
- Changing what
LatestRelease
recognizes as the latest release or latest snapshot keyword versions by expanding it to include those from Ivy/Gradle by @steve-aom-elliott in #5720 - Add GradlePlugin trait by @shanman190 in #5574
- Add identical and power operators to Groovy Parser by @jevanlingen in #5790
New Contributors
- @aet2505 made their first contribution in #5748
- @edeweerd1A made their first contribution in #5615
Full Changelog: v8.58.0...v8.59.0
8.58.0
What's Changed
- Determine the correct configuration for Gradle dependency constraints by @bmuschko in #5674
- UpgradeDependencyVersion recipe supports G.GString and K.StringTemplate string interpolation in dependency version declaration by @bmuschko in #5741
- Add recipe SimplifySingleElementAnnotation by @ghusta in #5740
- Adding recipe for
DoesNotIncludeDependency
for Gradle (Maven had one already), to allow for checking whether a dependency is not included. by @steve-aom-elliott in #5725 - Add headers to
HttpSender.Response
by @jkschneider in #5754 - Clarify the use of the recipe by @bmuschko in #5753
- Fix: handle implicit closure call in Groovy by @e5LA in #5743
- Do not check all-service endpoint if exact version requested by @bmuschko in #5737
New Contributors
Full Changelog: v8.57.0...v8.58.0
8.57.0
What's Changed
- Fixing handling of a case when array dimensions is the last thing in … by @greg-at-moderne in #5689
- Fix AddOrUpdateAnnotation recipe changing implicit
value
into explicitvalue
in annotations by @JohannisK in #5690 - Adding prefix and markers to ExpressionStatement, StatementExpression by @greg-at-moderne in #5686
- refactor: org.openrewrite.mavencentral by @Laurens-W in #5694
- Fix AddOrUpdateAnnotation recipe changing implicit
value
into explicitvalue
in annotations with arrays by @jevanlingen in #5693 - Fixing parsing of method invocations in Javascript by @greg-at-moderne in #5484
- Use a single metadataFailures table in Gradle ChangeDependency by @timtebeek in #5696
- JavaScript - extracting Js.As to a separate class by @greg-at-moderne in #5699
- Add a Gradle best practices recipe by @timtebeek in #5701
- JavaScript - renaming Asterisk marker to Generator by @greg-at-moderne in #5700
- Fixes for Java RPC by @knutwannheden in #5704
- Fix
FindDependency
to exclude constraints by @knutwannheden in #5663 - Untangle the
addOnly
andappendArray
options for AddOrUpdateAnnotationAttribute recipe by @jevanlingen in #5698 - Refactor RPC
Parse
method by @knutwannheden in #5705 - JavaScript - printing out the missing Generator asterisk for ComputedPropertyMethods by @greg-at-moderne in #5708
- JavaScript - ArrayBinding in for-of loop wrapped in ExpressionStatement by @greg-at-moderne in #5715
- Remove references to Maven POM xsd by @timtebeek in #5718
- Fix
NullPointerException
inAddPropertyVisitor
by @knutwannheden in #5719 - Support trailing comma in GroovyParser by @e5LA in #5711
- JavaScript - remove TrailingTokenStatement by @greg-at-moderne in #5723
- fix: remove unused imports after deleting a method argument by @pdelagrave in #5710
- Migrate Traits class usage to constructor calls by @MBoegers in #5613
- Fix
AnnotationTemplateGenerator
to handle nested annotations correctly by @knutwannheden in #5713 - Added additional tests for nested annotations, and a fix to break out of the
J.Assignment
for finding an annotation parent that is more significant when the nearest desired parent is a not aJ.ClassDeclaration
by @steve-aom-elliott in #5724 - JavaScript - fix a few issues in autoformatting logic by @greg-at-moderne in #5728
- Reverting
autoFormat
inJavaTemplateJavaExtension
that was causing unnecessary extra indentation for annotations. by @steve-aom-elliott in #5731 - Re enable
DoesNotIncludeDependencyTest
tests by @Laurens-W in #5727 - JavaScript - adding ValidateWhitespaceVisitor to test by @greg-at-moderne in #5734
- refactor: Remove redundant null checks before instanceof by @timtebeek in #5736
New Contributors
- @pdelagrave made their first contribution in #5710
Full Changelog: v8.56.1...v8.57.0
8.56.1
What's Changed
- Javascript - fixing parsing of export import... by @greg-at-moderne in #5617
- Polish the Gradle build's configuration phase by @shanman190 in #5610
- Widening the type of ForEachLoop.Control.variable to Statement by @greg-at-moderne in #5608
MavenPomDownloader
: UseHEAD
request injarExistsForPomUri()
by @knutwannheden in #5675- Fixing code suggestions by @greg-at-moderne in #5676
- Javascript - fix type violations, add satisfies by @greg-at-moderne in #5679
- Javascript - removing excessive type assertions by @greg-at-moderne in #5680
- Pin JUnit to 5.+ by @greg-at-moderne in #5681
- refactor: Replace
Arrays.asList
withList.of
in tests by @timtebeek in #5683 - Adjusting the
isValid
check forXRange
so that it doesn't allow for going from release to pre-release versions when upgrading. by @steve-aom-elliott in #5682 - Javascript - removing type mapping code for classes, methods, etc. by @greg-at-moderne in #5685
- RPC: Add support for
JavaType.Primitive
by @knutwannheden in #5684
Full Changelog: v8.56.0...v8.56.1
8.56.0
What's Changed
- Javascript - enhancing type mapping by @greg-at-moderne in #5557
- Javascript - fix parsing of
import type =
by @greg-at-moderne in #5612 - Guard against NPE in
JavadocPrinter#visitMemberReference()
by @knutwannheden in #5611 - Don't send type for enums by @knutwannheden in #5616
- Enhance MavenSettings to handle password decryption by @Jammy-Louie in #5606
- Return an
J.Identifier
instead of aMemberReference
when containing is null by @Laurens-W in #5614 - Slightly optimize
FindAndReplace
by @knutwannheden in #5619 - Fix: handle nested type annotations on array by @e5LA in #5618
- Support marker printing via RPC by @knutwannheden in #5550
- Refactoring, rename ObjectBindingDeclarations to ObjectBindingPattern by @greg-at-moderne in #5626
- Removing commented out code in
comparator.ts
by @greg-at-moderne in #5628 - UpgradeTransitiveDependencyVersion maven recipe doesn't update all matching transitive dependencies with * wildcard for artifact ID by @jevanlingen in #5630
- Add support for Elvis assignment operator in Groovy parser by @e5LA in #5629
- Fix parsing of generics in anonymous class in Groovy by @e5LA in #5625
- Add new
RewriteRpc.Builder
type by @knutwannheden in #5627 - Rename argument to hint that autoFormat expects parent cursor by @timtebeek in #5624
- Added check for missing attributeName, but attributeValue requirement in
AddOrUpdateAnnotationAttribute
by @JohannisK in #5632 - Fix for situation that could bypass a check inadvertently on
UpdateMavenProjectPropertyJavaVersion
by @steve-aom-elliott in #5634 - Let UpdateMavenWrapperTest use version 3.8.9 of apache-maven by @jevanlingen in #5641
- Skip update if existing compiler plugin version config is newer by @bmuschko in #5644
- Javascript - comparing javascript/tree.ts with JS.java by @greg-at-moderne in #5654
- Unifying visitor method names between Java and Javascript by @greg-at-moderne in #5655
- Javascript - Adding more completeness checks, adding missing JSX visit methods by @greg-at-moderne in #5657
- Cleanup: ChangeParentPom recipe by @jevanlingen in #5656
- Fixed UpdateGradleWrapper description to represent behaviour by @Jenson3210 in #5659
- Java: Fix formatting of try-with-resources by @knutwannheden in #5649
- Improve RPC deserialization performance in Java by @knutwannheden in #5664
- Fix Semver Version Comparator incorrectly comparing RC releases by @knutwannheden in #5662
- Improve
LatestRelease#compare()
by @knutwannheden in #5666 - Fix ChangeProjectVersion to ignore Maven CI-friendly version placeholders by @knutwannheden in #5668
- JavaScript RPC changes by @knutwannheden in #5636
- Javascript - adding more completeness checks by @greg-at-moderne in #5670
- Javascript - making sure comments are not parsed into whitespace by @greg-at-moderne in #5671
New Contributors
- @Jammy-Louie made their first contribution in #5606
Full Changelog: v8.55.3...v8.56.0
8.55.3
What's Changed
- Correctly parse comments in doctype declarations by @jhl221123 in #5581
- Javascript - revert support for unique symbols types by @greg-at-moderne in #5589
- Annotation wrapping: Leave comments in tact by @Laurens-W in #5590
- private internal findDependencies for ResolvedDependency by @Jenson3210 in #5587
- Revert "Correctly parse comments in doctype declarations" by @greg-at-moderne in #5591
AddOrUpdateAnnotationAttribute
mistakenly matches named attribute with field reference by @timtebeek in #5576- Fix
NullPointerException
onWrappingAndBracesStyle
by @pstreef in #5597 - Use
@Nullable
fields instead of ``@JsonCreator` by @pstreef in #5605 - Improve marking for duplicate dependencies in DependencyInsight by @Jenson3210 in #5601
- Remove redundant Gradle dependencies if exact transient dep exists by @jevanlingen in #5600
- Datatable should not have the direct column by @Jenson3210 in #5607
- Include tgz-type dependencies in Maven resolution by @kmccarp in #5609
New Contributors
- @jhl221123 made their first contribution in #5581
Full Changelog: v8.55.2...v8.55.3
v8.55.2
What's Changed
- Javascript - single variable declarations get parsed as J.VariableDeclarations by @greg-at-moderne in #5569
- Javascript - removing the notion of scope in variable declarations by @greg-at-moderne in #5577
- Javascript - Literal extends VariableDeclarator by @greg-at-moderne in #5565
- Javascript - avoiding const length in one of the tests by @greg-at-moderne in #5580
- Implement annotation wrapping style detection, IntelliJ default and applying by @Laurens-W in #5544
- Prevent NPE in FindAndReplaceLiteral when literal value is null by @e5LA in #5582
- Add AddPlatformDependency recipe. by @BrendanHart in #5371
- Add CLAUDE.md by @jkschneider in #5585
- Don't throw SOE on circular
${project.version}
reference by @jkschneider in #5584 - Maven self-referential property resolution by @jkschneider in #5586
Full Changelog: v8.55.1...v8.55.2