Releases: force-net/blazer
.NET Core fix
This release contains fix for .NET Core for Windows. In previous release, embedded resources were missing. As result, it caused error with compression ("big" .NET worked good).
Also, there is fix for compressed streams over MemoryStream initialized with offset. It has unexpected behavior: Seek/Position can return different results, so, logic in decompression stream was changed to use correct variant for this.
Some minimal API improvements also exist in this release
Stable release with improvements
This is first stable release for .NET Core, functionality is the same as for 'big' .NET and it works for Linux! (but only managed library version).
Also, there are a lot of API improvements and some bug fixes.
Attached exe version is only for Windows (but library with .net standard support can be found in NuGet).
Other changes:
- Padding mode was implemented manually to relate normal .NET version
- Changed block encryption to avoid attacks with packet repeating (backward compatible with old compressed data)
- Added PasswordRaw and CommentRaw (binary data in this fields)
- Added data array helper (for compressing/decompressing resources in byte array way)
- Improved software Crc32C
- Added option to skip real decompression (useful for file lists)
First support for .NET Core
This release contains first support for .NET Core, it is beta, so, stability is not guaranteed.
Lot of small fixes
Lot of small fixes and some improvements for library only:
- improved variants for flush mode
- fixed flushing only header
- fixed encryption with flush
- improved integrity for incompleted streams
- fixed stackoverflow with last empty control block and missing footer
- fixed possible stackoverflow for rare situations
- fixed possible error in decrypt with EncryptFull mode
Fixes and improvements
In this release issue with big files (more 1Gb) compression was fixed. It affects only stream and streamhigh mode and relates not to algorithm itself, but small problem with data shifting (to allow compression of any length of data). Block mode was not affected by this issue.
Also, command-line executable has a lot of fixes and improvements in command line parsing. Now, --stdin and --stdout options should work correctly, and other options should work as expected.
Support for multiple files archive
In this release we add ability to compress multiple files in one Blazer archive. This ability is very basic now and can be achieved only through list file (@filename). But this syntax is supported with Far Manager, so you just need to add Blazer format to Far and use usual archive commands.
Convenient App Resources Compression
This release contains stream high improvements in library (~0.5% compression rate). Also, library now has patterned compression (not used in exe file), noseek option, better crc32c api.
Executable now has option maxblocksize which sets maximum uncompressed block size to process. Bigger block size causes better compression and memory usage and vise versa. Block sizes available from 512 to 16Mb.
Option blobonly was removed (it is very specific option) and replaced to dataarray option. With this option, file content is stored into one big array, prefixed with uncompressed data length. This array can be used for compressing application resources. Documentation will be updated to describe this feature.
Far Support
In this release we're fix some bugs with advanced scenarios, and also improved code:
- Decompressor currently says about block size and algorithm id (can be used for information)
- Added 'Comment' option to add global comment to archive (meta info can be stored)
Console program:
- Added list command (-l) to view content of archive
- Added comment option (--comment) to add comment to archive
- Now, only file name is stored, not full path
- Error situations now returns non-zero error code for better error handling
- Added support for far manager (as result, command line can be changed in new versions). See documentation
Initial public release
After long time of develop, there is first public version of archiver.
In binaries section - console executable. Library can be found on nuget