github crystal-lang/crystal 1.22.1

4 hours ago

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

Infrastructure

Don't miss a new crystal release

NewReleases is sending notifications on new releases.