Scala Space
banner
scalaspace.bsky.social
Scala Space
@scalaspace.bsky.social
Where #Scala meets the industry

By virtuslab.com & softwaremill.com
New Metals 1.6.3, codename "Osmium", has just been released!

It comes with few interesting new features and we'll take the opportunity to go on a small tour.
October 16, 2025 at 3:00 PM
We've just released sttp-ai 0.4.0 (formerly sttp-openai): you can now find clients for both OpenAI and Claude APIs. Same as sttp-client, the library works with any #Scala ecosystem: direct-style (synchronous), Future, cats-effect & ZIO. Enjoy!

github.com/softwaremil...
Release v0.4.0 · softwaremill/sttp-ai
Project name change The project is now called sttp-ai, as it contains a client for both OpenAI and Claude APIs. Migration Most of the time it should suffice to change the dependency coordinates fro...
github.com
October 13, 2025 at 10:00 AM
This concludes our Ox feature tour - hope you've enjoyed it as much as we did!

If you feel a feature is missing, or if you have a suggestion for an integration, just create an issue, we'll be happy to assist:
github.com/softwaremil...
GitHub - softwaremill/ox: Safe direct-style streaming, concurrency and resiliency for Scala on the JVM
Safe direct-style streaming, concurrency and resiliency for Scala on the JVM - softwaremill/ox
github.com
October 8, 2025 at 10:00 AM
Ox feature tour, day 19: because it's direct style, integration with OpenTelemetry (metrics+logging+tracing) "just works"! To propagate tracing context inside concurrency scopes, you only need a single switch at your top-level `OxApp`!
October 7, 2025 at 10:00 AM
🛠️ Next Scala Tooling Spree is coming up.
🗓️ It will take place on 09.10 17:30-19:30 CET.
✍️ If you'd like to participate please register by 7th here:
forms.gle/yUurzS2KiM2...
October 6, 2025 at 9:39 PM
Ox feature tour, day 18: `.pipe` and `.tap`, even extremely simple, are suprisingly useful! And there's no overhead: these are inline methods, hence a "zero-cost abstraction". Bonus: discover the `debug`, `.discar` and `.tapException` methods!
October 2, 2025 at 10:00 AM
Ox feature tour, day 17: converting exceptions to `Either`s, and vice versa is trivial thanks to the inline `.catching[]` and `.orThrow` methods. A panic at one level, might become an expected error at another!
October 1, 2025 at 10:00 AM
Ox feature tour, day 16: we propose error handling based on "panics" (exceptions) and "expected" errors, represented as Eithers. Working with the lattter is ergonomic thanks to Scala's boundary/break, and its Ox-provided specialization to Eithers using `either: and `.ok()`
September 30, 2025 at 10:00 AM
Ox feature tour, day 15: Flows provide integration with Kafka, allowing one to implement the common publish-then-commit pattern using an elegant high-level, functional API.
September 25, 2025 at 10:00 AM
Ox feature tour, day 14: declarative concurrency in flows - virtual threads are started (and terminated on error) safely, without ever needing to touch concurrency scopes! Signalling an error is as easy as throwing an exception.
September 24, 2025 at 12:21 PM
Ox feature tour, day 13: flows provide I/O integration, declarative concurrency, and reactive streams compatibility!
September 23, 2025 at 10:00 AM
Wasm 3.0 is completed, with major new features like GC and exception handling! Scala is now acknowledged as a language that compiles to WebAssembly 🚀
webassembly.org/news/2025-0...
(1/2)
#Wasm #Scala
Wasm 3.0 Completed - WebAssembly
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.
webassembly.org
September 22, 2025 at 1:30 PM
Interested to try living on the bleeding edge nightly versions of Scala?
A new repository to which Scala nightly versions has been introduced.
You can now find all Scala nightly versions (including Scala 3 Next, 3.3 LTS, 2.12 and 2.13) under repo.scala-lang.org/
(1/2)
September 22, 2025 at 10:30 AM
Ox feature tour, day 12: describe data streaming using operators you know and love from Akka Streams or FS2, using direct-style (no Futures or other wrappers!)
September 18, 2025 at 10:00 AM
Ox feature tour, day 11: select exactly one clause to complete from a number of channels.

This is the select you might know from Go: complementing the goroutine equivalent - forks (virtual threads) within a concurrency scope
September 17, 2025 at 10:00 AM
Ox feature tour, day 10: use high-performance, queue-like channels, which can be completed as done, or short-circuited with an error

Perfect for communicating virtual threads created within a concurrency scope!
September 16, 2025 at 10:00 AM
🛠️ Next Scala Tooling Spree is coming up.
🗓️ It will take place on 18.09 17:30-19:30 CET.
✍️ If you'd like to participate please register by 16th here:
forms.gle/yUurzS2KiM2...
September 12, 2025 at 4:00 PM
Ox feature tour, day 9: use OxApp to conveniently access a top-level concurrency scope (for running app-wide background jobs), as well as ensure proper cleanup on external interruption (SIGINT/SIGTERM)
September 11, 2025 at 10:00 AM
Ox feature tour, day 8: attach resources to concurrency scopes, so that they are guaranteed to be released, before the scope completes.
September 10, 2025 at 10:00 AM
Ox feature tour, day 7: manage resources using try-catch-finally, for convenience written inline, using an inline method (a "zero-cost abstraction").
September 9, 2025 at 10:00 AM
Ox feature tour, day 6: rate limit access to APIs or other resources using a straightforward direct-style API! Runs within a concurrency scope, ensuring proper error handling.
September 4, 2025 at 10:00 AM
Hey, #ScalaCLI v1.9.0 is out!
It's a small update which brings support for the new Scala 3 nightly repository. You can now try out the latest Scala 3.8 nightlies, and with it - the new, capture-checked Scala 3 standard library. (1/2)
September 3, 2025 at 12:00 PM
Ox feature tour, day 5: the same schedule can be used for defining repeats. Bonus: you can also create a schedule from a cron expression!
September 3, 2025 at 10:01 AM
Ox feature tour, day 4: retry computations using flexible schedules. Fixed, or exponential backoffs, jitter, maximum number of attempts, initial delays, max cumulative delays, filter on exceptions/results and more.

Bonus: adaptive retries, known from the AWS client libraries!
September 2, 2025 at 10:00 AM
Ox feature tour, day 3: when high-level concurrency is not enough, use structured concurrency scopes. Flexible API, guarded against misuse with #Scala's context functions!

Plus, let-it-crash error handling known from actor systems,
August 28, 2025 at 10:00 AM