Crystal 1.19.0 is released!
We are announcing a new Crystal release 1.19.0 with several new features and bug fixes.

Crystal 1.19.0 is now available, bringing a host of new features and bug fixes to the popular programming language. This release, the result of collaboration between 24 contributors, includes 237 changes since the previous version, 1.18.2. The team at Crystal is grateful to all contributors for their hard work in enhancing the language, and they encourage users to explore the full changelog for detailed information on the updates.
Pre-built packages for Crystal 1.19.0 are available on GitHub Releases and the official distribution channels. Users can find installation instructions on the Crystal website at crystal-lang.org/install. The team assures that there are no breaking changes expected in existing code, but they ask users to report any unexpected issues in the issue tracker or forum.
One of the most significant changes in this release is the introduction of values for compiler flags. The flag? macro now supports name-value mappings in the form of name=value. This means that flag?(:name) will return the respective value as a StringLiteral. If a key has no value, it returns true as an implicit value, as before. However, the flag? macro might now return a StringLiteral instead of a BoolLiteral, which could be unexpected. The value remains truthy and should not cause issues in practice. For example, the value printed by flag?(:name) might now be:
- (not defined) → false
- -Dname → true
- -Dname=value → "value"
- -Dname=some,other,data → "some,other,data"
This change was made possible by @straight-shoota's contribution.
Another notable change is the adjustment of monotonic clocks on Linux and macOS. Previously, these systems counted system uptime, but now they include suspended time. UNIX targets still use CLOCK_MONOTONIC, with Linux now using CLOCK_BOOTTIME (#16516) and macOS using CLOCK_MONOTONIC_RAW instead of mach_absolute_time.
Crystal 1.19.0 represents a significant milestone in the development of the language, with improvements in both the compiler and the standard library. The team is committed to continuous innovation and invites users to explore the new features and bug fixes included in this release. As always, they are grateful for the community's support and contributions.










