Skip to content

Latest commit

 

History

History
102 lines (87 loc) · 4.51 KB

HISTORY.rdoc

File metadata and controls

102 lines (87 loc) · 4.51 KB

Version history

1.0.3 (2022-03-28)

  • Fix a number of memory leaks by freeing allocated liblzma data structures (Issue Quintus#20 reported by xTRiM, PR #7 by Alex Gittemeier)

1.0.2 (2021-11-28)

  • Fix a deprecation warning and some other gemspec concerns (Issue #5, PR #6 by Alex Gittemeier)

1.0.1 (2021-11-13)

  • Fix a buffer overflow error in XZ::Stream (PR Quintus#17 by genail)

  • Fix an issue with transcode_options that was introduced by Ruby 3 (PR #1 by Alex Gittemeier)

  • Update project README, gemspec, and other metadata to reflect a change in maintainership. All prior releases were released by Marvin Gülker.

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 Quintus#12 by Quintus).

  • 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 Quintus#10 by Quintus)

  • Dependency Bump required Ruby version to 2.3.0.

  • Fix libzlma.dylib not being found on OS X (Ticket Quintus#15 by s0nspark).

0.2.3 (2015-12-29)

  • Fix documentation of XZ module (a :nodoc: was causing havoc in the XZ module so it appeared to have no methods).

  • No other changes this release.

0.2.2 (2015-12-27)

  • Add XZ.disable_deprecation_notices

  • Deprecate use of XZ::StreamReader.open with an IO argument

  • Deprecate use of XZ::StreamReader.new with a filename argument

  • Deprecate use of XZ::StreamWriter.open with an IO argument

  • Deprecate use of XZ::StreamWriter.new with a filename argument

  • Deprecate nonautomatic IO close in XZ::StreamReader#close

  • Deprecate nonautomatic IO close in XZ::StreamWriter#close

  • Fix incompatibility with Resolv.getaddress() in Ruby 2.2 (Ticket Quintus#13 by Ken Simon)

  • Goal of these deprecations is to sync the API with Ruby’s own Zlib::GzipWriter and Zlib::GzipReader mostly.

  • Add required versions to gemspec.

  • Comment format cleanup, results in better docs.

  • Internal code cleanup

  • Add more tests.

0.2.1 (2014-02-08)

  • Build the gem properly on Ruby 2.0+ (PR Quintus#8 by Nana Sakisaka (saki7))

  • Release the GIL when interfacing with liblzma (PR Quintus#7 by Lars Christensen (larsch))

0.2.0 (2013-06-23)

  • Fix Quintus#6 (errors on JRuby) by Ben Nagy

  • Remove 1.8 compatibility

0.1.0 (2013-02-17)

  • Add XZ::StreamReader and XZ::StreamWriter for io-like behaviour.

  • New dependency on the io-like gem.

  • Add Ruby 1.8 compatibility. Thanks to Christoph Plank.

  • We now have proper unit tests.