Releases: Snesnopic/chisel
v1.4.1
Minor release focused on reliability.
What’s New
- Fixed file‑saving bug on Apple platforms
Resolved an issue that could cause failed saves on Apple platforms when writing files. - macOS x64 now builds with clang
The x64 macOS build now uses clang instead of GCC.
Previously, GCC was required due to the lack ofstd::jthreadandstd::stop_tokenin the clang toolchain on macOS x64. The thread pool has been rewritten to remove this dependency. - Refactor of the zopflipng processor
The processor has been cleaned up a bit, as it could very rarely crash sometimes.
macOS: removing the Gatekeeper quarantine
When downloading binaries from the internet, macOS automatically marks them as “quarantined”.
If you try to run chsl and macOS shows a warning like:
“chsl cannot be opened because it is from an unidentified developer”
…you need to remove the quarantine attribute manually.
How to remove the quarantine flag
Open Terminal in the folder where you downloaded chsl and run:
xattr -d com.apple.quarantine ./chslTo verify that the quarantine flag is gone:
xattr ./chslIf com.apple.quarantine no longer appears, you're good to go.
Now you can run:
./chsl ...Note
This issue does not occur if you compile chsl yourself.
Nightly Build
Latest successful build from 'development' branch. Not a stable release.
v1.4.0
Major feature release bringing a massive expansion to format support, FreeBSD compatibility, and stability improvements. This release focuses heavily on optimizing niche and legacy formats and shrinking the binary size.
What's New
- Massive format expansion: Introduced dedicated processors for a lot of new formats. Most of these are available thanks to Leanify.
- Audio & Media: TTA, DSF, DSDIFF, ASF, Musepack (MPC), and SWF.
- Images & Fonts: Windows Icon (ICO), Apple Icon (ICNS), WOFF, WOFF2.
- Archives: LZMA, Zstd, BZip2, Brotli (the first 3 were already in chisel, they have been decoupled from
ArchiveProcessor) - Proprietary: Tencent GFT (Image Container) and RDB (Resource DB).
- Documents: CFBF (Legacy Office / MSI) on Windows, based on Papa's Best CFBF Optimizer.
- FreeBSD Support: chisel is now compatible with FreeBSD.
- Smaller binaries: LTO and code stripping enabled by default once again, so smaller binaries and maybe better performance.
- MKV attachment optimization: Updated
taglib, enablingmkvprocessorto parse and optimize internal attachments within MKV and WebM containers. - Bug fixes:
- Fixed a bug in the
ProcessorExecutorwhere a finalized container would sometimes be replaced even if the optimized version wasn't strictly smaller than the original. - Resolved a CLI issue where finalized containers were sometimes not properly logged.
- Fixed a bug in the
- Apple framework: The compiled
.xcframeworkis now available as a release asset. - Dependency updates: Updated internal libraries, including a newer version of
sqlite3.
macOS: removing the Gatekeeper quarantine
When downloading binaries from the internet, macOS automatically marks them as “quarantined”.
If you try to run chsl and macOS shows a warning like:
“chsl cannot be opened because it is from an unidentified developer”
…you need to remove the quarantine attribute manually.
How to remove the quarantine flag
Open Terminal in the folder where you downloaded chsl and run:
xattr -d com.apple.quarantine ./chslTo verify that the quarantine flag is gone:
xattr ./chslIf com.apple.quarantine no longer appears, you're good to go.
Now you can run:
./chsl ...Note
This issue does not occur if you compile chsl yourself.
v1.3.0
Major house cleaning release focused on streamlining the build process for chisel and libchisel, expanding platform compatibility, and improving the developer API.
What's New
- Build system & compiler flags: Introduced Unity builds to improve performance and reduce final binary size. The build process is now faster and more modular. Default LTO and strict compiler flags have been disabled, ensuring you are not forced into specific configurations when compiling chisel or libchisel from source.
- C++20 standard: Lowered the compiler standard requirement to C++20 (as no C++23 features were actively utilized), improving compatibility for different toolchains.
- Windows Magic file detection: Now fully integrated into the Windows binary. The magic file is automatically regenerated when missing, matching the behavior already present on other platforms.
- libchisel API improvements: Polished the interface for better usability. Added
destinationtoFileProcessCompleteEvent, expanded the payload forContainerFinalizeCompleteEvent, and simplifiedEncodeModeenum handling. Fixed a bug that triggered duplicate events for completed files. - Apple ecosystem expansion:
libchiselcan now be built as an.xcframework, compatibile with ALL Apple devices (iOS, iPadOS, VisionOS, tvOS, WatchOS and each respective simulator). Additionally, macOS arm64 targets are now compiled with macOS 15, meaning binaries have native support for Sequoia. - libdeflate integration:
libdeflateis now compiled directly by chisel. This allowslibtiffto leverage deflate natively, yielding improved compression ratios. - Optional integrations: Rust and MKV-related components have been decoupled and are now optional build targets.
- Improved miniSEED: miniSEED processor is now safer and yields better compression on miniSEED2 files.
- Dependency updates: Updated internal libraries for
gifsicle,libmseed, andsqlite3. - Logging: Locale settings are now correctly captured and reflected in the logs.
macOS: removing the Gatekeeper quarantine
When downloading binaries from the internet, macOS automatically marks them as “quarantined”.
If you try to run chsl and macOS shows a warning like:
“chsl cannot be opened because it is from an unidentified developer”
…you need to remove the quarantine attribute manually.
How to remove the quarantine flag
Open Terminal in the folder where you downloaded chsl and run:
xattr -d com.apple.quarantine ./chslTo verify that the quarantine flag is gone:
xattr ./chslIf com.apple.quarantine no longer appears, you're good to go.
Now you can run:
./chsl ...Note
This issue does not occur if you compile chsl yourself.
v1.2.0
Major feature release introducing basic XML processor and some more configurations.
What's New
- XML support: Added support for XML-related files (.xml, .svg, .xhtml, .kml, .gpx, .dae, .rss, .atom, .xml) across all platform, both minifying the file and extracting its embedded files, via pugixml.
- Zopfli configuration: Processors that internally use Zopfli to compress (ZopfliPngProcessor, OOXMLProcessor, , ODFProcessor, PDFProcessor) can now specify the amount of iterations to try and increase compression through the flags
--iterationsand--iterations-large(used for 'large' images). Default values are 15 and 5, respectively (the same values that were used before). - FlexiGif configuration: FlexiGif's amount of tokens for recompression can now be specified with
--max-tokens. Default value is 10000 (same value that was used before). - Better MIME detection: MIME type detection for systems that support it should be faster and more reliable now.
macOS: removing the Gatekeeper quarantine
When downloading binaries from the internet, macOS automatically marks them as “quarantined”.
If you try to run chsl and macOS shows a warning like:
“chsl cannot be opened because it is from an unidentified developer”
…you need to remove the quarantine attribute manually.
How to remove the quarantine flag
Open Terminal in the folder where you downloaded chsl and run:
xattr -d com.apple.quarantine ./chsl
To verify that the quarantine flag is gone:
xattr ./chsl
If com.apple.quarantine no longer appears, you're good to go.
Now you can run:
./chsl ...
Note
This issue does not occur if you compile chsl yourself.
v1.1.0
Major feature release introducing new audio formats, enhanced compression profiles, and quality-of-life improvements.
What's New
- Executable renamed: The main binary has been renamed from
chiseltochsl. - OGG Vorbis support: Added full support for lossless OGG Vorbis recompression across all platforms, via OptiVorbis.
- MP3 support: Added support for MP3 optimization (for now available on macOS and Linux only), via mp3packer.
- Improved FLAC & WavPack compression: Upgraded WavPack to use extra compression mode and xmode 6. Enhanced FLAC encoding by expanding apodization window functions and increasing residual partition orders to achieve better compression ratios.
- Hierarchical logging: The logging system has been completely redesigned into a detailed, cascading level-based architecture (ALL, DEBUG, INFO, WARNING, ERROR, OFF).
- Enhanced progress bar: The terminal progress bar now dynamically displays the number of files currently being processed.
- Automatic magic database: The
--regenerate-magicflag has been removed. Magic file generation is now handled automatically.
macOS: removing the Gatekeeper quarantine
When downloading binaries from the internet, macOS automatically marks them as “quarantined”.
If you try to run chsl and macOS shows a warning like:
“chsl cannot be opened because it is from an unidentified developer”
…you need to remove the quarantine attribute manually.
How to remove the quarantine flag
Open Terminal in the folder where you downloaded chsl and run:
xattr -d com.apple.quarantine ./chsl
To verify that the quarantine flag is gone:
xattr ./chsl
If com.apple.quarantine no longer appears, you're good to go.
Now you can run:
./chsl ...
Note
This issue does not occur if you compile chsl yourself.
v1.0.1
First maintenance release addressing CLI behavior and logging.
What's New
- Fixed
-o(output) behavior: The-oflag now correctly supports renaming single files. Previously, it incorrectly treated the output path as a directory in single-file mode. - New
--log-fileoption: Added a specific flag to write logs to a file (e.g.,--log-file chisel.log). Chisel no longer creates achisel.logfile in the working directory by default. - Logging improvements: The default log level has been corrected to
ERRORto reduce console noise. - Version reporting: Fixed the output of
--versionto correctly display the release number.
If you're having problems on Linux/macOS, run chisel with --regenerate-magic.
macOS: removing the Gatekeeper quarantine
When downloading binaries from the internet, macOS automatically marks them as “quarantined”.
If you try to run chisel and macOS shows a warning like:
“chisel cannot be opened because it is from an unidentified developer”
…you need to remove the quarantine attribute manually.
How to remove the quarantine flag
Open Terminal in the folder where you downloaded chisel and run:
xattr -d com.apple.quarantine ./chisel
To verify that the quarantine flag is gone:
xattr ./chisel
If com.apple.quarantine no longer appears, you're good to go.
Now you can run:
./chisel ...
Note
This issue does not occur if you compile chisel yourself.
v1.0.0
First release! Most formats should work pretty well.
If you're having problems on Linux/macOS, run chisel with --regenerate-magic.
Known issues
- The
-ooption is broken when used in single‑file processing. - The default logging level is
WARNINGinstead ofERROR.
macOS: removing the Gatekeeper quarantine
When downloading binaries from the internet, macOS automatically marks them as “quarantined”.
If you try to run chisel and macOS shows a warning like:
“chisel cannot be opened because it is from an unidentified developer”
…you need to remove the quarantine attribute manually.
How to remove the quarantine flag
Open Terminal in the folder where you downloaded chisel and run:
xattr -d com.apple.quarantine ./chiselTo verify that the quarantine flag is gone:
xattr ./chiselIf com.apple.quarantine no longer appears, you're good to go.
Now you can run:
./chisel ...Note
This issue does not occur if you compile chisel yourself.