0.4.6 (2022-09-01)¶
We’re happy to announce the release of Scala Native 0.4.6. The new release brought support for Scala 3.2.0 and multiple bug fixes.
Scala 3.2.0 support¶
The new version of Scala Native is now supporting Scala 3.2.0. The latest release of Scala introduced a change to the internal implementation of lazy vals. These changes were not compatible with previous releases of the Scala Native compiler plugin.
The latest Scala Native standard library does not enforce an upgrade to Scala 3.2.0. All artifacts are still published using Scala 3.1.x. It also includes the Scala 3 standard library, which is now based on the sources of Scala 3.2.0. The publishing model of native artifacts of Scala 3 standard library is currently flawed. Artifacts are not cross-compiled for each Scala 3 version. Instead, we (maintainers), are forced on choosing only 1 version of Scala 3 sources. Fortunately, Scala 3.2.0 standard library fully sources compatible with 3.1.x releases. This oversight would be fixed in the next major version of Scala Native.
Scala standard library used by this release is based on the following versions:
Scala binary version | Scala release |
2.11 | 2.11.12 |
2.12 | 2.12.16 |
2.13 | 2.13.7 |
3 | 3.2.0 |
Commits since last release | 47 |
Merged PRs | 50 |
Contributors | 8 |
Contributors¶
Big thanks to everybody who contributed to this release or reported an issue!
$ git shortlog -sn --no-merges v0.4.5..v0.4.6
16 Arman Bilge
13 Wojciech Mazur
11 LeeTibbert
3 Eric K Richardson
1 James You
1 João Costa
1 Yilin Wei
1 yuly16
Merged PRs¶
v0.4.6 (2022-09-01)¶
Merged pull requests:
Java standard library¶
Drop empty elements in
Paths.get
#2745 (armanbilge)Path
extendsWatchable
#2749 (armanbilge)Port
CopyOnWriteArrayList
from Scala.js #2725 (armanbilge)Extract
getCanonicalHostName
fromgetHostName
#2752 (armanbilge)Port
InflaterOutputStream
from Android Luni #2748 (armanbilge)Add
java.nio.ch.CompletionHandler
#2796 (armanbilge)Add
java.net.ProtocolException
#2791 (armanbilge)Add
j.u.s.Stream#forEach
#2747 (armanbilge)Implement
UUID.randomUUID()
usingjava.security.SecureRandom
#2759 (armanbilge)Fix #2814: Port and extend StandardSocketOptions #2816 (LeeTibbert)
Posix bindings¶
Add
SO_REUSEPORT
#2806 (armanbilge)Handle null args to
accept
#2807 (armanbilge)Add
getpeername
#2812 (armanbilge)Fix #2717: Provide missing POSIX symbol EADDRNOTAVAIL #2718 (LeeTibbert)
Fix #2706: Implement clock methods and test cases, complete time.h #2713 (LeeTibbert)
Scala Native standard library¶
Add
LinktimeInfo.is{FreeBSD,Mac,Linux}
#2809 (armanbilge)
Scala Native compiler plugin¶
Fixes to usage of structural types in Scala 3 #2737 (WojciechMazur)
Use correct parameters lists when generating extern methods in Scala 3 #2736 (WojciechMazur)
Bug fixes¶
Fix #2751: Files#delete now throws informative DirectoryNotEmptyException #2754 (LeeTibbert)
Align error messages for
UnknownHost
with JVM #2805 (armanbilge)Fix #2793: Two regex patterns now tell the truth #2795 (LeeTibbert)
Add
CharsetTest
, fixCharset#aliases
#2792 (armanbilge)Fix #2769, #2650: Remove several defects discovered by ProcessTest #2776 (LeeTibbert)
Fix #2750: Two javalib entities now throw expected Exceptions #2756 (LeeTibbert)
Fix #2604: Print signal name when test interface exits #2722 (jmesyou)
Fixes: #1915: Consider clock_gettime for macos and linux #2704 (ekrich)
Fix #2730: Package private at the top level of build breaks easy import #2744 (ekrich)