Upcoming 1.19 release

The next Crystal release, 1.19 is scheduled for 2026-01-14.

As usual, this is precluded by a two-week feature freeze period, starting 2025-12-31. We’ll be using this time until the release to consolidate the changes and fix bugs.

A preview of the release notes is available: Crystal 1.19.0 is released! - The Crystal Programming Language (PR: #XXX)

Some of the highlights:

  • The compiler is now built with Execution Contexts by default on UNIX targets!
  • Improvements to macro literals
  • Deprecates single letter and constant macro fresh variables
  • New Sync namespace
  • New Time::Instant
  • Refactor of Process.spawn and Process.exec
  • Fixes memory leaks in XML
  • Removes support for legacy OpenSSL and LibreSSL versions (breaking)

You can find all changes in the (provisional) changelog (PR: #16510).

There will be further additions to these resources as we merge additional changes.

The nightly builds serve as previews of the upcoming release. Please test your code base against nightly builds and report any regressions :person_bowing:

See the instructions for installing nightly builds.

17 Likes

I’ve run the nightly against some of my old applications, which are highly numerical, and mathematically and computationally intense.

In the limited testing I’ve done so far, I can report, for single core applications, I have not seen any regressions. In fact, it’s nice to see a slight, but measurable, performance increase across the board.

I’m also able to run my parallel|multi-threaded core apps to completion, without errors, again. Their performance is not (yet) as fast with 1.16.x, but at least now I can at least run the code.

So 1.19 looks to be an all around good step in the positive direction, at least for my workload.

2 Likes