0.23.0
matiasgarciaisaia
released this
29 Jun 19:31
·
5904 commits
to master
since this release
This release has been built with LLVM 3.8.
As discussed in crystal-lang/omnibus-crystal#17, that means dropping support for Debian 7, and CentOS. Users on those platforms can still build from source using LLVM 3.5, but that's not recommended since it's buggy (see #4104).
- (breaking-change)
Logger#formatter
takes aSeverity
instead of aString
(See #4355, #4369, thanks @Sija) - (breaking-change) Removed
IO.select
(See #4392, thanks @RX14) - Added
Crystal::System::Random
namespace (See #4450, thanks @ysbaddaden) - Added
Path#resolve?
macro method (See #4370, #4408, thanks @RX14) - Added range methods to
BitArray
(See #4397, #3968, thanks @RX14) - Added some well-known HTTP Status messages (See #4419, thanks @akzhan)
- Added compiler progress indicator (See #4182, thanks @RX14)
- Added
System.cpu_cores
(See #4449, #4226, thanks @miketheman) - Added
separator
andquote_char
toCSV#each_row
(See #4448, thanks @timsu) - Added
map_with_index!
toPointer
,Array
andStaticArray
(See #4456, #3356, #3354, thanks @Nephos) - Added
headers
parameter toHTTP::WebSocket
constructors (See #4227, #4222, thanks @adamtrilling) HTTP::StaticFileHandler
can disable directory listing (See #4403, #4398, thanks @joaodiogocosta)bin/crystal
now uses/bin/sh
instead of/bin/bash
(See #3809, #4410, thanks @TheLonelyGhost)crystal init
generates a.editorconfig
file (See #4422, #297, thanks @akzhan)man
page forcrystal
command (See #2989, #1291, thanks @dread-uo)- Re-raising an exception doesn't overwrite its callstack (See #4487, #4482, thanks @akzhan)
- MD5 and SHA1 documentation clearly states they are not cryptographically secure anymore (See #4426, thanks @RX14)
- Fixed Crystal not reusing .o files across builds (See #4336)
- Fixed
SomeClass.class.is_a?(SomeConst)
causing an "already had enclosing call" exception (See #4364, #4390, thanks @rockwyc992) - Fixed
HTTP::Params.parse
query string with two=
gave wrong result (See #4388, #4389, thanks @akiicat) - Fixed
Class.class.is_a?(Class.class.class.class.class)
🎉 (See #4375, #4374, thanks @rockwyc992) - Fixed select hanging when sending before receive (See #3862, #3899, thanks @kostya)
- Fixed "Unknown key in access token json: id_token" error in OAuth2 client (See #4437)
- Fixed macro lookup conflicting with method lookup when including on top level (See #236)
- Fixed Vagrant images (see #4510, #4508, thanks @Val)
- Some bug fixes