
innoextract 1.8 (2019-09-15)
 - 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

innoextract 1.7 (2018-06-12)
 - 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

innoextract 1.6 (2016-03-24)
 - 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

innoextract 1.5 (2015-09-24)
 - 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

innoextract 1.4-windows-r2 (2014-04-17)
 - This is a Windows-specific hotfix release, no other platforms are affected
 - Fixed running innoextract under Windows XP

innoextract 1.4-windows-r1 (2013-05-14)
 - This is a Windows-specific hotfix release, no other platforms are affected
 - Fixed a crash on startup under Windows
 - Reduced progress bar flickering under Windows
 - Fixed original console text color not being restored under Windows

innoextract 1.4 (2013-03-11)
 - Fixed build on non-Linux platforms with a separate libiconv (Windows™, macOS)
 - 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

innoextract 1.3 (2012-07-03)
 - Fixed --quiet and --silent flags being ignored for some multi-file installers output
 - Now compiles in C++11 mode if supported
 - Added a warning when extracting unsupported setup data versions
 - Added support for Inno Setup 5.5.0 installers

innoextract 1.2 (2012-04-01)
 - Fixed compile errors with older versions of Boost or GCC.
 - Prevented linking against libraries that aren't actually needed.

innoextract 1.1 (2012-03-19)
 - Added support to extract files for a specific language.
 - Fixed a bug in the setup header parsing code.

innoextract 1.0 (2012-03-01)
 - Initial release.
 - Can list and extract files but not much more.
