Upcoming 1.20 release

The next Crystal release, 1.20 is scheduled for 2026-04-16.

As usual, this is precluded by a two-week feature freeze period, starting 2026-04-02 (yesterday). 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.20.0 is released! - The Crystal Programming Language (PR: #XXXX)

Some of the highlights:

  • Process enhancements such as Process.capture as per RFC 0025
  • Short option bundling in OptionParser so we can type -ncb instead of -n -c -b for example
  • Execution contexts improvements:
    • M:N scheduling
    • Don’t block a thread on blocking syscalls (e.g. getaddrinfo)
    • Dynamic scaling
  • Experimental Linux io_uring event loop (not merged)
  • Kernel TLS on Linux and FreeBSD
  • Support for LLVM 22.1 and 23

The enhancements to Process are making us closer to support Windows as a first tier platform! :heart:

You can find all changes in the (provisional) changelog (PR: #16751). There will be further additions to these resources as we merge additional changes.

:information_source: Nightly builds reflect the upcoming stable release! Please test your code base against nightly builds and report any regressions :person_bowing:

See the instructions for installing nightly builds.

16 Likes

Sadly, no release of execution contexts, yet. Not that they’re unstable, quite the opposite (:flexed_biceps:) but there are a few MT issues that need further investigation that didn’t make it into 1.20, notably:

And an issue with Windows / IOCP:

See the MT board.

2 Likes

2 posts were split to a new topic: Constant time cryptography