Add release date to HISTORY.rdoc
[ruby-xz.git] / HISTORY.rdoc
1 = Version history
2
3 == 1.0.0 (2018-05-20)
4
5 * *BreakingChange* The XZ module's methods now take any parameters
6 beyond the IO object as real Ruby keyword arguments rather than
7 a long argument list.
8 * *BreakingChange* XZ.decompress_stream now honours Ruby's
9 external and internal encoding concept instead of just
10 returning BINARY-tagged strings.
11 * *BreakingChange* Remove deprecated API on stream reader/writer
12 class and instead sync the API with Ruby's zlib library
13 (Ticket #12 by me).
14 * *BreakingChange* StreamWriter.new and StreamReader.new do not accept
15 a block anymore. This is part of syncing with Ruby's zlib API.
16 * *BreakingChange* StreamReader.open and StreamWriter.open always
17 return the new instance, even if a block is given to the method
18 (previous behaviour was to return the return value of the block).
19 This is part of the syncing with Ruby's zlib API.
20 * *BreakingChange* StreamReader.new and StreamWriter.new as well as
21 the ::open variants take additional arguments as real Ruby keyword
22 arguments now instead of a long parameter list plus options hash.
23 This is different from Ruby's own zlib API as that one takes both
24 a long parameter list and a hash of additional options. ruby-xz
25 is meant to follow zlib's semantics mostly, but not as a drop-in
26 replacement, so this divergence from zlib's API is okay (also
27 given that it isn't possible to replicate all possible options
28 1:1 anyway, since liblzma simply accepts different options as
29 libz). If you've never used these methods' optional arguments,
30 you should be fine.
31 * *BreakingChange* Stream#close now returns nil instead of the
32 number of bytes written. This syncs Stream#close with Ruby's
33 own IO#close, which also returns nil.
34 * *BreakingChange* Remove Stream#pos=, Stream#seek, Stream#stat. These
35 methods irritated the minitar gem, which doesn't expect them to
36 raise NotImplementedError, but directly to be missing if the object
37 does not support seeking.
38 * *BreakingChange* StreamReader and StreamWriter now honour Ruby's
39 encoding system instead of returning only BINARY-tagged strings.
40 * *Dependency* Remove dependency on ffi. ruby-xz now uses fiddle from
41 the stdlib instead.
42 * *Dependency* Remove dependency on io-like. ruby-xz now implements
43 all the IO mechanics itself. (Ticket #10 by me)
44 * *Dependency* Bump required Ruby version to 2.3.0.
45 * *Fix* libzlma.dylib not being found on OS X (Ticket #15 by
46 s0nspark).
47
48 == 0.2.3 (2015-12-29)
49
50 * *Fix* documentation of XZ module (a :nodoc: was causing havoc
51 in the XZ module so it appeared to have no methods).
52 * No other changes this release.
53
54 == 0.2.2 (2015-12-27)
55
56 * *Add* XZ.disable_deprecation_notices
57 * *Deprecate* use of XZ::StreamReader.open with an IO argument
58 * *Deprecate* use of XZ::StreamReader.new with a filename argument
59 * *Deprecate* use of XZ::StreamWriter.open with an IO argument
60 * *Deprecate* use of XZ::StreamWriter.new with a filename argument
61 * *Deprecate* nonautomatic IO close in XZ::StreamReader#close
62 * *Deprecate* nonautomatic IO close in XZ::StreamWriter#close
63 * *Fix* incompatibility with Resolv.getaddress() in Ruby 2.2 (Ticket #13
64 by Ken Simon)
65 * Goal of these deprecations is to sync the API with Ruby’s own
66 Zlib::GzipWriter and Zlib::GzipReader mostly.
67 * Add required versions to gemspec.
68 * Comment format cleanup, results in better docs.
69 * Internal code cleanup
70 * Add more tests.
71
72 == 0.2.1 (2014-02-08)
73
74 * Build the gem properly on Ruby 2.0+ (PR #8 by Nana Sakisaka (saki7))
75 * Release the GIL when interfacing with liblzma (PR #7 by Lars Christensen (larsch))
76
77 == 0.2.0 (2013-06-23)
78
79 * Fix #6 (errors on JRuby) by Ben Nagy
80 * <b>Remove 1.8 compatibility</b>
81
82 == 0.1.0 (2013-02-17)
83
84 * <b>Add XZ::StreamReader and XZ::StreamWriter for io-like behaviour.</b>
85 * New dependency on the +io-like+ gem.
86 * <b>Add Ruby 1.8 compatibility.</b> Thanks to Christoph Plank.
87 * We now have proper unit tests.