github openrewrite/rewrite v8.92.18
8.92.18

3 hours ago

What's Changed

  • Fix ignored return values of @CheckReturnValue methods by @timtebeek in #9031
  • Gradle: resolve a BOM version selector in SyncGradleExtPropertiesWithBom, and remove overrides without breaking the script by @jkschneider in #9032
  • Find class references in Spring config files of any profile name by @jkschneider in #9033
  • Map each Python class attribute to one method or member by @knutwannheden in #9035
  • Python: make recipe code type-check against the SDK's stubs and JavaType by @knutwannheden in #9036
  • JavaScript: RPC fixes unearthed after Java printing by @greg-at-moderne in #9034
  • JavaScript: Fix the RPC handling of NamedStyles in both directions by @greg-at-moderne in #9037
  • Python: keep parameter defaults and unannotated methods in generated stubs by @knutwannheden in #9038
  • JavaScript: Add BlankLinesStyle on Java side by @greg-at-moderne in #9040
  • Go: RPC fixes unearthed after Java printing by @greg-at-moderne in #9041
  • Python: make the generated stubs type-check by @knutwannheden in #9039
  • Python: Fix RPC sender dropping comprehension edits by @greg-at-moderne in #9042
  • Scala 3.10.0 by @greg-at-moderne in #9044
  • Python: favor relative_to paths over inferred ones by @greg-at-moderne in #9046
  • Python: attach a prebuilt venv in InstallRecipes by @knutwannheden in #9052
  • Send JavaType.Variable flags over RPC in every peer by @knutwannheden in #9043
  • Python: type a class's properties and self-assigned attributes as fields by @knutwannheden in #9053
  • Drop unused classgraph dependencies outside rewrite-java by @timtebeek in #9055
  • JavaScript: let several rebinds in one file agree on statements and names by @knutwannheden in #9059
  • Scan every JDK module for public java.* types in JavaSourceSet.build by @timtebeek in #9056
  • JavaScript templating: object literals and repeated captures by @knutwannheden in #9060
  • C#: add Recipe.Validate() so option constraints fail once at prepare time by @macsux in #9049
  • Maven: fold a renamed dependency into an existing declaration of another scope by @jkschneider in #9061
  • JavaScript: let maybeRebind's type attribution follow the move file-wide by @knutwannheden in #9063
  • Python: port maybeRebind, so a moved import re-attributes types as a parse would by @knutwannheden in #9064
  • JavaScript: let maybeRebind reuse an existing import of the target member by @knutwannheden in #9065
  • JavaScript templating: a substituted value keeps the layout the source gave it by @knutwannheden in #9066
  • Python: let a capture's type_hint restrict what a pattern matches by @knutwannheden in #9067
  • JavaScript: resolve a node16 project's extensionless relative imports by @knutwannheden in #9068
  • Python: a method declaration's declaring type is its class, not the module by @knutwannheden in #9070
  • Add a type-attribution report for JavaScript, and sharpen the Python one by @knutwannheden in #9069
  • JavaScript: a MethodMatcher type without a package matches only the type in no package by @knutwannheden in #9071
  • JavaScript: close type-mapper attribution gaps the type report surfaced by @knutwannheden in #9073
  • JavaScript templating: type an untyped capture's placeholder from the value bound to it by @knutwannheden in #9074
  • JavaScript: MethodMatcher honors matchOverrides by @knutwannheden in #9075
  • JavaScript: record a class's implemented interfaces in its type by @knutwannheden in #9077
  • JavaScript: usesType's native visitor matches as Java's HasType does by @knutwannheden in #9079
  • JavaScript: declare a call on the class that declares the method, and name module-local classes after their module by @knutwannheden in #9080
  • Python: ChangeImport moves a qualified member into a submodule as before #9064 by @knutwannheden in #9081
  • Java: a received method invocation keeps its constructor type by @knutwannheden in #9078
  • Route Maven and Gradle tests through the build's mirror when no settings.xml mirrors Central by @jkschneider in #9082
  • Go: sort each import declaration on its own in OrderImports by @sambsnyd in #9062
  • Make HasMinimumJavaVersion work on Kotlin and Groovy sources by @timtebeek in #9045
  • ChangeMethodName: language-neutral validation messages by @macsux in #9051
  • JavaScript: maybeBind binds a default or namespace import under a pinned alias by @knutwannheden in #9085
  • JavaScript: a function a pattern's context declares matches a same-named call by @knutwannheden in #9086
  • Raise log4j and drop both JLine bundles from the zinc classpath by @timtebeek in #9047
  • Python: SearchResult.found leaves an already-marked tree unchanged by @knutwannheden in #9088
  • JavaScript: export isEqual and namesUsedWithin by @knutwannheden in #9087
  • Python: an import keeps its attribution when another scope binds the same name by @knutwannheden in #9089
  • Python: type node ids as int | UUID so random_id() type-checks by @knutwannheden in #9090
  • JavaScript: align four helpers with Java and with each other by @knutwannheden in #9092
  • JavaScript: scope lookups tell values from types, and members bind nowhere by @knutwannheden in #9091
  • JavaScript: ChangeMethodTargetToImport moves matched calls onto an imported member by @knutwannheden in #9093
  • JavaScript: add Expression.unwrap and removeMarkerByKind by @knutwannheden in #9096
  • JavaScript: a type parameter binds across the declaration carrying it by @knutwannheden in #9097
  • JavaScript: a binding answers across import type, without a duplicate identifier by @knutwannheden in #9098
  • JavaScript templating: a template binds every context module its code reads by @knutwannheden in #9094
  • JavaScript templating: a replacement keeps the replaced node's !/?. and, unformatted, a capture's spacing by @knutwannheden in #9095
  • JavaScript: a namespace is a third binding kind, which a qualified type name reads by @knutwannheden in #9100
  • Python templating: a node spliced into more than one slot gets a fresh id per occurrence by @knutwannheden in #9101
  • JavaScript patterns: a call pattern with a variadic capture matches its callee by symbol by @knutwannheden in #9102
  • JavaScript: resolve(cursor, identifier) reads a name by position, and the rebind rename follows it by @knutwannheden in #9103
  • JavaScript: referencesOf lists a binding's references, and isWrite tells an assignment from a read by @knutwannheden in #9105
  • JavaScript patterns: a receiver the pattern writes out has to match the source receiver by @knutwannheden in #9104
  • JavaScript: a class static block is a var scope by @knutwannheden in #9106
  • Fix RemoveUnusedImports to deal with lower-case static-imported classes by @greg-at-moderne in #9107
  • Carry causesAnotherCycle across RPC by @sambsnyd in #9054
  • Preserve imported BOM precedence in SortDependencies by @martinfrancois in #8508
  • Emit search markers on YAML sequences, mappings, and sequence entries by @steve-aom-elliott in #9109
  • Parse poetry.lock and pdm.lock as TOML by @timtebeek in #9110

Full Changelog: v8.92.17...v8.92.18

Don't miss a new rewrite release

NewReleases is sending notifications on new releases.