Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
== 1.0.0 (2018-05-20) * *BreakingChange* The XZ module's methods now take any parameters beyond the IO object as real Ruby keyword arguments rather than a long argument list. * *BreakingChange* XZ.decompress_stream now honours Ruby's external and internal encoding concept instead of just returning BINARY-tagged strings. * *BreakingChange* Remove deprecated API on stream reader/writer class and instead sync the API with Ruby's zlib library (Ticket #12 by me). * *BreakingChange* StreamWriter.new and StreamReader.new do not accept a block anymore. This is part of syncing with Ruby's zlib API. * *BreakingChange* StreamReader.open and StreamWriter.open always return the new instance, even if a block is given to the method (previous behaviour was to return the return value of the block). This is part of the syncing with Ruby's zlib API. * *BreakingChange* StreamReader.new and StreamWriter.new as well as the ::open variants take additional arguments as real Ruby keyword arguments now instead of a long parameter list plus options hash. This is different from Ruby's own zlib API as that one takes both a long parameter list and a hash of additional options. ruby-xz is meant to follow zlib's semantics mostly, but not as a drop-in replacement, so this divergence from zlib's API is okay (also given that it isn't possible to replicate all possible options 1:1 anyway, since liblzma simply accepts different options as libz). If you've never used these methods' optional arguments, you should be fine. * *BreakingChange* Stream#close now returns nil instead of the number of bytes written. This syncs Stream#close with Ruby's own IO#close, which also returns nil. * *BreakingChange* Remove Stream#pos=, Stream#seek, Stream#stat. These methods irritated the minitar gem, which doesn't expect them to raise NotImplementedError, but directly to be missing if the object does not support seeking. * *BreakingChange* StreamReader and StreamWriter now honour Ruby's encoding system instead of returning only BINARY-tagged strings. * *Dependency* Remove dependency on ffi. ruby-xz now uses fiddle from the stdlib instead. * *Dependency* Remove dependency on io-like. ruby-xz now implements all the IO mechanics itself. (Ticket #10 by me) * *Dependency* Bump required Ruby version to 2.3.0. * *Fix* libzlma.dylib not being found on OS X (Ticket #15 by s0nspark).
- Loading branch information