• The script compiler, makensis, builds and works on big-endian platforms. This change enlarges the portability range of NSIS to theoretically every POSIX platform. Please any incompatibility with specific platforms or build-tools.
    • The internal changes made to support big-endian platforms also pave the road to x64 installers. There is now a central function which writes data to disk. This function currently only converts the endianity of integers, but it can be changed to selectively write 64-bit integers. Hopefully, there'll soon be a simple method of compiling a script to both x86 and x64 installers.
    • Changing Source/exehead/fileform.h to alter the internal structure of installers is no longer enough. The compiler has its own definitions of the structures which must also be changed in Source/fileform.cpp. In the future, fileform.cpp should be automatically generated from fileform.h, but for now, the synchronization must be done manually.

    F.52.2 Changelog

    F.52.2.1 Major Changes

    • Big-endian platforms are now fully supported by makensis
    • Library now available on non-Windows platforms as well, although it requires the installed DLL to have version information

    F.52.2.2 New/Changed Commands

    • Added /utcdate switch to !define for UTC dates ()

    F.52.2.3 Minor Changes

    • Added an optional timestamp in the log - NSIS_CONFIG_LOG_TIMESTAMP build setting (RFE #1460586)
    • Added NSIS_WIN32_MAKENSIS define, defined only when compiling on Windows
    • Exported validate_filename to plug-ins
    • Fixed a crash in CResourceEditor when adding resources to a PE that already contains named resources
    • Fixed a small resource leak in the TypeLib::GetLibVersion plug-in function
    • Fixed CResourceEditor input sanity checks
    • Fixed incorrect input validation (bug #1459789)
    • Fixed failure with DLLs marked as read-only
    • Fixed lzma's POSIX implemention thread synchronization issues and resource leaks
    • Fixed makensis self-path detection on non-Windows platforms (NSIS_CONFIG_CONST_DATA_PATH=no)
    • Fixed replace_icon and generate_uninstall_icon_data icon validation
    • Minor documentation improvements and fixes (including bug #1077439, , RFE #1464446)
    • : added show function for the start menu page (RFE #1448176), added MUI_HEADER_TRANSPARENT_TEXT for transparent header texts ()
    • NSISdl: better header detection for better compatibility with proxies like WinProxy (), fail if no headers are sent, faster downloads (patch #1465378)
    • : validate user input (bug #1440636)

    F.52.2.4 Translations

    • Added Basque translation
    • Minor Slovenian fixes

    F.52.2.5 Build System

    • Added code tests for CResourceEditor and CDialogTemplate
    • Automatically pass build settings to script, eliminating the need to edit build.cpp for new settings
    • Fixed $PREFIX expansion during installation on POSIX platforms ()
    • Fixed CHM dependencies
    • Fixed compatibility issue with EclipseNSIS (version wasn't prefixed with 'v')
    • Fixed GCC 4.1 compatibility (patch #1456861)