forked from softprops/assembly-sbt
-
Notifications
You must be signed in to change notification settings - Fork 224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
do not buffer entry contents in memory while doing MergeStrategy.deduplicate #520
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
eed3si9n
approved these changes
Mar 11, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
@eed3si9n what's your opinion on this PR? It changes the default behavior a bit (as in some cases it reads source streams twice), but memory saving for large assemblies is quite big |
Worth trying out? If it causes issues for some ppl we can always back out. |
HyukjinKwon
pushed a commit
to apache/spark
that referenced
this pull request
Mar 26, 2024
…c` to `1.0.7` ### What changes were proposed in this pull request? The pr aims to upgrade: - `sbt-assembly` from `2.1.5` to `2.2.0` - `sbt-protoc` from `1.0.6` to `1.0.7` ### Why are the changes needed? - `sbt-assembly`, the full release notes: v2.20: https://github.com/sbt/sbt-assembly/releases/tag/v2.2.0 Reduce memory usage by avoiding to buffer entry contents during MergeStrategy.deduplicate in sbt/sbt-assembly#520 - `sbt-protoc` thesamet/sbt-protoc@v1.0.6...v1.0.7 The last upgrade happened one and a half years ago #38049 ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Pass GA. ### Was this patch authored or co-authored using generative AI tooling? No. Closes #45696 from panbingkun/sbt-assembly_sbt-protoc. Authored-by: panbingkun <[email protected]> Signed-off-by: Hyukjin Kwon <[email protected]>
sweisdb
pushed a commit
to sweisdb/spark
that referenced
this pull request
Apr 1, 2024
…c` to `1.0.7` ### What changes were proposed in this pull request? The pr aims to upgrade: - `sbt-assembly` from `2.1.5` to `2.2.0` - `sbt-protoc` from `1.0.6` to `1.0.7` ### Why are the changes needed? - `sbt-assembly`, the full release notes: v2.20: https://github.com/sbt/sbt-assembly/releases/tag/v2.2.0 Reduce memory usage by avoiding to buffer entry contents during MergeStrategy.deduplicate in sbt/sbt-assembly#520 - `sbt-protoc` thesamet/sbt-protoc@v1.0.6...v1.0.7 The last upgrade happened one and a half years ago apache#38049 ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Pass GA. ### Was this patch authored or co-authored using generative AI tooling? No. Closes apache#45696 from panbingkun/sbt-assembly_sbt-protoc. Authored-by: panbingkun <[email protected]> Signed-off-by: Hyukjin Kwon <[email protected]>
scarisey
referenced
this pull request
in scarisey/pct-compose
Jul 30, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [com.eed3si9n:sbt-assembly](https://togithub.com/sbt/sbt-assembly) | plugin | minor | `2.1.5` -> `2.2.0` | | [com.github.plokhotnyuk.jsoniter-scala:jsoniter-scala-core](https://togithub.com/plokhotnyuk/jsoniter-scala) | Test | minor | `2.28.4` -> `2.30.7` | | [com.github.plokhotnyuk.jsoniter-scala:jsoniter-scala-core](https://togithub.com/plokhotnyuk/jsoniter-scala) | | minor | `2.28.4` -> `2.30.7` | | [com.github.plokhotnyuk.jsoniter-scala:jsoniter-scala-macros](https://togithub.com/plokhotnyuk/jsoniter-scala) | Test | minor | `2.28.4` -> `2.30.7` | | [com.github.plokhotnyuk.jsoniter-scala:jsoniter-scala-macros](https://togithub.com/plokhotnyuk/jsoniter-scala) | | minor | `2.28.4` -> `2.30.7` | | [com.lihaoyi:fastparse](https://togithub.com/lihaoyi/fastparse) ([source](https://togithub.com/com-lihaoyi/fastparse)) | | minor | `3.0.2` -> `3.1.1` | | [com.lihaoyi:mainargs](https://togithub.com/com-lihaoyi/mainargs) | Test | minor | `0.6.2` -> `0.7.1` | | [com.lihaoyi:mainargs](https://togithub.com/com-lihaoyi/mainargs) | | minor | `0.6.2` -> `0.7.1` | | [com.lihaoyi:os-lib](https://togithub.com/com-lihaoyi/os-lib) | Test | minor | `0.9.3` -> `0.10.3` | | [com.lihaoyi:os-lib](https://togithub.com/com-lihaoyi/os-lib) | | minor | `0.9.3` -> `0.10.3` | | [com.lihaoyi:pprint](https://togithub.com/com-lihaoyi/PPrint) | Test | minor | `0.8.1` -> `0.9.0` | | [com.lihaoyi:pprint](https://togithub.com/com-lihaoyi/PPrint) | | minor | `0.8.1` -> `0.9.0` | | [com.lihaoyi:requests](https://togithub.com/com-lihaoyi/requests-scala) | Test | minor | `0.8.0` -> `0.9.0` | | [com.lihaoyi:requests](https://togithub.com/com-lihaoyi/requests-scala) | | minor | `0.8.0` -> `0.9.0` | | [com.softwaremill.magnolia1_3:magnolia](http://softwaremill.com/open-source) ([source](https://togithub.com/softwaremill/magnolia)) | | patch | `1.3.4` -> `1.3.7` | | [io.github.iltotore:iron](https://togithub.com/Iltotore/iron) | Test | minor | `2.5.0` -> `2.6.0` | | [io.github.iltotore:iron](https://togithub.com/Iltotore/iron) | | minor | `2.5.0` -> `2.6.0` | | [io.github.iltotore:iron-jsoniter](https://togithub.com/Iltotore/iron) | Test | minor | `2.5.0` -> `2.6.0` | | [io.github.iltotore:iron-jsoniter](https://togithub.com/Iltotore/iron) | | minor | `2.5.0` -> `2.6.0` | | [io.github.iltotore:iron-scalacheck](https://togithub.com/Iltotore/iron) | Test | minor | `2.5.0` -> `2.6.0` | | [org.scalacheck:scalacheck](http://www.scalacheck.org) ([source](https://togithub.com/typelevel/scalacheck)) | Test | minor | `1.17.0` -> `1.18.0` | | [org.scalatest:scalatest](http://www.scalatest.org) ([source](https://togithub.com/scalatest/scalatest)) | Test | patch | `3.2.18` -> `3.2.19` | | [sbt/sbt](https://togithub.com/sbt/sbt) | | minor | `1.9.9` -> `1.10.1` | | [scalacenter/sbt-dependency-submission](https://togithub.com/scalacenter/sbt-dependency-submission) | action | major | `v2` -> `v3` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>sbt/sbt-assembly (com.eed3si9n:sbt-assembly)</summary> ### [`v2.2.0`](https://togithub.com/sbt/sbt-assembly/releases/tag/v2.2.0): 2.2.0 [Compare Source](https://togithub.com/sbt/sbt-assembly/compare/v2.1.5...v2.2.0) #### updates - Update to jarjar-abrams-core 1.14.0 by [@​eed3si9n](https://togithub.com/eed3si9n) in [https://github.com/sbt/sbt-assembly/pull/522](https://togithub.com/sbt/sbt-assembly/pull/522) - Reduce memory usage by avoiding to buffer entry contents during `MergeStrategy.deduplicate` by [@​shuttie](https://togithub.com/shuttie) in [https://github.com/sbt/sbt-assembly/pull/520](https://togithub.com/sbt/sbt-assembly/pull/520) #### behind the scenes - Fixes typo in readme by [@​SethTisue](https://togithub.com/SethTisue) in [https://github.com/sbt/sbt-assembly/pull/518](https://togithub.com/sbt/sbt-assembly/pull/518) - Warn about parasitized über JARs in readme by [@​eed3si9n](https://togithub.com/eed3si9n) in [https://github.com/sbt/sbt-assembly/pull/521](https://togithub.com/sbt/sbt-assembly/pull/521) #### new contributors - [@​shuttie](https://togithub.com/shuttie) made their first contribution in [https://github.com/sbt/sbt-assembly/pull/520](https://togithub.com/sbt/sbt-assembly/pull/520) **Full Changelog**: https://github.com/sbt/sbt-assembly/compare/v2.1.5...v2.2.0 </details> <details> <summary>plokhotnyuk/jsoniter-scala (com.github.plokhotnyuk.jsoniter-scala:jsoniter-scala-core)</summary> ### [`v2.30.7`](https://togithub.com/plokhotnyuk/jsoniter-scala/releases/tag/v2.30.7) [Compare Source](https://togithub.com/plokhotnyuk/jsoniter-scala/compare/v2.30.6...v2.30.7) - More efficient writing of `Float`, `Double`, and `java.time.Duration` values using Scala.js All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.6...v2.30.7 ### [`v2.30.6`](https://togithub.com/plokhotnyuk/jsoniter-scala/releases/tag/v2.30.6) [Compare Source](https://togithub.com/plokhotnyuk/jsoniter-scala/compare/v2.30.5...v2.30.6) - More efficient writing of numeric and `java.time.*` values using Scala.js All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.5...v2.30.6 ### [`v2.30.5`](https://togithub.com/plokhotnyuk/jsoniter-scala/releases/tag/v2.30.5) [Compare Source](https://togithub.com/plokhotnyuk/jsoniter-scala/compare/v2.30.4...v2.30.5) - More efficient writing of `BigDecimal`, `BigInt`, `Double`, `Long`, and `java.time.Duration` values using Scala.js All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.4...v2.30.5 ### [`v2.30.4`](https://togithub.com/plokhotnyuk/jsoniter-scala/releases/tag/v2.30.4) [Compare Source](https://togithub.com/plokhotnyuk/jsoniter-scala/compare/v2.30.3...v2.30.4) - More efficient writing of `Double` values using Scala.js - More efficient reading of `BigDecimal`, `BigInt`, `Double`, `Float`, `Long`, and `java.time.Duration` values using Scala.js All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.3...v2.30.4 ### [`v2.30.3`](https://togithub.com/plokhotnyuk/jsoniter-scala/releases/tag/v2.30.3) [Compare Source](https://togithub.com/plokhotnyuk/jsoniter-scala/compare/v2.30.2...v2.30.3) - Update Scala Native to 0.5.4 - Update `scala-java-time` to 2.6.0 for `jsoniter-scala-coreJS` and `jsoniter-scala-coreNative` modules - Update `circe-core` to 0.14.9 for `jsoniter-scala-circe*` modules All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.2...v2.30.3 ### [`v2.30.2`](https://togithub.com/plokhotnyuk/jsoniter-scala/releases/tag/v2.30.2) [Compare Source](https://togithub.com/plokhotnyuk/jsoniter-scala/compare/v2.30.1...v2.30.2) - Fixed possible `ArrayIndexOutOfBoundsException` for some lengths of output buffer when serializing `double` values with 3-digit mantissa by JVMs - More efficient parsing of `java.time.Duration` values without nanoseconds - More efficient serialization of strings with escaped unicodes - More efficient serialization of `double` and `float` values - Added some compile-time optimizations All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.1...v2.30.2 ### [`v2.30.1`](https://togithub.com/plokhotnyuk/jsoniter-scala/releases/tag/v2.30.1) [Compare Source](https://togithub.com/plokhotnyuk/jsoniter-scala/compare/v2.30.0...v2.30.1) - Fixed missing enforced discriminator field for module or enum classes - Disallowed `discriminatorFieldName` to be `None` when `alwaysEmitDiscriminator` is `true` All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.30.0...v2.30.1 ### [`v2.30.0`](https://togithub.com/plokhotnyuk/jsoniter-scala/releases/tag/v2.30.0) [Compare Source](https://togithub.com/plokhotnyuk/jsoniter-scala/compare/v2.29.0...v2.30.0) - Added ability to enforce emitting of the discriminator field for ADT-based types if their codecs are derived not from the base ADT type All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.29.0...v2.30.0 ### [`v2.29.0`](https://togithub.com/plokhotnyuk/jsoniter-scala/releases/tag/v2.29.0) [Compare Source](https://togithub.com/plokhotnyuk/jsoniter-scala/compare/v2.28.5...v2.29.0) - Added the `ConfiguredJsonValuCodec[A]` trait that can be used with the `... derives ...` syntax for Scala 3 macros All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.28.5...v2.29.0 ### [`v2.28.5`](https://togithub.com/plokhotnyuk/jsoniter-scala/releases/tag/v2.28.5) [Compare Source](https://togithub.com/plokhotnyuk/jsoniter-scala/compare/v2.28.4...v2.28.5) - Disabled generation of asymmetric codecs for sum types with leaf classes that are `AnyVal` or one value classes with `CodecMakerConfig.withInlineOneValueClasses(true)` - Update Scala 2.13.x to 2.13.14 All changes https://github.com/plokhotnyuk/jsoniter-scala/compare/v2.28.4...v2.28.5 </details> <details> <summary>com-lihaoyi/fastparse (com.lihaoyi:fastparse)</summary> ### [`v3.1.1`](https://togithub.com/com-lihaoyi/fastparse/compare/3.1.0...3.1.1) [Compare Source](https://togithub.com/com-lihaoyi/fastparse/compare/3.1.0...3.1.1) ### [`v3.1.0`](https://togithub.com/com-lihaoyi/fastparse/compare/3.0.2...3.1.0) [Compare Source](https://togithub.com/com-lihaoyi/fastparse/compare/3.0.2...3.1.0) </details> <details> <summary>com-lihaoyi/mainargs (com.lihaoyi:mainargs)</summary> ### [`v0.7.1`](https://togithub.com/com-lihaoyi/mainargs/releases/tag/0.7.1) [Compare Source](https://togithub.com/com-lihaoyi/mainargs/compare/0.7.0...0.7.1) ##### Merged Pull Requests - Update acyclic from 0.3.11 to 0.3.12 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/mainargs/pull/130](https://togithub.com/com-lihaoyi/mainargs/pull/130) - Update os-lib from 0.9.3 to 0.10.2 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/mainargs/pull/138](https://togithub.com/com-lihaoyi/mainargs/pull/138) - Update mill-mima from 0.1.0 to 0.1.1 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/mainargs/pull/136](https://togithub.com/com-lihaoyi/mainargs/pull/136) - Ensure `.scalafmt.conf` is correct for Scala 3 sources by [@​ckipp01](https://togithub.com/ckipp01) in [https://github.com/com-lihaoyi/mainargs/pull/118](https://togithub.com/com-lihaoyi/mainargs/pull/118) - Update Mill from 0.11.7-29-f2e220 to 0.11.7-109-59a5cb by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/mainargs/pull/137](https://togithub.com/com-lihaoyi/mainargs/pull/137) - \[[Issue-#​89](https://togithub.com/Issue-/mainargs/issues/89)] Fix call of main methods (refer to the actual method owner not just the method) by [@​arainko](https://togithub.com/arainko) in [https://github.com/com-lihaoyi/mainargs/pull/142](https://togithub.com/com-lihaoyi/mainargs/pull/142) ##### New Contributors - [@​arainko](https://togithub.com/arainko) made their first contribution in [https://github.com/com-lihaoyi/mainargs/pull/142](https://togithub.com/com-lihaoyi/mainargs/pull/142) **Full Changelog**: https://github.com/com-lihaoyi/mainargs/compare/0.7.0...0.7.1 ### [`v0.7.0`](https://togithub.com/com-lihaoyi/mainargs/releases/tag/0.7.0) [Compare Source](https://togithub.com/com-lihaoyi/mainargs/compare/0.6.3...0.7.0) ##### Merged Pull Requests - Fix version in readme by [@​nightscape](https://togithub.com/nightscape) in [https://github.com/com-lihaoyi/mainargs/pull/124](https://togithub.com/com-lihaoyi/mainargs/pull/124) - Support for Scala-Native 0.5.0 by [@​lihaoyi](https://togithub.com/lihaoyi) in [https://github.com/com-lihaoyi/mainargs/pull/125](https://togithub.com/com-lihaoyi/mainargs/pull/125) ##### New Contributors - [@​nightscape](https://togithub.com/nightscape) made their first contribution in [https://github.com/com-lihaoyi/mainargs/pull/124](https://togithub.com/com-lihaoyi/mainargs/pull/124) **Full Changelog**: https://github.com/com-lihaoyi/mainargs/compare/0.6.3...0.7.0 ### [`v0.6.3`](https://togithub.com/com-lihaoyi/mainargs/compare/0.6.2...0.6.3) [Compare Source](https://togithub.com/com-lihaoyi/mainargs/compare/0.6.2...0.6.3) </details> <details> <summary>com-lihaoyi/os-lib (com.lihaoyi:os-lib)</summary> ### [`v0.10.3`](https://togithub.com/com-lihaoyi/os-lib/releases/tag/0.10.3) ##### Merged Pull Requests - Enable already-passing native tests by [@​lihaoyi](https://togithub.com/lihaoyi) in [https://github.com/com-lihaoyi/os-lib/pull/273](https://togithub.com/com-lihaoyi/os-lib/pull/273) - Update mill-mima from 0.1.0 to 0.1.1 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/os-lib/pull/275](https://togithub.com/com-lihaoyi/os-lib/pull/275) - Update geny from 1.1.0 to 1.1.1 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/os-lib/pull/279](https://togithub.com/com-lihaoyi/os-lib/pull/279) - Update scalafmt from 3.8.1 to 3.8.2 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/os-lib/pull/280](https://togithub.com/com-lihaoyi/os-lib/pull/280) - Update Mill to 0.11.8 by [@​lefou](https://togithub.com/lefou) in [https://github.com/com-lihaoyi/os-lib/pull/281](https://togithub.com/com-lihaoyi/os-lib/pull/281) - Add API to redirect `os.Inherit`ed streams globally to be consistent with std streams redirections by [@​lihaoyi](https://togithub.com/lihaoyi) in [https://github.com/com-lihaoyi/os-lib/pull/283](https://togithub.com/com-lihaoyi/os-lib/pull/283) **Full Changelog**: https://github.com/com-lihaoyi/os-lib/compare/0.10.2...0.10.3 ### [`v0.10.2`](https://togithub.com/com-lihaoyi/os-lib/releases/tag/0.10.2) [Compare Source](https://togithub.com/com-lihaoyi/os-lib/compare/0.10.1...0.10.2) ##### Merged Pull Requests - Update Mill from 0.11.7-29-f2e220 to 0.11.7-86-18d144 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/os-lib/pull/268](https://togithub.com/com-lihaoyi/os-lib/pull/268) - Re-enable explicit TOC rendering in readme by [@​lefou](https://togithub.com/lefou) in [https://github.com/com-lihaoyi/os-lib/pull/269](https://togithub.com/com-lihaoyi/os-lib/pull/269) - Readme: put more versions into sub-section by [@​lefou](https://togithub.com/lefou) in [https://github.com/com-lihaoyi/os-lib/pull/181](https://togithub.com/com-lihaoyi/os-lib/pull/181) - Update sourcecode from 0.4.1 to 0.4.2 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/os-lib/pull/271](https://togithub.com/com-lihaoyi/os-lib/pull/271) - Update Mill from 0.11.7-86-18d144 to 0.11.7-107-9ec9bc by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/os-lib/pull/270](https://togithub.com/com-lihaoyi/os-lib/pull/270) - Support `os.proc` on Scala Native by [@​lihaoyi](https://togithub.com/lihaoyi) in [https://github.com/com-lihaoyi/os-lib/pull/257](https://togithub.com/com-lihaoyi/os-lib/pull/257) **Full Changelog**: https://github.com/com-lihaoyi/os-lib/compare/0.10.1...0.10.2 ### [`v0.10.1`](https://togithub.com/com-lihaoyi/os-lib/releases/tag/0.10.1) [Compare Source](https://togithub.com/com-lihaoyi/os-lib/compare/0.10.0...0.10.1) ##### Merged Pull Requests - Update acyclic from 0.3.11 to 0.3.12 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/os-lib/pull/262](https://togithub.com/com-lihaoyi/os-lib/pull/262) - Fix mistake in Readme.adoc by [@​kubukoz](https://togithub.com/kubukoz) in [https://github.com/com-lihaoyi/os-lib/pull/265](https://togithub.com/com-lihaoyi/os-lib/pull/265) - CI: Disable Java 8 build on macos-latest by [@​lefou](https://togithub.com/lefou) in [https://github.com/com-lihaoyi/os-lib/pull/266](https://togithub.com/com-lihaoyi/os-lib/pull/266) - Add recent releases to mima checks by [@​lefou](https://togithub.com/lefou) in [https://github.com/com-lihaoyi/os-lib/pull/260](https://togithub.com/com-lihaoyi/os-lib/pull/260) - Update sourcecode from 0.4.0 to 0.4.1 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/os-lib/pull/259](https://togithub.com/com-lihaoyi/os-lib/pull/259) - Update scalafmt version from 3.7.17 to 3.8.1 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/os-lib/pull/255](https://togithub.com/com-lihaoyi/os-lib/pull/255) - Update Scala version from 2.13.10 to 2.13.14 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/os-lib/pull/263](https://togithub.com/com-lihaoyi/os-lib/pull/263) - Fix os.copy and os.move directories to root by [@​kiendang](https://togithub.com/kiendang) in [https://github.com/com-lihaoyi/os-lib/pull/267](https://togithub.com/com-lihaoyi/os-lib/pull/267) ##### New Contributors - [@​kubukoz](https://togithub.com/kubukoz) made their first contribution in [https://github.com/com-lihaoyi/os-lib/pull/265](https://togithub.com/com-lihaoyi/os-lib/pull/265) - [@​kiendang](https://togithub.com/kiendang) made their first contribution in [https://github.com/com-lihaoyi/os-lib/pull/267](https://togithub.com/com-lihaoyi/os-lib/pull/267) **Full Changelog**: https://github.com/com-lihaoyi/os-lib/compare/0.10.0...0.10.1 ### [`v0.10.0`](https://togithub.com/com-lihaoyi/os-lib/releases/tag/0.10.0) [Compare Source](https://togithub.com/com-lihaoyi/os-lib/compare/0.9.3...0.10.0) ##### Merged Pull Requests - Fix artifactName for os-lib-watch by [@​lolgab](https://togithub.com/lolgab) in [https://github.com/com-lihaoyi/os-lib/pull/243](https://togithub.com/com-lihaoyi/os-lib/pull/243) - fix typo in readme by [@​SethTisue](https://togithub.com/SethTisue) in [https://github.com/com-lihaoyi/os-lib/pull/245](https://togithub.com/com-lihaoyi/os-lib/pull/245) - Update Mill to 0.11.7 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/os-lib/pull/246](https://togithub.com/com-lihaoyi/os-lib/pull/246) - Update jna from 5.13.0 to 5.14.0 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/os-lib/pull/244](https://togithub.com/com-lihaoyi/os-lib/pull/244) - Update acyclic from 0.3.9 to 0.3.10 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/os-lib/pull/248](https://togithub.com/com-lihaoyi/os-lib/pull/248) - Update acyclic from 0.3.10 to 0.3.11 by [@​scala-steward](https://togithub.com/scala-steward) in [https://github.com/com-lihaoyi/os-lib/pull/250](https://togithub.com/com-lihaoyi/os-lib/pull/250) - Scala Native 0.5.0 Support by [@​lihaoyi](https://togithub.com/lihaoyi) in [https://github.com/com-lihaoyi/os-lib/pull/256](https://togithub.com/com-lihaoyi/os-lib/pull/256) ##### New Contributors - [@​SethTisue](https://togithub.com/SethTisue) made their first contribution in [https://github.com/com-lihaoyi/os-lib/pull/245](https://togithub.com/com-lihaoyi/os-lib/pull/245) **Full Changelog**: https://github.com/com-lihaoyi/os-lib/compare/0.9.3...0.10.0 </details> <details> <summary>com-lihaoyi/PPrint (com.lihaoyi:pprint)</summary> ### [`v0.9.0`](https://togithub.com/com-lihaoyi/PPrint/compare/0.8.1...0.9.0) [Compare Source](https://togithub.com/com-lihaoyi/PPrint/compare/0.8.1...0.9.0) </details> <details> <summary>com-lihaoyi/requests-scala (com.lihaoyi:requests)</summary> ### [`v0.9.0`](https://togithub.com/com-lihaoyi/requests-scala/compare/0.8.3...0.9.0) [Compare Source](https://togithub.com/com-lihaoyi/requests-scala/compare/0.8.3...0.9.0) ### [`v0.8.3`](https://togithub.com/com-lihaoyi/requests-scala/compare/0.8.2...0.8.3) [Compare Source](https://togithub.com/com-lihaoyi/requests-scala/compare/0.8.2...0.8.3) ### [`v0.8.2`](https://togithub.com/com-lihaoyi/requests-scala/compare/0.8.0...0.8.2) [Compare Source](https://togithub.com/com-lihaoyi/requests-scala/compare/0.8.0...0.8.2) </details> <details> <summary>Iltotore/iron (io.github.iltotore:iron)</summary> ### [`v2.6.0`](https://togithub.com/Iltotore/iron/releases/tag/v2.6.0) [Compare Source](https://togithub.com/Iltotore/iron/compare/v2.5.0...v2.6.0) ##### Introduction This release adds new "all" variants introduced in 2.5.0 as well as compile-time UX enhancements. ##### Main changes ##### First-order variants for Cats and ZIO `iron-cats` and `iron-zio` now include "all" variants for `ValidatedNec`/`EitherNec`/`Nel...` and `Validation`. ```scala opaque type Username = String :| Alphanumeric object Username extends RefinedTypeOps[String, Alphanumeric, Username] ``` ```scala //Success(List("CoolSkeleton95", "Alice"): List[String :| Alphanumeric]) List("CookSkeleton95", "Alice").refineAllValidation[Alphanumeric] /* Failure(NonEmptyChunk( InvalidValue("Il_totore", "Should be alphanumeric"), InvalidValue(" ", "Should be alphanumeric") )) */ List("Il_totore", "CoolSkeleton95", " ", "Alice").refineAllValidation[Alphanumeric] //Success(List("CoolSkeleton95", "Alice"): List[Username]) Username.validationAll(List("CookSkeleton95", "Alice")) ``` ([Scastie](https://scastie.scala-lang.org/5xMOvMzQQ9uA0h2svyH35A)) ##### More useful compile-time errors A reason is now given when an error fails at compile-time: ```scala val y: Int = ??? //Runtime value val x: Int :| Greater[10] = y ``` ```scala [error] |-- Constraint Error -------------------------------------------------------- [error] |Cannot refine value at compile-time because the predicate cannot be evaluated. [error] |This is likely because the condition or the input value isn't fully inlined. [error] | [error] |To test a constraint at runtime, use one of the `refine...` extension methods. [error] | [error] |Inlined input: y [error] |Inlined condition: (y.>(10.0): scala.Boolean) [error] |Message: Should be greater than 10 [error] |Reason: Some arguments of `>` are not inlined: [error] |Arg 0: [error] | Term not inlined: y [error] |---------------------------------------------------------------------------- ``` ##### Better colors for compile-time errors Instead of aqua, compile-time errors use magenta which is more readable in Scastie than the former. Expressions are now highlighted: <details> <summary>Screenshot</summary> ![image](https://togithub.com/Iltotore/iron/assets/42907886/3db78673-1f99-4bf8-8958-3c1707124e4f) </details> ##### Configurable compile-time errors Compile-time errors can now be tweaked with two options: - `-Diron.color` to enable (`true`)/disable (`false`) compile-time messages colorations, including syntax highlighting - `-Diron.shortMessages` to display short summaries instead of full messages. Useful for Lens (such as Error Lens on VSCode or Inspection Lens on Intellij IDEA) users to have quick insights while coding. <details> <summary>Lens screenshot</summary> In the following example, the flag `-Diron.shortMessages=true` was added to BSP arguments. ![image](https://togithub.com/Iltotore/iron/assets/42907886/18756736-8a85-49b4-8b52-6cbbdb1efb06) </details> ##### Adopters The company [Clever Cloud](https://www.clever-cloud.com/) and the [Tessela](https://togithub.com/scala-tessella/tessella) project are now listed on the README as adopters. ##### Contributors - [@​mcallisto](https://togithub.com/mcallisto): [#​232](https://togithub.com/Iltotore/iron/issues/232) - [@​zaxxel](https://togithub.com/zaxxel): [#​233](https://togithub.com/Iltotore/iron/issues/233) and [#​234](https://togithub.com/Iltotore/iron/issues/234) **Full Changelog:** https://github.com/Iltotore/iron/compare/v2.5.0...v2.6.0 </details> <details> <summary>typelevel/scalacheck (org.scalacheck:scalacheck)</summary> ### [`v1.18.0`](https://togithub.com/typelevel/scalacheck/releases/tag/v1.18.0) [Compare Source](https://togithub.com/typelevel/scalacheck/compare/v1.17.1...v1.18.0) This is the first release that supports Scala Native 0.5. Otherwise this is functionally the same as 0.17.1. #### Updates - Update nscplugin, sbt-scala-native to 0.5.1 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1049](https://togithub.com/typelevel/scalacheck/pull/1049) **Full Changelog**: https://github.com/typelevel/scalacheck/compare/v1.17.1...v1.18.0 ### [`v1.17.1`](https://togithub.com/typelevel/scalacheck/releases/tag/v1.17.1) [Compare Source](https://togithub.com/typelevel/scalacheck/compare/v1.17.0...v1.17.1) #### Highlights - fix wrong millisecond value (fixes [#​913](https://togithub.com/typelevel/scalacheck/issues/913)) by [@​akonior](https://togithub.com/akonior) in [https://github.com/typelevel/scalacheck/pull/924](https://togithub.com/typelevel/scalacheck/pull/924) - fix scala 3 compilation errors in user guide examples by [@​akonior](https://togithub.com/akonior) in [https://github.com/typelevel/scalacheck/pull/925](https://togithub.com/typelevel/scalacheck/pull/925) - Fix Many Of The Warnings by [@​isomarcte](https://togithub.com/isomarcte) in [https://github.com/typelevel/scalacheck/pull/928](https://togithub.com/typelevel/scalacheck/pull/928) - Add Cogen instances for SortedSet and SortedMap by [@​isomarcte](https://togithub.com/isomarcte) in [https://github.com/typelevel/scalacheck/pull/927](https://togithub.com/typelevel/scalacheck/pull/927) - Added some code improvements and Removed Redundent Arguments by [@​aashish2054](https://togithub.com/aashish2054) in [https://github.com/typelevel/scalacheck/pull/942](https://togithub.com/typelevel/scalacheck/pull/942) - Add Gen.nonEmptyStringOf by [@​satorg](https://togithub.com/satorg) in [https://github.com/typelevel/scalacheck/pull/944](https://togithub.com/typelevel/scalacheck/pull/944) - add a comment line about `nonEmptyStringOf` by [@​satorg](https://togithub.com/satorg) in [https://github.com/typelevel/scalacheck/pull/951](https://togithub.com/typelevel/scalacheck/pull/951) - Integrate sbt-header (via sbt-typelevel) by [@​satorg](https://togithub.com/satorg) in [https://github.com/typelevel/scalacheck/pull/959](https://togithub.com/typelevel/scalacheck/pull/959) - Fix trailing whitespaces in headers by [@​satorg](https://togithub.com/satorg) in [https://github.com/typelevel/scalacheck/pull/963](https://togithub.com/typelevel/scalacheck/pull/963) - Add scalafmt to the repository by [@​satorg](https://togithub.com/satorg) in [https://github.com/typelevel/scalacheck/pull/950](https://togithub.com/typelevel/scalacheck/pull/950) - Add `open` to `Properties` to prevent Scala 3 compile errors by [@​froth](https://togithub.com/froth) in [https://github.com/typelevel/scalacheck/pull/991](https://togithub.com/typelevel/scalacheck/pull/991) - add explicit type by [@​xuwei-k](https://togithub.com/xuwei-k) in [https://github.com/typelevel/scalacheck/pull/1005](https://togithub.com/typelevel/scalacheck/pull/1005) - Remove CODE_OF_CONDUCT, use org default \[ci skip] by [@​valencik](https://togithub.com/valencik) in [https://github.com/typelevel/scalacheck/pull/1044](https://togithub.com/typelevel/scalacheck/pull/1044) - Prefer docstrings.style = AsteriskSpace by [@​som-snytt](https://togithub.com/som-snytt) in [https://github.com/typelevel/scalacheck/pull/1042](https://togithub.com/typelevel/scalacheck/pull/1042) #### Updates - Update nscplugin, sbt-scala-native, ... to 0.4.7 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/915](https://togithub.com/typelevel/scalacheck/pull/915) - Update scala-library to 2.12.17 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/917](https://togithub.com/typelevel/scalacheck/pull/917) - Update sbt-typelevel-ci-release, ... to 0.4.15 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/918](https://togithub.com/typelevel/scalacheck/pull/918) - Update scala3-library, ... to 3.2.0 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/920](https://togithub.com/typelevel/scalacheck/pull/920) - Update sbt to 1.7.2 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/921](https://togithub.com/typelevel/scalacheck/pull/921) - Update scala-library to 2.13.9 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/919](https://togithub.com/typelevel/scalacheck/pull/919) - Update sbt-typelevel-ci-release, ... to 0.4.16 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/922](https://togithub.com/typelevel/scalacheck/pull/922) - Update scala-library to 2.13.10 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/923](https://togithub.com/typelevel/scalacheck/pull/923) - Update sbt to 1.7.3 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/926](https://togithub.com/typelevel/scalacheck/pull/926) - Update scala3-library, ... to 3.2.1 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/929](https://togithub.com/typelevel/scalacheck/pull/929) - Update sbt-typelevel-ci-release, ... to 0.4.17 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/931](https://togithub.com/typelevel/scalacheck/pull/931) - Update sbt-scalajs, scalajs-compiler, ... to 1.11.0 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/932](https://togithub.com/typelevel/scalacheck/pull/932) - Update sbt to 1.8.0 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/934](https://togithub.com/typelevel/scalacheck/pull/934) - Update nscplugin, sbt-scala-native, ... to 0.4.9 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/933](https://togithub.com/typelevel/scalacheck/pull/933) - Update sbt to 1.8.1 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/935](https://togithub.com/typelevel/scalacheck/pull/935) - Update sbt to 1.8.2 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/936](https://togithub.com/typelevel/scalacheck/pull/936) - Update sbt-typelevel-ci-release, ... to 0.4.18 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/937](https://togithub.com/typelevel/scalacheck/pull/937) - Update scala3-library, ... to 3.2.2 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/939](https://togithub.com/typelevel/scalacheck/pull/939) - Update sbt-jmh to 0.4.4 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/940](https://togithub.com/typelevel/scalacheck/pull/940) - Update sbt-scalajs, scalajs-compiler, ... to 1.13.0 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/941](https://togithub.com/typelevel/scalacheck/pull/941) - Update nscplugin, sbt-scala-native, ... to 0.4.10 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/938](https://togithub.com/typelevel/scalacheck/pull/938) - Update sbt-scala-native-crossproject, ... to 1.3.0 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/953](https://togithub.com/typelevel/scalacheck/pull/953) - Update sbt-typelevel-ci-release, ... to 0.4.21 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/958](https://togithub.com/typelevel/scalacheck/pull/958) - Update sbt to 1.8.3 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/957](https://togithub.com/typelevel/scalacheck/pull/957) - Update nscplugin, sbt-scala-native, ... to 0.4.12 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/947](https://togithub.com/typelevel/scalacheck/pull/947) - Update scalafmt-core to 3.7.4 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/961](https://togithub.com/typelevel/scalacheck/pull/961) - Update sbt-scalajs, scalajs-compiler, ... to 1.13.1 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/954](https://togithub.com/typelevel/scalacheck/pull/954) - Update sbt-scala-native-crossproject, ... to 1.3.1 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/955](https://togithub.com/typelevel/scalacheck/pull/955) - Update sbt-jmh to 0.4.5 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/964](https://togithub.com/typelevel/scalacheck/pull/964) - Update sbt-typelevel to 0.4.22 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/966](https://togithub.com/typelevel/scalacheck/pull/966) - Update scala-library to 2.13.11 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/972](https://togithub.com/typelevel/scalacheck/pull/972) - Update sbt to 1.9.0 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/962](https://togithub.com/typelevel/scalacheck/pull/962) - Update nscplugin, sbt-scala-native, ... to 0.4.14 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/967](https://togithub.com/typelevel/scalacheck/pull/967) - Update scala3-library, ... to 3.3.0 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/960](https://togithub.com/typelevel/scalacheck/pull/960) - Update scala-library to 2.12.18 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/971](https://togithub.com/typelevel/scalacheck/pull/971) - Update sbt to 1.9.1 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/975](https://togithub.com/typelevel/scalacheck/pull/975) - Update scalafmt-core to 3.7.6 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/977](https://togithub.com/typelevel/scalacheck/pull/977) - Update sbt-scalajs, scalajs-compiler, ... to 1.13.2 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/974](https://togithub.com/typelevel/scalacheck/pull/974) - Update to sbt-typelevel 0.5.0-RC1 by [@​armanbilge](https://togithub.com/armanbilge) in [https://github.com/typelevel/scalacheck/pull/973](https://togithub.com/typelevel/scalacheck/pull/973) - Update sbt-typelevel to 0.5.0-RC5 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/978](https://togithub.com/typelevel/scalacheck/pull/978) - Update scalafmt-core to 3.7.7 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/980](https://togithub.com/typelevel/scalacheck/pull/980) - Update sbt to 1.9.2 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/982](https://togithub.com/typelevel/scalacheck/pull/982) - Update scalafmt-core to 3.7.9 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/985](https://togithub.com/typelevel/scalacheck/pull/985) - Update sbt-typelevel to 0.5.0-RC7 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/983](https://togithub.com/typelevel/scalacheck/pull/983) - Update sbt to 1.9.3 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/989](https://togithub.com/typelevel/scalacheck/pull/989) - Update sbt-typelevel to 0.5.0-RC9 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/988](https://togithub.com/typelevel/scalacheck/pull/988) - Update scalafmt-core to 3.7.10 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/986](https://togithub.com/typelevel/scalacheck/pull/986) - Update scalafmt-core to 3.7.12 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/995](https://togithub.com/typelevel/scalacheck/pull/995) - Update scala3-library, ... to 3.3.1 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1004](https://togithub.com/typelevel/scalacheck/pull/1004) - Update sbt to 1.9.4 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/999](https://togithub.com/typelevel/scalacheck/pull/999) - Update sbt-jmh to 0.4.6 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1003](https://togithub.com/typelevel/scalacheck/pull/1003) - Update scalafmt-core to 3.7.14 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1001](https://togithub.com/typelevel/scalacheck/pull/1001) - Update nscplugin, sbt-scala-native, ... to 0.4.15 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1002](https://togithub.com/typelevel/scalacheck/pull/1002) - Update sbt to 1.9.5 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1009](https://togithub.com/typelevel/scalacheck/pull/1009) - Update sbt to 1.9.6 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1010](https://togithub.com/typelevel/scalacheck/pull/1010) - Update commons-lang3 to 3.13.0 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/992](https://togithub.com/typelevel/scalacheck/pull/992) - Update scalafmt-core to 3.7.15 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1016](https://togithub.com/typelevel/scalacheck/pull/1016) - Update sbt to 1.9.7 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1015](https://togithub.com/typelevel/scalacheck/pull/1015) - Update sbt-typelevel to 0.6.0 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1017](https://togithub.com/typelevel/scalacheck/pull/1017) - Update sbt-typelevel to 0.6.2 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1020](https://togithub.com/typelevel/scalacheck/pull/1020) - Update nscplugin, sbt-scala-native, ... to 0.4.16 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1014](https://togithub.com/typelevel/scalacheck/pull/1014) - Update sbt-scalajs, scalajs-compiler, ... to 1.14.0 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1012](https://togithub.com/typelevel/scalacheck/pull/1012) - Update scalafmt-core to 3.7.17 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1021](https://togithub.com/typelevel/scalacheck/pull/1021) - Update sbt-typelevel to 0.6.4 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1027](https://togithub.com/typelevel/scalacheck/pull/1027) - Update sbt to 1.9.8 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1026](https://togithub.com/typelevel/scalacheck/pull/1026) - Update sbt-jmh to 0.4.7 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1025](https://togithub.com/typelevel/scalacheck/pull/1025) - Update scala-library to 2.13.12 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1007](https://togithub.com/typelevel/scalacheck/pull/1007) - Update sbt-typelevel to 0.6.5 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1029](https://togithub.com/typelevel/scalacheck/pull/1029) - Update scalafmt-core to 3.8.0 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1034](https://togithub.com/typelevel/scalacheck/pull/1034) - Update scala3-library, ... to 3.3.3 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1039](https://togithub.com/typelevel/scalacheck/pull/1039) - Update sbt to 1.9.9 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1035](https://togithub.com/typelevel/scalacheck/pull/1035) - Update sbt-typelevel to 0.6.7 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1036](https://togithub.com/typelevel/scalacheck/pull/1036) - Update commons-lang3 to 3.14.0 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1022](https://togithub.com/typelevel/scalacheck/pull/1022) - Update sbt-scalajs, scalajs-compiler, ... to 1.15.0 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1030](https://togithub.com/typelevel/scalacheck/pull/1030) - Update nscplugin, sbt-scala-native, ... to 0.4.17 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1032](https://togithub.com/typelevel/scalacheck/pull/1032) - Update scala-library to 2.12.19 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1037](https://togithub.com/typelevel/scalacheck/pull/1037) - Update scala-library to 2.13.13 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1038](https://togithub.com/typelevel/scalacheck/pull/1038) - Update scalafmt-core to 3.8.1 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1045](https://togithub.com/typelevel/scalacheck/pull/1045) - Update sbt-scalajs, scalajs-compiler, ... to 1.16.0 by [@​typelevel-steward](https://togithub.com/typelevel-steward) in [https://github.com/typelevel/scalacheck/pull/1046](https://togithub.com/typelevel/scalacheck/pull/1046) #### New Contributors - [@​akonior](https://togithub.com/akonior) made their first contribution in [https://github.com/typelevel/scalacheck/pull/924](https://togithub.com/typelevel/scalacheck/pull/924) - [@​aashish2054](https://togithub.com/aashish2054) made their first contribution in [https://github.com/typelevel/scalacheck/pull/942](https://togithub.com/typelevel/scalacheck/pull/942) - [@​satorg](https://togithub.com/satorg) made their first contribution in [https://github.com/typelevel/scalacheck/pull/944](https://togithub.com/typelevel/scalacheck/pull/944) - [@​valencik](https://togithub.com/valencik) made their first contribution in [https://github.com/typelevel/scalacheck/pull/1044](https://togithub.com/typelevel/scalacheck/pull/1044) - [@​som-snytt](https://togithub.com/som-snytt) made their first contribution in [https://github.com/typelevel/scalacheck/pull/1042](https://togithub.com/typelevel/scalacheck/pull/1042) **Full Changelog**: https://github.com/typelevel/scalacheck/compare/v1.17.0...v1.17.1 </details> <details> <summary>scalatest/scalatest (org.scalatest:scalatest)</summary> ### [`v3.2.19`](https://togithub.com/scalatest/scalatest/compare/release-3.2.18...release-3.2.19) [Compare Source](https://togithub.com/scalatest/scalatest/compare/release-3.2.18...release-3.2.19) </details> <details> <summary>sbt/sbt (sbt/sbt)</summary> ### [`v1.10.1`](https://togithub.com/sbt/sbt/releases/tag/v1.10.1): 1.10.1 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.10.0...v1.10.1) #### bug fixes and updates - Fixes column/position information missing from the javac error messages in IntelliJ by [@​vasilmkd](https://togithub.com/vasilmkd) in [https://github.com/sbt/zinc/pull/1373](https://togithub.com/sbt/zinc/pull/1373) - Fixes backslash handling in `expandMavenSettings` by [@​desbo](https://togithub.com/desbo) in [https://github.com/sbt/librarymanagement/pull/444](https://togithub.com/sbt/librarymanagement/pull/444) - Fixes JSON serialization of `Map` and `LList` in sjson-new 0.10.1 by [@​steinybot](https://togithub.com/steinybot) + [@​eed3si9n](https://togithub.com/eed3si9n) in [https://github.com/eed3si9n/sjson-new/pull/142](https://togithub.com/eed3si9n/sjson-new/pull/142) - Fixes the hash code for empty files in the classpath cache by [@​szeiger](https://togithub.com/szeiger) in [https://github.com/sbt/zinc/pull/1366](https://togithub.com/sbt/zinc/pull/1366) - Fixes `forceUpdatePeriod` by [@​adpi2](https://togithub.com/adpi2) in [https://github.com/sbt/sbt/pull/7567](https://togithub.com/sbt/sbt/pull/7567) - Fixes BSP handling of `Optional` inter-project dependencies by [@​adpi2](https://togithub.com/adpi2) in [https://github.com/sbt/sbt/pull/7568](https://togithub.com/sbt/sbt/pull/7568) - Ignores `jcenter` and `scala-tools-releases` entries in the `~/.sbt/repositories` file by [@​eed3si9n](https://togithub.com/eed3si9n) in [https://github.com/sbt/launcher/pull/104](https://togithub.com/sbt/launcher/pull/104) #### behind the scenes - Updates sbt plugins to avoid deprecated repo.scala-sbt.org by [@​mkurz](https://togithub.com/mkurz) in [https://github.com/sbt/sbt/pull/7555](https://togithub.com/sbt/sbt/pull/7555) - Updates scalacenter/sbt-dependency-submission from 2 to 3 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/sbt/sbt/pull/7565](https://togithub.com/sbt/sbt/pull/7565) **Full Changelog**: https://github.com/sbt/sbt/compare/v1.10.0...v1.10.1 ### [`v1.10.0`](https://togithub.com/sbt/sbt/releases/tag/v1.10.0): 1.10.0 [Compare Source](https://togithub.com/sbt/sbt/compare/v1.9.9...v1.10.0) [@​eed3si9n]: https://togithub.com/eed3si9n [@​adpi2]: https://togithub.com/adpi2 [@​dwijnand]: https://togithub.com/dwijnand [@​xuwei-k]: https://togithub.com/xuwei-k [@​mdedetrich]: https://togithub.com/mdedetrich [@​mkurz]: https://togithub.com/mkurz [@​hvesalai]: https://togithub.com/hvesalai [@​Friendseeker]: https://togithub.com/Friendseeker [@​RustedBones]: https://togithub.com/RustedBones [@​minkyu97]: https://togithub.com/minkyu97 [@​azdrojowa123]: https://togithub.com/azdrojowa123 [@​SethTisue]: https://togithub.com/SethTisue [@​Tammo0987]: https://togithub.com/Tammo0987 [@​azolotko]: https://togithub.com/azolotko [@​rtyley]: https://togithub.com/rtyley [@​mazugrin]: https://togithub.com/mazugrin [7350]: https://togithub.com/sbt/sbt/pull/7350 [7352]: https://togithub.com/sbt/sbt/pull/7352 [7470]: https://togithub.com/sbt/sbt/pull/7470 [7475]: https://togithub.com/sbt/sbt/pull/7475 [7480]: https://togithub.com/sbt/sbt/pull/7480 [7496]: https://togithub.com/sbt/sbt/pull/7496 [7516]: https://togithub.com/sbt/sbt/pull/7516 [7513]: https://togithub.com/sbt/sbt/pull/7513 [7419]: https://togithub.com/sbt/sbt/pull/7419 [7389]: https://togithub.com/sbt/sbt/pull/7389 [7398]: https://togithub.com/sbt/sbt/pull/7398 [7178]: https://togithub.com/sbt/sbt/pull/7178 [7437]: https://togithub.com/sbt/sbt/pull/7437 [7545]: https://togithub.com/sbt/sbt/pull/7545 [sip51]: https://docs.scala-lang.org/sips/drop-stdlib-forwards-bin-compat.html [zinc1319]: https://togithub.com/sbt/zinc/pull/1319 [zinc1316]: https://togithub.com/sbt/zinc/pull/1316 [zinc1314]: https://togithub.com/sbt/zinc/pull/1314 [zinc1326]: https://togithub.com/sbt/zinc/pull/1326 [zinc1324]: https://togithub.com/sbt/zinc/pull/1324 [zinc1312]: https://togithub.com/sbt/zinc/pull/1312 [zinc1310]: https://togithub.com/sbt/zinc/pull/1310 [zinc1278]: https://togithub.com/sbt/zinc/pull/1278 [zinc1284]: https://togithub.com/sbt/zinc/pull/1284 [zinc1259]: https://togithub.com/sbt/zinc/pull/1259 [zinc1277]: https://togithub.com/sbt/zinc/pull/1277 [zinc1265]: https://togithub.com/sbt/zinc/pull/1265 [zinc1289]: https://togithub.com/sbt/zinc/pull/1289 [zinc1290]: https://togithub.com/sbt/zinc/pull/1290 [zinc1282]: https://togithub.com/sbt/zinc/pull/1282 [zinc1293]: https://togithub.com/sbt/zinc/pull/1293 [zinc1288]: https://togithub.com/sbt/zinc/pull/1288 [zinc1287]: https://togithub.com/sbt/zinc/pull/1287 [lm436]: https://togithub.com/sbt/librarymanagement/pull/436 [lm433]: https://togithub.com/sbt/librarymanagement/pull/433 #### Changes with compatibility implications - For SIP-51 support, `scalaVersion` can no longer be a lower 2.13.x version number than its transitive depdencies. See below for details. - ConsistentAnalysisFormat is enabled by default. See below for details. - Updates lm-coursier-shaded to 2.1.4, which brings in Coursier 2.1.9 [#​7513][7513]. - Updates Jsch to [mwiede/jsch](https://togithub.com/mwiede/jsch) fork by [@​azolotko][@​azolotko] in [lm#436][lm436] - Updates the Scala version used by sbt 1.x to 2.12.19 by [@​SethTisue][@​SethTisue] in [#​7516][7516]. #### SIP-51 Support for Scala 2.13 Evolution Modern Scala 2.x has kept both forward and backward binary compatibility so a library compiled using Scala 2.13.12 can be used by an application compiled with Scala 2.13.11 etc, and vice versa. The forward compatibility restricts Scala 2.x from evolving during the patch releases, so in [SIP-51][sip51] Lukas Rytz at Lightbend Scala Team proposed: > I propose to drop the forwards binary compatibility requirement that build tools enforce on the Scala 2.13 standard library. This will allow implementing performance optimizations of collection operations that are currently not possible. It also unblocks adding new classes and new members to existing classes in the standard library. Lukas has also contributed changes to sbt 1.10.0 to enforce stricter `scalaVersion`. Starting sbt 1.10.0, when a Scala 2.13.x patch version newer than `scalaVersion` is found, it will fail the build as follows: ```scala sbt:foo> run [error] stack trace is suppressed; run last scalaInstance for the full output [error] (scalaInstance) expected `foo/scalaVersion` to be "2.13.10" or later, [error] but found "2.13.5"; upgrade scalaVerion to fix the build. [error] [error] to support backwards-only binary compatibility (SIP-51), [error] the Scala 2.13 compiler cannot be older than scala-library on the [error] dependency classpath. [error] see `foo/evicted` to know why scala-library 2.13.10 is getting pulled in. ``` When you see the error message like above, you can fix this by updating the Scala version to the suggested version (e.g. 2.13.10): ```scala ThisBuild / scalaVersion := "2.13.10" ``` Side note: Old timers might know that [sbt 0.13.0](https://www.scala-sbt.org/0.13/docs/ChangeSummary\_0.13.0.html#sbt+0.13.0) also introduced the idea of *scala-library as a normal dependency*. This created various confusions as developers expected `scalaVersion`, compiler version, and scala-library version as expected to align. With the hindsight, sbt 1.10.0 will continue to respect `scalaVersion` to be the source-of-truth, but will reject bad ones at build time. This was contributed by Lukas Rytz in [#​7480][7480]. #### Zinc fixes - Fixes macro undercompilation by invalidating macro call sites when a type parameter changes by [@​Friendseeker][@​Friendseeker] in [zinc#1316][zinc1316] - Fixes macro undercompilation by invalidating macro source when its dependency changes by [@​dwijnand][@​dwijnand] in [zinc#1282][zinc1282] - Fixes SAM type undercompilation by [@​Friendseeker][@​Friendseeker] in [zinc#1288][zinc1288] - Fixes infinite incremental loop when Scala and Java are involved by [@​Friendseeker][@​Friendseeker] in [zinc#1312][zinc1312] - Fixes overcompilation on default parameter changes by [@​Friendseeker][@​Friendseeker] in [zinc#1324][zinc1324] - Fixes `IncOptions.useOptimizedSealed` not working for Scala 2.13 by [@​Friendseeker][@​Friendseeker] in [zinc#1278][zinc1278] - Includes extra invalidations in initial validation to fix initial compilation error by [@​Friendseeker][@​Friendseeker] in [zinc#1284][zinc1284] - Refixes compact names without breaking local names by [@​dwijnand][@​dwijnand] in [zinc#1259][zinc1259] - Undoes Protobuf workaround for build to work on Apple Silicon by [@​Friendseeker][@​Friendseeker] in [zinc#1277][zinc1277] - Uses `ClassTag` instead of `Manifest` by [@​xuwei-k][@​xuwei-k] in [zinc#1265][zinc1265] - Encodes parent trait private members in `extraHash` to propagate `TraitPrivateMembersModified` across external dependency by [@​Friendseeker][@​Friendseeker] in [zinc#1289][zinc1289] - Includes internal dependency in `extraHash` computation by [@​Friendseeker][@​Friendseeker] in [zinc#1290][zinc1290] - Deletes products of previous analysis when dropping previous analysis by [@​Friendseeker][@​Friendseeker] in [zinc#1293][zinc1293] - Uses the most up-to-date analysis for binary to source class name lookup by [@​Friendseeker][@​Friendseeker] in [zinc#1287][zinc1287] - Fixes inconsistent Analysis by removing source stamp caching by [@​Friendseeker][@​Friendseeker] in [zinc#1319][zinc1319] - Invalidate sources that depends on `@inline` methods in Scala 2.x by [@​Friendseeker][@​Friendseeker] in [zinc#1310][zinc1310] - Fixes `-Xshow-phases` handling by [@​Friendseeker][@​Friendseeker] in [zinc#1314][zinc1314] #### ConsistentAnalysisFormat: new Zinc Analysis serialization sbt 1.10.0 adds a new Zinc serialization format that is faster and repeatable, unlike the current Protobuf-based serialization. Benchmark data based on scala-library + reflect + compiler: | | Write time | Read time | File size | |-----------------------------|------------|-----------|-----------| | sbt Text | 1002 ms | 791 ms | ~ 7102 kB | | sbt Binary | 654 ms | 277 ms | ~ 6182 kB | | ConsistentBinary | 157 ms | 100 ms | 3097 kB | Since Zinc Analysis is internal to sbt, sbt 1.10.0 will enable this format by default. The following setting can be used to opt-out: ```scala Global / enableConsistentCompileAnalysis := false ``` This was contributed by Stefan Zeiger at Databricks in [zinc#1326][zinc1326]. #### New CommandProgress API sbt 1.10.0 adds a new CommandProgress API. This was contributed by Iulian Dragos at Gradle Inc in [#​7350][7350]. #### Other updates - Updates to JLine 3.24.1 and JAnsi 2.4.1 by [@​hvesalai][@​hvesalai]/[@​mazugrin][@​mazugrin] in [#​7419][7419]/[#​7545][7545] - Supports cross-build for external project ref by [@​RustedBones][@​RustedBones] in [#​7389][7389] - Avoids deprecated `java.net.URL` constructor by [@​xuwei-k][@​xuwei-k] in [#​7398][7398] - Fixes bug of unmanagedResourceDirectories by [@​minkyu97][@​minkyu97] in [#​7178][7178] - Fixes `updateSbtClassifiers` task by [@​azdrojowa123][@​azdrojowa123] in [#​7437][7437] - Fixes `packageSrc` to include `managedSources` by [@​Friendseeker][@​Friendseeker] in [#​7470][7470] - Fixes publishing to use the publisher specified using the `publisher` setting by [@​Tammo0987][@​Tammo0987] in [#​7475][7475] - Fixes eviction warning message by avoid repeating versions by [@​rtyley][@​rtyley] in [lm#433][lm433] - BSP: Implements `buildTarget/javacOptions` by [@​adpi2][@​adpi2] in [#​7352][7352] - BSP: Adds `noOp` field in the compile report by [@​adpi2][@​adpi2] in [#​7496][7496] </details> <details> <summary>scalacenter/sbt-dependency-submission (scalacenter/sbt-dependency-submission)</summary> ### [`v3`](https://togithub.com/scalac </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 7pm on thursday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/scarisey/pct-compose). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
Currently the
MergeStrategy.deduplicate
works in the following way:I'm maintaining a metarank project and with the current approach it requires ~6Gb heap to make the assembly with
sbt -mem 6000 assembly
. With lower heap sizes the thing OOMs:But there are some problems with the current implementation:
conflictContents = conflicts.map(_.stream()).map(Streamable.bytes(_))
buffers all duplicate contents in a heap buffer. There are some examples like ONNXRuntime which bundle a huge 500Mb binary inside the jar, and buffering it in RAM might not be perfect approach.JarEntry(conflicts.head.target, () => new ByteArrayInputStream(conflictContents.head)
takes a byte buffer with contents and wraps it as an InputStream. Given thatDependency
already technically is a stream (usually a file-based), there is no need to re-wrap it into a ByteArrayInputStream and just reuse the.stream
from the dependency as is.Even worse, the
ByteArrayInputStream
re-wrapping happens for allJarEntry
items, effectively transformingFileInputStream
intoByteArrayInputStream
, so you need enough heap to buffer the whole unzipped assembly with all the dependencies.Proposed solution
In this PR we suggest to make deduplication work without caching all entry content in heap:
sbtassembly.Assembly.sha1Content
operate onInputStream
and not onbyte[]
FileInputStream
as a heap-bufferedByteArrayInputStream
Risks
The main risk of such approach is that we need to read all assembly content twice: first time while deduplicating, and then later while writing the final assembly jar.
But considering the fact that reading the same file twice puts it into an OS file cache, we assume that such drawback won't affect the overall sbt-assembly performance.
Benchmarks
Before:
After: