[2.x] doc: Start sbt 2.1.0 release note (#9595)

This commit is contained in:
eugene yokota 2026-08-13 17:00:17 -04:00 committed by GitHub
parent c5eac14c14
commit c717609ab2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 788 additions and 0 deletions

View File

@ -0,0 +1,400 @@
## Changes with compatibility implications
- refactor: Make Ivy keys lazy/optional and flip useIvy default to false by @eureka928 in https://github.com/sbt/sbt/pull/8866
- Deprecate url(...) and Resolver.url(...) in favor of uri(...) by @eed3si9n in https://github.com/sbt/sbt/pull/9420
## Security fixes
- fix: Gate LSP calls behind auth ([GHSA-m2pw-22cj-jq4v](https://github.com/sbt/sbt/security/advisories/GHSA-m2pw-22cj-jq4v)) by @eed3si9n in https://github.com/sbt/sbt/commit/6365a0723
- fix: Harden Windows VCS URI fragments against command injection by @anatoliykmetyuk in https://github.com/sbt/sbt/commit/a9347cf22
## 🚀 updates
- Add project id to Zinc debug log by @Achieve3318 in https://github.com/sbt/sbt/pull/8750
- feat: sbtn subscription level by @bitloi in https://github.com/sbt/sbt/pull/8796
- feat: Add allowMismatchScala setting by @dev-miro26 in https://github.com/sbt/sbt/pull/8804
- feat: Support doc / skip := true by @eureka928 in https://github.com/sbt/sbt/pull/8824
- feat: case-insensitive tab completion by @bitloi in https://github.com/sbt/sbt/pull/8827
- feat: support passing JVM arguments via -- delimiter in run commands by @RenzoMXD in https://github.com/sbt/sbt/pull/8868
- dependencyTree: add `--append` for file output in multi-module builds by @oolokioo7 in https://github.com/sbt/sbt/pull/8878
- feat: updating remote vcs projects by @seroperson in https://github.com/sbt/sbt/pull/8880
- feat: Support --autostart=false and --no-server in sbtn client by @eureka928 in https://github.com/sbt/sbt/pull/8895
- Retry on HTTP 5xx during dependency resolution by @majk-p in https://github.com/sbt/sbt/pull/8903
- feat: Eviction error for downgrade of Scala 3.x by @bitloi in https://github.com/sbt/sbt/pull/8912
- feat: Add dependencyMode setting to control classpath transitivity by @eureka928 in https://github.com/sbt/sbt/pull/8960
- feat: Add cacheVersion setting for global cache invalidation by @eureka928 in https://github.com/sbt/sbt/pull/8993
- feat: Add English aliases cross and switch for + / ++ by @jonathanchang31 in https://github.com/sbt/sbt/pull/9051
- feat: Implement BSP buildTarget/dependencyModules by @jsdevninja in https://github.com/sbt/sbt/pull/9085
- feat: Forward test events to listeners as they are emitted by @claytonlin1110 in https://github.com/sbt/sbt/pull/9087
- feat: Expose `scripted / excludeFilter` and `scripted / includeFilter` keys for scripted test filtering. by @arashi01 in https://github.com/sbt/sbt/pull/9131
- feat: ClassLoaderStrategy.Raw by @eed3si9n in https://github.com/sbt/sbt/pull/9161
- Add ForkOptions.connectionTimeout by @xuwei-k in https://github.com/sbt/sbt/pull/9172
- feat: Execution log by @eed3si9n in https://github.com/sbt/sbt/pull/9203
- feat: Print cross-project test failure recap at end of aggregated run by @BrianHotopp in https://github.com/sbt/sbt/pull/9214
- Add runner support for execution log by @eed3si9n in https://github.com/sbt/sbt/pull/9237
- feat: Resolve dependencies in parallel under the super shell by @BrianHotopp in https://github.com/sbt/sbt/pull/9295
- Allow opt-out of transient warning by @eed3si9n in https://github.com/sbt/sbt/pull/9437
- Specific error message for defining types by @xuwei-k in https://github.com/sbt/sbt/pull/9579
## 🐛 Bug fixes
- fix: excluding artifacts w/o scala version suffix (#7454) by @seroperson in https://github.com/sbt/sbt/pull/8756
- fix: Fixes double quotes handling in fork mode by @BrianHotopp in https://github.com/sbt/sbt/pull/8765
- Fix duplicate compiler bridge jar in ZincComponentManager by @since-2017-hub in https://github.com/sbt/sbt/pull/8800
- fix: Refer to universal sbtn in detectNativeClient by @fireXtract in https://github.com/sbt/sbt/pull/8810
- fix: Print server stderr on startup failure by @eureka928 in https://github.com/sbt/sbt/pull/8816
- Fix lazy val name handling in Eval by @xuwei-k in https://github.com/sbt/sbt/pull/8818
- fix: sbt -debug doesn't display loading log by @bitloi in https://github.com/sbt/sbt/pull/8819
- fix: IgnoreSourceChanges now works by @seroperson in https://github.com/sbt/sbt/pull/8820
- fix: Runner should fail on JDK < 17 for sbt 2.x by @eureka928 in https://github.com/sbt/sbt/pull/8825
- fix: support comma-separated imports in build.sbt by @RenzoMXD in https://github.com/sbt/sbt/pull/8829
- fix: Backtick-quote project IDs in classloader error messages by @eureka928 in https://github.com/sbt/sbt/pull/8830
- fix: sbt --client fails if -mem is provided by @chrisrock1124 in https://github.com/sbt/sbt/pull/8831
- fix: Fix typo in CONTRIBUTING.md ("guideslins" -> "guidelines") by @it-education-md in https://github.com/sbt/sbt/pull/8834
- fix: Fix spelling typos in contributing docs by @it-education-md in https://github.com/sbt/sbt/pull/8835
- fix: Fix spelling and link in AGENTS docs by @it-education-md in https://github.com/sbt/sbt/pull/8837
- fix: Fixes double quotes handling in fork mode by @eed3si9n in https://github.com/sbt/sbt/pull/8842
- fix: make ScopeFilter .all ordering deterministic and preserve project filter order by @bitloi in https://github.com/sbt/sbt/pull/8861
- fix: Undefined per-project settings order by @seroperson in https://github.com/sbt/sbt/pull/8862
- fix: Respect global log level in continuous build watcher by @eureka928 in https://github.com/sbt/sbt/pull/8864
- fix: Unresolved dependency error for Coursier by @bitloi in https://github.com/sbt/sbt/pull/8869
- fix: Populate explicitArtifacts from classifier in UpdateReport by @eureka928 in https://github.com/sbt/sbt/pull/8874
- fix: handle -sbt-dir with spaces from .sbtopts by @Eruis2579 in https://github.com/sbt/sbt/pull/8875
- fix: sbt-with-loglevel-error by @oolokioo7 in https://github.com/sbt/sbt/pull/8883
- fix: Handle scala/toolkit.local when passed as argument to sbt new by @mohamed0803 in https://github.com/sbt/sbt/pull/8887
- fix: fall back to the onsite task when cache fails by @idanbenzvi in https://github.com/sbt/sbt/pull/8890
- fix: Remove projectDescriptors key that leaks Ivy types by @eureka928 in https://github.com/sbt/sbt/pull/8894
- Fix TaskConvert.appExpr by @xuwei-k in https://github.com/sbt/sbt/pull/8899
- fix: Fixes script mode using Scala 3.x by @bitloi in https://github.com/sbt/sbt/pull/8900
- fix: server-test and related refactoring by @seroperson in https://github.com/sbt/sbt/pull/8904
- fix: use new constructor for CantDownloadModule by @majk-p in https://github.com/sbt/sbt/pull/8905
- fix: Preserve user-specified scope axes in command instead of silently discarding them by @bittoby in https://github.com/sbt/sbt/pull/8916
- fix: Skip Conflict when dependency relocations form a cycle by @bitloi in https://github.com/sbt/sbt/pull/8919
- fix: Use sbt script in BSP config instead of hardcoded Java path by @bittoby in https://github.com/sbt/sbt/pull/8920
- fix: Fixes non-typelevel scalaOrganization by @eed3si9n in https://github.com/sbt/sbt/pull/8945
- fix: Fix scripted test loading build definition twice on first test in batch by @bittoby in https://github.com/sbt/sbt/pull/8946
- Fix misleading error message when .evaluated is used outside macro context by @BrianHotopp in https://github.com/sbt/sbt/pull/8951
- fix: libraryDependency didn't work for cross-platform dependencies by @ckstck in https://github.com/sbt/sbt/pull/8957
- Fix Resolvers test formatting by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/8968
- fix: Emit <type> in POM for non-jar explicit artifacts by @BrianHotopp in https://github.com/sbt/sbt/pull/8975
- fix: Fix ProjectMatrix base directory resolution for source dependencies by @bittoby in https://github.com/sbt/sbt/pull/8983
- fix: Stabilize progress indicator sort by @bittoby in https://github.com/sbt/sbt/pull/8984
- fix: Avoid following symlinks during scripted test cleanup by @eureka928 in https://github.com/sbt/sbt/pull/8985
- Fix: strip pipelining scalacOptions before launching the REPL by @corevibe555 in https://github.com/sbt/sbt/pull/8986
- fix: Preserve configuration visibility in ivy.xml when publishing with coursier by @eureka928 in https://github.com/sbt/sbt/pull/8988
- fix: Scope dependencyMode filtering to compilation only by @eureka928 in https://github.com/sbt/sbt/pull/8990
- fix: Update ++ help text to reflect SemanticSelector matching by @BrianHotopp in https://github.com/sbt/sbt/pull/8995
- fix: Write maven-metadata-local.xml during publishM2 for SNAPSHOTs by @BrianHotopp in https://github.com/sbt/sbt/pull/8996
- Fix old shell syntax warning by @xuwei-k in https://github.com/sbt/sbt/pull/8998
- fix: Resolve relative paths from -sbt-dir / sbt.global.base by @BrianHotopp in https://github.com/sbt/sbt/pull/9001
- fix: Return JSON-RPC error for unknown server methods by @BrianHotopp in https://github.com/sbt/sbt/pull/9002
- fix: Add --fail to curl in launcher to prevent corrupt jars by @BrianHotopp in https://github.com/sbt/sbt/pull/9003
- fix: resolve virtual path in -Ypickle-write scalac option by @corevibe555 in https://github.com/sbt/sbt/pull/9011
- fix: derivedProjects not invoked when no explicit root project is defined by @bitcompass in https://github.com/sbt/sbt/pull/9012
- fix: Fixes metabuild reloading by @eed3si9n in https://github.com/sbt/sbt/pull/9019
- fix: Fixes pollInterval by @eed3si9n in https://github.com/sbt/sbt/pull/9020
- Prefer local ScalaModuleInfo over global config by @kitbellew in https://github.com/sbt/sbt/pull/9028
- Fix Scala 3 .previous expansion for unstable path by @tanishiking in https://github.com/sbt/sbt/pull/9041
- fix: Fix FileAlreadyExistsException in packageDirectory by @bitloi in https://github.com/sbt/sbt/pull/9047
- fix: Widen IOException catch in organicTask to cover result serialization by @bittoby in https://github.com/sbt/sbt/pull/9050
- fix: clear compiler bridge zinc cache on reboot dev by @bitloi in https://github.com/sbt/sbt/pull/9057
- fix: stack traces suppressed in thin client batch mode by @bittoby in https://github.com/sbt/sbt/pull/9058
- Delete bootDirectory in cleanFull by @xuwei-k in https://github.com/sbt/sbt/pull/9060
- Fix scaladoc issue in mainProj and sbtIvyProj by @xuwei-k in https://github.com/sbt/sbt/pull/9061
- override sbt.Tests.Group hashCode by @xuwei-k in https://github.com/sbt/sbt/pull/9065
- hide JDK warnings if JDK 26 or later by @xuwei-k in https://github.com/sbt/sbt/pull/9068
- fix: Add description and url to PomGenerator output by @eureka0928 in https://github.com/sbt/sbt/pull/9069
- fix: Delete src/main/resources/log4j2.xml by @xuwei-k in https://github.com/sbt/sbt/pull/9071
- fix: Fix consoleProject for Scala 3 by @eureka0928 in https://github.com/sbt/sbt/pull/9073
- fix: Cache AutoPlugin projectSettings/projectConfigurations by @volcano303 in https://github.com/sbt/sbt/pull/9077
- fix: Fixes client-side run status by @eed3si9n in https://github.com/sbt/sbt/pull/9081
- Add Test configuration to evictionWarningOptions by @zainab-ali in https://github.com/sbt/sbt/pull/9102
- fix: Use rootPaths to replace virtual paths in console and doc scalac options. by @mrdziuban in https://github.com/sbt/sbt/pull/9110
- fix: Include platform suffix in Artifact.artifactName by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9118
- fix: Fixes managedScalaInstance false support by @eed3si9n in https://github.com/sbt/sbt/pull/9121
- fix: Fixes ctrl-c handling by @eed3si9n in https://github.com/sbt/sbt/pull/9130
- fix: Fixes compilerPlugin(...) to ignore platform by @eed3si9n in https://github.com/sbt/sbt/pull/9135
- fix: Remove will-be-ignored warning by @eed3si9n in https://github.com/sbt/sbt/pull/9143
- fix: Avoid dependencyTree browse crashes on Linux by @jimcody1995 in https://github.com/sbt/sbt/pull/9147
- fix: Fix error with "-language:postfixOps" by @xuwei-k in https://github.com/sbt/sbt/pull/9151
- fix: Fix build.sbt file loading in subdirs by @eed3si9n in https://github.com/sbt/sbt/pull/9165
- Fix console output not appearing with bgRun and run / fork := true by @mrdziuban in https://github.com/sbt/sbt/pull/9166
- fix: Adjust the forked test classpath by @eed3si9n in https://github.com/sbt/sbt/pull/9170
- Fix #9190: Ensure resources are copied atomically by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9193
- fix: Fixes cache restoration of incremental compilation state (Analysis) by @eed3si9n in https://github.com/sbt/sbt/pull/9207
- fix: Invalidate on JDK version by @eed3si9n in https://github.com/sbt/sbt/pull/9216
- fix: Include test arg into hash by @eed3si9n in https://github.com/sbt/sbt/pull/9222
- fix: Collapse duplicate subtrees in dependency tree rendering by @BrianHotopp in https://github.com/sbt/sbt/pull/9226
- fix: Remove explicit equals and hashCode in LabeledFunctions by @xuwei-k in https://github.com/sbt/sbt/pull/9228
- fix: Catch timeout on sbtn exit by @eed3si9n in https://github.com/sbt/sbt/pull/9239
- fix: Add regression test by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9246
- fix: Apply dependencyMode filtering to internal project deps by @BrianHotopp in https://github.com/sbt/sbt/pull/9250
- Fix duplicate autoplugins packageBin mappings by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9255
- fix: Make custom-scala-org scripted test hermetic by @BrianHotopp in https://github.com/sbt/sbt/pull/9260
- fix: Parallelize dependency resolution when no progress bar is rendered by @BrianHotopp in https://github.com/sbt/sbt/pull/9270
- fix: Report a missing input file clearly instead of an opaque SerializationException by @BrianHotopp in https://github.com/sbt/sbt/pull/9271
- Opt bspBuildTargetOutputPathsItem out of caching by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9272
- fix: Fixes backtick-quoted project handling by @xuwei-k in https://github.com/sbt/sbt/pull/9277
- fix: Add warning about trainsient key by @eed3si9n in https://github.com/sbt/sbt/pull/9288
- fix: Avoid updateFull by @eed3si9n in https://github.com/sbt/sbt/pull/9290
- fix: Fixes publishing platform-specific artifacts (like Scala Native) by @arashi01 in https://github.com/sbt/sbt/pull/9293
- fix: ByteStream chunked upload/download by @eed3si9n in https://github.com/sbt/sbt/pull/9298
- fix: Fixes cross build caching by @eed3si9n in https://github.com/sbt/sbt/pull/9305
- fix: Fixes chunked upload/download by @eed3si9n in https://github.com/sbt/sbt/pull/9318
- fix: Fixes console / javaOptions by @eed3si9n in https://github.com/sbt/sbt/pull/9322
- fix: Probe for a live server before refusing to start by @BrianHotopp in https://github.com/sbt/sbt/pull/9337
- fix: Substitute [organisation] literally by defaulting Patterns.isMavenCompatible to false by @jozanek in https://github.com/sbt/sbt/pull/9344
- fix: Constrain job id parser to signed longs by @merlinorg in https://github.com/sbt/sbt/pull/9353
- Fix #9358: preserve --allow-empty and --sbt-create in sbtArguments by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9370
- fix: Fixes dependency tree rendering on some libraries by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9371
- Suppress multiple main classes warning when running tests by @merlinorg in https://github.com/sbt/sbt/pull/9372
- fix: Fixes runner parsing build.properties with whitespaces by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9374
- Fix publishDiagnostics propagation by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9376
- Fix macro expand for HKT type arguments by @tanishiking in https://github.com/sbt/sbt/pull/9377
- fix: Fixes global plugin loading by @eed3si9n in https://github.com/sbt/sbt/pull/9391
- fix: Fixes sbt runner openbsd support by @eed3si9n in https://github.com/sbt/sbt/pull/9394
- fix: Fixes WinGet release config by @eed3si9n in https://github.com/sbt/sbt/pull/9404
- fix: Fixes auto import of givens by @xuwei-k in https://github.com/sbt/sbt/pull/9409
- fix: Discard a cancelled task's output backlog on cancel by @BrianHotopp in https://github.com/sbt/sbt/pull/9411
- fix: apply ByteStream deadline per-call, not on the memoized stub by @yhefamly in https://github.com/sbt/sbt/pull/9413
- fix: Keep the output-flush timer alive across forceFlush by @BrianHotopp in https://github.com/sbt/sbt/pull/9414
- Fix ivyless sbt plugin publish cross paths by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9416
- Fix #9343 route pipelined dependencyPicklePath through internalDependencyPicklePath by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9425
- fix sjson downgrade by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9426
- fix: Honor -java-home in the Windows launchers by @jozanek in https://github.com/sbt/sbt/pull/9434
- fix: Fixes shutdownall by @eed3si9n in https://github.com/sbt/sbt/pull/9435
- scala-dyn-version working again by @eed3si9n in https://github.com/sbt/sbt/pull/9438
- fix: Make forked run inherit sbt's working directory by @jozanek in https://github.com/sbt/sbt/pull/9442
- fix: Propagate -java-home to a server the thin client starts by @BrianHotopp in https://github.com/sbt/sbt/pull/9448
- fix dependency parsing for bsp by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9450
- restore JVM option capability in the launcher config by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9452
- fix: Sequence server start before publish in ivyless HTTP scripted tests by @BrianHotopp in https://github.com/sbt/sbt/pull/9463
- fix: Don't cache environmental (position-less) compile failures by @BrianHotopp in https://github.com/sbt/sbt/pull/9464
- fix: Fixes stale resources in test by @eed3si9n in https://github.com/sbt/sbt/pull/9469
- fix: Re-extract a declared output directory on cache hit when it is missing by @BrianHotopp in https://github.com/sbt/sbt/pull/9473
- clean task cleans sona-staging by @eed3si9n in https://github.com/sbt/sbt/pull/9479
- fix: Fixes three test-classloader / jar-handle leaks in the sbt server JVM by @kevin-lee in https://github.com/sbt/sbt/pull/9485
- fix: Fixes partial cache restoration by @stasimus in https://github.com/sbt/sbt/pull/9488
- fix: Register every Def.declareOutput execution, not one per call site by @BrianHotopp in https://github.com/sbt/sbt/pull/9492
- fix: Fixes common settings with extraProjects by @eed3si9n in https://github.com/sbt/sbt/pull/9495
- fix: Keep file I/O out of cache-write serialization by @BrianHotopp in https://github.com/sbt/sbt/pull/9496
- fix: Complete server teardown before logging so reboot works from sbtn by @BrianHotopp in https://github.com/sbt/sbt/pull/9497
- fix: Skip checksum generation for asc file, take 2 by @eed3si9n in https://github.com/sbt/sbt/pull/9499
- fix: Fixes gRPC channels recreated on reload by @eed3si9n in https://github.com/sbt/sbt/pull/9502
- fix: Fixes scalaCompilerBridgeBin by @eed3si9n in https://github.com/sbt/sbt/pull/9506
- fix: Fixes a/build.sbt leakage by @eed3si9n in https://github.com/sbt/sbt/pull/9519
- fix: sbt.bat fails to start client/server mode on Windows by @ColOfAbRiX in https://github.com/sbt/sbt/pull/9520
- fix: Fixes sbtn stdin race condition by @eed3si9n in https://github.com/sbt/sbt/pull/9521
- fix: Don't freeze the server when a terminal-properties response is malformed or slow by @BrianHotopp in https://github.com/sbt/sbt/pull/9526
- fix: Don't strand the server when a client dies with a terminal query unanswered by @BrianHotopp in https://github.com/sbt/sbt/pull/9527
- fix: Fixes forked run baseDirectory, take 2 by @eed3si9n in https://github.com/sbt/sbt/pull/9531
- fix: Fixes publishing with sbt-pgp by @eed3si9n in https://github.com/sbt/sbt/pull/9533
- fix: Preserve '=' in remote cache header values by @KilianSwissborg in https://github.com/sbt/sbt/pull/9534
- fix: Fixes AccessDeniedException issue on Windows by @eed3si9n in https://github.com/sbt/sbt/pull/9538
- fix: Complete earlyOutputPing on cache-hit and failed compiles by @BrianHotopp in https://github.com/sbt/sbt/pull/9542
- fix: Bound the client boot wait when the forked server never starts by @BrianHotopp in https://github.com/sbt/sbt/pull/9549
- fix: Don't re-extract a dirzip whose digest already matches by @hoangmaihuy in https://github.com/sbt/sbt/pull/9555
- fix: Preserve file timestamp in local diskcache by @eed3si9n in https://github.com/sbt/sbt/pull/9559
- Ensure Java artifacts are exposed when usePipelining is set to true by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9574
## ⚡ Performance improvements
- perf: lightweight UpdateReport cache persistence by @bitloi in https://github.com/sbt/sbt/pull/8815
- perf: short-circuit --version from build.properties by @bitloi in https://github.com/sbt/sbt/pull/8822
- perf: Use bytecodeHash for incremental test by @eed3si9n in https://github.com/sbt/sbt/pull/9146
- optimize InterfaceUtil by @xuwei-k in https://github.com/sbt/sbt/pull/9223
- Improve performance of `ClassStamper` by @mrdziuban in https://github.com/sbt/sbt/pull/9253
- perf: Improve incremental test stamper by @eed3si9n in https://github.com/sbt/sbt/pull/9257
- Migrate FarmHash usage to xxhash64 by @eed3si9n in https://github.com/sbt/sbt/pull/9267
- Optimize incremental test further by @yhefamly in https://github.com/sbt/sbt/pull/9364
- perf: Read the resolution's project cache once per report by @hoangmaihuy in https://github.com/sbt/sbt/pull/9522
- perf: Intern `UpdateReport` values by @hoangmaihuy in https://github.com/sbt/sbt/pull/9523
- perf: Stop content-hashing artifacts when writing update caches by @hoangmaihuy in https://github.com/sbt/sbt/pull/9524
- perf: Keep the analysis cached across an action cache output sync by @hoangmaihuy in https://github.com/sbt/sbt/pull/9550
- perf: Memoize the artifact content hash in LibraryManagementCodec by @takayahilton in https://github.com/sbt/sbt/pull/9563
## Behind the scenes
- Update to Coursier 2.1.25-M24 by @eed3si9n in https://github.com/sbt/sbt/pull/8381
- test: Add Git Bash test on Windows by @eed3si9n in https://github.com/sbt/sbt/pull/8779
- blame ignore commits by @eed3si9n in https://github.com/sbt/sbt/pull/8814
- refactor: Extract color-default logic as a pure function by @eureka928 in https://github.com/sbt/sbt/pull/8817
- refactor: Remove Ivy from update path and decouple lm-coursier from lm-ivy by @eureka928 in https://github.com/sbt/sbt/pull/8832
- ci: Update launcher-package rpmUrl by @xuwei-k in https://github.com/sbt/sbt/pull/8833
- Move compiler bridge to Update by @eed3si9n in https://github.com/sbt/sbt/pull/8836
- Avoid private[this] in test build files by @xuwei-k in https://github.com/sbt/sbt/pull/8839
- Enable DagSpecification.scala by @xuwei-k in https://github.com/sbt/sbt/pull/8840
- Comments in dot files by @eed3si9n in https://github.com/sbt/sbt/pull/8841
- Remove unnecessary code by @xuwei-k in https://github.com/sbt/sbt/pull/8843
- test: Use new wildcard syntax in test build files by @xuwei-k in https://github.com/sbt/sbt/pull/8844
- sbtn 1.12.5 by @eed3si9n in https://github.com/sbt/sbt/pull/8858
- Use given instead of implicit val by @xuwei-k in https://github.com/sbt/sbt/pull/8870
- refactor: Extract lm-ivy to separate sbt-ivy plugin module by @eureka928 in https://github.com/sbt/sbt/pull/8873
- Tweak the prompt by @eed3si9n in https://github.com/sbt/sbt/pull/8876
- Improve -help/--help and fix launcher test harness by @Eruis2579 in https://github.com/sbt/sbt/pull/8879
- Update TemplateCommandUtil.scala by @xuwei-k in https://github.com/sbt/sbt/pull/8884
- Update semanticdbVersion in SemanticdbPlugin.scala by @xuwei-k in https://github.com/sbt/sbt/pull/8885
- Delete reset.sh by @xuwei-k in https://github.com/sbt/sbt/pull/8886
- ci: Update java file formatter plugin by @xuwei-k in https://github.com/sbt/sbt/pull/8892
- refactor: Delete silent annotation by @xuwei-k in https://github.com/sbt/sbt/pull/8893
- refactor: Use InputStream.transferTo by @xuwei-k in https://github.com/sbt/sbt/pull/8896
- Delete checkPluginCross task. Add sourceGenerators for PluginCross by @xuwei-k in https://github.com/sbt/sbt/pull/8897
- Format launcher-package/build.sbt by @xuwei-k in https://github.com/sbt/sbt/pull/8898
- test: Add nested-testquick scripted test by @atoz96 in https://github.com/sbt/sbt/pull/8901
- Simplify -Werror application by @eed3si9n in https://github.com/sbt/sbt/pull/8906
- Add VF keys by @eed3si9n in https://github.com/sbt/sbt/pull/8915
- ci: Add scalafix DisableSyntax.noReturns by @xuwei-k in https://github.com/sbt/sbt/pull/8922
- deps: Updatge launcher to 1.6.1 by @corevibe555 in https://github.com/sbt/sbt/pull/8923
- refactor: Reduce return statements by @xuwei-k in https://github.com/sbt/sbt/pull/8925
- refactor: Remove unnecessary unchecked annotation by @xuwei-k in https://github.com/sbt/sbt/pull/8926
- Update Parser.~.unapply by @xuwei-k in https://github.com/sbt/sbt/pull/8927
- refactor: Update EscHelpers.scala by @xuwei-k in https://github.com/sbt/sbt/pull/8928
- refactor: Use new Array instead of Array.fill by @xuwei-k in https://github.com/sbt/sbt/pull/8929
- refactor: Avoid deprecated URL constructor by @xuwei-k in https://github.com/sbt/sbt/pull/8930
- Delete sbt-test/lm-coursier/neo-sbt-scalafmt by @xuwei-k in https://github.com/sbt/sbt/pull/8931
- test: Enable sbt-test/plugins/unidoc scripted test by @xuwei-k in https://github.com/sbt/sbt/pull/8932
- test: Enable sbt-test/plugins/dotty-compiler-plugin by @xuwei-k in https://github.com/sbt/sbt/pull/8933
- test: Enable sbt-test/project/src-plugins by @xuwei-k in https://github.com/sbt/sbt/pull/8934
- test: Enable sbt-test/project/giter8-plugin by @xuwei-k in https://github.com/sbt/sbt/pull/8935
- test: Enable sbt-test/project/setting-order by @xuwei-k in https://github.com/sbt/sbt/pull/8936
- test: Enable sbt-test/project/skip by @xuwei-k in https://github.com/sbt/sbt/pull/8937
- refactor: Remove `return` statement in `Escapes.scala` by @xuwei-k in https://github.com/sbt/sbt/pull/8938
- refactor: Remove `return` statement in `CommandExchange.scala` by @xuwei-k in https://github.com/sbt/sbt/pull/8939
- refactor: Remove `return` statements in `UpdateReportPersistenceBenchmark` by @xuwei-k in https://github.com/sbt/sbt/pull/8940
- test: Use `IO.withTemporaryDirectory` in UpdateReportPersistenceSpec by @xuwei-k in https://github.com/sbt/sbt/pull/8941
- [sbt] test: Enable sbt-test/run/fork by @xuwei-k in https://github.com/sbt/sbt/pull/8943
- test: Enable sbt-test/plugins/twirl by @xuwei-k in https://github.com/sbt/sbt/pull/8944
- test: Enable sbt-test/project/auto-plugins by @xuwei-k in https://github.com/sbt/sbt/pull/8947
- test: Delete sbt-test/project/continuations by @xuwei-k in https://github.com/sbt/sbt/pull/8948
- Add scalafmt newlines.topLevelStatementBlankLines setting by @xuwei-k in https://github.com/sbt/sbt/pull/8949
- Replace defunct link by @Philippus in https://github.com/sbt/sbt/pull/8950
- build(deps): bump nick-fields/retry from 3.0.2 to 4.0.0 by @dependabot in https://github.com/sbt/sbt/pull/8965
- Update ErrorMessageAuthenticator. Remove unnecessary reflection by @xuwei-k in https://github.com/sbt/sbt/pull/8976
- test: Update ZincComponentCompilerSpec by @xuwei-k in https://github.com/sbt/sbt/pull/8979
- Update to Zinc 2.0.0-M15 by @eed3si9n in https://github.com/sbt/sbt/pull/8980
- Update mima settings by @xuwei-k in https://github.com/sbt/sbt/pull/8991
- Scala 3.8.3 by @xuwei-k in https://github.com/sbt/sbt/pull/8997
- refactor: Fix warning in Settings.scala by @xuwei-k in https://github.com/sbt/sbt/pull/8999
- Add parentheses by @xuwei-k in https://github.com/sbt/sbt/pull/9000
- ci: Organize scalatest dependency by @xuwei-k in https://github.com/sbt/sbt/pull/9015
- ci: Update sbt-native-image plugin by @xuwei-k in https://github.com/sbt/sbt/pull/9016
- Update sbt version in launcher-package test by @xuwei-k in https://github.com/sbt/sbt/pull/9021
- Remove unnecessary reflection in IvyXml by @xuwei-k in https://github.com/sbt/sbt/pull/9024
- refactor: Remove unnecessary language.experimental.macros import by @xuwei-k in https://github.com/sbt/sbt/pull/9025
- Deprecate unused code in TaskMacro by @xuwei-k in https://github.com/sbt/sbt/pull/9026
- Remove Path type from caching by @eed3si9n in https://github.com/sbt/sbt/pull/9032
- Enable project-matrix/native test by @xuwei-k in https://github.com/sbt/sbt/pull/9038
- Update mima setting by @xuwei-k in https://github.com/sbt/sbt/pull/9039
- ci: Remove unnecessary code in build file by @xuwei-k in https://github.com/sbt/sbt/pull/9045
- Format pom.xml by @xuwei-k in https://github.com/sbt/sbt/pull/9059
- test: Fix warnings in scripted tests by @xuwei-k in https://github.com/sbt/sbt/pull/9062
- ci: Add -source-links option by @xuwei-k in https://github.com/sbt/sbt/pull/9063
- Remove `whitesource` from LintUnused by @xuwei-k in https://github.com/sbt/sbt/pull/9064
- refactor: Remove return from sbtw/Main by @xuwei-k in https://github.com/sbt/sbt/pull/9066
- ci: Delete unused code in project/Dependencies.scala by @xuwei-k in https://github.com/sbt/sbt/pull/9070
- ci: Remove -Ymacro-expand option by @xuwei-k in https://github.com/sbt/sbt/pull/9072
- Update .gitattributes for contraband files by @xuwei-k in https://github.com/sbt/sbt/pull/9076
- Update mimaPreviousArtifacts by @xuwei-k in https://github.com/sbt/sbt/pull/9083
- refactor: Use `IO.withTemporaryDirectory` instead of `File.createTempFile` by @xuwei-k in https://github.com/sbt/sbt/pull/9084
- refactor: Use Files.writeString instead of Files.write by @xuwei-k in https://github.com/sbt/sbt/pull/9093
- ci: Update sbt-java-formatter by @mkurz in https://github.com/sbt/sbt/pull/9098
- refactor: Use exists instead of find and isDefined by @xuwei-k in https://github.com/sbt/sbt/pull/9111
- Remove duplicate hedgehog TestFramework setting by @xuwei-k in https://github.com/sbt/sbt/pull/9112
- desp: Gigahorse 0.9.4 by @eed3si9n in https://github.com/sbt/sbt/pull/9125
- refactor: Replace string Array with ju.List by @eed3si9n in https://github.com/sbt/sbt/pull/9138
- Bump sbtn to 2.0.0-RC13 by @eed3si9n in https://github.com/sbt/sbt/pull/9140
- ci: Update sbt and sbt-scalafmt plugin by @xuwei-k in https://github.com/sbt/sbt/pull/9148
- ci: Avoid postfix in build files by @xuwei-k in https://github.com/sbt/sbt/pull/9150
- Remove unnecessary code in build.sbt by @xuwei-k in https://github.com/sbt/sbt/pull/9154
- ci: Filter NOTICE file by @xuwei-k in https://github.com/sbt/sbt/pull/9155
- Remove duplicate packageSrc/mappings by @xuwei-k in https://github.com/sbt/sbt/pull/9156
- ci: Avoid infix syntax in build files by @xuwei-k in https://github.com/sbt/sbt/pull/9157
- test: Add more ClassLoaderLayeringStrategy.Raw test by @xuwei-k in https://github.com/sbt/sbt/pull/9163
- test: Add javaagent test by @xuwei-k in https://github.com/sbt/sbt/pull/9164
- ci: Avoid deprecated replaceAllLiterally by @xuwei-k in https://github.com/sbt/sbt/pull/9173
- Remove unused code in `project/Utils.scala` by @xuwei-k in https://github.com/sbt/sbt/pull/9174
- Avoid infix syntax in build files by @xuwei-k in https://github.com/sbt/sbt/pull/9175
- Remove "-source:3.7" option by @xuwei-k in https://github.com/sbt/sbt/pull/9176
- sjson-new 0.14.0 by @eed3si9n in https://github.com/sbt/sbt/pull/9177
- Improve --help by @eed3si9n in https://github.com/sbt/sbt/pull/9180
- ci: Fix warnings in launcherPackage sub project by @xuwei-k in https://github.com/sbt/sbt/pull/9188
- test: Enable project/source-plugins scripted test by @xuwei-k in https://github.com/sbt/sbt/pull/9191
- test: Enable actions/eval-is-safe-and-sound scripted test by @xuwei-k in https://github.com/sbt/sbt/pull/9192
- test: Add move-file test by @eed3si9n in https://github.com/sbt/sbt/pull/9197
- test: Enable run/fork-loader scripted test by @xuwei-k in https://github.com/sbt/sbt/pull/9199
- refactor: Use scala.jdk.OptionConverters instead of JavaInterfaceUtil by @xuwei-k in https://github.com/sbt/sbt/pull/9200
- test: Port tests to use lm-coursier by @eed3si9n in https://github.com/sbt/sbt/pull/9205
- Add definedTestNames test by @xuwei-k in https://github.com/sbt/sbt/pull/9210
- refactor: Use `Files.readString` instead of `readAllBytes` by @xuwei-k in https://github.com/sbt/sbt/pull/9211
- refactor: Use InputStream.transferTo by @xuwei-k in https://github.com/sbt/sbt/pull/9212
- refactor: Use java.util.Arrays.copyOf in JsonRpcReader by @xuwei-k in https://github.com/sbt/sbt/pull/9213
- Zinc 2.0.0-M18 by @eed3si9n in https://github.com/sbt/sbt/pull/9219
- refactor: Use scala.util.Using.resource instead of try-finally by @xuwei-k in https://github.com/sbt/sbt/pull/9230
- Update to Coursier 2.1.25-M25 by @eed3si9n in https://github.com/sbt/sbt/pull/9232
- Update sbtn to 2.0.0-RC14 for timeout fix by @eed3si9n in https://github.com/sbt/sbt/pull/9240
- Update mimaSettings by @xuwei-k in https://github.com/sbt/sbt/pull/9242
- ci: Build sbt/sbt using sbt 2 by @xuwei-k in https://github.com/sbt/sbt/pull/9244
- refactor: format launcherPackageIntegrationTest by @xuwei-k in https://github.com/sbt/sbt/pull/9245
- Improve deprecation UX for watchSources by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9247
- test: Add test for issue 2188 by @xuwei-k in https://github.com/sbt/sbt/pull/9264
- Reimplement FarmHash by @eed3si9n in https://github.com/sbt/sbt/pull/9278
- ci: Scalafmt 3.11.1 by @eed3si9n in https://github.com/sbt/sbt/pull/9279
- sjson-new 0.15.0 + Contraband 0.9.0 by @eed3si9n in https://github.com/sbt/sbt/pull/9282
- Update mima setting by @xuwei-k in https://github.com/sbt/sbt/pull/9294
- ci: Remove duplicate scalaVersion setting by @xuwei-k in https://github.com/sbt/sbt/pull/9297
- Update to Scala 3.8.4 by @eed3si9n in https://github.com/sbt/sbt/pull/9302
- Update mimaPreviousArtifacts by @xuwei-k in https://github.com/sbt/sbt/pull/9308
- Avoid dollars in name by @xuwei-k in https://github.com/sbt/sbt/pull/9313
- Remove type ascription in Continuous by @xuwei-k in https://github.com/sbt/sbt/pull/9314
- sbtn 2.0.0-f0d2fae4 by @eed3si9n in https://github.com/sbt/sbt/pull/9333
- ci: Update mimaPreviousArtifacts by @xuwei-k in https://github.com/sbt/sbt/pull/9341
- ci: Update version and ivy tests by @xuwei-k in https://github.com/sbt/sbt/pull/9342
- test: Update sbt.version in launcher-package/citest2 by @xuwei-k in https://github.com/sbt/sbt/pull/9357
- ci: sbt-salad-days by @eed3si9n in https://github.com/sbt/sbt/pull/9360
- ipcsocket 1.7.0 by @eed3si9n in https://github.com/sbt/sbt/pull/9361
- sbtn 2.0.0-2932685e by @eed3si9n in https://github.com/sbt/sbt/pull/9363
- ci: bump actions/checkout from 6 to 7 by @dependabot in https://github.com/sbt/sbt/pull/9366
- test: Refactor global plugin test by @eed3si9n in https://github.com/sbt/sbt/pull/9380
- ci: Modify bug report template for custom labels by @eed3si9n in https://github.com/sbt/sbt/pull/9384
- test: Enable scala-js tests by @xuwei-k in https://github.com/sbt/sbt/pull/9387
- Update versions in TemplateCommandUtil by @xuwei-k in https://github.com/sbt/sbt/pull/9388
- Add devcontainer by @eed3si9n in https://github.com/sbt/sbt/pull/9392
- Update Coursier to version 2.1.25-M26 by @eed3si9n in https://github.com/sbt/sbt/pull/9393
- Add issue reproduction skill by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9400
- refactor: Refactor LibraryManagement.scala by @xuwei-k in https://github.com/sbt/sbt/pull/9405
- Mark log-related keys transient by @eed3si9n in https://github.com/sbt/sbt/pull/9407
- ivy 2.3.0-sbt-939a7ea82f140cdb1f51dc404bb43e00a8c43b83 by @eed3si9n in https://github.com/sbt/sbt/pull/9423
- Use JDK's Unix domain socket for bootserver by @eed3si9n in https://github.com/sbt/sbt/pull/9427
- Tweak server startup message by @eed3si9n in https://github.com/sbt/sbt/pull/9429
- ipcsocket 1.8.0 by @eed3si9n in https://github.com/sbt/sbt/pull/9433
- sbtn 2.0.0-b4d628dd by @eed3si9n in https://github.com/sbt/sbt/pull/9443
- Add native client startup diagnostics regression test by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9447
- Avoid deprecated url method in test by @xuwei-k in https://github.com/sbt/sbt/pull/9453
- Ivy 2.3.0-sbt-f686954b0021a5c3245766ced0cdaeca8ba2fd7a by @eed3si9n in https://github.com/sbt/sbt/pull/9457
- sjson-new 0.15.1 by @eed3si9n in https://github.com/sbt/sbt/pull/9458
- Bump version number by @eed3si9n in https://github.com/sbt/sbt/pull/9470
- build(deps): bump actions/setup-python from 6 to 7 by @dependabot in https://github.com/sbt/sbt/pull/9476
- ci: Remove unused code in launcher-package/build.sbt by @xuwei-k in https://github.com/sbt/sbt/pull/9480
- ci: Use --server by @eed3si9n in https://github.com/sbt/sbt/pull/9483
- Zinc 2.0.2 by @eed3si9n in https://github.com/sbt/sbt/pull/9489
- ci: Update project/plugins.sbt by @xuwei-k in https://github.com/sbt/sbt/pull/9491
- ci: Fix warnings in build.sbt by @xuwei-k in https://github.com/sbt/sbt/pull/9494
- Zinc 2.0.3 by @eed3si9n in https://github.com/sbt/sbt/pull/9498
- sbtn 2.0.0-a0c4773a by @eed3si9n in https://github.com/sbt/sbt/pull/9503
- ci: Fix publishLocalBin by @eed3si9n in https://github.com/sbt/sbt/pull/9505
- Zinc 2.0.4 by @eed3si9n in https://github.com/sbt/sbt/pull/9508
- ci: Update mima setting by @xuwei-k in https://github.com/sbt/sbt/pull/9511
- Use sbt 2.0.4 by @eed3si9n in https://github.com/sbt/sbt/pull/9512
- build(deps): bump actions/cache from 4 to 6 by @dependabot in https://github.com/sbt/sbt/pull/9513
- refactor: Remove unnecessary match by @xuwei-k in https://github.com/sbt/sbt/pull/9539
- test: Add test for Test/baseDirectory by @eed3si9n in https://github.com/sbt/sbt/pull/9544
- sbtn 2.0.0-731e6666 by @eed3si9n in https://github.com/sbt/sbt/pull/9545
- test: Add regression test for resource reading by @eed3si9n in https://github.com/sbt/sbt/pull/9552
- ci: Remove cla-checker v1 by @eed3si9n in https://github.com/sbt/sbt/pull/9570
- Update Eval.compileAndLoad by @xuwei-k in https://github.com/sbt/sbt/pull/9583
- refactor: Remove unused code by @xuwei-k in https://github.com/sbt/sbt/pull/9589
- doc: Fix HashAlgo scaladoc by @xuwei-k in https://github.com/sbt/sbt/pull/9590
- refactor: Add tailrec annotation by @xuwei-k in https://github.com/sbt/sbt/pull/9591
- refactor: Remove redundant String.toString by @xuwei-k in https://github.com/sbt/sbt/pull/9592
**Full Changelog**: https://github.com/sbt/sbt/compare/f97633075960aaacd9e571461a688a000ed5ba0d...v2.1.0

231
notes/2.1.0/2.1.0-draft.md Normal file
View File

@ -0,0 +1,231 @@
## Ivyless publishing
sbt 2.1.0 switches to Ivyless publishing.
This was contributed by @bitloi, @eureka928, @BrianHotopp, and @eed3si9n in https://github.com/sbt/sbt/pull/8686, https://github.com/sbt/sbt/pull/8866, https://github.com/sbt/sbt/pull/8988, https://github.com/sbt/sbt/pull/9463, and https://github.com/sbt/sbt/pull/9533 etc.
## Source dependency update
sbt 2.1.0 provides better control to handle source dependencies.
This was contributed by @seroperson in https://github.com/sbt/sbt/pull/8880.
## 🚀 Other updates
- Adds project id to Zinc debug log by @Achieve3318 in https://github.com/sbt/sbt/pull/8750
- feat: Support `doc / skip := true` by @eureka928 in https://github.com/sbt/sbt/pull/8824
- feat: case-insensitive tab completion by @bitloi in https://github.com/sbt/sbt/pull/8827
- dependencyTree: add `--append` for file output in multi-module builds by @oolokioo7 in https://github.com/sbt/sbt/pull/8878
- feat: Eviction error for downgrade of Scala 3.x by @bitloi in https://github.com/sbt/sbt/pull/8912
- feat: Add English aliases `cross` and `switch` for `+` / `++` by @jonathanchang31 in https://github.com/sbt/sbt/pull/9051
- feat: BSP `buildTarget/dependencyModules` by @jsdevninja in https://github.com/sbt/sbt/pull/9085
- feat: Forward test events to listeners as they are emitted by @claytonlin1110 in https://github.com/sbt/sbt/pull/9087
- feat: Print cross-project test failure recap at end of aggregated run by @BrianHotopp in https://github.com/sbt/sbt/pull/9214
- Specific error message for defining types in `build.sbt` by @xuwei-k in https://github.com/sbt/sbt/pull/9579
- Use JDK's Unix domain socket for bootserver by @eed3si9n in https://github.com/sbt/sbt/pull/9427
## 🐛 Bug fixes
- fix: Excluding artifacts without Scala version suffix by @seroperson in https://github.com/sbt/sbt/pull/8756
- fix: Fix duplicate compiler bridge JAR in `ZincComponentManager` by @since-2017-hub in https://github.com/sbt/sbt/pull/8800
- fix: Backtick-quote project IDs in classloader error messages by @eureka928 in https://github.com/sbt/sbt/pull/8830
- fix: Make `ScopeFilter.all` ordering deterministic and preserve project filter order by @bitloi in https://github.com/sbt/sbt/pull/8861
- fix: Respect global log level in continuous build watcher by @eureka928 in https://github.com/sbt/sbt/pull/8864
- fix: Populate `explicitArtifacts` from classifier in `UpdateReport` by @eureka928 in https://github.com/sbt/sbt/pull/8874
- fix: handle `-sbt-dir` with spaces from `.sbtopts` by @Eruis2579 in https://github.com/sbt/sbt/pull/8875
- fix: `sbt-with-loglevel-error` by @oolokioo7 in https://github.com/sbt/sbt/pull/8883
- fix: Handle `scala/toolkit.local` when passed as argument to sbt new by @mohamed0803 in https://github.com/sbt/sbt/pull/8887
- fix: Remove `projectDescriptors` key that leaks Ivy types by @eureka928 in https://github.com/sbt/sbt/pull/8894
- Fix `TaskConvert.appExpr` by @xuwei-k in https://github.com/sbt/sbt/pull/8899
- fix: Fixes script mode using Scala 3.x by @bitloi in https://github.com/sbt/sbt/pull/8900
- fix: Preserve user-specified scope axes in command instead of silently discarding them by @bittoby in https://github.com/sbt/sbt/pull/8916
- fix: Fixes scripted test loading build definition twice on first test in batch by @bittoby in https://github.com/sbt/sbt/pull/8946
- fix: Fixes misleading error message when `.evaluated` is used outside macro context by @BrianHotopp in https://github.com/sbt/sbt/pull/8951
- fix: Fixes `libraryDependencySchemes` on cross-platform dependencies by @ckstck in https://github.com/sbt/sbt/pull/8957
- Fix Resolvers test formatting by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/8968
- fix: Emit `<type>` in POM for non-JAR explicit artifacts by @BrianHotopp in https://github.com/sbt/sbt/pull/8975
- fix: Fix `ProjectMatrix` base directory resolution for source dependencies by @bittoby in https://github.com/sbt/sbt/pull/8983
- fix: Stabilize progress indicator sort by @bittoby in https://github.com/sbt/sbt/pull/8984
- fix: Avoid following symlinks during scripted test cleanup by @eureka928 in https://github.com/sbt/sbt/pull/8985
- fix: Update `++` help text to reflect `SemanticSelector` matching by @BrianHotopp in https://github.com/sbt/sbt/pull/8995
- fix: Write `maven-metadata-local.xml` during `publishM2` for `SNAPSHOT`s by @BrianHotopp in https://github.com/sbt/sbt/pull/8996
- Fix old shell syntax warning by @xuwei-k in https://github.com/sbt/sbt/pull/8998
- fix: Resolve relative paths from `-sbt-dir` / `sbt.global.base` by @BrianHotopp in https://github.com/sbt/sbt/pull/9001
- fix: Return JSON-RPC error for unknown server methods by @BrianHotopp in https://github.com/sbt/sbt/pull/9002
- fix: Add `--fail` to `curl` in launcher to prevent corrupt JARs by @BrianHotopp in https://github.com/sbt/sbt/pull/9003
- fix: `derivedProjects` not invoked when no explicit root project is defined by @bitcompass in https://github.com/sbt/sbt/pull/9012
- fix: Widen `IOException` catch in `organicTask` to cover result serialization by @bittoby in https://github.com/sbt/sbt/pull/9050
- fix: Clear compiler bridge Zinc cache on `reboot dev` by @bitloi in https://github.com/sbt/sbt/pull/9057
- fix: Delete `bootDirectory` in `cleanFull` by @xuwei-k in https://github.com/sbt/sbt/pull/9060
- override `sbt.Tests.Group` `hashCode` by @xuwei-k in https://github.com/sbt/sbt/pull/9065
- fix: Add description and url to `PomGenerator` output by @eureka928 in https://github.com/sbt/sbt/pull/9069
- fix: Delete `src/main/resources/log4j2.xml` by @xuwei-k in https://github.com/sbt/sbt/pull/9071
- fix: Fix `consoleProject` for Scala 3 by @eureka928 in https://github.com/sbt/sbt/pull/9073
- fix: Cache `AutoPlugin` `projectSettings`/`projectConfigurations` by @volcano303 in https://github.com/sbt/sbt/pull/9077
- fix: Fixes Ctrl-c handling by @eed3si9n in https://github.com/sbt/sbt/pull/9130
- fix: Avoid `dependencyTree` browse crashes on Linux by @jimcody1995 in https://github.com/sbt/sbt/pull/9147
- fix: Ensure resources are copied atomically by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9193
- fix: Fixes cache restoration of incremental compilation state (Analysis) by @eed3si9n in https://github.com/sbt/sbt/pull/9207
- fix: Collapse duplicate subtrees in dependency tree rendering by @BrianHotopp in https://github.com/sbt/sbt/pull/9226
- fix: Remove explicit `equals` and `hashCode` in `LabeledFunctions` by @xuwei-k in https://github.com/sbt/sbt/pull/9228
- fix: Catch timeout on sbtn exit by @eed3si9n in https://github.com/sbt/sbt/pull/9239
- fix: Probe for a live server before refusing to start by @BrianHotopp in https://github.com/sbt/sbt/pull/9337
- fix: Substitute `[organisation]` literally by defaulting `Patterns.isMavenCompatible` to `false` by @jozanek in https://github.com/sbt/sbt/pull/9344
- fix: Constrain job id parser to signed longs by @merlinorg in https://github.com/sbt/sbt/pull/9353
- fix: Suppress multiple main classes warning when running tests by @merlinorg in https://github.com/sbt/sbt/pull/9372
- fix: Fixes auto import of givens by @xuwei-k in https://github.com/sbt/sbt/pull/9409
- fix: Honor `-java-home` in the Windows runners by @jozanek in https://github.com/sbt/sbt/pull/9434
- fix: Fixes dependency parsing for BSP by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9450
- fix: Fixes gRPC channels recreated on reload by @eed3si9n in https://github.com/sbt/sbt/pull/9502
- fix: Fixes sbtn stdin race condition by @eed3si9n in https://github.com/sbt/sbt/pull/9521
- fix: Don't freeze the server when a terminal-properties response is malformed or slow by @BrianHotopp in https://github.com/sbt/sbt/pull/9526
- fix: Don't strand the server when a client dies with a terminal query unanswered by @BrianHotopp in https://github.com/sbt/sbt/pull/9527
- fix: Bound the client boot wait when the forked server never starts by @BrianHotopp in https://github.com/sbt/sbt/pull/9549
- fix: Don't re-extract a dirzip whose digest already matches by @hoangmaihuy in https://github.com/sbt/sbt/pull/9555
- Ensure Java artifacts are exposed when `usePipelining` is set to `true` by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9574
## ⚡ Performance improvements
- perf: lightweight `UpdateReport` cache persistence by @bitloi in https://github.com/sbt/sbt/pull/8815
- perf: Resolve dependencies in parallel under the super shell by @BrianHotopp in https://github.com/sbt/sbt/pull/9295
- Optimize `InterfaceUtil` by @xuwei-k in https://github.com/sbt/sbt/pull/9223
- perf: Intern `UpdateReport` values by @hoangmaihuy in https://github.com/sbt/sbt/pull/9523
- perf: Keep the Analysis cached across an action cache output sync by @hoangmaihuy in https://github.com/sbt/sbt/pull/9550
## Behind the scenes
- deps: sjson-new 0.15.0 + Contraband 0.9.0 by @eed3si9n in https://github.com/sbt/sbt/pull/9282
- deps: Gigahorse 0.9.4 by @eed3si9n in https://github.com/sbt/sbt/pull/9125
- deps: Zinc 2.0.3 by @eed3si9n in https://github.com/sbt/sbt/pull/9498
- test: Enable scripted tests by @xuwei-k in https://github.com/sbt/sbt/pull/8932, https://github.com/sbt/sbt/pull/8933, https://github.com/sbt/sbt/pull/8934, https://github.com/sbt/sbt/pull/8935, https://github.com/sbt/sbt/pull/8936, https://github.com/sbt/sbt/pull/8937, https://github.com/sbt/sbt/pull/8943, https://github.com/sbt/sbt/pull/8944, https://github.com/sbt/sbt/pull/8947
- test: Add Git Bash test on Windows by @eed3si9n in https://github.com/sbt/sbt/pull/8779
- ci: Ignore formatting commits by @eed3si9n in https://github.com/sbt/sbt/pull/8814
- refactor: Extract color-default logic as a pure function by @eureka928 in https://github.com/sbt/sbt/pull/8817
- refactor: Remove Ivy from update path and decouple lm-coursier from lm-ivy by @eureka928 in https://github.com/sbt/sbt/pull/8832
- ci: Update launcher-package rpmUrl by @xuwei-k in https://github.com/sbt/sbt/pull/8833
- docs: Fix typo in contributor guide by @it-education-md in https://github.com/sbt/sbt/pull/8834, https://github.com/sbt/sbt/pull/8835, https://github.com/sbt/sbt/pull/8837
- Avoid `private[this]` in test build files by @xuwei-k in https://github.com/sbt/sbt/pull/8839
- test: Enable `DagSpecification.scala` by @xuwei-k in https://github.com/sbt/sbt/pull/8840
- Remove unnecessary code by @xuwei-k in https://github.com/sbt/sbt/pull/8843
- test: Use new wildcard syntax in test build files by @xuwei-k in https://github.com/sbt/sbt/pull/8844
- Use `given` instead of `implicit val` by @xuwei-k in https://github.com/sbt/sbt/pull/8870
- refactor: Extract lm-ivy to separate sbt-ivy plugin module by @eureka928 in https://github.com/sbt/sbt/pull/8873
- Improve `-help`/`--help` and fix launcher test harness by @Eruis2579 in https://github.com/sbt/sbt/pull/8879
- Update `TemplateCommandUtil.scala` by @xuwei-k in https://github.com/sbt/sbt/pull/8884
- ci: Update Java file formatter plugin by @xuwei-k in https://github.com/sbt/sbt/pull/8892
- refactor: Delete `@silent` annotation by @xuwei-k in https://github.com/sbt/sbt/pull/8893
- refactor: Use `InputStream.transferTo` by @xuwei-k in https://github.com/sbt/sbt/pull/8896, https://github.com/sbt/sbt/pull/9212
- Delete `checkPluginCross` task. Add `sourceGenerators` for PluginCross by @xuwei-k in https://github.com/sbt/sbt/pull/8897
- Format `launcher-package/build.sbt` by @xuwei-k in https://github.com/sbt/sbt/pull/8898
- test: Add `nested-testquick` scripted test by @atoz96 in https://github.com/sbt/sbt/pull/8901
- test: server-test and related refactoring by @seroperson in https://github.com/sbt/sbt/pull/8904
- Simplify `-Werror` application by @eed3si9n in https://github.com/sbt/sbt/pull/8906
- Add VF keys by @eed3si9n in https://github.com/sbt/sbt/pull/8915
- ci: Add Scalafix `DisableSyntax.noReturns` by @xuwei-k in https://github.com/sbt/sbt/pull/8922
- deps: launcher 1.6.1 by @corevibe555 in https://github.com/sbt/sbt/pull/8923
- refactor: Reduce `return` statements by @xuwei-k in https://github.com/sbt/sbt/pull/8925
- refactor: Remove unnecessary unchecked annotation by @xuwei-k in https://github.com/sbt/sbt/pull/8926
- Update `Parser.~.unapply` by @xuwei-k in https://github.com/sbt/sbt/pull/8927
- refactor: Update `EscHelpers.scala` by @xuwei-k in https://github.com/sbt/sbt/pull/8928
- refactor: Use `new Array` instead of `Array.fill` by @xuwei-k in https://github.com/sbt/sbt/pull/8929
- refactor: Avoid deprecated `URL` constructor by @xuwei-k in https://github.com/sbt/sbt/pull/8930
- test: Delete `sbt-test/lm-coursier/neo-sbt-scalafmt` by @xuwei-k in https://github.com/sbt/sbt/pull/8931
- refactor: Remove `return` statement in `Escapes.scala` by @xuwei-k in https://github.com/sbt/sbt/pull/8938
- refactor: Remove `return` statement in `CommandExchange.scala` by @xuwei-k in https://github.com/sbt/sbt/pull/8939
- refactor: Remove `return` statements in `UpdateReportPersistenceBenchmark` by @xuwei-k in https://github.com/sbt/sbt/pull/8940
- test: Use `IO.withTemporaryDirectory` in `UpdateReportPersistenceSpec` by @xuwei-k in https://github.com/sbt/sbt/pull/8941
- test: Delete `sbt-test/project/continuations` by @xuwei-k in https://github.com/sbt/sbt/pull/8948
- Add scalafmt `newlines.topLevelStatementBlankLines` setting by @xuwei-k in https://github.com/sbt/sbt/pull/8949
- Replace defunct link by @Philippus in https://github.com/sbt/sbt/pull/8950
- ci: Bump nick-fields/retry from 3.0.2 to 4.0.0 by @dependabot in https://github.com/sbt/sbt/pull/8965
- refactor: Update `ErrorMessageAuthenticator`. Remove unnecessary reflection by @xuwei-k in https://github.com/sbt/sbt/pull/8976
- test: Update `ZincComponentCompilerSpec` by @xuwei-k in https://github.com/sbt/sbt/pull/8979
- refactor: Fix warning in `Settings.scala` by @xuwei-k in https://github.com/sbt/sbt/pull/8999
- Add parentheses by @xuwei-k in https://github.com/sbt/sbt/pull/9000
- ci: Organize ScalaTest dependency by @xuwei-k in https://github.com/sbt/sbt/pull/9015
- ci: Update sbt-native-image plugin by @xuwei-k in https://github.com/sbt/sbt/pull/9016
- Update sbt version in launcher-package test by @xuwei-k in https://github.com/sbt/sbt/pull/9021
- refactor: Remove unnecessary reflection in `IvyXml` by @xuwei-k in https://github.com/sbt/sbt/pull/9024
- refactor: Remove unnecessary `language.experimental.macros` import by @xuwei-k in https://github.com/sbt/sbt/pull/9025
- refactor: Deprecate unused code in `TaskMacro` by @xuwei-k in https://github.com/sbt/sbt/pull/9026
- test: Enable `project-matrix/native` test by @xuwei-k in https://github.com/sbt/sbt/pull/9038
- ci: Remove unnecessary code in build file by @xuwei-k in https://github.com/sbt/sbt/pull/9045
- refactor: Format `pom.xml` by @xuwei-k in https://github.com/sbt/sbt/pull/9059
- ci: Fix Scaladoc issue in `mainProj` and `sbtIvyProj` by @xuwei-k in https://github.com/sbt/sbt/pull/9061
- test: Fix warnings in scripted tests by @xuwei-k in https://github.com/sbt/sbt/pull/9062
- ci: Add `-source-links` option by @xuwei-k in https://github.com/sbt/sbt/pull/9063
- refactor: Remove `whitesource` from `LintUnused` by @xuwei-k in https://github.com/sbt/sbt/pull/9064
- refactor: Remove return from `sbtw/Main` by @xuwei-k in https://github.com/sbt/sbt/pull/9066
- ci: Delete unused code in `project/Dependencies.scala` by @xuwei-k in https://github.com/sbt/sbt/pull/9070
- ci: Remove `-Ymacro-expand` option by @xuwei-k in https://github.com/sbt/sbt/pull/9072
- Update `.gitattributes` for Contraband files by @xuwei-k in https://github.com/sbt/sbt/pull/9076
- refactor: Use `IO.withTemporaryDirectory` instead of `File.createTempFile` by @xuwei-k in https://github.com/sbt/sbt/pull/9084
- refactor: Use `Files.writeString` instead of `Files.write` by @xuwei-k in https://github.com/sbt/sbt/pull/9093
- ci: Update sbt-java-formatter by @mkurz in https://github.com/sbt/sbt/pull/9098
- refactor: Use `exists` instead of `find` and `isDefined` by @xuwei-k in https://github.com/sbt/sbt/pull/9111
- Remove duplicate hedgehog `TestFramework` setting by @xuwei-k in https://github.com/sbt/sbt/pull/9112
- ci: Update sbt and sbt-scalafmt plugin by @xuwei-k in https://github.com/sbt/sbt/pull/9148
- ci: Avoid postfix in build files by @xuwei-k in https://github.com/sbt/sbt/pull/9150
- Remove unnecessary code in `build.sbt` by @xuwei-k in https://github.com/sbt/sbt/pull/9154
- ci: Filter NOTICE file by @xuwei-k in https://github.com/sbt/sbt/pull/9155
- Remove duplicate `packageSrc/mappings` by @xuwei-k in https://github.com/sbt/sbt/pull/9156
- ci: Avoid infix syntax in build files by @xuwei-k in https://github.com/sbt/sbt/pull/9157
- test: Add more `ClassLoaderLayeringStrategy.Raw` test by @xuwei-k in https://github.com/sbt/sbt/pull/9163
- test: Add javaagent test by @xuwei-k in https://github.com/sbt/sbt/pull/9164
- ci: Avoid deprecated `replaceAllLiterally` by @xuwei-k in https://github.com/sbt/sbt/pull/9173
- Remove unused code in `project/Utils.scala` by @xuwei-k in https://github.com/sbt/sbt/pull/9174
- Avoid infix syntax in build files by @xuwei-k in https://github.com/sbt/sbt/pull/9175
- Remove `-source:3.7` option by @xuwei-k in https://github.com/sbt/sbt/pull/9176
- Improve `--help` by @eed3si9n in https://github.com/sbt/sbt/pull/9180
- ci: Fix warnings in launcherPackage sub project by @xuwei-k in https://github.com/sbt/sbt/pull/9188
- test: Enable `project/source-plugins` scripted test by @xuwei-k in https://github.com/sbt/sbt/pull/9191
- test: Enable `actions/eval-is-safe-and-sound` scripted test by @xuwei-k in https://github.com/sbt/sbt/pull/9192
- test: Add move-file test by @eed3si9n in https://github.com/sbt/sbt/pull/9197
- test: Enable `run/fork-loader` scripted test by @xuwei-k in https://github.com/sbt/sbt/pull/9199
- refactor: Use `scala.jdk.OptionConverters` instead of `JavaInterfaceUtil` by @xuwei-k in https://github.com/sbt/sbt/pull/9200
- Add `definedTestNames` test by @xuwei-k in https://github.com/sbt/sbt/pull/9210
- refactor: Use `Files.readString` instead of `readAllBytes` by @xuwei-k in https://github.com/sbt/sbt/pull/9211- refactor: Use `java.util.Arrays.copyOf` in `JsonRpcReader` by @xuwei-k in https://github.com/sbt/sbt/pull/9213
- refactor: Use `scala.util.Using.resource` instead of `try`-`finally` by @xuwei-k in https://github.com/sbt/sbt/pull/9230
- deps: Coursier 2.1.25-M25 by @eed3si9n in https://github.com/sbt/sbt/pull/9232
- ci: Build sbt/sbt using sbt 2 by @xuwei-k in https://github.com/sbt/sbt/pull/9244
- refactor: format launcherPackageIntegrationTest by @xuwei-k in https://github.com/sbt/sbt/pull/9245
- Improve deprecation UX for `watchSources` by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9247
- test: Add test for issue 2188 by @xuwei-k in https://github.com/sbt/sbt/pull/9264
- ci: Remove duplicate `scalaVersion` setting by @xuwei-k in https://github.com/sbt/sbt/pull/9297
- refactor: Avoid dollars in name by @xuwei-k in https://github.com/sbt/sbt/pull/9313
- Remove type ascription in `Continuous` by @xuwei-k in https://github.com/sbt/sbt/pull/9314
- ci: Update version and ivy tests by @xuwei-k in https://github.com/sbt/sbt/pull/9342
- test: Update `sbt.version` in `launcher-package/citest2` by @xuwei-k in https://github.com/sbt/sbt/pull/9357
- deps: sbtn 2.0.0-2932685e by @eed3si9n in https://github.com/sbt/sbt/pull/9363
- ci: bump actions/checkout from 6 to 7 by @dependabot in https://github.com/sbt/sbt/pull/9366
- ci: Modify bug report template for custom labels by @eed3si9n in https://github.com/sbt/sbt/pull/9384
- test: Enable scala-js tests by @xuwei-k in https://github.com/sbt/sbt/pull/9387
- Update versions in `TemplateCommandUtil` by @xuwei-k in https://github.com/sbt/sbt/pull/9388
- ci: Add devcontainer by @eed3si9n in https://github.com/sbt/sbt/pull/9392
- ci: Add issue reproduction skill by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9400
- refactor: Refactor `LibraryManagement.scala` by @xuwei-k in https://github.com/sbt/sbt/pull/9405
- Mark log-related keys transient by @eed3si9n in https://github.com/sbt/sbt/pull/9407
- deps: ipcsocket 1.8.0 by @eed3si9n in https://github.com/sbt/sbt/pull/9433
- Add native client startup diagnostics regression test by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9447
- refactor: Avoid deprecated `url(...)` method in test by @xuwei-k in https://github.com/sbt/sbt/pull/9453
- Bump version number by @eed3si9n in https://github.com/sbt/sbt/pull/9470
- ci: Bump actions/setup-python from 6 to 7 by @dependabot in https://github.com/sbt/sbt/pull/9476
- ci: Remove unused code in `launcher-package/build.sbt` by @xuwei-k in https://github.com/sbt/sbt/pull/9480
- ci: Use `--server` by @eed3si9n in https://github.com/sbt/sbt/pull/9483
- ci: Update `project/plugins.sbt` by @xuwei-k in https://github.com/sbt/sbt/pull/9491
- ci: Fix warnings in `build.sbt` by @xuwei-k in https://github.com/sbt/sbt/pull/9494
- ci: Fix `publishLocalBin` by @eed3si9n in https://github.com/sbt/sbt/pull/9505
- ci: Update mima setting by @xuwei-k in https://github.com/sbt/sbt/pull/9511
- ci: Use sbt 2.0.4 by @eed3si9n in https://github.com/sbt/sbt/pull/9512
- ci: Bump actions/cache from 4 to 6 by @dependabot in https://github.com/sbt/sbt/pull/9513
- refactor: Remove unnecessary match by @xuwei-k in https://github.com/sbt/sbt/pull/9539
- test: Add test for `Test/baseDirectory` by @eed3si9n in https://github.com/sbt/sbt/pull/9544
- test: Add regression test for resource reading by @eed3si9n in https://github.com/sbt/sbt/pull/9552
- ci: Remove cla-checker v1 by @eed3si9n in https://github.com/sbt/sbt/pull/9570
- Update `Eval.compileAndLoad` by @xuwei-k in https://github.com/sbt/sbt/pull/9583
- refactor: Remove unused code by @xuwei-k in https://github.com/sbt/sbt/pull/9589
- docs: Fix `HashAlgo` scaladoc by @xuwei-k in https://github.com/sbt/sbt/pull/9590
- refactor: Add `@tailrec` annotation by @xuwei-k in https://github.com/sbt/sbt/pull/9591
- refactor: Remove redundant `String.toString` by @xuwei-k in https://github.com/sbt/sbt/pull/9592
**Full Changelog**: https://github.com/sbt/sbt/compare/f97633075960aaacd9e571461a688a000ed5ba0d...v2.1.0

View File

@ -0,0 +1,157 @@
## Security fixes
- fix: Gate LSP calls behind auth ([GHSA-m2pw-22cj-jq4v](https://github.com/sbt/sbt/security/advisories/GHSA-m2pw-22cj-jq4v)) by @eed3si9n in https://github.com/sbt/sbt/commit/6365a0723 (released in 2.0.6)
- fix: Harden Windows VCS URI fragments against command injection by @anatoliykmetyuk in https://github.com/sbt/sbt/commit/a9347cf22 (released in 2.0.0)
## 🚀 updates
- feat: sbtn subscription level by @bitloi in https://github.com/sbt/sbt/pull/8796 (released in 2.0.0)
- feat: Add allowMismatchScala setting by @dev-miro26 in https://github.com/sbt/sbt/pull/8804 (released in 2.0.0)
- feat: support passing JVM arguments via -- delimiter in run commands by @RenzoMXD in https://github.com/sbt/sbt/pull/8868 (released in 2.0.0)
- feat: Support --autostart=false and --no-server in sbtn client by @eureka928 in https://github.com/sbt/sbt/pull/8895 (released in 2.0.0)
- Retry on HTTP 5xx during dependency resolution by @majk-p in https://github.com/sbt/sbt/pull/8903 (released in 2.0.0)
- feat: Add dependencyMode setting to control classpath transitivity by @eureka928 in https://github.com/sbt/sbt/pull/8960 (released in 2.0.0)
- feat: Add cacheVersion setting for global cache invalidation by @eureka928 in https://github.com/sbt/sbt/pull/8993 (released in 2.0.0)
- feat: Expose `scripted / excludeFilter` and `scripted / includeFilter` keys for scripted test filtering. by @arashi01 in https://github.com/sbt/sbt/pull/9131 (released in 2.0.0)
- feat: ClassLoaderStrategy.Raw by @eed3si9n in https://github.com/sbt/sbt/pull/9161 (released in 2.0.0)
- Add ForkOptions.connectionTimeout by @xuwei-k in https://github.com/sbt/sbt/pull/9172 (released in 2.0.0)
- feat: Execution log by @eed3si9n in https://github.com/sbt/sbt/pull/9203 (released in 2.0.0)
- Add runner support for execution log by @eed3si9n in https://github.com/sbt/sbt/pull/9237 (released in 2.0.0)
- Allow opt-out of transient warning by @eed3si9n in https://github.com/sbt/sbt/pull/9437 (released in 2.0.4)
## 🐛 Bug fixes
- fix: Fixes double quotes handling in fork mode by @BrianHotopp in https://github.com/sbt/sbt/pull/8765 (released in 2.0.0)
- fix: Refer to universal sbtn in detectNativeClient by @fireXtract in https://github.com/sbt/sbt/pull/8810 (released in 2.0.0)
- fix: Print server stderr on startup failure by @eureka928 in https://github.com/sbt/sbt/pull/8816 (released in 2.0.0)
- Fix lazy val name handling in Eval by @xuwei-k in https://github.com/sbt/sbt/pull/8818 (released in 2.0.0)
- fix: sbt -debug doesn't display loading log by @bitloi in https://github.com/sbt/sbt/pull/8819 (released in 2.0.0)
- fix: IgnoreSourceChanges now works by @seroperson in https://github.com/sbt/sbt/pull/8820 (released in 2.0.0)
- fix: Runner should fail on JDK < 17 for sbt 2.x by @eureka928 in https://github.com/sbt/sbt/pull/8825 (released in 2.0.0)
- fix: support comma-separated imports in build.sbt by @RenzoMXD in https://github.com/sbt/sbt/pull/8829 (released in 2.0.0)
- fix: sbt --client fails if -mem is provided by @chrisrock1124 in https://github.com/sbt/sbt/pull/8831 (released in 2.0.0)
- fix: Fixes double quotes handling in fork mode by @eed3si9n in https://github.com/sbt/sbt/pull/8842 (released in 2.0.0)
- fix: Undefined per-project settings order by @seroperson in https://github.com/sbt/sbt/pull/8862 (released in 2.0.0)
- fix: Unresolved dependency error for Coursier by @bitloi in https://github.com/sbt/sbt/pull/8869 (released in 2.0.0)
- fix: fall back to the onsite task when cache fails by @idanbenzvi in https://github.com/sbt/sbt/pull/8890 (released in 2.0.0)
- fix: use new constructor for CantDownloadModule by @majk-p in https://github.com/sbt/sbt/pull/8905 (released in 2.0.0)
- fix: Skip Conflict when dependency relocations form a cycle by @bitloi in https://github.com/sbt/sbt/pull/8919 (released in 2.0.0)
- fix: Use sbt script in BSP config instead of hardcoded Java path by @bittoby in https://github.com/sbt/sbt/pull/8920 (released in 2.0.0)
- fix: Fixes non-typelevel scalaOrganization by @eed3si9n in https://github.com/sbt/sbt/pull/8945 (released in 2.0.0)
- Fix: strip pipelining scalacOptions before launching the REPL by @corevibe555 in https://github.com/sbt/sbt/pull/8986 (released in 2.0.0)
- fix: Scope dependencyMode filtering to compilation only by @eureka928 in https://github.com/sbt/sbt/pull/8990 (released in 2.0.0)
- fix: resolve virtual path in -Ypickle-write scalac option by @corevibe555 in https://github.com/sbt/sbt/pull/9011 (released in 2.0.0)
- fix: Fixes metabuild reloading by @eed3si9n in https://github.com/sbt/sbt/pull/9019 (released in 2.0.0)
- fix: Fixes pollInterval by @eed3si9n in https://github.com/sbt/sbt/pull/9020 (released in 2.0.0)
- Prefer local ScalaModuleInfo over global config by @kitbellew in https://github.com/sbt/sbt/pull/9028 (released in 2.0.0)
- Fix Scala 3 .previous expansion for unstable path by @tanishiking in https://github.com/sbt/sbt/pull/9041 (released in 2.0.0)
- fix: Fix FileAlreadyExistsException in packageDirectory by @bitloi in https://github.com/sbt/sbt/pull/9047 (released in 2.0.0)
- fix: stack traces suppressed in thin client batch mode by @bittoby in https://github.com/sbt/sbt/pull/9058 (released in 2.0.0)
- hide JDK warnings if JDK 26 or later by @xuwei-k in https://github.com/sbt/sbt/pull/9068 (released in 2.0.0)
- fix: Fixes client-side run status by @eed3si9n in https://github.com/sbt/sbt/pull/9081 (released in 2.0.0)
- Add Test configuration to evictionWarningOptions by @zainab-ali in https://github.com/sbt/sbt/pull/9102 (released in 2.0.0)
- fix: Use rootPaths to replace virtual paths in console and doc scalac options. by @mrdziuban in https://github.com/sbt/sbt/pull/9110 (released in 2.0.0)
- fix: Include platform suffix in Artifact.artifactName by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9118 (released in 2.0.0)
- fix: Fixes managedScalaInstance false support by @eed3si9n in https://github.com/sbt/sbt/pull/9121 (released in 2.0.0)
- fix: Fixes compilerPlugin(...) to ignore platform by @eed3si9n in https://github.com/sbt/sbt/pull/9135 (released in 2.0.0)
- fix: Remove will-be-ignored warning by @eed3si9n in https://github.com/sbt/sbt/pull/9143 (released in 2.0.0)
- fix: Fix error with "-language:postfixOps" by @xuwei-k in https://github.com/sbt/sbt/pull/9151 (released in 2.0.0)
- fix: Fix build.sbt file loading in subdirs by @eed3si9n in https://github.com/sbt/sbt/pull/9165 (released in 2.0.0)
- Fix console output not appearing with bgRun and run / fork := true by @mrdziuban in https://github.com/sbt/sbt/pull/9166 (released in 2.0.0)
- fix: Adjust the forked test classpath by @eed3si9n in https://github.com/sbt/sbt/pull/9170 (released in 2.0.0)
- fix: Invalidate on JDK version by @eed3si9n in https://github.com/sbt/sbt/pull/9216 (released in 2.0.0)
- fix: Include test arg into hash by @eed3si9n in https://github.com/sbt/sbt/pull/9222 (released in 2.0.0)
- fix: Add regression test by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9246 (released in 2.0.0)
- fix: Apply dependencyMode filtering to internal project deps by @BrianHotopp in https://github.com/sbt/sbt/pull/9250 (released in 2.0.0)
- Fix duplicate autoplugins packageBin mappings by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9255 (released in 2.0.0)
- fix: Make custom-scala-org scripted test hermetic by @BrianHotopp in https://github.com/sbt/sbt/pull/9260 (released in 2.0.0)
- fix: Parallelize dependency resolution when no progress bar is rendered by @BrianHotopp in https://github.com/sbt/sbt/pull/9270 (released in 2.0.0)
- fix: Report a missing input file clearly instead of an opaque SerializationException by @BrianHotopp in https://github.com/sbt/sbt/pull/9271 (released in 2.0.0)
- Opt bspBuildTargetOutputPathsItem out of caching by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9272 (released in 2.0.0)
- fix: Fixes backtick-quoted project handling by @xuwei-k in https://github.com/sbt/sbt/pull/9277 (released in 2.0.0)
- fix: Add warning about trainsient key by @eed3si9n in https://github.com/sbt/sbt/pull/9288 (released in 2.0.0)
- fix: Avoid updateFull by @eed3si9n in https://github.com/sbt/sbt/pull/9290 (released in 2.0.0)
- fix: Fixes publishing platform-specific artifacts (like Scala Native) by @arashi01 in https://github.com/sbt/sbt/pull/9293 (released in 2.0.0)
- fix: ByteStream chunked upload/download by @eed3si9n in https://github.com/sbt/sbt/pull/9298 (released in 2.0.0)
- fix: Fixes cross build caching by @eed3si9n in https://github.com/sbt/sbt/pull/9305 (released in 2.0.0)
- fix: Fixes chunked upload/download by @eed3si9n in https://github.com/sbt/sbt/pull/9318 (released in 2.0.0)
- fix: Fixes console / javaOptions by @eed3si9n in https://github.com/sbt/sbt/pull/9322 (released in 2.0.0)
- Fix #9358: preserve --allow-empty and --sbt-create in sbtArguments by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9370 (released in 2.0.1)
- fix: Fixes dependency tree rendering on some libraries by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9371 (released in 2.0.4)
- fix: Fixes runner parsing build.properties with whitespaces by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9374 (released in 2.0.1)
- Fix publishDiagnostics propagation by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9376 (released in 2.0.1)
- Fix macro expand for HKT type arguments by @tanishiking in https://github.com/sbt/sbt/pull/9377 (released in 2.0.1)
- fix: Fixes global plugin loading by @eed3si9n in https://github.com/sbt/sbt/pull/9391 (released in 2.0.1)
- fix: Fixes sbt runner openbsd support by @eed3si9n in https://github.com/sbt/sbt/pull/9394 (released in 2.0.1)
- fix: Discard a cancelled task's output backlog on cancel by @BrianHotopp in https://github.com/sbt/sbt/pull/9411 (released in 2.0.2)
- fix: apply ByteStream deadline per-call, not on the memoized stub by @yhefamly in https://github.com/sbt/sbt/pull/9413 (released in 2.0.2)
- fix: Keep the output-flush timer alive across forceFlush by @BrianHotopp in https://github.com/sbt/sbt/pull/9414 (released in 2.0.2)
- Fix ivyless sbt plugin publish cross paths by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9416 (released in 2.0.2)
- Fix #9343 route pipelined dependencyPicklePath through internalDependencyPicklePath by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9425 (released in 2.0.2)
- fix sjson downgrade by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9426 (released in 2.0.2)
- fix: Fixes shutdownall by @eed3si9n in https://github.com/sbt/sbt/pull/9435 (released in 2.0.2)
- scala-dyn-version working again by @eed3si9n in https://github.com/sbt/sbt/pull/9438 (released in 2.0.2)
- fix: Make forked run inherit sbt's working directory by @jozanek in https://github.com/sbt/sbt/pull/9442 (released in 2.0.4)
- fix: Propagate -java-home to a server the thin client starts by @BrianHotopp in https://github.com/sbt/sbt/pull/9448 (released in 2.0.4)
- restore JVM option capability in the launcher config by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9452 (released in 2.0.3)
- fix: Don't cache environmental (position-less) compile failures by @BrianHotopp in https://github.com/sbt/sbt/pull/9464 (released in 2.0.4)
- fix: Fixes stale resources in test by @eed3si9n in https://github.com/sbt/sbt/pull/9469 (released in 2.0.4)
- fix: Re-extract a declared output directory on cache hit when it is missing by @BrianHotopp in https://github.com/sbt/sbt/pull/9473 (released in 2.0.4)
- clean task cleans sona-staging by @eed3si9n in https://github.com/sbt/sbt/pull/9479 (released in 2.0.4)
- fix: Fixes three test-classloader / jar-handle leaks in the sbt server JVM by @kevin-lee in https://github.com/sbt/sbt/pull/9485 (released in 2.0.4)
- fix: Fixes partial cache restoration by @stasimus in https://github.com/sbt/sbt/pull/9488 (released in 2.0.4)
- fix: Register every Def.declareOutput execution, not one per call site by @BrianHotopp in https://github.com/sbt/sbt/pull/9492 (released in 2.0.4)
- fix: Fixes common settings with extraProjects by @eed3si9n in https://github.com/sbt/sbt/pull/9495 (released in 2.0.4)
- fix: Keep file I/O out of cache-write serialization by @BrianHotopp in https://github.com/sbt/sbt/pull/9496 (released in 2.0.4)
- fix: Complete server teardown before logging so reboot works from sbtn by @BrianHotopp in https://github.com/sbt/sbt/pull/9497 (released in 2.0.4)
- fix: Skip checksum generation for asc file, take 2 by @eed3si9n in https://github.com/sbt/sbt/pull/9499 (released in 2.0.4)
- fix: Fixes scalaCompilerBridgeBin by @eed3si9n in https://github.com/sbt/sbt/pull/9506 (released in 2.0.4)
- fix: Fixes a/build.sbt leakage by @eed3si9n in https://github.com/sbt/sbt/pull/9519 (released in 2.0.5)
- fix: sbt.bat fails to start client/server mode on Windows by @ColOfAbRiX in https://github.com/sbt/sbt/pull/9520 (released in 2.0.5)
- fix: Fixes forked run baseDirectory, take 2 by @eed3si9n in https://github.com/sbt/sbt/pull/9531 (released in 2.0.5)
- fix: Preserve '=' in remote cache header values by @KilianSwissborg in https://github.com/sbt/sbt/pull/9534 (released in 2.0.5)
- fix: Fixes AccessDeniedException issue on Windows by @eed3si9n in https://github.com/sbt/sbt/pull/9538 (released in 2.0.5)
- fix: Complete earlyOutputPing on cache-hit and failed compiles by @BrianHotopp in https://github.com/sbt/sbt/pull/9542 (released in 2.0.5)
- fix: Preserve file timestamp in local diskcache by @eed3si9n in https://github.com/sbt/sbt/pull/9559 (released in 2.0.6)
## ⚡ Performance improvements
- perf: short-circuit --version from build.properties by @bitloi in https://github.com/sbt/sbt/pull/8822 (released in 2.0.0)
- perf: Use bytecodeHash for incremental test by @eed3si9n in https://github.com/sbt/sbt/pull/9146 (released in 2.0.0)
- Improve performance of `ClassStamper` by @mrdziuban in https://github.com/sbt/sbt/pull/9253 (released in 2.0.1)
- perf: Improve incremental test stamper by @eed3si9n in https://github.com/sbt/sbt/pull/9257 (released in 2.0.0)
- Migrate FarmHash usage to xxhash64 by @eed3si9n in https://github.com/sbt/sbt/pull/9267 (released in 2.0.0)
- Optimize incremental test further by @yhefamly in https://github.com/sbt/sbt/pull/9364 (released in 2.0.1)
- perf: Read the resolution's project cache once per report by @hoangmaihuy in https://github.com/sbt/sbt/pull/9522 (released in 2.0.5)
- perf: Stop content-hashing artifacts when writing update caches by @hoangmaihuy in https://github.com/sbt/sbt/pull/9524 (released in 2.0.5)
- perf: Memoize the artifact content hash in LibraryManagementCodec by @takayahilton in https://github.com/sbt/sbt/pull/9563 (released in 2.0.6)
## Behind the scenes
- Update to Coursier 2.1.25-M24 by @eed3si9n in https://github.com/sbt/sbt/pull/8381 (released in 2.0.0)
- Move compiler bridge to Update by @eed3si9n in https://github.com/sbt/sbt/pull/8836 (released in 2.0.4)
- Comments in dot files by @eed3si9n in https://github.com/sbt/sbt/pull/8841 (released in 2.0.0)
- Tweak the prompt by @eed3si9n in https://github.com/sbt/sbt/pull/8876 (released in 2.0.0)
- Update semanticdbVersion in SemanticdbPlugin.scala by @xuwei-k in https://github.com/sbt/sbt/pull/8885 (released in 2.0.0)
- Scala 3.8.3 by @xuwei-k in https://github.com/sbt/sbt/pull/8997 (released in 2.0.0)
- Remove Path type from caching by @eed3si9n in https://github.com/sbt/sbt/pull/9032 (released in 2.0.0)
- refactor: Replace string Array with ju.List by @eed3si9n in https://github.com/sbt/sbt/pull/9138 (released in 2.0.0)
- Bump sbtn to 2.0.0-RC13 by @eed3si9n in https://github.com/sbt/sbt/pull/9140 (released in 2.0.0)
- sjson-new 0.14.0 by @eed3si9n in https://github.com/sbt/sbt/pull/9177 (released in 2.0.0)
- test: Port tests to use lm-coursier by @eed3si9n in https://github.com/sbt/sbt/pull/9205 (released in 2.0.0)
- Update sbtn to 2.0.0-RC14 for timeout fix by @eed3si9n in https://github.com/sbt/sbt/pull/9240 (released in 2.0.0)
- Reimplement FarmHash by @eed3si9n in https://github.com/sbt/sbt/pull/9278 (released in 2.0.0)
- ci: Scalafmt 3.11.1 by @eed3si9n in https://github.com/sbt/sbt/pull/9279 (released in 2.0.0)
- Update to Scala 3.8.4 by @eed3si9n in https://github.com/sbt/sbt/pull/9302 (released in 2.0.0)
- sbtn 2.0.0-f0d2fae4 by @eed3si9n in https://github.com/sbt/sbt/pull/9333 (released in 2.0.0)
- ci: sbt-salad-days by @eed3si9n in https://github.com/sbt/sbt/pull/9360 (released in 2.0.1)
- test: Refactor global plugin test by @eed3si9n in https://github.com/sbt/sbt/pull/9380 (released in 2.0.1)
- Update Coursier to version 2.1.25-M26 by @eed3si9n in https://github.com/sbt/sbt/pull/9393 (released in 2.0.1)
- ivy 2.3.0-sbt-939a7ea82f140cdb1f51dc404bb43e00a8c43b83 by @eed3si9n in https://github.com/sbt/sbt/pull/9423 (released in 2.0.2)
- Tweak server startup message by @eed3si9n in https://github.com/sbt/sbt/pull/9429 (released in 2.0.2)
- sbtn 2.0.0-b4d628dd by @eed3si9n in https://github.com/sbt/sbt/pull/9443 (released in 2.0.2)
- Ivy 2.3.0-sbt-f686954b0021a5c3245766ced0cdaeca8ba2fd7a by @eed3si9n in https://github.com/sbt/sbt/pull/9457 (released in 2.0.3)
- sjson-new 0.15.1 by @eed3si9n in https://github.com/sbt/sbt/pull/9458 (released in 2.0.3)
- sbtn 2.0.0-a0c4773a by @eed3si9n in https://github.com/sbt/sbt/pull/9503 (released in 2.0.4)
- Zinc 2.0.4 by @eed3si9n in https://github.com/sbt/sbt/pull/9508 (released in 2.0.4)
- sbtn 2.0.0-731e6666 by @eed3si9n in https://github.com/sbt/sbt/pull/9545 (released in 2.0.5)