diff --git a/.agents/skills/release-notes/SKILL.md b/.agents/skills/release-notes/SKILL.md index 190fe06b2..d7e2664aa 100644 --- a/.agents/skills/release-notes/SKILL.md +++ b/.agents/skills/release-notes/SKILL.md @@ -28,7 +28,7 @@ Don't hardcode any of these — derive them fresh every run, since they all roll Each in-progress release has a directory `notes//` containing: - `meta.md` — a running log of checkpoints reached, one line per update: `- Updated to up () / ()`. -- `--all.md` — a checkpoint snapshot in raw GitHub-auto-generated-release-notes style, covering every PR merged into `` from the start of the release up through commit `` (first 8 hex chars). A new checkpoint file is a copy of the previous one with only the new commit range's entries appended and the `Full Changelog` compare line updated. Note that `` can change between checkpoints of the same `` (e.g. from `develop` to a freshly-cut `..x`, once the user has switched their checkout over) — a commit range spanning that switch should be read from whichever branch actually contains it (the old checkpoint's sha may no longer be an ancestor of the new branch tip if history diverges at the cut; if so, treat the branch-cut point itself as the range boundary and note the switch when reporting). +- `--all.md` — exactly ONE checkpoint snapshot file at any time, in raw GitHub-auto-generated-release-notes style, covering every PR merged into `` from the start of the release up through commit `` (first 8 hex chars) — i.e. it's cumulative from the very start of ``, not just since the last checkpoint. Rolling the checkpoint forward renames this one file to the new `` and appends the new commit range's entries to it; it never leaves an old-sha copy behind. If more than one `-*-all.md` file is ever found (e.g. left over from before this rule existed, or from a manual process), merge them into one before doing anything else — see step 3. - `-draft.md` — the hand-curated, cumulative draft for the whole release. It opens with hand-written prose highlight sections (e.g. "Test summary", "Ivyless publishing") that are NOT auto-updated by this skill, followed by catch-all sections (`## 🚀 Other updates`, `## 🐛 Bug fixes`, `## ⚡ Performance improvements`, `## Behind the scenes`) that ARE auto-updated by this skill — but only with PRs that are fresh to ``/`` and have not already been backported to `` (backported fixes ship to users via `` already, so they don't need separate `` release-note billing). - `backported-to-.md` — every PR from `` that has already shipped on ``, so it can be cross-checked/excluded from the fresh-in-`` story. Grouped the same way, each entry suffixed `(released in )`. @@ -59,12 +59,19 @@ Entry format: ``` If that tip commit is itself a prior "Update release notes" bookkeeping commit (touches only `notes/`, no `(#N)` PR reference), it's not a real checkpoint target — use its parent instead, or ask the user which sha they meant. -3. **Find the last checkpoint.** Read `notes//meta.md` for the most recent sha and the branch it was taken from. If that branch differs from the just-resolved `` (e.g. the release was cut to its own branch since the last run), note the switch and confirm the old sha is still an ancestor of the current `` tip before treating it as the range start — otherwise use the branch-cut commit itself as the range start, and flag the discrepancy to the user rather than silently proceeding. Confirm the matching `notes//--all.md` file exists. - -4. **Copy forward.** +3. **Find the last checkpoint, and make sure there's only one.** ```bash - cp notes//--all.md notes//--all.md + ls notes//-*-all.md ``` + This must return exactly one file. If it returns more than one, consolidate first: read every one of them, and for each section concatenate their entries in file order from oldest sha to newest (each file's own entries are already chronological internally, and the files themselves don't overlap in PR coverage — verify that by comparing their `pull/` references before assuming it), drop the trailing `(#N)` self-reference on any entry that has one (keep any other, non-self-referencing parenthetical numbers in a title as-is), set the `Full Changelog` line to span from the oldest file's start sha to the newest file's end sha, write the result to the newest file's name, delete the rest, and log the consolidation as a `meta.md` line before continuing to step 1 above with the now-single file in place. Never proceed to step 4 with more than one checkpoint file present. + + Then read `notes//meta.md` for the most recent sha and the branch it was taken from. If that branch differs from the just-resolved `` (e.g. the release was cut to its own branch since the last run), note the switch and confirm the old sha is still an ancestor of the current `` tip before treating it as the range start — otherwise use the branch-cut commit itself as the range start, and flag the discrepancy to the user rather than silently proceeding. Confirm the sha in that single checkpoint file's name matches the sha from `meta.md`. + +4. **Roll the checkpoint file forward in place** — rename it, don't copy it, so there is still only one when this step finishes: + ```bash + git mv notes//--all.md notes//--all.md + ``` + (plain `mv` if the file isn't tracked yet). The new entries get appended to this same renamed file in step 7 — there is never a second `-all.md` file coexisting even momentarily as a deliberate step. 5. **Enumerate the new commit range** in chronological order, resolving merge commits to the single PR they bundle: ```bash diff --git a/notes/2.1.0/2.1.0-01198f54-all.md b/notes/2.1.0/2.1.0-01198f54-all.md deleted file mode 100644 index 571527bf0..000000000 --- a/notes/2.1.0/2.1.0-01198f54-all.md +++ /dev/null @@ -1,71 +0,0 @@ -## 🚀 updates - -- feat: Test summary (#9602) by @eed3si9n in https://github.com/sbt/sbt/pull/9602 -- Add a resolvedScalacOptions task that resolves cache placeholders (#9610) by @azdrojowa123 in https://github.com/sbt/sbt/pull/9610 -- Add test result cache opt-out (#9675) by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9675 -- feat: workerMaxInstances + testTopology (#9665) by @eed3si9n in https://github.com/sbt/sbt/pull/9665 - -## 🐛 Bug fixes - -- fix: Forward build.sbt compilation errors to logger (#9599) by @eed3si9n in https://github.com/sbt/sbt/pull/9599 -- fix: Guard diskcache against path traversal (#9605) by @eed3si9n in https://github.com/sbt/sbt/pull/9605 -- fix: Fixes cache invalidation on version change (#9471) by @eed3si9n in https://github.com/sbt/sbt/pull/9471 -- fix: sbtn to retry on corrupt active.json (#9617) by @eed3si9n in https://github.com/sbt/sbt/pull/9617 -- fix: Name the platform in CrossVersion(module, scalaModuleInfo) (#9620) by @kitbellew in https://github.com/sbt/sbt/pull/9620 -- fix: Avoid rewriting unchanged plugin descriptors (#9612) (#9624) (#9628) by @eed3si9n in https://github.com/sbt/sbt/pull/9628 -- fix: Fixes -V parsing in sbt runners (#9626) by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9626 -- fix: keep worker classloader open for shutdown hooks (#9639) by @stasimus in https://github.com/sbt/sbt/pull/9639 -- fix: hash action cache inputs with full-width sha256 (#9641) by @stasimus in https://github.com/sbt/sbt/pull/9641 -- fix: Verify remote cache blobs against their digest (#9643) by @stasimus in https://github.com/sbt/sbt/pull/9643 -- fix: Fixes filesystem traversal order affecting cache stability (#9646) by @christianharrington in https://github.com/sbt/sbt/pull/9646 -- fix: Populate the in-memory cache on a read (#9657) by @hoangmaihuy in https://github.com/sbt/sbt/pull/9657 -- fix: Restore public test result report types (#9655) by @unkarjedy in https://github.com/sbt/sbt/pull/9655 -- fix: Fixes --addPluginSbtFile getting lost after reboot (#9669) by @azdrojowa123 in https://github.com/sbt/sbt/pull/9669 -- fix: Notify listeners before LinkageError escapes suites (#9667) (#9672) by @eed3si9n in https://github.com/sbt/sbt/pull/9672 -- fix: Fixes ThisBuild-scoped bare settings (#9674) by @eed3si9n in https://github.com/sbt/sbt/pull/9674 -- fix: Fixes JDK 17 domain socket deadlocks (#9671) by @eed3si9n in https://github.com/sbt/sbt/pull/9671 -- Fix sbt-native-packager compatibility (#9677) by @xuwei-k in https://github.com/sbt/sbt/pull/9677 -- fix: Fixes Windows runner (#9680) by @eed3si9n in https://github.com/sbt/sbt/pull/9680 -- Remove global.base setting in windows runner script (#9688) by @vlovgr in https://github.com/sbt/sbt/pull/9688 -- fix: Resolve Seq[Initialize[Task[T]]].join to Initialize[Task[Seq[T]]] (#9347) by @jozanek in https://github.com/sbt/sbt/pull/9347 -- fix: Share a holder for a closeable (#9692) by @kitbellew in https://github.com/sbt/sbt/pull/9692 -- fix: Retry a read before discarding a server (#9690) by @kitbellew in https://github.com/sbt/sbt/pull/9690 -- fix: Write the server's files by rename (#9689) by @kitbellew in https://github.com/sbt/sbt/pull/9689 -- fix: keep every output line the runner test reads (#9687) by @stasimus in https://github.com/sbt/sbt/pull/9687 -- fix: Fixes unhermetic semanticdbTargetRoot in the compile cache key (#9711) by @christianharrington in https://github.com/sbt/sbt/pull/9711 -- fix: keep macro subprojects off the pipelined classpath (#9719) by @stasimus in https://github.com/sbt/sbt/pull/9719 -- fix: restart the sbt server when -D options change (#9685) by @stasimus in https://github.com/sbt/sbt/pull/9685 -- fix: Keep accepting after a client fails (#9691) by @kitbellew in https://github.com/sbt/sbt/pull/9691 - -## ⚡ Performance improvements - -- perf: Optimize `UpdateReport` disk format (#9515) by @hoangmaihuy in https://github.com/sbt/sbt/pull/9515 -- perf: Skip re-packaging the class directory when zinc recompiles nothing (#9609) by @hoangmaihuy in https://github.com/sbt/sbt/pull/9609 -- perf: Stop re-converting the classpath in compileOptions (#9622) by @hoangmaihuy in https://github.com/sbt/sbt/pull/9622 -- perf: Copy instead of symlink when restoring the disk cache on APFS (#9623) by @hoangmaihuy in https://github.com/sbt/sbt/pull/9623 -- perf: avoid re-sorting watch inputs on every file event (#9650) by @stasimus in https://github.com/sbt/sbt/pull/9650 -- perf: write packageBin jars and action cache zips in parallel (#9661) by @hoangmaihuy in https://github.com/sbt/sbt/pull/9661 -- perf: Cut redundant hashing in disk action cache (#9649) by @stasimus in https://github.com/sbt/sbt/pull/9649 - -## Behind the scenes - -- doc: Start sbt 2.1.0 release note (#9595) by @eed3si9n in https://github.com/sbt/sbt/pull/9595 -- test: Fix project-matrix test TODO (#9596) by @xuwei-k in https://github.com/sbt/sbt/pull/9596 -- refactor: Fix warning in ivyless-publish-http-plugin test (#9597) by @xuwei-k in https://github.com/sbt/sbt/pull/9597 -- refactor: Remove nowarn annotation in CoursierDependencyResolution (#9593) by @xuwei-k in https://github.com/sbt/sbt/pull/9593 -- ci: Update sbt and plugins (#9603) by @xuwei-k in https://github.com/sbt/sbt/pull/9603 -- test: Add a regression test for incremental test (#9608) by @eed3si9n in https://github.com/sbt/sbt/pull/9608 -- Remove Ivy dependency (#9615) by @eed3si9n in https://github.com/sbt/sbt/pull/9615 -- Update sbtn to 2.0.0-8753a981 (#9630) by @eed3si9n in https://github.com/sbt/sbt/pull/9630 -- test: Cover action cache traversal and content guards (#9640) by @stasimus in https://github.com/sbt/sbt/pull/9640 -- Symlink CLAUDE.md to AGENTS.md (#9663) by @eed3si9n in https://github.com/sbt/sbt/pull/9663 -- test: Community Build (#9659) by @eed3si9n in https://github.com/sbt/sbt/pull/9659 -- Scala 3.9.0 (#9439) by @eed3si9n in https://github.com/sbt/sbt/pull/9439 -- test: Fix MatchError in RunFromSourceMain if RC version (#9684) by @xuwei-k in https://github.com/sbt/sbt/pull/9684 -- Update CLA url (#9686) by @xuwei-k in https://github.com/sbt/sbt/pull/9686 -- build(deps): bump actions/setup-java from 5 to 6 (#9695) by @dependabot in https://github.com/sbt/sbt/pull/9695 -- ci: Update dependabot.yml target-branch (#9697) by @xuwei-k in https://github.com/sbt/sbt/pull/9697 -- ci: Fix nightly publishing (#9705) by @eed3si9n in https://github.com/sbt/sbt/pull/9705 -- refactor: Name the expressions that repeat (#9712) by @kitbellew in https://github.com/sbt/sbt/pull/9712 - -**Full Changelog**: https://github.com/sbt/sbt/compare/05d80eb737fe882c794fdb2ae3e3b8412c3d6d58...01198f5407d170b22e5cbf32f194939ac8530c78 diff --git a/notes/2.1.0/2.1.0-05d80eb7-all.md b/notes/2.1.0/2.1.0-05d80eb7-all.md deleted file mode 100644 index e9b119acc..000000000 --- a/notes/2.1.0/2.1.0-05d80eb7-all.md +++ /dev/null @@ -1,60 +0,0 @@ -## 🚀 updates - -- feat: Test summary (#9602) by @eed3si9n in https://github.com/sbt/sbt/pull/9602 -- Add a resolvedScalacOptions task that resolves cache placeholders (#9610) by @azdrojowa123 in https://github.com/sbt/sbt/pull/9610 -- Add test result cache opt-out (#9675) by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9675 - -## 🐛 Bug fixes - -- fix: Forward build.sbt compilation errors to logger (#9599) by @eed3si9n in https://github.com/sbt/sbt/pull/9599 -- fix: Guard diskcache against path traversal (#9605) by @eed3si9n in https://github.com/sbt/sbt/pull/9605 -- fix: Fixes cache invalidation on version change (#9471) by @eed3si9n in https://github.com/sbt/sbt/pull/9471 -- fix: sbtn to retry on corrupt active.json (#9617) by @eed3si9n in https://github.com/sbt/sbt/pull/9617 -- fix: Name the platform in CrossVersion(module, scalaModuleInfo) (#9620) by @kitbellew in https://github.com/sbt/sbt/pull/9620 -- fix: Avoid rewriting unchanged plugin descriptors (#9612) (#9624) (#9628) by @eed3si9n in https://github.com/sbt/sbt/pull/9628 -- fix: Fixes -V parsing in sbt runners (#9626) by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9626 -- fix: keep worker classloader open for shutdown hooks (#9639) by @stasimus in https://github.com/sbt/sbt/pull/9639 -- fix: hash action cache inputs with full-width sha256 (#9641) by @stasimus in https://github.com/sbt/sbt/pull/9641 -- fix: Verify remote cache blobs against their digest (#9643) by @stasimus in https://github.com/sbt/sbt/pull/9643 -- fix: Fixes filesystem traversal order affecting cache stability (#9646) by @christianharrington in https://github.com/sbt/sbt/pull/9646 -- fix: Populate the in-memory cache on a read (#9657) by @hoangmaihuy in https://github.com/sbt/sbt/pull/9657 -- fix: Restore public test result report types (#9655) by @unkarjedy in https://github.com/sbt/sbt/pull/9655 -- fix: Fixes --addPluginSbtFile getting lost after reboot (#9669) by @azdrojowa123 in https://github.com/sbt/sbt/pull/9669 -- fix: Notify listeners before LinkageError escapes suites (#9667) (#9672) by @eed3si9n in https://github.com/sbt/sbt/pull/9672 -- fix: Fixes ThisBuild-scoped bare settings (#9674) by @eed3si9n in https://github.com/sbt/sbt/pull/9674 -- fix: Fixes JDK 17 domain socket deadlocks (#9671) by @eed3si9n in https://github.com/sbt/sbt/pull/9671 -- Fix sbt-native-packager compatibility (#9677) by @xuwei-k in https://github.com/sbt/sbt/pull/9677 -- fix: Fixes Windows runner (#9680) by @eed3si9n in https://github.com/sbt/sbt/pull/9680 -- Remove global.base setting in windows runner script (#9688) by @vlovgr in https://github.com/sbt/sbt/pull/9688 -- fix: Resolve Seq[Initialize[Task[T]]].join to Initialize[Task[Seq[T]]] (#9347) by @jozanek in https://github.com/sbt/sbt/pull/9347 -- fix: Share a holder for a closeable (#9692) by @kitbellew in https://github.com/sbt/sbt/pull/9692 - -## ⚡ Performance improvements - -- perf: Optimize `UpdateReport` disk format (#9515) by @hoangmaihuy in https://github.com/sbt/sbt/pull/9515 -- perf: Skip re-packaging the class directory when zinc recompiles nothing (#9609) by @hoangmaihuy in https://github.com/sbt/sbt/pull/9609 -- perf: Stop re-converting the classpath in compileOptions (#9622) by @hoangmaihuy in https://github.com/sbt/sbt/pull/9622 -- perf: Copy instead of symlink when restoring the disk cache on APFS (#9623) by @hoangmaihuy in https://github.com/sbt/sbt/pull/9623 -- perf: avoid re-sorting watch inputs on every file event (#9650) by @stasimus in https://github.com/sbt/sbt/pull/9650 -- perf: write packageBin jars and action cache zips in parallel (#9661) by @hoangmaihuy in https://github.com/sbt/sbt/pull/9661 - -## Behind the scenes - -- doc: Start sbt 2.1.0 release note (#9595) by @eed3si9n in https://github.com/sbt/sbt/pull/9595 -- test: Fix project-matrix test TODO (#9596) by @xuwei-k in https://github.com/sbt/sbt/pull/9596 -- refactor: Fix warning in ivyless-publish-http-plugin test (#9597) by @xuwei-k in https://github.com/sbt/sbt/pull/9597 -- refactor: Remove nowarn annotation in CoursierDependencyResolution (#9593) by @xuwei-k in https://github.com/sbt/sbt/pull/9593 -- ci: Update sbt and plugins (#9603) by @xuwei-k in https://github.com/sbt/sbt/pull/9603 -- test: Add a regression test for incremental test (#9608) by @eed3si9n in https://github.com/sbt/sbt/pull/9608 -- Remove Ivy dependency (#9615) by @eed3si9n in https://github.com/sbt/sbt/pull/9615 -- Update sbtn to 2.0.0-8753a981 (#9630) by @eed3si9n in https://github.com/sbt/sbt/pull/9630 -- test: Cover action cache traversal and content guards (#9640) by @stasimus in https://github.com/sbt/sbt/pull/9640 -- Symlink CLAUDE.md to AGENTS.md (#9663) by @eed3si9n in https://github.com/sbt/sbt/pull/9663 -- test: Community Build (#9659) by @eed3si9n in https://github.com/sbt/sbt/pull/9659 -- Scala 3.9.0 (#9439) by @eed3si9n in https://github.com/sbt/sbt/pull/9439 -- test: Fix MatchError in RunFromSourceMain if RC version (#9684) by @xuwei-k in https://github.com/sbt/sbt/pull/9684 -- Update CLA url (#9686) by @xuwei-k in https://github.com/sbt/sbt/pull/9686 -- build(deps): bump actions/setup-java from 5 to 6 (#9695) by @dependabot in https://github.com/sbt/sbt/pull/9695 -- ci: Update dependabot.yml target-branch (#9697) by @xuwei-k in https://github.com/sbt/sbt/pull/9697 - -**Full Changelog**: https://github.com/sbt/sbt/compare/c5eac14c14f9085c4992e518946b8b7af882fd34...05d80eb737fe882c794fdb2ae3e3b8412c3d6d58 diff --git a/notes/2.1.0/2.1.0-draft.md b/notes/2.1.0/2.1.0-draft.md index 26ad1ee6c..ecc8f0dfd 100644 --- a/notes/2.1.0/2.1.0-draft.md +++ b/notes/2.1.0/2.1.0-draft.md @@ -154,6 +154,12 @@ sbt 2.1.0 updates the Scala version used by the metabuild to 3.9.0. - fix: Keep macro subprojects off the pipelined classpath by @stasimus in https://github.com/sbt/sbt/pull/9719 - fix: Restart the sbt server when `-D` options change by @stasimus in https://github.com/sbt/sbt/pull/9685 - fix: Keep accepting after a client fails by @kitbellew in https://github.com/sbt/sbt/pull/9691 +- fix: Add a row when `customRow` gets no versions by @kitbellew in https://github.com/sbt/sbt/pull/9717 +- fix: Remove Ivy API usage from build publishing plugins by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9723 +- fix: Fail the build on bad resource generator by @eed3si9n in https://github.com/sbt/sbt/pull/9735 +- fix: Fixes cross command parsing by @stasimus in https://github.com/sbt/sbt/pull/9726 +- fix: Stop a displaced server by @kitbellew in https://github.com/sbt/sbt/pull/9713 +- fix: Resolve the project axis to the current project in `runAggregated` by @jozanek in https://github.com/sbt/sbt/pull/9722 ## ⚡ Performance improvements @@ -318,5 +324,9 @@ sbt 2.1.0 updates the Scala version used by the metabuild to 3.9.0. - ci: Update dependabot.yml target-branch by @xuwei-k in https://github.com/sbt/sbt/pull/9697 - ci: Fix nightly publishing by @eed3si9n in https://github.com/sbt/sbt/pull/9705 - refactor: Name the expressions that repeat by @kitbellew in https://github.com/sbt/sbt/pull/9712 +- Update IO to 1.13.2 by @eed3si9n in https://github.com/sbt/sbt/pull/9731 +- Update Zinc to 2.1.0-M2 by @eed3si9n in https://github.com/sbt/sbt/pull/9733 +- doc: Update the style guide by @eed3si9n in https://github.com/sbt/sbt/pull/9736 +- refactor: Update `scalafmt.conf` by @eed3si9n in https://github.com/sbt/sbt/pull/9737 -**Full Changelog**: https://github.com/sbt/sbt/compare/f97633075960aaacd9e571461a688a000ed5ba0d...01198f5407d170b22e5cbf32f194939ac8530c78 +**Full Changelog**: https://github.com/sbt/sbt/compare/f97633075960aaacd9e571461a688a000ed5ba0d...fe56804cd752800490dfe56533040558d01263c5 diff --git a/notes/2.1.0/2.1.0-c5eac14c-all.md b/notes/2.1.0/2.1.0-fe56804c-all.md similarity index 84% rename from notes/2.1.0/2.1.0-c5eac14c-all.md rename to notes/2.1.0/2.1.0-fe56804c-all.md index cb3b80f23..fc06c40ad 100644 --- a/notes/2.1.0/2.1.0-c5eac14c-all.md +++ b/notes/2.1.0/2.1.0-fe56804c-all.md @@ -35,6 +35,10 @@ - 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 +- feat: Test summary by @eed3si9n in https://github.com/sbt/sbt/pull/9602 +- Add a resolvedScalacOptions task that resolves cache placeholders by @azdrojowa123 in https://github.com/sbt/sbt/pull/9610 +- Add test result cache opt-out by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9675 +- feat: workerMaxInstances + testTopology by @eed3si9n in https://github.com/sbt/sbt/pull/9665 ## 🐛 Bug fixes @@ -196,6 +200,41 @@ - 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 +- fix: Forward build.sbt compilation errors to logger by @eed3si9n in https://github.com/sbt/sbt/pull/9599 +- fix: Guard diskcache against path traversal by @eed3si9n in https://github.com/sbt/sbt/pull/9605 +- fix: Fixes cache invalidation on version change by @eed3si9n in https://github.com/sbt/sbt/pull/9471 +- fix: sbtn to retry on corrupt active.json by @eed3si9n in https://github.com/sbt/sbt/pull/9617 +- fix: Name the platform in CrossVersion(module, scalaModuleInfo) by @kitbellew in https://github.com/sbt/sbt/pull/9620 +- fix: Avoid rewriting unchanged plugin descriptors (#9612) (#9624) by @eed3si9n in https://github.com/sbt/sbt/pull/9628 +- fix: Fixes -V parsing in sbt runners by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9626 +- fix: keep worker classloader open for shutdown hooks by @stasimus in https://github.com/sbt/sbt/pull/9639 +- fix: hash action cache inputs with full-width sha256 by @stasimus in https://github.com/sbt/sbt/pull/9641 +- fix: Verify remote cache blobs against their digest by @stasimus in https://github.com/sbt/sbt/pull/9643 +- fix: Fixes filesystem traversal order affecting cache stability by @christianharrington in https://github.com/sbt/sbt/pull/9646 +- fix: Populate the in-memory cache on a read by @hoangmaihuy in https://github.com/sbt/sbt/pull/9657 +- fix: Restore public test result report types by @unkarjedy in https://github.com/sbt/sbt/pull/9655 +- fix: Fixes --addPluginSbtFile getting lost after reboot by @azdrojowa123 in https://github.com/sbt/sbt/pull/9669 +- fix: Notify listeners before LinkageError escapes suites (#9667) by @eed3si9n in https://github.com/sbt/sbt/pull/9672 +- fix: Fixes ThisBuild-scoped bare settings by @eed3si9n in https://github.com/sbt/sbt/pull/9674 +- fix: Fixes JDK 17 domain socket deadlocks by @eed3si9n in https://github.com/sbt/sbt/pull/9671 +- Fix sbt-native-packager compatibility by @xuwei-k in https://github.com/sbt/sbt/pull/9677 +- fix: Fixes Windows runner by @eed3si9n in https://github.com/sbt/sbt/pull/9680 +- Remove global.base setting in windows runner script by @vlovgr in https://github.com/sbt/sbt/pull/9688 +- fix: Resolve Seq[Initialize[Task[T]]].join to Initialize[Task[Seq[T]]] by @jozanek in https://github.com/sbt/sbt/pull/9347 +- fix: Share a holder for a closeable by @kitbellew in https://github.com/sbt/sbt/pull/9692 +- fix: Retry a read before discarding a server by @kitbellew in https://github.com/sbt/sbt/pull/9690 +- fix: Write the server's files by rename by @kitbellew in https://github.com/sbt/sbt/pull/9689 +- fix: keep every output line the runner test reads by @stasimus in https://github.com/sbt/sbt/pull/9687 +- fix: Fixes unhermetic semanticdbTargetRoot in the compile cache key by @christianharrington in https://github.com/sbt/sbt/pull/9711 +- fix: keep macro subprojects off the pipelined classpath by @stasimus in https://github.com/sbt/sbt/pull/9719 +- fix: restart the sbt server when -D options change by @stasimus in https://github.com/sbt/sbt/pull/9685 +- fix: Keep accepting after a client fails by @kitbellew in https://github.com/sbt/sbt/pull/9691 +- fix: Add a row when customRow gets no versions by @kitbellew in https://github.com/sbt/sbt/pull/9717 +- fix: Remove Ivy API usage from build publishing plugins by @anatoliykmetyuk in https://github.com/sbt/sbt/pull/9723 +- fix: Fail the build on bad resource generator by @eed3si9n in https://github.com/sbt/sbt/pull/9735 +- fix: Fixes cross command parsing by @stasimus in https://github.com/sbt/sbt/pull/9726 +- fix: Stop a displaced server by @kitbellew in https://github.com/sbt/sbt/pull/9713 +- fix: Resolve the project axis to the current project in runAggregated by @jozanek in https://github.com/sbt/sbt/pull/9722 ## ⚡ Performance improvements @@ -212,6 +251,13 @@ - 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 +- perf: Optimize `UpdateReport` disk format by @hoangmaihuy in https://github.com/sbt/sbt/pull/9515 +- perf: Skip re-packaging the class directory when zinc recompiles nothing by @hoangmaihuy in https://github.com/sbt/sbt/pull/9609 +- perf: Stop re-converting the classpath in compileOptions by @hoangmaihuy in https://github.com/sbt/sbt/pull/9622 +- perf: Copy instead of symlink when restoring the disk cache on APFS by @hoangmaihuy in https://github.com/sbt/sbt/pull/9623 +- perf: avoid re-sorting watch inputs on every file event by @stasimus in https://github.com/sbt/sbt/pull/9650 +- perf: write packageBin jars and action cache zips in parallel by @hoangmaihuy in https://github.com/sbt/sbt/pull/9661 +- perf: Cut redundant hashing in disk action cache by @stasimus in https://github.com/sbt/sbt/pull/9649 ## Behind the scenes @@ -396,5 +442,28 @@ - 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 +- doc: Start sbt 2.1.0 release note by @eed3si9n in https://github.com/sbt/sbt/pull/9595 +- test: Fix project-matrix test TODO by @xuwei-k in https://github.com/sbt/sbt/pull/9596 +- refactor: Fix warning in ivyless-publish-http-plugin test by @xuwei-k in https://github.com/sbt/sbt/pull/9597 +- refactor: Remove nowarn annotation in CoursierDependencyResolution by @xuwei-k in https://github.com/sbt/sbt/pull/9593 +- ci: Update sbt and plugins by @xuwei-k in https://github.com/sbt/sbt/pull/9603 +- test: Add a regression test for incremental test by @eed3si9n in https://github.com/sbt/sbt/pull/9608 +- Remove Ivy dependency by @eed3si9n in https://github.com/sbt/sbt/pull/9615 +- Update sbtn to 2.0.0-8753a981 by @eed3si9n in https://github.com/sbt/sbt/pull/9630 +- test: Cover action cache traversal and content guards by @stasimus in https://github.com/sbt/sbt/pull/9640 +- Symlink CLAUDE.md to AGENTS.md by @eed3si9n in https://github.com/sbt/sbt/pull/9663 +- test: Community Build by @eed3si9n in https://github.com/sbt/sbt/pull/9659 +- Scala 3.9.0 by @eed3si9n in https://github.com/sbt/sbt/pull/9439 +- test: Fix MatchError in RunFromSourceMain if RC version by @xuwei-k in https://github.com/sbt/sbt/pull/9684 +- Update CLA url by @xuwei-k in https://github.com/sbt/sbt/pull/9686 +- build(deps): bump actions/setup-java from 5 to 6 by @dependabot in https://github.com/sbt/sbt/pull/9695 +- ci: Update dependabot.yml target-branch by @xuwei-k in https://github.com/sbt/sbt/pull/9697 +- ci: Fix nightly publishing by @eed3si9n in https://github.com/sbt/sbt/pull/9705 +- refactor: Name the expressions that repeat by @kitbellew in https://github.com/sbt/sbt/pull/9712 +- doc: Update release notes by @eed3si9n in https://github.com/sbt/sbt/pull/9730 +- Update IO to 1.13.2 by @eed3si9n in https://github.com/sbt/sbt/pull/9731 +- Update Zinc to 2.1.0-M2 by @eed3si9n in https://github.com/sbt/sbt/pull/9733 +- doc: Update the style guide by @eed3si9n in https://github.com/sbt/sbt/pull/9736 +- refactor: Update scalafmt.conf by @eed3si9n in https://github.com/sbt/sbt/pull/9737 -**Full Changelog**: https://github.com/sbt/sbt/compare/f97633075960aaacd9e571461a688a000ed5ba0d...v2.1.0 +**Full Changelog**: https://github.com/sbt/sbt/compare/f97633075960aaacd9e571461a688a000ed5ba0d...fe56804cd752800490dfe56533040558d01263c5 diff --git a/notes/2.1.0/meta.md b/notes/2.1.0/meta.md index 02a94ffd4..f537afd2f 100644 --- a/notes/2.1.0/meta.md +++ b/notes/2.1.0/meta.md @@ -1,3 +1,5 @@ - Initially created up to c5eac14c - Updated to up 05d80eb7 (develop) / 3127e8d6 (2.0.x) - Updated to up 01198f54 (develop) / 3127e8d6 (2.0.x) +- Merged 2.1.0-c5eac14c-all.md and 2.1.0-05d80eb7-all.md into 2.1.0-01198f54-all.md (single cumulative checkpoint from the start of the release); the two superseded files were removed +- Updated to up fe56804c (develop) / 3127e8d6 (2.0.x)