Data version is still 5.5.7, however new compiler-only flags have been
added to data entries. Fortunately these do no change the size of the
flags field.
Changes:
- Added support for Inno Setup 5.5.7 (and 5.5.8) installers
- Added a --collisions=rename-all option
- Changed --collisions=rename to omit the suffix for the file that
would have been extracted with --collisions=overwrite instead of the
first encountered file
- Fixed @lang suffix sometimes missing for the first file with the
--collisions=rename option
- Fixed build error with CMake 3.5
- Now compiles in C++14 mode if supported
- Unsafe characters in special constant strings (ie ':' in {code:…})
are now replaced with '$'
- Windows: Fixed error message if the source file could not be opened
- Windows: Fixed progress bar flickering while printing extracted
filenames
- Windows binaries: Fixed crash on platforms without AVX support
Changes:
- Added support for Inno Setup 5.5.6 installers
- Added support for a modified Inno Setup 5.5.0 variant
- Added support for building without iconv
(Windows-1252 and UTF-16LE only)
- Added warnings for .bin files that are not part of the installer
- Added a simple --include (-I) option to filter files thanks to
Alexandre Detiste
- Added a --list-languages option to list available languages
- Added a --exclude-temp (-m) option to not extract temporary files
- Added a --language-only option to skip language-independent files
- Added a --collisions option to abort or rename files on collision
- Added a --default-language option to prefer a language in case of
file collisions
- Added a --gog-game-id option to print the GOG.com game ID for
Galaxy-ready installers
- Added a --gog (-g) option to extract additional .bin files using
unrar or unar
- Fixed handling of spaces in the --data-dir option
- Fixed an infinite loop with truncated LZMA streams
- Fixed handling of forward slashes in stored file paths
- Fixed size display for powers of 1024
- Fixed loading headers if there are encrypted chunks
- Fixed file collisions not being handled case-insensitively
- Files will now be extracted into the same directory even if the
stored case differs
- Empty directories are now created correctly when extracting
- Skipped files in encrypted chunks are now listed individually
- Temporary files are now marked in file listings
- Error summary is now written to stderr when using --quiet
- Colors are now only enabled automatically if $TERM is set to
something other than "dumb"
- Improved error and warning messages
- Build system improvements
- Debug output can now be enabled separately from debug builds
- Windows: Added support for using the Win32 API for string encoding
conversion
- Windows: Fixed unicode console output
Changes:
- Fixed build on non-Linux platforms with a separate libiconv
(Windows™, Mac OS X)
- Fixed build on systems with non-standard iconv function prototypes
(FreeBSD)
- Fixed MSVC build
- Fixed build with older glibc versions
- Fixed issues with the progress bar in sandbox environments
- Fixed string conversion on systems where libiconv defaults
to big-endian variants
- Fixed extracting very large installers with 32-bit innoextract builds
- Improved handling of invalid encoded strings
- Improved error messages when input or output files could not be
opened
- The --list command-line option can now combined with
--test or --extract
- The --version command-line option can now be modified with
--quiet or --silent
- Added color output and progress bar support for Windows™
- Added support for Unicode filenames under Windows™
- Added support for preserving timestamps of extracted files
(enabled by default)
- Added a --timestamps (-T) command-line options to control or disable
file timestamps
- Added an --output-dir (-d) command-line option to control where
files are extracted
- Added various CMake options to fine-tune the build process
- Various bug fixes and tweaks