|
| 1 | +## 0.20.2 (23-12-2016) |
| 2 | + |
| 3 | +* **(breaking change)** `IO#gets`, `IO#each_line`, `String#lines`, `String#each_line`, etc. now chomp lines by default. You can pass `chomp: false` to prevent automatic chomping. Note that `chomp` is `true` by default for argless `IO#gets` (read line) but `false` if args are given. |
| 4 | +* **(breaking change)** `HTTP::Handler` is now a module instead of a class (thanks @andrewhamon) |
| 5 | +* **(breaking change)** Free variables now must be specified with `forall`, a single uppercase letter will not work anymore |
| 6 | +* **(breaking change)** The `libs` directory is no longer in the default CRYSTAL_PATH, use `lib` (running `crystal deps` should fix this) |
| 7 | +* Optimized compile times, specially on linux |
| 8 | +* `private` can now be used with macros inside types (thanks @MakeNowJust) |
| 9 | +* CLI: the `-s`/`--stats` option now also shows execution time (thanks @MakeNowJust) |
| 10 | +* CLI: added `-t`/`--time` to show execution time (thanks @MakeNowJust) |
| 11 | +* `Socket` now allows any family/type/protocol association, [and many other improvements](https://github.com/crystal-lang/crystal/pull/3750) (thanks @ysbaddaden) |
| 12 | +* YAML: an `IO` can now be passed to `from_yaml` (thanks @MakeNowJust) |
| 13 | +* Added `class_getter`, `class_setter`, `class_property`, etc. (thanks @Sija) |
| 14 | +* Added `String#lchomp` (thanks @Sija) |
| 15 | +* Added `IO#read_fully?` |
| 16 | +* Added `Iterator#flatten` (thanks @MakeNowJust) |
| 17 | +* Added `HTTP::WebSocket#ping`, `pong`, `on_ping`, `on_pong`, and now a ping message is automatically replied with a pong message (thanks @Sija) |
| 18 | +* Added `File#empty?` and `Dir#empty?` (thanks @dylandrop) |
| 19 | +* Added `Time::Span#/(Time::Span)` (thanks @RX14) |
| 20 | +* Added `String#split` versions that accept a block (thanks @splattael) |
| 21 | +* Added `URI#normalize` and `normalize!` (thanks @taylorfinnell) |
| 22 | +* Added `reuse` optional argument to many `Array`, `Enumerable` and `Iterable` methods that allow you to reuse the yielded/return array for better performance and less memory footprint |
| 23 | +* The `:debug` flag is now present when compiled with `--debug`, useful for doing `flag?(:debug)` in macros (thanks @luislavena) |
| 24 | +* [Many bug fixes and performance improvements](https://github.com/crystal-lang/crystal/issues?q=is%3Aclosed+milestone%3A0.20.2) |
| 25 | + |
1 | 26 | ## 0.20.1 (05-12-2016)
|
2 | 27 |
|
3 | 28 | * **(breaking change)** `Set#merge` as renamed to `Set#merge!`
|
|
0 commit comments