About Crystal
Crystal is a general-purpose, object-oriented programming language. With syntax inspired by Ruby, it’s a compiled language with static type-checking. Types are resolved by an advanced type inference algorithm.
A language for humans and computers
Crystal is a general-purpose, object-oriented programming language. With syntax inspired by Ruby, it’s a compiled language with static type-checking. Types are resolved by an advanced type inference algorithm.
Bugfixes
stdlib
- (crypto) [security] Fix invalid OpenSSL::SSL::Options::ALL option (#17657, thanks @ysbaddaden)
- (crypto) Allow exactly 72 byte bcrypt passwords (#17676, thanks @Blacksmoke16)
- (networking) [regression] Send Content-Length: 0 for POST and PUT without body (#17631, thanks @dentarg)
- (networking) [regression] Send Content-Length: 0 for PATCH without body (#17632, thanks @dentarg)
- (runtime) [regression] Fix Fiber::ExecutionContext::Isolated resuming its fiber without an event (#17630, thanks @dentarg)
- (runtime) Refactor io_uring event loop's sleep to use timers (#17655, thanks @ysbaddaden)
- (runtime) Fix adjust IP before resolving backtraces (#17622, thanks @ysbaddaden)
- (runtime) Fix race condition in select timeout action (#17640, thanks @ysbaddaden)
- (runtime) Crystal.init_runtime must create main Thread and Fiber (#17688, thanks @ysbaddaden)
- (serialization) Fix out-of-bounds reads in XML::Node#name (#17648, thanks @zw963)
- (system) Fix FileUtils.rm_r failing on a symlink loop (#17613, thanks @jochenseeber)
- (text) [regression] Fix out-of-bound access in String#scan_byte_index (#17625, thanks @HertzDevil)
- (text) Fix String::Builder buffer grows capacity for trailing zero (#17650, thanks @straight-shoota)
compiler
- (codegen) Do not redeclare lib funs or LLVM intrinsics in the main LLVM module (#17637, #17672, thanks @HertzDevil)
- (debugger) Set debug location before inlining a call (#17602, thanks @Blacksmoke16)
- (semantic) Fix propagate raises state to target defs in call cycles (#17656, thanks @ysbaddaden)
- (semantic) Fix IndexError condition in strict 1-to-n assignment with splats (#17675, thanks @HertzDevil)
Chores
stdlib
- (networking) Disable kernel TLS by default again (#17649, thanks @straight-shoota)
Infrastructure
- Add changelog for 1.22.1 (#17683, thanks @straight-shoota)
- Update distribution-scripts (#17699, thanks @straight-shoota)
| Publisher | Manas Technology Solutions |
|---|---|
| Version | 1.22.1 |
| Release date | 2026-10-22 |
| License | Apache-2.0 |
| Installer type | zip, inno |
| Architecture | x64 |
| Package ID | CrystalLang.Crystal |
Install Crystal from the command line with Windows Package Manager (winget):
winget install --id=CrystalLang.Crystal -e