Skip to content

Commit 1441680

Browse files
author
Ary Borenszweig
committed
Updated Changelog
1 parent d7c2f28 commit 1441680

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,32 @@
1+
## Next
2+
3+
* **(breaking change)** A type that wants to convert itself to JSON now must override `to_json(builder : JSON::Builder)` instead of `to_json(io : IO)`. The same is true for custom JSON converters. If you are using `JSON.mapping` then your code will continue to work without changes.
4+
* **(breaking change)** Defining a `finalize` method on a struct now gives a compile error
5+
* **(breaking change)** `each` methods now return `Nil`
6+
* **(breaking change)** `IO#skip(bytes)` will now raise if there aren't at least the given amount of bytes in the `IO` (previously it would work well if there were less bytes, and it would hang if there were more)
7+
* **(breaking change)** `MemoryIO` was removed (use `IO::Memory` instead)
8+
* **(breaking change)** `Number#step` now requires named arguments, `to` and `by`, to avoid argument order confusion
9+
* **(breaking change)** `YAML::Emitter` was renamed to `YAML::Builder`, and some of its methods were also renamed
10+
* **(breaking change)** `XML::Node#[]` now always returns a `String` (previously it could also return `Nil`, which was incorrect)
11+
* **(breaking change)** `XML::Node#content` now returns an empty `String` when no content is available
12+
* `HTTP::Client` now automatically reconnects on a dropped keep-alive connection
13+
* `with ... yield` now works well with `method_missing`
14+
* Class variables can now be used in generic types (all generic instances share the same variable, and subclasses get their own copy, as usual)
15+
* Added support for LLVM 4 (thanks @ysbaddaden)
16+
* Added `Enum.each` and `Enum#each` (thanks @ysbaddaden)
17+
* Added `Hash#compact` and `Hash#compact!` (thanks @MakeNowJust)
18+
* Added `IO#read_string(bytesize)`
19+
* Added `IO#skip_to_end`
20+
* Added `Iterator#flat_map` (thanks @MakeNowJust)
21+
* Added `JSON.build` and `JSON::Builder`
22+
* Added `NamedTuple#has_key?(String)` (thanks @Sija)
23+
* Added `p(NamedTuple)` (thanks @splattael)
24+
* Added `Regex::MatchData#==` (thanks @MakeNowJust)
25+
* Added `String#sub(Regex, NamedTuple)` (thanks @maiha)
26+
* Added `XML.build` and `XML::Builder`
27+
* Lots of improvements and applied consistencies to doc comments (thanks @Sija and @maiha)
28+
* [Some bug fixes](https://github.com/crystal-lang/crystal/issues?q=is%3Aclosed+milestone%3A0.20.4)
29+
130
## 0.20.3 (23-12-2016)
231

332
* **(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.

0 commit comments

Comments
 (0)