A free, once-weekly Scala news flash. Easy to unsubscribe. Goes out every Thursday.
March 27th, 2025, ISSUE 576

READING

Evolving Scala

This article discusses how Scala must keep evolving, why that evolution is necessary, and what directions we expect that evolution to take. We hope that this will cover many of the frequently asked questions on the direction of the Scala language, and help the community understand where the language will go in the months and years to come.
Martin Odersky and Haoyi Li (@odersky @li_haoyi)
API First Scala

In the "API-first" approach you start with the API specification. You define the API usually with OpenAPI (Swagger) in a YAML or JSON file. Then you generate the server from that spec (and client code if need be).
Hadiz Sake
Strategies for Efficiently Parallelizing JVM Test Suites

This blog post will explore the design and evolution of the Mill JVM build tool’s test parallelism strategy, from its start as a simple serial test runner, to naive module-based and class-based sharding, to the dynamic sharding strategy implemented in the latest version of Mill 0.12.9
Li Haoyi (@li_haoyi)
Publishing ZIP artifacts with SBT

n my previous article about Scala, I briefly mentionned we were publishing Swaggers inside JARs, that we could unzip to retrieve the Swagger definition and then run our code generation. It works, but using ZIPs would feel better and less confusing for users. I have decided to nerd snip myself and see how I could publish a ZIP using SBT, and then use said ZIP as a dependency for sbt-swaggerinator.
Lex Plt

EVENTS

London Scala User Group Meetup, Apr 16th, London

Solving Scala's Build Problem with Mill & Mystery talk.
London Scala User Group (@londonscala)
J On the Beach, May 14th - 16th, Málaga, Spain

Use special promo code Sc4l4OTB for Scala Times readers to get 10% discount!
J On The Beach
15% discount for LambdaConf, May 10th - 16th, Estes Park, CO, USA

This year's conference will feature a hand-picked lineup of renowned and new speakers, thought-provoking keynotes, hands-on workshops, hackathons, and panel discussions. Whether you are a seasoned professional or just starting your journey in functional programming and AI, LambdaConf 2025 offers something for everyone.
LambdaConf (@lambda_conf)
Lambda Days, June 12th-13th, Kraków, Poland

Our event is one of the biggest functional programming conferences in Europe with 2 days packed with inspiring talks, networking opportunities, and, of course, some fun().
LambdaDays (@LambdaDays)
Scala Days 2025 CFP, Aug 19th - 21st, Lausanne, Switzerland

Submit your talk to be part of Scala Days 2025! The Call for Proposals is officially open and will close on April 6th, 2025, at 11:30 pm GMT.
Scala Center (@scala_lang)

VIDEOS

Functional Programming In Scala

Video recordings of the JetBrains' "Functional Programming in Scala" course.
Maciej Gorywoda (@makingthematrix)

RELEASES

Iron 3.0.0

A lightweight library for refined types in Scala 3. Version 3 brings better refined types definition, refinedType#apply is now blackbox, compile-time support for non-primitive types, more concise compile-time error messages, and more. Watch out for breaking changes!
Iron contributorts
Cats Effect 3.6.0

With huge rework of the internal work scheduler!
Cats Effect contributors
Metals 1.5.2

This release includes a number of new features, bug fixes and improvements. Especially worth mentioning is the fix for the Scala 2 issue, which previously caused most interactive features to break when using a type defined in a package object.
Metals contributors





  1. Scala Times Issue #576

    API First Scala. Strategies for Efficiently Parallelizing JVM Test Suites. Publishing ZIP artifacts with SBT. London Scala User Group Meetup, Apr 16th, London. J On the Beach, May 14th - 16th, Málaga, Spain.


  2. Scala Times Issue #575

    Data Plumber - Data Integration Pipeline. 15% discount for Scalar, Mar 27th - 28th, Warsaw, Poland. London Scala User Group Meetup, Apr 16th, London. J On the Beach, May 14th - 16th, Málaga, Spain. CFP for Lambda Days, June 12th-13th, Kraków, Poland.


  3. Scala Times Issue #574

    Debugging session #2: Scala 3 lazy vals & serialization. Infrastructure as types: introducing TypeOps. 15% discount for Scalar, Mar 27th - 28th, Warsaw, Poland. London Scala User Group Meetup, Apr 16th, London. J On the Beach, May 14th - 16th, Málaga, Spain.


  4. Scala Times Issue #573

    GSOC 2025: Call for contributors. Drawing Heighway’s Dragon - Recursive Function Rewrite. From Python to Scala: Rewriting 27k Lines of a CLI. Spotify FOSS Fund 2024. Functional World #16, Mar 11th, Online Event.


  5. Scala Times Issue #572

    Rock the JVM partners with the Scala Center. Typelevel Summer of Code 2025. Functional World #16, Mar 11th, Online Event. 15% discount for Scalar, Mar 27th - 28th, Warsaw, Poland. London Scala User Group Meetup, Apr 16th, London.


  6. Scala Times Issue #571

    Fast Incremental JVM Assembly Jar Creation with Mill. Calling Scala Native from Java using FFM. Announcing Scala Days 2025, Aug 19th - 21st, Lausanne, Switzerland. Scala In The City, Feb 25th, Hamburg, Germany. Scala in the City, Feb 26th, Berlin, Germany.


  7. Scala Times Issue #572

    Fast Incremental JVM Assembly Jar Creation with Mill. Calling Scala Native from Java using FFM. Announcing Scala Days 2025, Aug 19th - 21st, Lausanne, Switzerland. Scala In The City, Feb 25th, Hamburg, Germany. Scala in the City, Feb 26th, Berlin, Germany.


  8. Scala Times Issue #570

    Scala Highlights from 2024. Rust from a Scala Perspective: Advent of Code 2024. Scalar, Mar 27th - 28th, Warsaw, Poland. J On the Beach, May 14th - 16th, Málaga, Spain. CFP for Lambda Days, June 12th-13th, Kraków, Poland.


  9. Scala Times Issue #569

    Scala Tooling Spree #1 recap. Scala 3 Migration: Report from the Field. Circuit Breaker — Ox 0.x documentation. The joys of messaging without a message bus. Scalar, Mar 27th - 28th 2025, Warsaw, Poland.


  10. Scala Times Issue #568

    GSoC 2025: Call for Scala projects. Next Scala 3 LTS series will increase minimum required JDK version. Pre-SIP: A Syntax for Collection Literals. Scala Macros and Metaprogramming course. Scalar, Mar 27th - 28th 2025, Warsaw, Poland.


  11. Scala Times Issue #567

    Recap of Advent of Code 2024. Running Cask with Virtual Threads. Zio Schema vs Rust Serde. Scalar, Mar 27th - 28th 2025, Warsaw, Poland. CFP for Lambda Days, June 12th-13th 2025, Kraków, Poland.


  12. Scala Times Issue #566

    Random Scala Tip #568: Beware of Leaking Iterators. Announcing ScalaMock 7. Functional Programming In Scala, Jan 25th, Online Event. Scalar, Mar 27th - 28th 2025, Warsaw, Poland. CFP for Lambda Days, June 12th-13th 2025, Kraków, Poland.


  13. Scala Times Issue #565

    Random Scala Tip #697: Avoid Anonymous Functions as Dependencies. Scalar, Mar 27th - 28th 2025, Warsaw, Poland. CFP for Lambda Days, June 12th-13th 2025, Kraków, Poland. IntelliJ IDEA x Scala - Enums Support.


  14. Scala Times Issue #564

    Google Summer of Code 2024 - Going Feral on The Cloud. Rant on Scala3 tooling (IntelliJ/metals). Scalar, Mar 27th - 28th 2025, Warsaw, Poland. CFP for Lambda Days, June 12th-13th 2025, Kraków, Poland. Where Are the Scala Frameworks? .


  15. Scala Times Issue #563

    Rust vs Scala: Facts and Hype. The IntelliJ Scala Plugin in 2024. Technical Note: Using Circe with java.net.http. Faster CI with Selective Testing. Gems in the Scala Ecosystem.


  16. Scala Times Issue #562

    What Scala has to offer for Java devs. Purify Your Tests Episode IV: The Monoids Strike Back. Scala 2 maintenance plans. Scalar, Mar 27th - 28th 2025, Warsaw, Poland. CFP for Lambda Days, June 12th-13th 2025, Kraków, Poland.


  17. Scala Times Issue #561

    Scala's Hidden Treasures: Five ZIO-Compatible Libraries you didn't know you needed!. A succinct early exit trick for Option in Scala. Integrate JobRunr into Play Framework. Relative simple and small type-driven dependency injection. Scala Space in 2025 .


  18. Scala Times Issue #560

    Free Develocity Build Scans. Pragmatic Type-Level Design. Join us for the Advent of Code 2024. Zio-kafka, faster than java-kafka. Debugging a Scala Compilation Issue, a journey into Variance and LUB.


  19. Scala Times Issue #559

    Last bounties to collect for tapir and sttp. Mill $1000 bounty: Use Scala-Native for Mill Client. Free Develocity Build Scans. 10% discount for Scala Times readers for Functional Scala conference!. Scalar, Mar 27th - 28th 2025, Warsaw, Poland.


  20. Scala Times Issue #558

    New Module Layout for sbt Projects. How I SBT - V. Zionomicon for ZIO 2.1 (free ebook). 10% discount for Scala Times readers for Functional Scala conference!. Scalar, Mar 27th - 28th 2025, Warsaw, Poland.


  21. Scala Times Issue #557

    What is Functional Programming?. Announcing Akka 3. Idiomatic dependency injection for ZIO applications in Scala. ZIO in 2025. Upcoming Changes to Givens in Scala 3.7.


  22. Scala Times Issue #556

    Benchmark results: jsoniter-scala vs simdjson-java . Scalar 2025 extends call for papers!. Scala.IO, Nov 7th-8th, Paris. Functional Scala CFP, Dec 5th, online event. 10% discount for Scala Times readers for Functional Scala conference!.


  23. Scala Times Issue #555

    (In)Validating Library Design. Postmortem of Scala 3.6.0. How to implement LETS on ChainCash. Scalar 2025 extends call for papers!. Scala.IO, Nov 7th-8th, Paris.


  24. Scala Times Issue #554

    SoftwareMill Open Source Bounties. Scala: a mature open-source project. Folding Cheat Sheet #8 - Folding with Monoids . Simple Contract-First Applications. Scalar 2025 extends call for papers!.


Organizing an event?
Promote it with
Scala Times.
The Scala Times reader?
Get a banner!
Got a tip?Send it in!
Follow us onTwitter.
Curated by SoftwareMill.
We are hiring.
And taking on projects.