Previous | Contents | Next

## F.16 2.16

Released on April 7th, 2006

### F.16.1 Release Notes

- 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 report 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.16.2 Changelog

#### F.16.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
- MakeNSISW 2.1: added "Cancel compilation" menu item

#### F.16.2.2 New/Changed Commands

- Added /utcdate switch to !define for UTC dates (RFE #1459210)

#### F.16.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 FileOpen input validation (bug #1459789)
- Fixed Library 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 and generate_uninstall_icon_data icon validation
- Made external CHM links safer to script exceptions (bug #1449879)
- Minor documentation improvements and fixes (including bug #1077439, bug #1448374, RFE #1464446)
- Modern UI 1.75: added show function for the start menu page (RFE #1448176), added MUI_HEADER_TRANSPARENT_TEXT for transparent header texts (RFE #1447766)
- NSISdl: better header detection for better compatibility with proxies like WinProxy (bug #1445735), fail if no headers are sent, faster downloads (patch #1465378)
- StartMenu: validate user input (bug #1440636)

#### F.16.2.4 Translations

- Added Basque translation
- Minor Slovenian fixes

#### F.16.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 (bug #1456943)
- Fixed CHM dependencies
- Fixed compatibility issue with EclipseNSIS (version wasn't prefixed with 'v')
- Fixed GCC 4.1 compatibility (patch #1456861)
- Test for -Wl,-Map availability

Previous | Contents | Next