Johannes Müller 21 Feb 2017

Crystal 0.21.0 released!

Crystal 0.21.0 has been released!

As any release it includes numerous bugfixes, cool features and performance improvements - in 120 commits since 0.20.5.

Exciting Changes

  • (breaking-change) The compiler now reuses previous macro run compilations so {{ run(...) }} is only re-run if the code changes
  • (breaking-change) Spec now uses it { ... } instead of assert { ... }
  • (breaking-change) String can now hold invalid UTF-8 byte sequences, and they produce a unicode replacement character when traversed. Also \xHH escape sequences are now supported.
  • (breaking-change) Zlib was split into Flate, Gzip and Zlib
  • Slice can be set to read_only, that’s the default for String#to_slice
  • added HTTP::Multipart and HTTP::FormData
  • added lots of methods on String to strip and chop

Other Breaking Changes

  • (breaking-change) Renamed Set#merge! to Set#concat
  • (breaking-change) Crypto::MD5 is now Digest::MD5
  • (breaking-change) String#chop is now String#rchop
  • (breaking-change) String#to_slice now returns a read-only Slice
  • (breaking-change) Removed String#lchomp. Use String#lchop
  • (breaking-change) Octal escapes inside strings incorrectly produced a codepoint value instead of a byte value
  • (breaking-change) Removed octal escape from char literals

Thanks to everyone who supported this release through contributions, reviews and suggestions.

Crystal 0.21.0 has been released!

As any release it includes numerous bugfixes, cool features and performance improvements - in 120 commits since 0.20.5.

Exciting Changes

  • (breaking-change) The compiler now reuses previous macro run compilations so {{ run(...) }} is only re-run if the code changes
  • (breaking-change) Spec now uses it { ... } instead of assert { ... }
  • (breaking-change) String can now hold invalid UTF-8 byte sequences, and they produce a unicode replacement character when traversed. Also \xHH escape sequences are now supported.
  • (breaking-change) Zlib was split into Flate, Gzip and Zlib
  • Slice can be set to read_only, that’s the default for String#to_slice
  • added HTTP::Multipart and HTTP::FormData
  • added lots of methods on String to strip and chop

Other Breaking Changes

  • (breaking-change) Renamed Set#merge! to Set#concat
  • (breaking-change) Crypto::MD5 is now Digest::MD5
  • (breaking-change) String#chop is now String#rchop
  • (breaking-change) String#to_slice now returns a read-only Slice
  • (breaking-change) Removed String#lchomp. Use String#lchop
  • (breaking-change) Octal escapes inside strings incorrectly produced a codepoint value instead of a byte value
  • (breaking-change) Removed octal escape from char literals

Thanks to everyone who supported this release through contributions, reviews and suggestions.