- FIXED #96: fixed issue returning wrong compressed length when compressing into Span
- ADDED #61: partial decompression support (see #61, #90) (thanks: Sewer56)
- CHANGED: build process from FAKE (sorry!) to Nuke
- FIXED #85: removed call to Dispose from DisposeAsync in LZ4EncoderStream
- NOTE: just a release without beta tag
- ADDED: block and content checksum support
- FIXED: (hopefully) System.Runtime.CompilerServices.Unsafe versioning issues
- ADDED: retrofitted support for Pipes for older .NET versions
- ADDED: enabled hardware CTZ for .NET 5 and above (it was .NET 5 only before)
- CHANGED: Dropped compatibility with .NET 4.5 and .NET Standard 1.6
- ADDED: Added .NET 6.0 as a target
- ADDED: FrameEncoder / FrameDecoder are now abstraction of stream
- ADDED: Streaming (LZ4 Frame) support for Pipes (NET 5.0+)
- ADDED #6: Streaming (LZ4 Frame) support for Span and Memory
- ADDED #14: Streaming (LZ4 Frame) support for ReadOnlySequence, BufferWriter
- FIXED #72: Added (again) System.Runtime.CompilerServices.Unsafe as dependency for .NET 4.6, .NET Standard 2.0, .NET Standard 2.1
- FIXED #69: Added Pickle/Unpickle overload taking BufferWriter as generic argument not interface (potential performance improvement)
- NOTE: I'm still unhappy with API, but it cannot be addressed without breaking changes, so while this version may receive some bugfixes, there is an overhaul on the horizon
- ADDED: Forced K4os.Hash.xxHash 1.0.7
- REMOVED: System.Memory as dependency for .NET Standard 2.1 and .NET 5
- ADDED #64: block decompression with external dictionary
- FIXED: Minor fixed to unit tests
- REMOVED: reference to System.Runtime.CompilerServices.Unsafe (which is transitive)
- ADDED: explicit release for netstandard 2.1
- ADDED: some testing with Tar*Stream from SharpZipLib
- ADDED #14 (partial): support for IBufferWriter in LZ4Pickler
- FIXED: Implicit reference to System.Runtime.CompilerServices.Unsafe
- FIXED: LZ4Pickler is now memory alignment agnostic
- FIXED #41: fixed nasty async reader bug (async vs struct)
- ADDED #34: true async support for read and write
- ADDED #35: full async support for .NET Standard 2.1
- FIXED #38: stream is now properly disposed on Close()
- ADDED #40: unaligned memory access moved to 32-bit
- unaligned memory access methods to address ARMv7/Unity bug
- issue 32 (slow when combined with CryptStream) fixed
- breaking change: interactive mode is no longer default
- port of lz4 1.9.2
- explicit support for both 32 and 64 environments
- added (experimental!) support for .NET 4.5
- added explicit "unchecked" around De Bruijn calculation
- issue 22 returns: fix for ReadByte/WriteByte bug
- issues 18 & 22: returning 0 bytes on EoF many times (not just once)
- added explicit "unchecked" around hash calculation
- moved build process to FAKE 5 (no functionality added)
- added lz4net compatible pickler
- added lz4net compatible stream
- position and Length for LZ4EncoderStream
- signed assemblies
- independent block encoder and decoder (performance)
- better XML doc
- breaking changes to pubternals
- added auto-download of nuget (Windows only)
- merged fix for slow streams (#8)
- dictionary is back (although, it is still ignored)
- updated package information
- added Position to Decode stream
- added Length to Decode stream, if known
- based on lz4 1.8.1
- fully working and tested, but some features are missing