What's new in Portable Nullsoft Scriptable Install System 3.09

Jul 2, 2023
  • Major Changes:
  • Use isolated uninstaller directory for every instance (bug #1296)
  • Minor Changes:
  • Added !assert
  • Fixed !uninstfinalize bug on large uninstallers (bug #1279)
  • Fixed creation of missing special folders on old Windows versions where SHGetFolderPath is not available.
  • Fixed plug-in call overwriting SetDetailsPrint lastused (bug #1271)
  • Fixed !appendfile not writing to non-empty files with a BOM
  • Fixed LogicLib ${Switch} Unicode bug
  • Fixed MakeNSISW editor zoom level bug (bug #1282)
  • Translations:
  • Updated Brazilian Portuguese (bug #1269)
  • Updated Ukrainian (patch #308)
  • Build System:
  • Fixed halibut compiler warnings (patch #304)
  • Fixed various issues with very old and new GCC versions (bug #1275, patch #307, patch #310)
  • Disable stub relocations in newer GCC (bug #1283)

New in Portable Nullsoft Scriptable Install System 3.08 (Sep 27, 2021)

  • Major Changes:
  • Added !uninstfinalize (patch #280, bug #1241)
  • Minor Changes:
  • Added $USER.. and $COMMON.. alias constants
  • Added GetDLLVersion /ProductVersion switch
  • Added GetWinVer instruction
  • Disallow start maximized mode
  • Added /LAUNCH compiler switch
  • PEAddResource now supports the res:// protocol
  • System::Store can push/pop the flags state

New in Portable Nullsoft Scriptable Install System 3.07 (Aug 23, 2021)

  • Major Changes:
  • Unicode now defaults to true
  • Minor Changes:
  • Added nsExec /MBCS switch
  • Memento now supports overridable storage macros
  • Fixed Unicode compiler crash (bug #1254, patch #300)
  • Fixed !addplugindir relative path bug (bug #1264)
  • Fixed StrClb Unicode bug (patch #302)
  • Fixed ${GetTime} hour padding (bug #980)

New in Portable Nullsoft Scriptable Install System 3.06.1 (Aug 1, 2020)

  • Major Changes:
  • Fixed SetBrandingImage crash

New in Portable Nullsoft Scriptable Install System 3.06 (Aug 1, 2020)

  • Major Changes:
  • DeleteRegKey /ifempty now also checks for values, not just subkeys. Use /ifnosubkeys for the old behavior.
  • Added GetKnownFolderPath
  • Added UnpinShortcut macro (Integration.nsh)
  • Minor Changes:
  • Added IfShellVarContextAll and IfRtlLanguage
  • Added !define /intfmt
  • Added Date/Time nsDialogs controls and macros
  • MultiUser: Fixed INSTALLMODE_FUNCTION and added INSTALLMODEPAGE_SHOWUSERNAME
  • Translations:
  • Updated German (SebStange PR) and Simplified Chinese (patch #297)
  • Build System:
  • Primitive SOURCE_DATE_EPOCH support (patch #294)
  • Python 3 fixes (patch #296)
  • GCC 10 memmove workaround (bug #1248)

New in Portable Nullsoft Scriptable Install System 3.05 (Dec 16, 2019)

  • ANSI targets are deprecated, consider moving to Unicode.

New in Portable Nullsoft Scriptable Install System 3.04 (Dec 17, 2018)

  • Major Changes:
  • Added IsNativeMachineArchitecture helper macros to x64.nsh
  • Added experimental WinVer "Windows as a Service" detection macros
  • Added MakeNSISW window info "spy" tool
  • Minor Changes:
  • Added MUI_TEXTCOLOR setting
  • nsDialogs::OnNotify can now return values back to Windows
  • Added LIBRARY_INSTALL_EQUAL_VERSION InstallLib option
  • Added NTMARTA to preload list to fix rare Windows 7 security issue (bug #1204)
  • AddBrandingImage now supports dialog units
  • Fixed !macroundef of last defined macro bug
  • Fixed MultiUser caption string bug (bug #1012)
  • !undef issues warnings instead of errors
  • MakeNSIS prints -CMDHELP to stdout (bug #1203)
  • Removed LibraryLocal utility
  • Translations:
  • Added HindÄ« (patch #289)
  • Updated Belarusian, German (bug #1023), Mongolian and Spanish (bug #1205)

New in Portable Nullsoft Scriptable Install System 3.03 (Jan 30, 2018)

  • Major Changes:
  • Added more NSD controls and macros (RFE #543)
  • Added !gettlbversion
  • Library TLB and VxD version support on POSIX (patch #284)
  • Minor Changes:
  • Added System plug-in v2 syntax option
  • Added System plug-in B and H types
  • Added IntPtrCmp, IntPtrCmpU, and IntPtrOp
  • Added Int64Cmp, Int64CmpU and Int64Fmt (64-bit only)
  • Added IntOp and System::Int64Op >>> operator
  • Added more !define /math operators
  • Added WinVer.nsh IsDomainController (patch #286)
  • Plug-ins now set the ASLR, DEP, LAA, NOSEH and TS PE flags (bug #1188)
  • MakeNSIS exits with code 0 for various information commands (bug #1193)
  • Removed unused NSD_LB_Clear macro parameter

New in Portable Nullsoft Scriptable Install System 3.02.1 (Aug 1, 2017)

  • Translations:
  • Fixed Chinese (Traditional) and Romanian translation bugs (bug #1189 and bug #1191)
  • Fixed Scots Gaelic MUI finish page translation

New in Portable Nullsoft Scriptable Install System 3.02 (Jul 26, 2017)

  • Major Changes:
  • Fixed NSIS3 RegTool Win9x bug
  • Added the HKCR32, HKCR64, HKCU32, HKCU64, HKLM32 and HKLM64 root keys
  • Unsupported SetRegView mode now fails all registry operations
  • Added ExecShellWait
  • Added WriteRegMultiStr (RFE #382, patch #219) and WriteRegNone
  • Added !pragma warning (patch #267)
  • $LocalAppData now resolves to the ProgramData folder in the SetShellVarContext all context
  • Minor Changes:
  • Variables used in Caption can now be set in .onGUIInit (RFE #539)
  • MultiUser now supports $ProgramFiles64 (bug #843)
  • Added support for MUI_UNCONFIRMPAGE_VARIABLE (RFE #511) and MUI_PAGE_CUSTOMFUNCTION_DESTROYED
  • Unicode nsExec now supports the /OEM switch (bug #1171)
  • Translations:
  • Chinese (Traditional) updates by Walter Cheuk
  • Minor French improvements (patch #221)

New in Portable Nullsoft Scriptable Install System 3.01 (Dec 12, 2016)

  • Major Changes:
  • Error messages are now written to stderr by default
  • New icons by Jan T. Sott
  • Minor Changes:
  • SetCtlColors now supports Windows color constant values
  • StrCpy "" maxlen handling (bug #1122)
  • Fixed buffer size bug in winchar.cpp (patch #271)
  • Translations:
  • Added Corsican (patch #268)
  • PortugueseBR fixes (patch #276)
  • Updated Danish translation (bug #1164)
  • Arabic, Norwegian, Portuguese, Ukrainian and Swedish MultiUser fixes (patch #278, patch #279, patch #274, patch #275 & patch #277)

New in Portable Nullsoft Scriptable Install System 3.0 (Jul 28, 2016)

  • Long-awaited version 3 of NSIS is finally ready. It comes with optional Unicode support, still works on all the same versions of Windows, supports Windows 10, and adds a lot of other small features and fixes.
  • Minor Changes: finalize command now supports the same compare operators as !system (bug #1148)
  • Translations: PortugueseBR fixes (bug #1149)

New in Portable Nullsoft Scriptable Install System 3.0 RC 2 (Jul 11, 2016)

  • Major Changes:
  • Fixed LogicLib nested ${Select} bug
  • makensis command must force Unicode output to be UTF-8 (bug #1147)
  • Minor Changes:
  • Zip2Exe aborts if the zip file is encrypted (bug #1141)
  • Added LogicLib & operator
  • NSIS Menu POSIX fixes (bug #1144)
  • Translations:
  • PortugueseBR fixes (deguix)
  • Minor tweaks to Danish.nlf (scootergrisen) (bug #1140)

New in Portable Nullsoft Scriptable Install System 3.0 RC 1 (Apr 4, 2016)

  • Major Changes:
  • Fixed !appendfile on POSIX and LogicLib ${Switch}
  • More security hardening to prevent dll hijacking
  • Minor Changes:
  • Documentation improvements
  • The name of the uninstaller created in %TEMP%\~nsu.tmp has changed from %UNIQUE%u_.exe to Un_%UNIQUE%.exe
  • Various warning and error improvments
  • Translations:
  • Added missing MULTIUSER_* entries to Japanese.nsh (patch #266)

New in Portable Nullsoft Scriptable Install System 2.51 (Apr 3, 2016)

  • Minor Changes:
  • More security hardening to prevent dll hijacking
  • Backported support for system 'p' type and logiclib P and Z tests
  • Translations:
  • Added missing MULTIUSER_* entries to Japanese.nsh (patch #266)

New in Portable Nullsoft Scriptable Install System 3.0 Beta 3 (Jan 12, 2016)

  • Major Changes:
  • RequestExecutionLevel now defaults to admin
  • LoadLibrary security hardening to prevent dll hijacking (bug #1125)
  • FileReadUTF16LE now skips the optional BOM at the start of a file
  • Minor Changes:
  • Fixed System plugin GUID type output bug on Win98
  • FileWriteUTF16LE can add a BOM with the /BOM switch
  • CreateShortcut icon index can now be larger than 255 (bug #1123)
  • system and !execute now provide an empty StdIn pipe to work around bugs in some Windows utilities
  • Added support for 0o octal radix prefix on number literals in the preprocessor
  • The single parameter version of !if now also supports floats
  • Preprocessor now warns when invalid floating point numbers are used in math operations
  • MakeNSISW now uses WinInet when checking for updates
  • Translations:
  • Brazilian Portuguese updated (patch #263)
  • Polish updated

New in Portable Nullsoft Scriptable Install System 3.0 Beta 2 (Jan 12, 2016)

  • Major Changes:
  • Preliminary Windows 10 support
  • Minor Changes:
  • Added !appendfile /RawNL switch
  • Added PESubsysVer attribute
  • Exec[Wait] sets the CREATE_DEFAULT_ERROR_MODE flag when creating a process
  • Fixed 4+ TiB freespace calculation bug (bug #1115)
  • Fixed CreateShortcut /NoWorkingDir parsing bug (bug #1110)
  • Fixed minor issues in the Pascal NSIS plug-in SDK and removed the extrap global variable
  • nsDialogs and InstallOptions now use the system link color
  • Build System:
  • Win64 fixes (including patch #258, bug #1105)
  • Visual C 2012 fixes

New in Portable Nullsoft Scriptable Install System 3.0 Beta 1 (Jan 12, 2016)

  • Major Changes:
  • insertmacro allows macro recursion (RFE #497)
  • Added !makensis command
  • Added new MUI2 bitmap stretch modes, *_NOSTRETCH is now deprecated (RFE #521)
  • InitiateShutdown is used to reboot the machine if available (patch #247)
  • Added PPO and SafePPO preprocess-only compiler switches
  • MakeNSIS WM_COPYDATA messages now use the QH_OUTPUTCHARSET encoding with CP_ACP as the default for compatibility with old IDEs.
  • Minor Changes:
  • Added IsWow64 to x64.nsh
  • Added PEDllCharacteristics attribute
  • Added System::Call direct register memory access type. (patch #249)
  • Added WX compiler switch
  • Allow skipping ExDLL build with SKIPPLUGINS ((patch #254))
  • Changed default DllCharacteristics to TS_AWARE+NO_SEH+NX_COMPAT+DYNAMIC_BASE
  • Fixed Mac OS X builds (patch #253 and bug #1085)
  • Fixed POSIX !searchparse bug (patch #251)
  • Fixed !macroundef
  • Fixed test-code build target on POSIX and enabled it in nightly builds (bug #1098)
  • Fixed Visual Studio 2012 builds
  • Translations:
  • Added Armenian

New in Portable Nullsoft Scriptable Install System 2.50 (Jan 12, 2016)

  • Major Changes:
  • RequestExecutionLevel now defaults to admin
  • Minor Changes:
  • Preload certain system libraries to prevent dll hijacking (bug #1125)

New in Portable Nullsoft Scriptable Install System 2.48 (Jan 12, 2016)

  • Fixed CHM (bug #1129)

New in Portable Nullsoft Scriptable Install System 2.47 (Jan 12, 2016)

  • Major Changes:
  • LoadLibrary security hardening to prevent dll hijacking (patch #1125
  • InitiateShutdown() is used to reboot the machine if available (patch #247)
  • Minor Changes:
  • Fixed 4+ TiB freespace calculation bug (bug #1115)
  • Windows 8 & 2012 support in WinVer.nsh

New in Portable Nullsoft Scriptable Install System 2.46 (Jan 12, 2016)

  • Minor Changes:
  • Fixed !searchparse (bug #2803622)
  • Fixed Vista error message when canceling uninstaller (bug #2803097)
  • Resolve warning for LogicLib's endless Do..Loop (bug #2849872)
  • StartMenu: fixed random number prefixes when clicking on an empty spot (bug #2810188)
  • Updates to NSIS.pas for plug-in development (patch #2802794)
  • Translations:
  • PortugueseBR typo (patch #2826598)
  • Removed double spaces in Italian (bug #2873598)
  • Build System:
  • Fixed mingw builds of Math plug-in (patch #2835731)