github openrewrite/rewrite v7.24.0
7.24.0

latest releases: v8.47.1, v8.47.0, v8.46.1...
2 years ago

Enhancements

  • Load Java 17 (This does not yet support Java 17 language features) parser in a classloader that avoids module security. #1797
  • Adding file attributes to SourceFile. (fixes #1810). #1819
  • Add RemoteArchive and RemoteFile. #1829 #1808
  • Adding adhoc taint tracking support for local flow by @JLLeitschuh in #1853
  • Improvements to DataFlow Analysis
  • ChangeDependencyGroupIdAndArtifactId should allow the newVersion to be expressed as a semver selector. #1751
  • Support template replacement of identifiers #1796
  • RewriteTest supports asserting on the presence of new files c7f0354
  • New Recipe: Add an Xml comment #1809
  • New Recipe: Add a property to a maven pom. by @murdos in #1799
  • New Recipe: Lowercase package names. #1831 #1830
  • New Recipe: Set file permissions attributes #1835
  • New Recipe: Recipe to transform calls to Objects.isNull and Objects.nonNull with a simple null check #154

Fixes

  • RemoveRedundantTypeCast removes necessary Object[] cast. #1784
  • NameCaseConvention The camel case conversion converts all caps acronyms to all lowercase. 1fe0996
  • SimplifyBooleanExpressFix spacing when simplifying boolean expressions where the literal is on the left side. fbe5d67
  • DeclarativeRecipe does not preserve recipe list order for recipes which must be assembled from multiple ResourceLoaders #1789
  • Updated TypeUtils with model changes from type mapping enhancements. #1791
  • Fix #1793 Recipe.causesAnotherCycle() does not take recipent list into account. #1794
  • Update ProtoBuf Parser to support reserved ranges having a single Integer Range (fixes #1790). #1806
  • Add a variety of dataflow analysis tests by @JLLeitschuh in #1795
  • RemoveUnusedImports removes used imports on Apache James #1798
  • Fix: The ability to use a J.MethodInvocation as a flow source by @JLLeitschuh in #1811
  • Allow declarative recipes to cause another recipe execution cycle #1814
  • Fix #1815, Groovy fails to support shell shebangs #1816
  • Remove unused code in MethodMatcher by @JLLeitschuh in #1812
  • Fix #1821, JavaTemplate fails to template assignments that are not part of a variable declaration #1822
  • Fix #1828 JavaTemplate can fail when operating on an AST element not contained within elements accessible via Cursor #1827
  • ExplicitLambdaArgumentTypes should create correctly-formed type expressions. #1839
  • Detect method overrides of parameterized types with generic bounds. #1840
  • Fix DataFlow so it works correctly by @JLLeitschuh in #1818
  • Additional DataFlow Improvements by @JLLeitschuh in #1842
  • Fix #1847, YamlResourceLoader.listRecipes() silently hides some recipe deserialization problems. #1848
  • Close #1846, RewriteTest should assert that the recipe under test passes its own validation. #1849
  • Fix #1845, Recipe.validate() does not validate recipeList contents. #1850
  • UseLambdaForFunctionalInterface should remove unused imports afterward by @nmck257 in #1851
  • Guard against NPE from a null type in Symbol.MethodSymbol in the TypeSignatureBuilders. #1855
  • Fix #1861 MavenArtifactDownloader.downloadArtifact() fails loading from maven local on Windows. #1862
  • Fix FindMissingTypes bug where chained method invocations each having unknown types only generated a single result. #1867
  • Completed visitors in SemanticallyEqual. #1863
  • Maven resolution should use initial repos if defined. #1864
  • Check for JavaType.Unknown in type utils. #1869
  • Compare the invoked method when possible in SemanticallyEqual. #1871
  • fix: bump connect timeout from 1 second to 3 seconds for gradle wrapper validation call. by @natedanner in #1874
  • Fix RemoteArchive.getInputStream() to work with both Unix and Window style file paths
  • UseLambdaForFunctionalInterface does not type attribute generated lambdas correctly. #1823
  • ReplaceLambdaWithMethodReference should replace methods other than System.out#println #1836
  • JavaTemplate can take a fully qualified name that has no package 64037e7
  • Parsing Enums having more than one value adds non-whitespace characters inside of whitespace. #1807
  • ExplicitLambdaArgumentTypes should create correctly-formed type expressions #1839
  • UseLambdaForFunctionalInterface Don't convert anonymous classes to lambdas when they use this. f085326
  • UseLambdaForFunctionalInterface Don't replace anonymous classes that shadow local variables. 2e22456
  • Results should correctly handle adding/deleting files when generating diff #1854
  • CategoryTree.getRecipes() not showing recipes from subcategories, a behavior inconsistent with getRecipeCount() and its other methods 544a1ef
  • TypeUtils.isOfType should return true after all of the parameters have been evaluated. #1857

New Contributors

Full Changelog: v7.23.0...v7.24.0

Don't miss a new rewrite release

NewReleases is sending notifications on new releases.