CARVIEW |
Select Language
HTTP/2 200
date: Thu, 16 Oct 2025 03:12:07 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"82f4500cd74eef7df53bf76ef6c07270"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com/ copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=HfrK0G2Dvk5RQ60sMalHIA%2FrI6l7gbLJBnSWu6qoaPjssuy4Qe2tNcebOOXr7q2zoLXGRa6MfD3q0KWhR0qR1i3gB690xJLwgSPBFDYoH586Lzm2xcfWJ4USErfYxBWo5Fc3K6HfwWXhhDBP4GeswiR7lSEik1D2Q2kYGZjBd80wZ%2BHKPVFfANjyiBBAyVU3g%2FxgHlwNKODS3rVwpD9ypUNGhkM5uVhcltDmrLEbg4HaqLAWe%2FRIBOruN0e3kymgDkyN5rfVHiQrRBLtKJNmKQ%3D%3D--rUxEUlpDrsHwbu0V--ks5xxLWRcLn6UxEtLgaGiA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.125474550.1760584326; Path=/; Domain=github.com; Expires=Fri, 16 Oct 2026 03:12:06 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Fri, 16 Oct 2026 03:12:06 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 9DE2:3A9A57:1A0A0D:26AC1D:68F06286
Release Bit7z v4.0.0 · rikyoz/bit7z · GitHub
Loading
Skip to content
Navigation Menu
{{ message }}
-
-
Notifications
You must be signed in to change notification settings - Fork 138
Bit7z v4.0.0
Compare
Changes from v4.0.0-rc:
- Use macro instead of function for HRESULT_FROM_WIN32 (by @michaelKle in #130).
- Fixed missing
#include <algorithm>
in formatdetect.cpp (by @gr3yknigh1 in #132). - Fixed code formatting, code style consistency, and comments.
- Fixed support to GCC 4.9.
- Improved unit tests.
- Added unit tests for BitItemsVector.
- Added tests for BitArchiveReader.
- Made the
fs
namespace internal to thebit7z
namespace (fix #141). - Increased the number of open files when creating multi-volume archives (partial fix for issue #150).
- Improved error messages.
- Removed createArchiveObject in Bit7zLibrary.
- Added a check if the password is ASCII-only when compressing to Zip archives (it can be disabled via the
BIT7Z_DISABLE_ZIP_ASCII_PWD_CHECK
CMake option). - Updated default version of 7-zip to v23.01.
- Fixed build with MSVC ARM toolchain.
- Removed third-party git submodules: now bit7z uses CPM.cmake for automatically handling third-party dependencies.
- By default, bit7z will use 7-zip v23.01, unless you specify a different version via the
BIT7Z_7ZIP_VERSION
option (e.g.,-DBIT7Z_7ZIP_VERSION=22.01
). - Alternatively, you can specify a custom path containing the 7-zip source code via the option
BIT7Z_CUSTOM_7ZIP_PATH
.
- By default, bit7z will use 7-zip v23.01, unless you specify a different version via the
- Fixed and improved the handling of UTF-8 paths.
- Improve format detection.
- Added option
BIT7Z_USE_SYSTEM_CODEPAGE
to make bit7z use the system codepage forstd::string
instead of UTF-8 (highly not recommended). - Added functions to check whether an archive is encrypted/header-encrypted (issue #164).
- Removed unnecessary conversions from
fs::path
totstring
and vice versa. - Added support for correctly storing symbolic links when creating archives (discussion #166).
- Added support for applying BIT7Z_STRING to macro defines (issue #167).
- Added optional sanitization of reserved Windows file names during file extraction (by @Luosiyuan in #168).
- Improved the README.
- Check for the file signature when detecting the format of files w/o an extension.
- Improved error messages when extracting an encrypted archive w/o a password.
- Introduced
BitFailureSource
error condition enum: it can be used for performing queries on bit7z'sstd::error_code
s, for the purpose of grouping, classification, or error translation.
Full Changelog: v4.0.0-rc...v4.0.0
Changes from v3.2.x:
Expand for more details!
- Added support to Linux and macOS (issue #19).
- Added support to the MinGW compiler.
- Dropped support to old MSVC 2012 and 2013.
- The project requires at least a C++14 compiler to build; the public API is still C++11-compatible.
- Removed QMake and MSBuild project files: now bit7z uses only CMake as its build system.
- Removed format restriction to memory compression.
- Renamed
BitArchiveInfo
toBitArchiveReader
. - Added support to extracting/testing the input archive of
BitArchiveReader
. - Made
BitArchiveReader
/BitInputArchive
behave like anstd
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 use 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 aBitException
.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 others will be appended.
- 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 toBitFileExtractor
.- Now,
BitExtractor
is just a template class for all the extraction classes.
- Now,
- Renamed the
BitCompressor
class toBitFileCompressor
.- Now,
BitCompressor
is just a template class for all the compression classes.
- Now,
- Changed the default string type to
std::string
instead ofstd::wstring
.- std::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
.
- On Windows, the default string type will be
- Added an initial unit test subproject (can be enabled via the
BIT7Z_BUILD_TESTS
option). - Fixed some edge cases in the wildcard matching function.
- Added a basic
OverwriteMode
enum that allows configuring how to deal with when an output file or buffer already exists (issue #116). It works for both compressors and extractors.None
: The archive handler will throw an exception.Overwrite
: The handler will overwrite the old file or buffer with the new one.Skip
: The handler will skip writing to the output file or buffer.
- Added a getter for the CRC value of a
BitArchiveItem
. - Added option for generating Position Independent Code (issue #117).
- Allow setting archive format properties as described in the 7-zip docs (close issues #91 and #103).
- Moved public API headers to the
include/bit7z/
folder. - Added an option to automatically prepend paths with the long path prefix (issue #45).
- Added an option to build the Doxygen documentation.
- Clean up code and fix code formatting.
- Re-licensed the project under the MPLv2 (issue #86).
Full Changelog: v3.2.0...v4.0.0
Binaries built using the default options with Clang10, GCC 9, MinGW 8, MSVC 2015, 2017, 2019, and 2022 👇
Assets 24
2 people reacted
You can’t perform that action at this time.