# Crystal 1.19.0 released!

**URL:** <https://forum.devtalk.com/t/crystal-1-19-0-released/230195>\
**Category:** Backend Official News\
**Tags:** newsbot, crystal, official-news\
**Created:** [15 January 2026 19:24 UTC](https://forum.devtalk.com/t/crystal-1-19-0-released/230195 "2026-01-15T19:24:03Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![NewsBot](https://forum.devtalk.com/user_avatar/forum.devtalk.com/newsbot/32/1114_2.png) [@NewsBot](https://forum.devtalk.com/u/NewsBot)\
**Post date:** [15 January 2026 19:24 UTC](https://forum.devtalk.com/t/crystal-1-19-0-released/230195/1 "2026-01-15T19:24:03Z")

</div>

[Crystal](https://devtalk.com/crystal) 1.19.0 has been released.

> [@](#):
>
> ### Breaking changes
> 
> #### stdlib
> 
> - _(crypto)_ Require OpenSSL 1.1.1+ or LibreSSL 3+ ([#16480](https://github.com/crystal-lang/crystal/pull/16480), thanks @ysbaddaden)
> 
> ### Features
> 
> #### lang
> 
> - _(macros)_ **[breaking]** Add compiler flag values ([#16310](https://github.com/crystal-lang/crystal/pull/16310), thanks @straight-shoota)
> - _(macros)_ Add yielding variant of `StringLiteral#gsub` ([#16378](https://github.com/crystal-lang/crystal/pull/16378), thanks @Blacksmoke16)
> - _(macros)_ Support `StringLiteral#split(RegexLiteral)` ([#16423](https://github.com/crystal-lang/crystal/pull/16423), thanks @HertzDevil)
> - _(macros)_ Add `StringLiteral#match` ([#16464](https://github.com/crystal-lang/crystal/pull/16464), thanks @HertzDevil)
> - _(macros)_ Make all overloads of `ArrayLiteral#[]` return `nil` on out of bounds ([#16453](https://github.com/crystal-lang/crystal/pull/16453), thanks @HertzDevil)
> 
> #### stdlib
> 
> - _(collection)_ Add `NamedTuple#reverse_merge` ([#16229], thanks @andrykonchin)
> - _(collection)_ Pad `Hash#inspect`, `Tuple#inspect` before `{` from first element ([#16245], thanks @andrykonchin)
> - _(collection)_ Add `Set#map!` ([#16271], thanks @andrykonchin)
> - _(collection)_ Add `Hash#transform_keys!` ([#16280], thanks @andrykonchin)
> - _(collection)_ Enhance error message for `Hash#[]` when key is wrong type for default block ([#16442], thanks @Blacksmoke16)
> - _(concurrency)_ Add `Sync::Mutex` and `Sync::RWLock` ([#16399], thanks @ysbaddaden)
> - _(concurrency)_ Add `Sync::ConditionVariable` ([#16440], thanks @ysbaddaden)
> - _(concurrency)_ Import `Sync::Exclusive` and `Sync::Shared` ([#16487], thanks @ysbaddaden)
> - _(crypto)_ Add `OpenSSL::SSL::Context::Server#on_server_name` for SNI ([#16452], [#16525], thanks @carlhoerberg, @straight-shoota)
> - _(networking)_ Loosen type restrictions in `StaticFileHandler` helper methods from `File` to `IO` ([#16238], thanks @andrykonc…

Link: [Release 1.19.0 · crystal-lang/crystal · GitHub](https://github.com/crystal-lang/crystal/releases/tag/1.19.0)
