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
- Remove configure-time endianness check
(replaced by run-time check to be optimized out by the compiler)
- Move loading functions into the util namespace
- Only keep the setup header entries we actually need
This is useful for wrapper scripts that want to hide the full path
to the program while only relying on POSIX scripting functionality.
(`exec -a` is a bashism)
- Change conversion errors to warnings
- Only print one warning if iconv_open() fails
- Add a fall-back converter
- Replace bad code sequences and try to resume on the next byte