Changes:
- Added preliminary support for Inno Setup 6.1.0
- Added support for a modified Inno Setup 5.4.2 variant
- Fixed output directory being created for unsupported installers
- Fixed some safe non-ASCII characters being stripped from filenames
- Fixed handling of path separators in Japanese and Korean installers
- Fixed build with newer Boost versions
- Windows: Fixed heap corruption
- Windows: Fixed garbled output
Changes:
- Added support for Inno Setup 6.0.0 installers
- Added support for pre-release Inno Setup 5.6.2 installers used by GOG
- Added support for two modified Inno Setup 5.5.7 variants
- Added support for Inno Setup 1.3.0 to 1.3.23
- Added support for My Inno Setup Extensions installers older than
3.0.6.1
- Added support for modified Inno Setup variants using an alternative
setup loader magic
- Added support for using boost_{zlib,bzip2} when statically linking
Boost
- Added support for automatically reading external setup.0 files
- Encoding for non-Unicode installers is now determined from the
languages supported by the installer, overridable using the
--codepage option
- Implemented parsing of GOG Galaxy architecture constraints
- The architecture-specific suffixes @32bit and @64bit are now used to
disambiguate colliding files
- Fixed extracting files from slices larger than 2 GiB with 32-bit
builds
- Fixed output path for files with absolute paths (canonicalization now
strips all unsafe characters)
- Fixed output directory being created even when not extracting files
- Fixed a hang when using the --language option
- Improved checksum verification for files reconstructed from GOG
Galaxy file parts
- Changed header parsing to select the first version without warnings
and failing that the first without errors
- Changed filesystem and output encoding to WTF-8 (extended UTF-8) to
represent broken UTF-16 data
Changes:
- Added support for Inno Setup 5.6.0 installers
- Added support for new GOG installers with GOG Galaxy file parts
- Added support for encrypted installers with the --password (-P) and
--password-file options
- Added a --show-password option to print password check information
- Added a --check-password option to abort if the provided password
does not match the stored checksum
- Added a --info (-i) convenience option to print information about
the installer
- Added a --list-sizes option to print file sizes even with --quiet
or --silent
- Added a --list-checksums option to print file checksums
- Added a --data-version (-V) option to print the data version and exit
- Added a --no-extract-unknown (-n) option to abort on unknown
Inno Setup data versions
- Fixed building in paths that contain regex expressions
- Fixed case-sensitivity in parent directory when creating
subdirectories
- Fixed .bin slice file names used with Inno Setup versions older
than 4.1.7
- Fixed build with newer libc++ versions
- Made loading of .bin slice files case-insensitive
- The --test option can now be combined with --extract to abort on
file checksum errors
- Now compiles in C++17 mode if supported
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