Bit7z Versions Save

A C++ static library offering a clean and simple interface to the 7-zip shared libraries.

v4.0.0-beta

1 year ago

Changes from v3.1.x:

  • Added support to Linux and macOS (issue #19).
  • Added support to MinGW compiler.
  • Dropped support to old MSVC 2012 and 2013.
  • Now the project uses the C++14 standard.
  • Removed format restriction to memory compression.
  • Renamed BitArchiveInfo to BitArchiveReader.
  • Added support to extracting/testing the input archive of BitArchiveReader.
  • Made BitArchiveReader/BitInputArchive behave like an std container (e.g., added iterators).
  • Added support for canceling ongoing operation in progress callback (issue #37).
  • Added support to set the number of threads used when compressing (issue #38).
  • Added support for extracting without retaining the directory structure (issue #34).
  • Added the possibility to choose the word size to be used when compressing.
  • Added the BitArchiveWriter class that allows creating a single new archive or updating an old one with new items.
  • Added the BitArchiveEditor class that allows editing existing archives.
    • Added support for renaming/deleting items inside an archive (issue #43).
  • Added different archive update modes:
    • None: Trying to update and archive will throw a BitException.
    • Append: New items will be appended to the archive (i.e., the old update behavior).
    • Overwrite: New items whose path already exists in the archive will be overwritten, and other will be appended.
    • OverwriteArchive: The output archive will be deleted and recreated (unless it is a multi-volume archive, in which case an exception is thrown).
  • Changed file callback to make it report the full path of the file (issue #46).
  • Added the possibility to extract a specific file to buffer (issue #32).
  • Fixed and improve the public API.
  • Renamed the BitExtractor class to BitFileExtractor.
    • Now BitExtractor is just a template class for all the extraction classes.
  • Renamed the BitCompressor class to BitFileCompressor.
    • Now, BitCompressor is just a template class for all the compression classes.
  • Changed the default string type to std::string instead of std::wstring.
    • Input strings are considered UTF-8 encoded: the project will follow the UTF-8 Everywhere Manifesto.
    • This allows using the library in cross-platform projects more quickly.
    • You can still achieve the old behavior by using bit7z with the -DBIT7Z_USE_NATIVE_STRING CMake option. In this case:
      • On Windows, the default string type will be std::wstring (as in bit7z v3);
      • On Linux and macOS, it will remain std::string.
  • Re-licensed the project under the MPLv2 (issue #86).

Full Changelog: https://github.com/rikyoz/bit7z/compare/v3.1.5...v4.0.0-beta

Binaries built using Clang10, GCC 9, MinGW 8, MSVC 2015, 2017, and 2019 👇

v3.1.5

2 years ago

Changes from v3.1.4:

Full Changelog: https://github.com/rikyoz/bit7z/compare/v3.1.4...v3.1.5

Binaries built using MSVC 2015, 2017 and 2019 👇

v3.1.4

2 years ago

Changes from v3.1.3:

  • Fix issue #54: now BitArchiveItems are both copyable and movable, allowing vectors of items (e.g., BitArchiveInfo::items()) to be manipulated by the C++ standard algorithms like std::sort.

Binaries built using MSVC 2015, 2017 and 2019 👇

v3.1.3

2 years ago

Changes from v3.1.2:

  • Fix memory issues with BitPropVariants and callbacks

Binaries built using MSVC 2015, 2017 and 2019 👇

v3.1.2

4 years ago

Changes from v3.1.1:

  • Fix custom folder name not applied to path of children files when compressing archives

Binaries built using MSVC 2015, 2017 and 2019 👇

v3.1.1

4 years ago

Changes from v3.1.0:

  • Fix support for header encrypted archives to BitArchiveInfo

Binaries built using MSVC 2015, 2017 and 2019 :point_down:

v3.1.0

4 years ago

Changes from v3.1.0 beta:

  • Added CMakeLists.txt.
  • Fixed support to MSVC 2013
  • Fixed Bit7zLibrary not releasing the DLL if it fails in getting the "CreateObject" function.
  • Fixed and improved README.
  • Cleaned code.

Changes from v3.0.x:

  • Added support for updating existing file archives.
  • Added support for compression and extraction to and from C++ standard streams.
  • Added support for selective extraction using regexes.
  • Added support for automatic format detection of input archives.
  • Added the possibility to choose the compression method.
  • Added the possibility to choose the compression dictionary size.
  • Fixed, improved and cleaned internal callbacks.
  • Many bug fixes.
  • Cleaned code.
  • Updated and improved code documentation.

Note: for space optimization reasons, the following binary files are built without support to selective extraction using regexes and automatic format detection. If you need one or both these function, you have to build bit7z yourself with the appropriate compilation flags (please see this wiki for more info).

Note 2: Each of the following packages contains both debug and release versions of the library, along with the public API header files.

Note 3: Packages with _mt_ in the name contain binaries built using the /MT flag (/MTd for debug binaries).

Binaries built using MSVC 2015, 2017 and 2019 :point_down:

v3.1.0-beta

4 years ago

Binaries built using MSVC 2015, 2017 and 2019 :point_down:

Release Details

Changes from v3.0.x:

  • Added support for updating existing file archives.
  • Added support for compression and extraction to and from C++ standard streams.
  • Added support for selective extraction using regexes.
  • Added support for automatic format detection of input archives.
  • Added the possibility to choose the compression method.
  • Added the possibility to choose the compression dictionary size.
  • Fixed, improved and cleaned internal callbacks.
  • Many bug fixes.
  • Cleaned code.
  • Updated and improved code documentation.

Note: for space optimization reasons, the following binary files are built without support to selective extraction using regexes and automatic format detection. If you need one or both these function, you have to build bit7z yourself with the appropriate compilation flags (please see this wiki for more info).

Note 2: Each of the following packages contains both debug and release versions of the library, along with the public API header files.

Note 3: Packages with _mt_ in the name contain binaries built using the /MT flag (/MTd for debug binaries).

v3.0.1

5 years ago

Changes from v3.0.0:

  • Fixed issue #17

Binary files built using MSVC 2015 :point_down:

v3.0.0

5 years ago

Changes from v3.0 beta:

  • Added Visual Studio project file (valid for VS >= 2012)
  • Many bug fixes and API improvements.
  • Cleaned code.

Changes from v2.1:

  • Added support to reading metadata of archives and of their content (see BitArchiveInfo and BitArchiveItem classes).
  • Added support to testing archives for errors (see BitExtractor::test(...) method).
  • Added support to compression using custom directory systems in the output archives (see overload of BitCompressor::compress(...) method).
  • Added support to selective extraction of only specified files/folders contained in archives (see BitExtractor::extractMatching(...) and BitExtractor::extractItems(...) methods).
  • Fixed, improved and cleaned filesystem related code.
  • Many bug fixes and API improvements.
  • Cleaned code.
  • Updated and improved code documentation.
  • Dropped support to MSVC 2010 (too many code changes to make it compatible, since bit7z uses many C++11 features not supported by this old compiler; moreover these changes would have made the code less readable and ugly). Now bit7z supports MSVC 2012 and newer versions.

Binary files built using MSVC 2015 :point_down: