0.4.15 (2023-09-01)

We’re happy to announce the release of Scala Native 0.4.15, which is the next maintenance release and includes mostly bug fixes and implements some of the missing JDK methods.

We encourage you to test out the next major version nightlies available - 0.5.0-SNAPSHOT to catch the remaining multithreading issues before the final release.

Scala standard library used by this release is based on the following versions:

Scala binary version Scala release
2.12 2.12.18
2.13 2.13.11
3 3.3.0
Commits since last release 48
Merged PRs 47
Contributors 8

Contributors

Big thanks to everybody who contributed to this release or reported an issue!

$ git shortlog -sn --no-merges v0.4.14..v0.4.15
    27	LeeTibbert
    11	Wojciech Mazur
     3	Eric K Richardson
     2	Rikito Taniguchi
     2	Yifei Zhou
     1	Arman Bilge
     1	kim / Motoyuki Kimura
     1	spamegg

Merged PRs

v0.4.15 (2023-09-01)

Full Changelog

Merged pull requests:

Java Standard Library

  • Fix #3307, #3315: javalib *Stream.iterate characteristics now match JVM #3317 (LeeTibbert)

  • Fix #3333: javalib FileInputStream#available now matches JVM #3338 (LeeTibbert)

  • Replace all runtime platform checks with linktime conditions #3335 (armanbilge)

  • Fix #3308, #3350: better reporting of javalib stream & spliterator characteristics #3354 (LeeTibbert)

  • Fix Subclassed WeakReference to be GCed #3347 (mox692)

  • Fix #3329: javalib MappedByteBufferImpl no longer calls FileChannel truncate method #3345 (LeeTibbert)

  • Fix #3351: javalib LinkedList#spliterator now reports ORDERED characteristic. #3361 (LeeTibbert)

  • Fix #3340: javalib MappedByteBuffer now handles 0 byte ranges #3360 (LeeTibbert)

  • Fix #3316: javalib FileChannel append behavior now matches a JVM #3368 (LeeTibbert)

  • Fix #3352: javalib {Stream, DoubleStream}#sorted characteristics now match JVM #3366 (LeeTibbert)

  • Fix #3369: fix three defects in javalib FileChannel write methods #3370 (LeeTibbert)

  • Fix #3376: javalib {Stream#of, DoubleStream#of} characteristics now match a JVM #3377 (LeeTibbert)

  • Fix #3309: javalib stream limit methods now match Java 8 #3390 (LeeTibbert)

  • Add partial implementation of java.util.EnumSet #3397 (WojciechMazur)

  • Implement & test javalib Random doubleStream methods #3402 (LeeTibbert)

  • Port java.util.Vector from Apache Harmony #3403 (WojciechMazur)

  • Correct defect in javalib ThreadLocalRandom doubleStreams forEachRemaining #3406 (LeeTibbert)

  • javalib Random class now uses a better spliterator for Streams #3405 (LeeTibbert)

  • Make UUID.compareTo() consistent with the JVM. #3413 (Bensonater)

  • Support java.util.StringJoiner #3396 (spamegg1)

  • Fix #3409: Remove defects from Collectors#joining method #3421 (LeeTibbert)

  • Evolve new javalib StringJoiner class #3422 (LeeTibbert)

  • Fix #3408: Implement two javalib static String join() methods. #3420 (LeeTibbert)

  • Fix #3426: Towards a better javalib Stream.toArray(generator) #3428 (LeeTibbert)

  • Fix #3417: Remove maxDepth related defects from javalib Files methods #3430 (LeeTibbert)

  • Fix #3431: javalib Matcher.reset(input) now updates underlying regex. #3432 (LeeTibbert)

  • Fix #3378: javalib {Stream, DoubleStream}#sorted now delays actual sort to a terminal operation #3434 (LeeTibbert)

  • Fix #3439: Implement javalib sequential setAll methods #3441 (LeeTibbert)

  • Fix #3440: Provide a restricted implementation of javalib Array parallel methods #3445 (LeeTibbert)

Scala Native runtime

Scala Native toolchain

Documentation

  • Create native code page and add forward links #3462 (ekrich)