Releases: sbt/sbt
1.10.11
updates
🐛 bug fixes
- fix: Fixes
compile
task retrying itself on compiler crashes by @eed3si9n in #8070 - fix:
sbt --client shutdown
shortcuts if the server is not already running by @eed3si9n in #8057 - fix: Fixes
sbt --client
on Windows by @eed3si9n in #8071 - fix: Avoids creating target on
sbt --version
by @eed3si9n in #8066 - fix: Fixes slash syntax keys in Scala 2.13 evolution message by @eed3si9n in #8067
Full Changelog: v1.10.10...v1.10.11
2.0.0-M4
🚀 features and other updates
- Implement client-side run by @eed3si9n in #8060
- Make timing outputs consistently show hours and hint at time format by @jsoref in #8019
- Implement
Def.inputTaskDyn
by @eed3si9n + @adpi2 in #8033
🐛 bug fixes
- fix: Fixes
updateSbtClassifiers
task by @unkarjedy in #8024 - fix: Fixes
semanticdbEnabled
by @eed3si9n + @bjaglin in #8029 + #8061 - fix: Fixes
build.sbt
position in the error messages by @eed3si9n in #8013 - fix: Adds Retry around directory creation by @eed3si9n in #7979
🎬 behind the scene
- deps: Update build definition to use Scala 3.6.4 by @eed3si9n in #8062
- deps: IO 1.10.4 by @eed3si9n in #8000
- ci: Updates
.scalafmt.conf
to enforce Scala 3 syntax by @xuwei-k in #7997 - deps: Upgrade sbt ivy by @mkurz in #8043
- refactor: Removes a sbt-coursier workaround by @Friendseeker in #7961
- perf: Caches terminal capability by @eed3si9n in #7977
- refactor: Removes unnecessary
case
via parameter untupling by @xuwei-k in #8045 - refactor: Uses
toIntOption
instead ofscala.util.Try
by @xuwei-k in #7980 - refactor: Removes unnecessary
asInstanceOf
by @xuwei-k in #7984 - refactor: Removes unnecessary vararg splice by @xuwei-k in #7985
- refactor: Uses string interpolation instead of
format
method by @xuwei-k in #7986 - refactor: Uses
collectFirst
instead ofcollect
andheadOption
by @xuwei-k in #7987 - refactor: Renames files to match the class names by @xuwei-k in #7988
- refactor: Removes incorrect scaladoc
@param
tag by @xuwei-k in #7989 - refactor: Uses
lazyZip
by @xuwei-k in #7991 - refactor: Uses
foreach
instead ofmap
by @xuwei-k in #7992 - refactor: Removes unused type params by @xuwei-k in #7993
- refactor: Removes unused code in build files by @xuwei-k in #7994
- refactor: Makes
using
parameters anonymous where possible by @xuwei-k in #7995 - refactor: Refactor
SizeUnit
andFileStamper
toenum
by @xuwei-k in #7996 - refactor: Removes unused private
val
anddef
by @xuwei-k in #7999 - refactor: Uses
withFilter
instead offilter
by @xuwei-k in #8001 - refactor: Refactor
ControlEvent
toenum
by @xuwei-k in #7819 - refactor: Refactor MainLoop.scala by @eed3si9n in #8007
- test: Bump 2.12 versions in scripted by @eed3si9n in #8023
- Merge 1.10.x branch by @eed3si9n in #8036 + #8059
- refactor: Fixes typos by @jsoref in #8028
- refactor: Fixes typos by @xuwei-k in #7990
- refactor: Fixes typos by @xuwei-k in #7998
Full Changelog: v2.0.0-M3...v2.0.0-M4
1.10.10
1.10.9
🚀 features and other updates
- Adds
allowUnsafeScalaLibUpgrade
setting to opt-out of the Scala 2.13 compatibility check (SIP-51) by @lrytz in #8012 - BSP: Implement
jvmBuildTarget
forworkspace/buildTargets
by @Friendseeker in #7913 - Detects user-specific JDK installations on macOS by @unkarjedy in #8032
- Makes timing outputs consistently show hours and hint at time format by @jsoref in #8019
- Backports SHA-256, SHA-384, and SHA-512 checksum support to forked Apache Ivy by @mkurz in sbt/ivy#49
- Client-side run capability in sbtn by @eed3si9n in #8040
🐛 bug fixes
- fix: Fixes local source dependency invalidation by @rochala in sbt/zinc#1528
- fix: Clear Zinc Analysis Cache during
Compile / clean
,Test / clean
by @Friendseeker in #7969 - fix: Fixes spurious upstream compilation when calling
previousCompile
by @Friendseeker in #7983 - fix: Fixes race condition in NetworkChannel by @dwickern in #8005
- fix: Fixes Chrome tracing file by @eed3si9n in #8020
- fix: Fixes incorrect sbt architecture logging in the runner script by @mehdignu in #8038
- fix: Fixes stdout freshness issue by @eed3si9n in #8048
- fix:
sbt init
by @eed3si9n in #8049
🎬 behind the scene
new contributors
Full Changelog: v1.10.7...v1.10.9
1.10.8
1.10.7
🚀 features and other updates
- Enable runner script's build detection by default to require
--allow-empty
by @eed3si9n in #7966 - Support glob expressions in scripted to aid sbt 2.0.0-M3 cross building by @eed3si9n in #7933 / #7968
- perf: Precompile a regex in hot code by @retronym in sbt/zinc#1508
Build directory detection
Starting 1.10.7, the sbt
runner script enables build directory detection by default. This means that the sbt
will exit with error when launched in a directory without build.sbt
or project/
, with exceptions of sbt new
, sbt --script-version
etc.
To override this behavior temporarily, you can use --allow-empty
flag. To permanently opt out of the build directory detection, create $XDG_CONFIG_HOME/sbt/sbtopts
with --allow-empty
in it.
csrMavenDependencyOverride setting
sbt 1.10.7 updates Coursier from 2.1.19 → 2.1.22. sbt 1.10.7 also adds a new setting csrMavenDependencyOverride
(default: false
), which controls the resolution, which respects Maven dependency override mechanism, also known as bill-of-materials (BOM) POM. Since there is a performance regression in the new resolver, we are setting the default to false
.
🐛 bug fixes
- fix: Add
csrMavenDependencyOverride
to opt into bill-of-material (BOM) respecting Coursier resolution by @eed3si9n in #7970 - fix: Update the template resolver to use Giter8 0.17.0, which fixes the SLF4J warning by @eed3si9n in #7947
- fix: Update JLine 2 fork to
9a88bc4
and Jansi to 2.4.1, which fixes crash on Windows on ARM by @Friendseeker in #7952
🎬 behind the scene
- ci: New Scala CLA URL by @eed3si9n in #7929
- ci: Use new Scala CLA GitHub Action by @Friendseeker in #7953
- ci: Prepare for sbt
1.10.7
by @Friendseeker in #7957 - ci: Restore disabled Multirepo integration test by @Friendseeker in #7962
Full Changelog: v1.10.6...v1.10.7
2.0.0-M3
⚠️ changes with compatibility implications
- Change
homepage
,organizationHomepage
,apiURL
,apiMappings
,releaseNotesURL
to URI type by @eed3si9n in #7927 - Replace tuple with proper record type for licenses by @mdedetrich in #7927
- Update
sbtResolvers
default value by @xuwei-k in #7799 - Remove
useJCenter
settingKey by @xuwei-k in #7801
🚀 features and other updates
- Support glob expressions in scripted by @eed3si9n in #7932
- Update to metabuild Scala to 3.6.2 by @eed3si9n in #7941
- Add Mapper that returns VirtualFile based mappings by @jtjeferreira + @eed3si9n in #7949
- Replace the use of compilation timestamp in detectAPIChanges with content hashes by @Friendseeker in sbt/zinc#1430
- perf: Reduce number of long-living instances to speed up startup by 20% relative to 2.0.0-M2 (41% speedup compared to sbt 1.10.2) by @adpi2 in #7866
- perf: Reduce creation of
Setting
andInitialize
by @adpi2 in #7880 - perf: Refactor
Settings
and optimize indexing of aggregate keys by @adpi2 in #7879 - perf: Remove instances of
Info
andBasicAttributeMap
by @adpi2 in #7882
🐛 bug fixes
- fix: Fixes
doc
task by using ScalaInstance from update by @eed3si9n in #7878 - fix: Resurrect
or
for tasks by @eed3si9n in #7749 - fix: Fixes concurrency issue in
ParallelGzipOutputStream
by reimplementing it using raw threads by @Ichoran + @Friendseeker in sbt/zinc#1456 - fix: Fix
csrCacheDirectory
and add test by @adpi2 in #7762 - fix: Fix type error if too many
.value
by @xuwei-k in #7773 - fix: Fix Scala 3.x - 2.12 sandwich for matrix by @eed3si9n in #7907
- fix: Remove
-Wconf:cat=unused-nowarn:s
from the metabuild, which was showing warning by @eed3si9n in #7924 - fix: Fix root project detection by @eed3si9n in #7925
- fix: concurrency control around
build.sbt
parsing by @eed3si9n in #7938 - fix: Use JDK path, not JRE path by @eed3si9n in #7948
🎬 behind the scene
- deps: Update JLine3 to 3.27.0 by @Friendseeker in #7756
- dep: Update io to 1.10.1 by @Friendseeker in #7800
- dep: Update Scala 3 to 3.3.4 by @Friendseeker in #7796
- dep: Update Scala 2.13 to 2.13.15 by @Friendseeker in #7804
- dep: Update launcher and ipcsocket versions by @Friendseeker in #7808
- dep: Zinc 2.0.0-M3 by @eed3si9n in #7954
- refactor: Update to Scala 3 syntax
?
wildcard and*
vararg by @eed3si9n in #7837 - refactor: Use
extension
instead ofimplicit class
by @xuwei-k in #7809 - refactor: Migrate
private[this]
toprivate
by @xuwei-k in #7812 - refactor: Delete
sbt.internal.CompatParColls
by @xuwei-k in #7815 - refactor: Use
to{Int, Long, Double}Option
methods by @xuwei-k in #7818 - refactor: Use
extension
inOptionSyntax
by @xuwei-k in #7821 - refactor: Use
extension
instead ofimplicit
by @xuwei-k in #7832, #7888, #7891 - refactor: Delete internal deprecated methods since 0.x by @xuwei-k in #7864
- refactor: Update ClassLoaderWarmup and remove unused warmup by @xuwei-k in #7874
- refactor: Remove
enableConsistentCompileAnalysis
,enableBinaryCompileAnalysis
settings by @Friendseeker in #7887 - refactor: Use
given
instead ofimplicit val
by @xuwei-k in #7890 - refactor: Remove
implicit
params. Change tousing
by @xuwei-k in #7889, #7892 - refactor: Use
given
instead ofimplicit object
by @xuwei-k in #7893 - refactor: Refactor slash syntax to mostly use methods by @eed3si9n in #7911
- test: Reenable
SlashSyntaxTest
andTaskPosSpec
tests by @jtjeferreira in #7744 - test: Update scalatest and scalacheck by @xuwei-k in #7816
- test: Resurrect property-based testing for slash syntax by @eed3si9n in #7875
- test: Fix flaky lm-coursier tests by @adpi2 in #7757
- ci: Submit dependency graph for security alert by @Friendseeker in #7750
- ci: In-source librarymanagement and lm-coursier modules into sbt/sbt by @adpi2 in #7739
- ci: Exclude Scala libraries from lm-coursier-shaded by @adpi2 in #7755
- ci: Upgrade and reenable sbt-contraband plugin by @adpi2 in #7752
- ci: Remove Scala 2 cross build for util modules by @Friendseeker in #7759
- ci: Skip publishing local Zinc to speed up CI by @adpi2 in #7763
- ci: Set default CI timeout by @nathanlao in #7769
- ci: Update Contraband-generated sources. Add check Contraband sources consistency job by @xuwei-k in #7778
- ci: Update to Contraband 0.7.0 by @eed3si9n in #7836
- ci: Add
@codecPackage
annotation tostate.contra
by @xuwei-k in #7780 - ci: Update CI to test on JDK 21 by @Friendseeker in #7783
- ci: Update Scalafmt by @xuwei-k in #7810
- ci: Cleanup dependency settings by @xuwei-k in #7814
- ci: Migrate deprecated colon syntax in build.sbt by @xuwei-k in #7817
- ci: Remove unused dependencies in project/Dependencies.scala by @xuwei-k in #7923
- ci: New Scala CLA URL by @eed3si9n in #7928
- ci: Add lmCoursierShadedPublishing to allProjects by @jtjeferreira in #7930
- ci: Merge 1.10.x by @eed3si9n in #7950
Full Changelog: v2.0.0-M2...v2.0.0-M3
1.10.6
change with compatibility implication
- deps: lm-coursier 2.1.6, which updates Coursier 2.1.14 → 2.1.19 by @eed3si9n in #7920
This release changes the way "BOMs" or "dependency management" are handled during resolution, and allows users to add BOMs to a resolution. This changes the way versions are picked when BOMs or dependency management are involved, which has an impact on the resolution of libraries from many JVM ecosystems, such as Apache Spark, Springboot, Quarkus, etc.
bug fixes and updates
- fix: Fixes Ctrl-C not stopping
run
task due to bgRun delegation by @Friendseeker in #7916 - fix: Fixes
sbt --client
support on openSUSE by @Androz2091 in #7895 - fix: Synchronizes
dependencyTree
console output by @Friendseeker in #7906 - fix: Synchronizes
java.awt.Desktop.browse()
duringdependencyBrowseTree
by @Friendseeker in #7905 - perf: Better memory efficiency for Zinc Analysis by @dwijnand in sbt/zinc#1494
- fix: Passes
useConsistent
tostaticCachedStore
by @Friendseeker in #7869 - Make reproducibility toggleable for
ConsistentAnalysisFormat
by @Friendseeker in sbt/zinc#1479 clean
clearspreviousCompile
by @Friendseeker in sbt/zinc#1487 / #7922
behind the scene
- deps: Updates to Zinc 1.10.5 by @eed3si9n in #7922
- deps: Updates to IO 1.10.2 by @eed3si9n in #7921
- deps: Removes direct dependency on
org.fusesource.jansi
by @Friendseeker in #7876 - ci: Prepare for sbt
1.10.6
by @Friendseeker in #7871 - Add double quote around thread name during trace by @Friendseeker in #7886
- ci: Bump minimum Java version in launcher script to
8
by @Friendseeker in #7897 - test: Fix Flaky Test:
sbt.TagsTest
by @Friendseeker in #7919 - refactor: Improve message format for
loading settings for project
by @Friendseeker in #7909 - refactor: Respects
dependencyBrowseGraphTarget
,dependencyBrowseTreeTarget
by @Friendseeker in #7904
new contributors
- @Androz2091 made their first contribution in #7895
Full Changelog: v1.10.5...v1.10.6
1.10.5
updates
- deps: Updates to Coursier 2.1.14 via lm-coursier 2.1.5 by @eed3si9n in #7859
- fix: Reverts sbtn to build with glibc by @Friendseeker and @eed3si9n
- fix: Fixes sbtn to return exit code
1
when on error by @Friendseeker in #7854 - fix: Fixes
++
with a command argument with slash by @eed3si9n in #7862 - fix: Replaces Narrow No-Break Space (NNBS) in date strings with a whitespace to prevent mojibakeh by @Friendseeker in #7846
behind the scene
- refactor: Migrate all usages of
System.console == null
by @Friendseeker in #7843 - ci: Prepare for sbt
1.10.5
by @Friendseeker in #7840
Full Changelog: v1.10.4...v1.10.5
1.10.4
updates and bug fixes
- fix: Fixes Jansi deprecation notice by switching to jline-terminal-jni by @Friendseeker in #7811
- fix: Fixes GLIBC_2.32 issue on sbtn by statically linking musl by @Friendseeker in #7823
- fix: Throw exception when
sbt new
fails to find template by @Friendseeker in #7835 - fix: Fixes
~
withGlobal / onChangedBuildSource := ReloadOnSourceChanges
by @Friendseeker in #7838 - fix: Fixes "Unrecognized option: --server" error on BSP server by @eed3si9n in #7824
- fix: Fixes pipelined build while changing version frequently by @Friendseeker in #7830
- fix: Change the default analysis format to older binary, and make Consistent Analysis opt-in by @Friendseeker in #7807
behind the scene
- ci: Bump supported JDK version to 21 in
DEVELOPING.md
by @Friendseeker in #7784 - ci: Bump sbt to 1.10.3 by @Friendseeker in #7802
- ci: Bump
TEST_SBT_VER
to 1.10.3 & remove unused CI variables by @Friendseeker in #7825 - ci: Delete
.java-version
to not fix java version to 1.8 by @Friendseeker in #7827 - deps: Bump Scala 2.13 to 2.13.15 by @Friendseeker in #7798
- deps: Bump JLine to
3.27.1
by @Friendseeker in #7829 - deps: Zinc 1.10.4 by @eed3si9n in #7839
- refactor: Remove two unused methods that depends on Analysis Timestamp by @Friendseeker in #7787
- refactor: Deprecate useJCenter key by @Philippus in #7822
Full Changelog: v1.10.3...v1.10.4