A free, once-weekly Scala news flash. Easy to unsubscribe. Goes out every Thursday.
September 13th, 2025, ISSUE 598

READING

Effects as Capabilities

Capabilities appear to be the hot topic in the Scala community right now. Some love them, some hate them, most don’t really quite seem to understand what they’re about, and since I’ve been studying them a little, I thought I’d share my insights and hopefully not add too much to the confusion.
Nicolas Rinaudo (@NicolasRinaudo)
Claude Code, Metals, and NVIM

If you use Metals and you use a tool like claude, use Metals as an MCP serer. It will save you some time.
Chris Kipp (@ckipp01)
Integrate JobRunr into Play Framework [Update Sep 2025]

This blog shows you how you can integrate JobRunr with Play Framework.
Tanin Na Nakorn (@tanin)
Chez: A Scala Library for JSON Schemas, OpenAPI Spec generation & building AI Apps

While Cask provided a solid foundation, it lacked some key pieces we had needed: JSON Schema validation, and OpenAPI spec generation.
Mat Silva (@MatSilva)
Random Scala Tip #534: Adopt an Error Handling Convention for `Future`

I'm sure that many of us, in an effort to bring food on the table, are still stuck in the past, using Future.
Daniel Beskin

RELEASES

dotty-cps-async 1.1.4

With some improvements and bugfixes.
dotty-cps-async contributors
scalasql 0.2.1

Scala ORM to query SQL databases from Scala via concise, type-safe, and familiar case classes and collection operations. Connects to Postgres, MySql, H2, and Sqlite out of the box. Now with support for MSSQL.
Li Haoyi (@li_haoyi)
Play 2.9.9

Shipping Java 25 support!
Play contributors
Play 3.0.9

Shipping Java 25 support!
Play contributors
Scautable

One line CSV import and dataframe utilities based on scala's NamedTuple.
Simon Parten
layoutz 2.0

Simple, beautiful CLI output. In 0.2.0 you can now snap together Elm-style TUI's in Scala with this tiny DSL for simple, declarative String rendering.
Matthieu Court
geminilive4s 0.3.0

Now allows to let Gemini start the conversation, plus manual voice activity.
Alexis Hernandez (@alexitcdev)
Announcing Scala.js 1.20.1

This is technically a hotfix patch release for 1.20.0, which was discovered to be severely broken, and was therefore never announced. These release notes therefore present it as a “minor release” compared to 1.19.0.
Scala.js contributors (@scala_js)
dynalens 1.1.0

DynaLens (dynamic lens) is a library to allow dynamic editing of a static object. v1.1.0 refactors both the script parser and runtime, and adds many new functions
Greg Zoller

EVENTS

ScalaWAW #36 - Scala Plugin for IntelliJ hackathon, Thu, Oct 9, 2025, 6:00 PM | Meetup


LLM4s Dev Hour – Sundays @ 9am London Time

Just finished another great hour of mob programming. We’re now doing this every Sunday — 60 minutes of live coding, debugging, and learning together in public.
LLM4s
The Scala Workshop, Oct 13th, Singapore

The Scala Workshop is the continuation of the Scala Symposium, providing a forum for researchers and practitioners to discuss the design, implementation, and applications of the Scala programming language. Topics include language features, compiler internals, type systems, libraries, tools, and industrial applications.
EPFL
Func Prog Conf, Oct 15th, Stockholm, Sweden

Func Prog Conf is a half-day conference about functional programming. Don't miss this unique opportunity to learn, network and have a good time!
Func Prog Conf
Scala.IO, Oct 17th, Paris, France

Scala.IO is a conference for people having interest in the Scala ecosystem or simply being curious about the language, usages. The conference is organized by Scala supporters from the community, and provides a great opportunity to meet with other enthusiasts and practitioners.
Scala.io (@ScalaIO_FR)
DEVJVM, Oct 25th, Barranquilla, Colombia

A conference uniting Java, Kotlin, and Scala developers.
DEVJVM





  1. Scala Times Issue #598

    Effects as Capabilities. Claude Code, Metals, and NVIM. Integrate JobRunr into Play Framework [Update Sep 2025]. Random Scala Tip #534: Adopt an Error Handling Convention for `Future`. Announcing Scala.js 1.20.1.


  2. Scala Times Issue #597

    Understanding Match Types in Scala 3. Scala's Gamble with Direct Style. Custom Error Types Using Cats Effect and MTL. Dealing with Java builder's pattern. Implementing a JWT-based authorization for zio-http.


  3. Scala Times Issue #596

    The Rebirth of Tagless Final: An Ergonomic Approach in Kyo. Hands on Capture Checking. PRE-SIP: Dedented Multiline String Literals. Match Type simulator. LLM4s Dev Hour – Sundays @ 9am London Time.


  4. Scala Times Issue #595

    State of Scala 2025 Survey. Claude Code, Metals, and NVIM. Minimal Scala Container Images using Nix. IntelliJ Scala Plugin 2025.2. Release ducktape 0.2.10 · arainko/ducktape · GitHub.


  5. Scala Times Issue #594

    Golden Literal Testing in uTest 0.9.0. Nussknacker integration with Functional Programming. Type-safe vibe-coding a CRUD application. LLM4s Dev Hour – Sundays @ 9am London Time. Scala Days, Aug 19th - 21st, Lausanne, Switzerland.


  6. Scala Times Issue #593

    Understanding Scala Variance. LLM4s Dev Hour – Sundays @ 9am London Time. Scala Days, Aug 19th - 21st, Lausanne, Switzerland. The Scala Workshop, Oct 13th, Singapore. DEVJVM, Oct 25th, Barranquilla, Colombia.


  7. Scala Times Issue #592

    LLM4s Dev Hour – Sundays @ 9am London Time. Scala Days, Aug 19th - 21st, Lausanne, Switzerland. The Scala Workshop, Oct 13th, Singapore. DEVJVM, Oct 25th, Barranquilla, Colombia.


  8. Scala Times Issue #591

    Scala Days, Aug 19th - 21st, Lausanne, Switzerland. The Scala Workshop, Oct 13th, Singapore. DEVJVM, Oct 25th, Barranquilla, Colombia. Mill Build Tool v1.0.0 Release Highlights. Business4s H1 2025 Highlights.


  9. Scala Times Issue #590

    Scalator: Stream Composition with Kyo & Community Revival!, Jul 9th, Toronto. Scala Days, Aug 19th - 21st, Lausanne, Switzerland. The Scala Workshop, Oct 13th, Singapore. CFP for DEVJVM, Oct 25th, Barranquilla, Colombia. Anatomy of a Scala Game Server.


  10. Scala Times Issue #589

    Scala Highlights, June 2025 edition. ScalaWAW #35 - Summer hackathon, Jun 30th, Warsaw, Poland. Scala Days, Aug 19th - 21st, Lausanne, Switzerland. The Scala Workshop, Oct 13th, Singapore. Making Capabilities Safe and Convenient.


  11. Scala Times Issue #588

    Fundamental Concurrency Problems and Solutions. Scala Days, Aug 19th - 21st, Lausanne, Switzerland. The Scala Workshop, Oct 13th, Singapore. S2D migrated to Scala Native.


  12. Scala Times Issue #587

    First Make It Correct. Suspension: the magic behind composability (or: "The Kyo Monad"). My experience migrating a PlayFramework app to Scala 3. Yet Another Scala 3 Migration Story. The Elements of Kyo.


  13. Scala Times Issue #586

    Making ScalaSql boring again (with interesting new internals). Lambda World proposal online hack, Jun 12th, Online Event. 10% discount for Lambda Days, June 12th-13th, Kraków, Poland. Scala Days, Aug 19th - 21st, Lausanne, Switzerland. The Scala Workshop, Oct 13th, Singapore.


  14. Scala Times Issue #585

    IntelliJ IDEA x Scala: How to clone carets. Scala Days 2025 - Functional Programming And The Real World. Developer Ecosystem Survey 2025. ScalaWAW #34, May 26th, Warsaw. Scala Hamburg: Recursion Schemes & Mill, Jun 2nd, Hamburg, Germany.


  15. Scala Times Issue #584

    Scala 3 migration Tips and Tricks. Learn Scala with Alvin Alexander . A Distributed System from scratch, with Scala 3 - Part 3. Can we ScalaSQL on Duckdb?. Unison, from a Scala perspective.


  16. Scala Times Issue #583

    Workflows4s Finally Released - You Might Hate Your Business Processes a Little Less. Business4s & GSoC 2025: 3 Exciting Projects and Not-So-Usual Approach. Unison, Scala, Distributed Systems and Delightful Programming. ScalaWAW #34 May 26th, Warsaw. Scala Hamburg: Recursion Schemes & Mill, Jun 2nd, Hamburg, Germany.


  17. Scala Times Issue #582

    How Scala Ruined My Java (in a good way). IntelliJ IDEA x Scala: Named Tuples. Random Scala Tip #624: The Pitfalls of Option Blindness. From JavaScript to Scala. Scala 3: The Evolution of a Macro.


  18. Scala Times Issue #581

    WORKSHOP: Principled Metaprogramming in Scala 3. The Scala Workshop 2025 - The Scala Workshop 2025. Programming a Language by Nicolas Rinaudo | Scalar Conference 2025.


  19. Scala Times Issue #580

    On vibe coding. Composing Independent Instruction Sets with Free Monads in Scala 3. Announcing Scala.js 1.19.0. Tagless Final for Humans by Noel Welsh | Scalar Conference 2025. Release v1.0.0-RC19 · zio/zio-dynamodb · GitHub.


  20. Scala Times Issue #579

    Scalar Conference 2025 - Summary & Highlights. Experimental Capture Checking: New Syntax for Explicit Capture Polymorphism. Whiteboxish Macro Powers with Named Tuples. IntelliJ Scala Plugin 2025.1 Is Out!. J On the Beach, May 14th - 16th, Málaga, Spain.


  21. Scala Times Issue #578

    Sttp client 4: the Scala HTTP client you always wanted, released!. London Scala User Group Meetup, Apr 16th, London. J On the Beach, May 14th - 16th, Málaga, Spain. 10% discount for Lambda Days, June 12th-13th, Kraków, Poland. Scala Days 2025 CFP, Aug 19th - 21st, Lausanne, Switzerland.


  22. Scala Times Issue #577

    Tagged vs Untagged Unions (in Scala). -XX:+UseCompactObjectHeaders is your new TURBO button for JDK 24+ . Scala Days proposal online hack, Apr 3rd, 8PM CEST, online event. London Scala User Group Meetup, Apr 16th, London. J On the Beach, May 14th - 16th, Málaga, Spain.


  23. 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.


  24. 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.


  25. 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.


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.