|
| 1 | +# 0.23.1 (01-07-2017) |
| 2 | + |
| 3 | +* Added `Random::PCG32` generator (See #4536, thanks @konovod) |
| 4 | +* WebSocket should compare "Upgrade" header value with case insensitive (See #4617, thanks @MakeNowJust) |
| 5 | +* Fixed macro lookup from included module (See #4639, thanks @asterite) |
| 6 | +* Explained "crystal tool expand" in crystal(1) man page (See #4643, thanks @MakeNowJust) |
| 7 | +* Explained how to detect end of file in `IO` (See #4661, thanks @oprypin) |
| 8 | + |
1 | 9 | # 0.23.0 (27-06-2017)
|
2 | 10 |
|
3 | 11 | * **(breaking-change)** `Logger#formatter` takes a `Severity` instead of a `String` (See #4355, #4369, thanks @Sija)
|
|
11 | 19 | * Added `separator` and `quote_char` to `CSV#each_row` (See #4448, thanks @timsu)
|
12 | 20 | * Added `map_with_index!` to `Pointer`, `Array` and `StaticArray` (See #4456, #3356, #3354, thanks @Nephos)
|
13 | 21 | * Added `headers` parameter to `HTTP::WebSocket` constructors (See #4227, #4222, thanks @adamtrilling)
|
| 22 | +* Added `unlink` to `XML::Node` (See #4515, #4331, thanks @RX14 and @MrSorcus) |
| 23 | +* Added `Math.frexp` (See #4560, thanks @akzhan) |
| 24 | +* Added `Regex::MatchData` support for negative indexes (See #4566, thanks @MakeNowJust) |
| 25 | +* Added `captures`, `named_captures`, `to_a` and `to_h` to `Regex::MatchData` (See #3783, thanks @MakeNowJust) |
| 26 | +* Added `|` as a string delimiter to allow `q|string|` syntax (See #3467, thanks @RX14) |
| 27 | +* Added support for Windows linker (See #4491, thanks @RX14) |
| 28 | +* Added llvm operand bundle def and catch pad/ret/switch in order to support Windows SEH (See #4501, thanks @bcardiff) |
| 29 | +* Added `Float::Printer` based on Grisu3 to speed up float to string convertion (See #4333, thanks @will) |
| 30 | +* Added `Object.unsafe_as` to unsafely reinterpret the bytes of an object as being of another `type` (See #4333, thanks @asterite) |
| 31 | +* Added `.downcase(Unicode::CaseOptions::Fold)` option which convert strings to casefolded strings for caseless matching (See #4512, thanks @akzhan) |
| 32 | +* Added `OpenSSL::DigestIO` to wrap an IO while calculating a digest (See #4260, thanks @spalladino) |
| 33 | +* Added `zero?` to numbers and time spans (See #4026, thanks @jellymann) |
| 34 | +* Added `TypeNode#has_method?` method (See #4474, thanks @Sija) |
| 35 | +* `Regex::MatchData#size` renamed to `#group_size` (See #4565, thanks @MakeNowJust) |
14 | 36 | * `HTTP::StaticFileHandler` can disable directory listing (See #4403, #4398, thanks @joaodiogocosta)
|
15 | 37 | * `bin/crystal` now uses `/bin/sh` instead of `/bin/bash` (See #3809, #4410, thanks @TheLonelyGhost)
|
16 | 38 | * `crystal init` generates a `.editorconfig` file (See #4422, #297, thanks @akzhan)
|
17 | 39 | * `man` page for `crystal` command (See #2989, #1291, thanks @dread-uo)
|
18 | 40 | * Re-raising an exception doesn't overwrite its callstack (See #4487, #4482, thanks @akzhan)
|
19 | 41 | * MD5 and SHA1 documentation clearly states they are not cryptographically secure anymore (See #4426, thanks @RX14)
|
| 42 | +* Documentation about constructor methods now rendered separately (See #4216, thanks @Sija) |
| 43 | +* Turn `Random::System` into a module (See #4542, thanks @oprypin) |
| 44 | +* `Regex::MatchData` pretty printed (See #4574, thanks @MakeNowJust) |
| 45 | +* `String.underscore` treats digits as downcase or upcase characters depending previous characters (See #4280, thanks @MakeNowJust) |
| 46 | +* Refactor time platform specific implementation (See #4502, thanks @bcardiff) |
20 | 47 | * Fixed Crystal not reusing .o files across builds (See #4336)
|
21 | 48 | * Fixed `SomeClass.class.is_a?(SomeConst)` causing an "already had enclosing call" exception (See #4364, #4390, thanks @rockwyc992)
|
22 | 49 | * Fixed `HTTP::Params.parse` query string with two `=` gave wrong result (See #4388, #4389, thanks @akiicat)
|
23 | 50 | * Fixed `Class.class.is_a?(Class.class.class.class.class)` 🎉 (See #4375, #4374, thanks @rockwyc992)
|
24 | 51 | * Fixed select hanging when sending before receive (See #3862, #3899, thanks @kostya)
|
25 | 52 | * Fixed "Unknown key in access token json: id_token" error in OAuth2 client (See #4437)
|
26 | 53 | * Fixed macro lookup conflicting with method lookup when including on top level (See #236)
|
27 |
| -* Fixed Vagrant images (see #4510, #4508, thanks @Val) |
| 54 | +* Fixed Vagrant images (See #4510, #4508, thanks @Val) |
| 55 | +* Fixed `IO::FileDescriptor#seek` from current position (See #4558, thanks @ysbaddaden) |
| 56 | +* Fixed `IO::Memory#gets_to_end` to consume the `IO` (See #4415, thanks @jhass) |
| 57 | +* Fixed setting of XML attributes (See #4562, thanks @asterite) |
| 58 | +* Fixed "SSL_shutdown: Operation now in progress" error by retrying (See #3168, thanks @akzhan) |
| 59 | +* Fixed WebSocket negotiation (See #4386, thanks @RX14) |
28 | 60 |
|
29 | 61 | # 0.22.0 (20-04-2017)
|
30 | 62 |
|
|
0 commit comments