Quick clarificationβοΈJust because Scala itself targets JDK 8 doesn't mean your app has to! You're free to use any JDK 8 or newer. Scala 3.8 will raise the minimum required JDK to 17, but you'll still be able to use the latest JDKs (21, 25, etc.) for your own projects. #scala #jdk nostr:note1r6xd44py3zppe6k4csmz9sdjhpxec2f4gjnpjv988uwu4975kxjq5pkudw
Matej Cerny
npub17hpl...yx66
Functional programming enthusiast with strong foundations in the relational databases world #FP #Scala #Postgres
Notes (20)
Let's look at four possibilities that JDK 17 adoption could unlock for the upcoming #Scala versions. π§΅
With #Scala 3.8 around the corner, let's recap its biggest changes:
1οΈβ£ JDK 17 as a minimum version
2οΈβ£ "Better fors" (SIP-62)
3οΈβ£ Standard library built with Scala 3
The biggest improvements in #Scala 3 are not enums or nicer implicits syntax, but:
π€ Making binary compatibility across versions possible (via TASTy)
β‘ A built-in interactive compiler (instead of a batch tool)
π A modular architecture that makes new features easier to add
π Scala 3.7.4 is officially out, bringing several fixes and backports. See the full changelog π #scala https://github.com/scala/scala3/releases/tag/3.7.4
Streams are a powerful tool for control flow, covering topics such as event handling, file processing, reading from the database... Learn more from Zainab Ali's talk at the London Scala User Group. #scala https://youtu.be/XMmzoJBtC_Q
Please share so my boss Michal is happy! π Or to spread the word about VirtusLab / SoftwareMill's new podcast! π’ Or to support local #Scala agencies! πͺ https://www.youtube.com/watch?v=dcYZ5HQzAmc
There are so many great thoughts, to pinpoint just a few:
1οΈβ£ Tooling is nowhere near other languages
2οΈβ£ Missing a true "Spring Boot-like" framework
3οΈβ£ Official docs need real-world examples
4οΈβ£ The persistent misconception that "you need async for performance"
#scala https://youtu.be/a-uME7QBlxg
This is probably the most complete tutorial on typeclasses in Scala 3, it's basically a short book. Bookmark it, as it has everything: givens, derivation, mirrors, inline defs, macros... you name it. #scala https://kubuszok.com//2025/sanely-automatic-derivation/
After years, I came to the same conclusion: it's worth taking the time to use proper test data, even for attributes you don't currently use in your business logic. It'll save you so much time later. https://etorreborre.blog/dont-look-down-look-at-the-data-instead
Scala vs. F#: Which is more functional? #scala #fsharp https://alexn.org/blog/2025/11/01/scala-vs-fsharp/
The tech industry is creating its own talent crisis. By ditching junior devs for AI hype, companies are just burning out their seniors and killing the future talent pipeline. #ai https://www.youtube.com/watch?v=DcJ53EatUOU
Binary compatibility is a very important topic that every senior should understand. This video, even though it's about Smithy4s, explains concepts for evolving a library's schema in a binary-compatible way. #scala https://youtu.be/1HFV-tGZVlY
The most comprehensive collection of Scala learning material finally on YouTube. A freaking 283 videos! #scala https://www.youtube.com/@Ziverge/playlists
Respect to Dylan Halperin for his massive contribution to @http4s! π His new MultipartReceiver is in the latest version after over a year of review, adding safer, fail-fast file uploads with size limits and no buffering. #scala https://github.com/http4s/http4s/releases/tag/v0.23.33
I was really looking forward to io_uring in Postgres 18, but it turns out it's not the winning I/O strategy. Worker, the new default, seems to be the best all-around method so far, performing well on all storage types. #postgres https://planetscale.com/blog/benchmarking-postgres-17-vs-18
Java is removing sun.misc.Unsafe, an API which is widely used but was never supported or meant to be public. This is one of the reasons for the adoption of JDK 17 in the upcoming version of Scala, which relies on Unsafe for its lazy val implementation. #java #scala https://youtu.be/jCbqkMKegmY
π‘ Quick tip: Stop parsing Array[String], use @main and get type-safe command-line args directly as function parameters. #scala 

Match types, an awesome feature which I haven't properly used yet π #scala https://alexn.org/blog/2025/10/25/scala-3-match-types/
Taking bets on when Spark will adopt Scala 3. Just by reading the PR, my guess is never. π #scala #spark https://github.com/apache/spark/pull/50474