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
Section titled 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 ofassert { ... } - (breaking-change)
Stringcan now hold invalid UTF-8 byte sequences, and they produce a unicode replacement character when traversed. Also\xHHescape sequences are now supported. - (breaking-change)
Zlibwas split intoFlate,GzipandZlib Slicecan be set toread_only, that’s the default forString#to_slice- added
HTTP::MultipartandHTTP::FormData - added lots of methods on
Stringto strip and chop
Other Breaking Changes
Section titled Other Breaking Changes- (breaking-change) Renamed
Set#merge!toSet#concat - (breaking-change)
Crypto::MD5is nowDigest::MD5 - (breaking-change)
String#chopis nowString#rchop - (breaking-change)
String#to_slicenow returns a read-only Slice - (breaking-change) Removed
String#lchomp. UseString#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.