Releases: openrewrite/rewrite
Releases · openrewrite/rewrite
8.75.11
What's Changed
- C#: Add typed captures to template engine by @knutwannheden in #7057
- C#: Commutative
==/!=and== null↔is nullin pattern matching by @knutwannheden in #7058 - C#: Add
MinimumViableSpacingVisitorforAutoFormatpipeline by @knutwannheden in #7062 - C#: NuGet dependency workspace for template type attribution by @knutwannheden in #7061
- C#: Restore NuGet global cache population during pTML by @macsux in #7060
- Store ExecutionContext in localObjects for onComplete() retrieval by @jkschneider in #7065
- C#: Add
CaptureKindto template captures for position-aware scaffolding by @knutwannheden in #7059 - C#: Scaffold strategies for class members and attributes in template engine by @knutwannheden in #7063
- Fix load-recipe logic to find YAML recipes from dependency resource loaders by @greg-at-moderne in #7053
- C#: Add semantic matching to pattern comparator by @knutwannheden in #7069
- C#: Add precedence-aware parenthesization utility by @knutwannheden in #7068
- C#: Default test framework to
Net90reference assemblies by @knutwannheden in #7071 - C#: Auto-parenthesize captured expressions in template substitutions by @knutwannheden in #7073
- Normalize file URIs at intake instead of patching each consumption point by @pstreef in #7027
- C#: Allow
Captureobjects asMatchResultkeys by @knutwannheden in #7074 - C#: Add extension method flag to type model by @knutwannheden in #7075
Full Changelog: v8.75.10...v8.75.11
8.75.10
What's Changed
- Improve local NuGet development workflow by @macsux in #7037
- Skip RPC for Java-delegate recipes in cross-language composites by @jkschneider in #7038
- C#: Enable XML tree processing via RPC for csproj recipe support by @macsux in #7039
- C#: Fix print idempotency for attribute arguments with trailing comments by @macsux in #7034
- C#: Add
ParentTreeproperty andPathToRoot()toCursorby @knutwannheden in #7040 - Speed up CI: exclude slow C# RPC tests, add caching to C# build/test tasks by @knutwannheden in #7042
- Simplify csharpPublishLocal to use local feed by @knutwannheden in #7041
- Use try-with-resources by @timtebeek in #7044
- Gradle 9.4.1 entry in gradle wrapper versions CSV by @greg-at-moderne in #7046
- C#: Make
Preconditions.Checklanguage-agnostic like Java by @knutwannheden in #7045 - C#: Fix null-coalescing pattern that prevents node deletion in visitors by @knutwannheden in #7047
- Prevent duplicate imports when unfolding star imports by @Jenson3210 in #7001
- C#: Fix
TrailingCommamarkers on array initializers by @knutwannheden in #7052 - Fix #7048: Support newer Gradle wrapper template variables by @timtebeek in #7049
- Python: Whitespace attachment fixes by @greg-at-moderne in #7051
- C#: Fix
AutoFormaton structurally modified subtrees by @knutwannheden in #7054 - Java: fixing parsing of EnumValueSets with regards to leading space by @greg-at-moderne in #7043
- Make CsprojParser public with pre-resolved solution support by @jkschneider in #7056
Full Changelog: v8.75.9...v8.75.10
8.75.9
What's Changed
- Fix FindEmptyMethods false positive on non-empty constructors by @timtebeek in #7033
- UpdateGradleWrapper: handle TaskContainer-based Wrapper DSL patterns by @bmuschko in #7035
- Fix multi-repo RPC deadlock via stderr redirect and dedicated GetObject pool by @jkschneider in #7036
Full Changelog: v8.75.8...v8.75.9
8.75.8
What's Changed
- C#: Route all
Spacefields throughVisitSpacein visitors by @knutwannheden in #7016 - C#: Add
ListUtils.Mapand simplify visitor methods by @knutwannheden in #7018 - C#: Fix
dotnet restorefailing due to semicolons in MSBuild property by @knutwannheden in #7019 - C#: Add parse-to-print idempotency validation and
ParseErrorsupport via RPC by @knutwannheden in #7017 - Fix
ReplaceConstantWithAnotherConstantleaving stale import when replacing enum constants by @MBoegers in #7014 - JavaScript: When failing to install a recipe, let the user know which recipe by @greg-at-moderne in #7022
- Fix IDE.properties module exclusion by @timtebeek in #7023
- C#: Fix RPC reentrancy deadlock and enable cross-ecosystem recipe resolution by @jkschneider in #7028
- C#: Fix
CSharpParserround-trip fordefault (T)spacing by @knutwannheden in #7026
Full Changelog: v8.75.7...v8.75.8
8.75.7
What's Changed
- Use File(URI).toPath() to fix Windows drive letter handling by @pstreef in #6993
- C#: Improve type attribution coverage on identifiers and declarations by @jkschneider in #6994
- Add RSPEC-S6809 tag to ResultOfMethodCallIgnored recipe by @timtebeek in #6991
- C#: Add TypeUtils and MethodMatcher by @jkschneider in #6995
- C#: Handle
Primitive(String)inTypeUtils.IsAssignableToandGetFullyQualifiedNameby @knutwannheden in #6996 - C#: Add null-conditional (
?.) support toCSharpPatternby @knutwannheden in #6997 - Make
TreeHelper.SetPrefixpublic for recipe authors by @knutwannheden in #6998 - Add
CSharpPatterncapture support tests forasoperator by @knutwannheden in #6999 - Add generic
J.SetPrefix<T>/J.SetId<T>static helpers by @knutwannheden in #7000 - C#: Add
Typeproperty toExpressionandNameTreeinterfaces by @knutwannheden in #7002 - C#: Fix
NewClass.Typereturningvoidinstead of constructed type by @knutwannheden in #7004 - JavaScript: reinstantiate
install-recipes.test.tstests by @greg-at-moderne in #7005 - C#: Fix
CSharpPrintercorruption of explicit interface implementations by @knutwannheden in #7006 - Add XML LST support for Java-C# RPC bridge by @macsux in #7007
- C#: Add recipe utility methods to the C# SDK by @knutwannheden in #7008
- C#: Add
StructuralEqualityComparatorto SDK by @knutwannheden in #7009 - Fix XML RPC bridge CI failures by @macsux in #7010
- Fix CSharpParser handling of preprocessor directives around delegate semicolons by @knutwannheden in #7011
- C#: csproj parsing and core dependency recipes by @jkschneider in #7013
Full Changelog: v8.75.6...v8.75.7
8.75.6
What's Changed
- Fix C# RPC:
RecipeDescriptoralignment by @knutwannheden in #6942 - Python: Fixing cross-module recipe calls by @greg-at-moderne in #6956
- Fix
IllegalArgumentException: Bad escapefor file:// Maven repos with non-ASCII paths by @pstreef in #6960 - Add Reset JSON-RPC handler to JS and C# RPC servers by @jkschneider in #6964
- C#: Wire auto-format into template engine via RoslynFormatter by @knutwannheden in #6965
- Fix
AddSettingsPluginRepositoryduplicatepluginManagementand repository handling by @timtebeek in #6959 - C#: Fix RPC sender/receiver alignment and
CompilationUnitfields by @knutwannheden in #6961 - Add test for parsing deeply nested Kotlin class references by @timtebeek in #6968
- C#: Fix incomplete visitor traversal in JavaVisitor.cs and CSharpVisitor.cs by @knutwannheden in #6970
- C#: Parse attribute lists on type declarations by @knutwannheden in #6971
- JS: Fast-path method name check in semantic comparator by @knutwannheden in #6973
- JavaScript: Upgrade diff to v8 by @knutwannheden in #6974
- Fix ChangeDependency isAcceptable to reject PlainText files by @timtebeek in #6976
- Groovy: guard calls to
isSealed()with the check for Groovy 4 by @greg-at-moderne in #6975 - C#: Fix whitespace violations in parser by @knutwannheden in #6977
- Place fenced afterSyntax markers before trailing newline in PlainText diffs by @steve-aom-elliott in #6967
- C#: Parse attributes on fields, methods, constructors, and event fields by @knutwannheden in #6978
- C#: Fix using
vardeclaration keyword leaking into Space fields by @knutwannheden in #6979 - Use source file charset when converting diff bytes to String by @Jenson3210 in #6982
- C#: Consolidate namespace and compilation unit model by @jkschneider in #6981
- Upgrade kotlin-reflect from 1.6.10 to 2.2.0 by @timtebeek in #6984
- C#: Fix RPC delta computation and extract RecipeScheduler by @jkschneider in #6985
- Batch consecutive same-RPC recipes via BatchVisit RPC by @jkschneider in #6983
- Fix
BatchVisitover-attributingRecipesThatMadeChangesmarker by @knutwannheden in #6987 - C#: Add
DataTable,DataTableStore, andCsvDataTableStoreby @knutwannheden in #6988 - Initialize ScanningRecipe accumulator key eagerly for thread safety by @pstreef in #6914
- Add favicon at project root by @greg-at-moderne in #6980
- HasSourceSet should match any SourceFile, not just Java files by @Jenson3210 in #6989
Full Changelog: v8.75.5...v8.75.6
8.75.5
What's Changed
- C#: Roslyn-based
AutoFormatvia tree-walking reconciler by @knutwannheden in #6953 - JavaScript: Don't use vitest in
rewrite-test.tsby @greg-at-moderne in #6957
Full Changelog: v8.75.4...v8.75.5
8.75.4
What's Changed
- C#: Fix template substitution for method names and variadic args by @knutwannheden in #6940
- C#: Fix
CSharpPatternvariadic capture: zero args, non-trailing position, and min/max bounds by @knutwannheden in #6941 - JavaScript:
RemoveDependencyrecipe by @greg-at-moderne in #6938 - JavaScript: Fixing cross-module recipe calls by @greg-at-moderne in #6894
- Use LatestRelease for BOM version filtering in upgrade search by @Jenson3210 in #6908
- AddDependency only scans test sources when scope is test by @Jenson3210 in #6935
- JavaScript: Revert to previous NPM publishing by @greg-at-moderne in #6934
- Handle integer overflow in TildeRange and CaretRange by @Jenson3210 in #6944
- JavaScript: Revert to previous NPM publishing - continued by @greg-at-moderne in #6947
- C#: Fix RPC receiver for brand-new trees from Java by @knutwannheden in #6949
- Fix C# RPC ADD-based tree reconstruction for recipe execution by @macsux in #6950
- C#: Fix RPC receiver generic type preservation and Primitive ADD path by @jkschneider in #6951
- JavaScript: Migrate test framework from Jest to Vitest by @knutwannheden in #6906
- Use long in Semver.max() for large version segments by @Jenson3210 in #6952
- C#: Implement
GenerateandGetLanguagesJSON-RPC methods by @knutwannheden in #6946
Full Changelog: v8.75.3...v8.75.4
8.75.3
What's Changed
- Handle new ty-types 0.0.21 descriptor kinds and enriched fields by @knutwannheden in #6893
- UpgradeTransitiveDependencyVersion should not add managed deps to child modules by @steve-aom-elliott in #6896
- JavaScript: Add missing Type properties to some test classes by @greg-at-moderne in #6901
- Also check thread context classloader in
TypeTable.fromClasspath()by @knutwannheden in #6900 - Fix NPE in Markup.markup() when tree node has null markers by @bmuschko in #6895
- Filter SNAPSHOT versions from BOM upgrade candidates by @Jenson3210 in #6902
- Support ext subscript and set-in-block syntax for version upgrades by @Jenson3210 in #6905
- JavaScript: Detect empty diffs in
rewriteRun()test harness and fix surfaced issues by @knutwannheden in #6904 - Improved C# RPC server bootstrapping by @knutwannheden in #6899
- Add tests for Gradle 9 migration and best practices recipes by @sullis in #6907
- Add NuGet API key to CI and publish workflows by @macsux in #6911
- Split C# NuGet into library and tool packages by @jkschneider in #6912
- Fix ScanningRecipe accumulator loss in preconditioned DeclarativeRecipes across RecipeRunCycles by @pstreef in #6913
- fix: switch npm publishing to OIDC trusted publishing by @zieka in #6919
- fix: add setup-node for npm OIDC trusted publishing by @zieka in #6922
- Fix Python RPC GetObject timeout on Windows by @kmccarp in #6920
- Fix NoWhitespaceAfter removing required space after type-use annotation by @timtebeek in #6921
- fix: decouple npmPublish from Gradle publish task for OIDC-only npm auth by @zieka in #6923
- fix: add workflow_dispatch to npm-publish for manual OIDC testing by @zieka in #6924
- fix: replace setup-node with manual .npmrc for npm OIDC trusted publishing by @zieka in #6925
- fix: use system npm for publish to support OIDC trusted publishing by @zieka in #6926
- fix: use system npm for publish to support OIDC trusted publishing by @zieka in #6927
- fix: use NPM_TOKEN for npm publish authentication by @zieka in #6928
- fix: add repository field to package.json for npm provenance by @zieka in #6929
- fix: switch npm publish back to OIDC trusted publishing by @zieka in #6930
- fix: revert OIDC-only npm auth, restore NPM_TOKEN by @zieka in #6931
- Isolate C# plugin assemblies in custom AssemblyLoadContext by @jkschneider in #6915
- C# Template API for pattern matching and code generation by @jkschneider in #6916
Full Changelog: v8.75.2...v8.75.3
8.75.2
What's Changed
- Use Groovy 4 parser by @knutwannheden in #6228
- Fix ChangeDependency isAcceptable returning true for all files by @Jenson3210 in #6889
Full Changelog: v8.75.1...v8.75.2