What's Changed
- Change Gradle plugin IDs in Kotlin build and settings scripts by @jkschneider in #9526
- C#: RewriteTest takes an .editorconfig among a test's sources by @jkschneider in #9538
- JavaScript: template and visitor follow-ups from #9530 by @jkschneider in #9540
- JavaScript: the templating tests leave comparing with a fresh parse to rewriteRun by @jkschneider in #9541
- Python: a template replacement keeps the indentation of the line it starts by @jkschneider in #9542
- Python: the JVM tests run again when a Python source changes by @jkschneider in #9543
- Go: the formatter returns the nodes it doesn't change by @jkschneider in #9544
- ParenthesizeVisitor: keep parentheses around an equally binding right operand by @jkschneider in #9545
- C#: parenthesize template captures as the parser reads them, and give each template result its own ids by @jkschneider in #9537
- Migrate mixed configuration spreads and legacy archive classifiers by @jkschneider in #9531
- Go: a formatter recipe's self-test runs with the tree-identity check on by @jkschneider in #9546
- Fix native JavaScript lock regeneration and atomic dependency edits by @jkschneider in #9524
- C#: indent formatted code as the file does when .editorconfig doesn't say by @jkschneider in #9539
- Delete a dependency workspace whole or not at all, reuse one only with its dependencies installed, and age it from its last use by @jkschneider in #9547
- Wait for the classpath scan when several threads first use one Environment at once by @jkschneider in #9522
Full Changelog: v8.96.5...v8.97.0