\A{history} Changelog and Release Notes

\H{v3.10} 3.10

Released on March 30th, 2024

\S1{v3.10-cl} Changelog

\S2{} Minor Changes

\b Fixed LogicLib SafePPO bug (\W{http://sf.net/p/nsis/bugs/1291}{bug #1291})

\b NSISdl now supports relative URLs in location redirects (\W{https://github.com/kichik/nsis/pull/24}{PR #24})

\b Added \R{ainsttype}{InstType} /UNINSTNOCUSTOM and /UNINSTCOMPONENTSONLYONCUSTOM

\b Fixed bug with \cw{SetDetailsPrint lastused} and plugins introduced in 3.09 (\W{http://sf.net/p/nsis/bugs/1300}{bug #1300})

\b Added \cw{NSD_CB_Find} \cw{SelectStringExact} support for nsDialogs

\b Fix RTL text in section selection page

\H{v3.09} 3.09

Released on July 1st, 2023

\S1{v3.09-cl} Changelog

\S2{} Major Changes

\b Use isolated uninstaller directory for every instance (\W{http://sf.net/p/nsis/bugs/1296}{bug #1296}, thanks Richard Warren)

\S2{} Minor Changes

\b Added \R{assert}{!assert}

\b Fixed \cw{!uninstfinalize} bug on large uninstallers (\W{http://sf.net/p/nsis/bugs/1279}{bug #1279})

\b Fixed creation of missing special folders on old Windows versions where SHGetFolderPath is not available

\b Fixed plug-in call overwriting \cw{SetDetailsPrint lastused} (\W{http://sf.net/p/nsis/bugs/1271}{bug #1271})

\b Fixed \cw{!appendfile} not writing to non-empty files with a BOM

\b Fixed LogicLib \cw{$\{Switch\}} Unicode bug\#{ stackoverflow.com/q/73530905/ }

\b Fixed \L{../Docs/makensisw/Readme.txt}{MakeNSISW} editor zoom level bug (\W{http://sf.net/p/nsis/bugs/1282}{bug #1282})

\S2{} Translations

\b Updated Brazilian Portuguese (\W{http://sf.net/p/nsis/bugs/1269}{bug #1269})

\b Updated Ukrainian (\W{http://sf.net/p/nsis/patches/308}{patch #308})

\S2{} Build System

\b Fixed halibut \#{fprintf format security}compiler warnings (\W{http://sf.net/p/nsis/patches/304}{patch #304})

\b Fixed various issues with very old and new GCC versions (\W{http://sf.net/p/nsis/bugs/1275}{bug #1275}, \W{http://sf.net/p/nsis/patches/307}{patch #307}, \W{http://sf.net/p/nsis/patches/310}{patch #310})

\b Disable stub relocations in newer GCC (\W{http://sf.net/p/nsis/bugs/1283}{bug #1283})

\H{v3.08} 3.08

Released on September 25th, 2021

\S1{v3.08-rl} Release Notes

This release is filled with features that a lot of people have been requesting for a while. Enjoy!

\S1{v3.08-cl} Changelog

\S2{} Major Changes

\b Added \R{uninstfinalize}{!uninstfinalize} (\W{http://sf.net/p/nsis/patches/280}{patch #280}, \W{http://sf.net/p/nsis/bugs/1241}{bug #1241})

\S2{} Minor Changes

\b Added \cw{$USER..} and \cw{$COMMON..} alias constants

\b Added \R{getdllversion}{GetDLLVersion} /ProductVersion switch

\b Added \R{getwinver}{GetWinVer} instruction

\b Disallow start maximized mode

\b Added /LAUNCH compiler switch

\b PEAddResource now supports the res:// protocol

\b System::Store can push/pop the flags state

\H{v3.07} 3.07

Released on July 24th, 2021

\S1{v3.07-rl} Release Notes

Unicode is now the default.

\S1{v3.07-cl} Changelog

\S2{} Major Changes

\b \R{aunicodetarget}{Unicode} now defaults to \cw{true}

\S2{} Minor Changes

\b Added nsExec /MBCS switch

\b Memento now supports overridable storage macros

\b Fixed Unicode compiler crash (\W{http://sf.net/p/nsis/bugs/1254}{bug #1254}, \W{http://sf.net/p/nsis/patches/300}{patch #300})

\b Fixed !addplugindir relative path bug (\W{http://sf.net/p/nsis/bugs/1264}{bug #1264})

\b Fixed StrClb Unicode bug (\W{http://sf.net/p/nsis/patches/302}{patch #302})

\b Fixed $\{GetTime\} hour padding (\W{http://sf.net/p/nsis/bugs/980}{bug #980})

\S2{} Translations

\b Updated Albanian (\W{http://sf.net/p/nsis/patches/303}{patch #303}), Corsican\#{(forum)} and Japanese (maboroshin PR\#{github.com/maboroshin})

\b Fixed clipped Chinese text (\W{http://sf.net/p/nsis/bugs/1261}{bug #1261})

\H{v3.06.1} 3.06.1

Released on July 31st, 2020

\S1{v3.06.1-rl} Release Notes

20th anniversary! The first public release of NSIS was v1.0f on July 31st, 2000.

\S1{v3.06.1-cl} Changelog

\S2{} Major Changes

\b Fixed \R{setbrandingimage}{SetBrandingImage} crash

\H{v3.06} 3.06

Released on July 31st, 2020

\S1{v3.06-cl} Changelog

\S2{} Major Changes

\b \cw{DeleteRegKey /ifempty} now also checks for values, not just subkeys. Use \cw{/ifnosubkeys} for the old behavior.

\b Added \R{getknownfolderpath}{GetKnownFolderPath}

\b Added UnpinShortcut macro (Integration.nsh)

\S2{} Minor Changes

\b Added \R{ifshellvarcontextall}{IfShellVarContextAll} and \R{ifrtllanguage}{IfRtlLanguage}

\# Undocumented: \b Added GetShellVarContext, IfAltRegView and GetRegView | Documenting these would require documenting the parameter name to number mapping

\# Undocumented: \b Added ManifestAppendCustomString

\b Added \cw{!define /intfmt}

\b Added Date/Time \L{../Docs/nsDialogs/Readme.html}{nsDialogs} controls and macros

\b \L{../Docs/MultiUser/Readme.html}{MultiUser}: Fixed INSTALLMODE_FUNCTION and added INSTALLMODEPAGE_SHOWUSERNAME

\S2{} Translations

\b Updated German (SebStange PR\#{github.com/SebStange}) and Simplified Chinese (\W{http://sf.net/p/nsis/patches/297}{patch #297})

\S2{} Build System

\b Primitive SOURCE_DATE_EPOCH support (\W{http://sf.net/p/nsis/patches/294}{patch #294})

\b Python 3 fixes (\W{http://sf.net/p/nsis/patches/296}{patch #296})

\b GCC 10 memmove workaround (\W{http://sf.net/p/nsis/bugs/1248}{bug #1248})

\H{v3.05} 3.05

Released on December 15th, 2019

\S1{v3.05-rl} Release Notes

ANSI targets are deprecated, consider moving to Unicode.

\S1{v3.05-cl} Changelog

\S2{} Major Changes

\b Added \R{apeaddresource}{PEAddResource} and \R{aperemoveresource}{PERemoveResource}

\b Added \R{loadandsetimage}{LoadAndSetImage}

\b Allow quoted library path in System::Call (\W{http://sf.net/p/nsis/bugs/546}{bug #546} and \W{http://sf.net/p/nsis/bugs/1225}{bug #1225})

\b Improved \L{../Docs/nsExec/nsExec.txt}{nsExec} Unicode and tab output parsing (\W{http://sf.net/p/nsis/bugs/1232}{bug #1232})

\S2{} Minor Changes

\b Added experimental \R{amanifestlongpathaware}{ManifestLongPathAware} attribute

\# Undocumented: \b Added ManifestMaxVersionTested

\b %1 in \R{finalize}{!finalize} command can be specified multiple times

\b Fixed -O stderr stream issue (\W{http://sf.net/p/nsis/bugs/1221}{bug #1221})

\b Fixed \R{library_install}{InstallLib} .NSI space-in-path bug (\W{http://sf.net/p/nsis/bugs/1222}{bug #1222})

\b \L{../Docs/StrFunc/StrFunc.txt}{StrFunc} now supports a "using" idiom to help with forward-declaration of functions (\W{http://sf.net/p/nsis/bugs/1229}{bug #1229})

\b Added \R{ssectioninsttype}{SectionInstType}

\b Zero uninitialized data in icon group (\W{http://sf.net/p/nsis/bugs/1230}{bug #1230})

\b Automatically doubles ampersands in the \R{aname}{Name} attribute

\b Fixed \L{../Docs/nsDialogs/Readme.html}{nsDialogs} CB/LB_Get/SetItemData macros (\W{http://sf.net/p/nsis/bugs/1238}{bug #1238})

\S2{} Translations

\b Updated Hindi (\W{http://sf.net/p/nsis/patches/291}{patch #291}) and Portuguese (\W{http://sf.net/p/nsis/bugs/1219}{bug #1219})

\H{v3.04} 3.04

Released on December 15th, 2018

\S1{v3.04-cl} Changelog

\S2{} Major Changes

\b Added IsNativeMachineArchitecture helper macros to x64.nsh

\b Added experimental WinVer "Windows as a Service" detection macros

\b Added \L{../Docs/makensisw/Readme.txt}{MakeNSISW} window info "spy" tool

\S2{} Minor Changes

\b Added MUI_TEXTCOLOR setting

\b nsDialogs::OnNotify can now return values back to Windows

\b Added LIBRARY_INSTALL_EQUAL_VERSION \R{library_install}{InstallLib} option

\b Added NTMARTA to preload list to fix rare Windows 7 security issue (\W{http://sf.net/p/nsis/bugs/1204}{bug #1204})

\b AddBrandingImage now supports dialog units

\# Undocumented: \b Added ManifestDisableWindowFiltering and ManifestGdiScaling

\b Fixed !macroundef of last defined macro bug

\b Fixed \L{../Docs/MultiUser/Readme.html}{MultiUser} caption string bug (\W{http://sf.net/p/nsis/bugs/1012}{bug #1012})

\b !undef issues warnings instead of errors

\b MakeNSIS prints -CMDHELP to stdout (\W{http://sf.net/p/nsis/bugs/1203}{bug #1203})

\b Removed LibraryLocal utility

\S2{} Translations

\b Added Hind\u012b{i} (\W{http://sf.net/p/nsis/patches/289}{patch #289})

\b Updated Belarusian, German (\W{http://sf.net/p/nsis/bugs/1023}{bug #1023}), Mongolian and Spanish (\W{http://sf.net/p/nsis/bugs/1205}{bug #1205})

\H{v3.03} 3.03

Released on January 29th, 2018

\S1{v3.03-rn} Release Notes

\b Building NSIS with Python 2.6 or older is no longer supported

\S1{v3.03-cl} Changelog

\S2{} Major Changes

\b Added more NSD controls and macros (\W{http://sf.net/p/nsis/feature-requests/543}{RFE #543})

\b Added \R{ppgettlbversion}{!gettlbversion}

\b \R{library}{Library} TLB and VxD version support on POSIX (\W{http://sf.net/p/nsis/patches/284}{patch #284})

\S2{} Minor Changes

\b Added System plug-in v2 syntax option

\b Added System plug-in B and H types

\b Added \R{intptrcmp}{IntPtrCmp}, IntPtrCmpU, and \R{intptrop}{IntPtrOp}

\b Added Int64Cmp, Int64CmpU and Int64Fmt (64-bit only)

\b Added IntOp and System::Int64Op >>> operator

\b Added more !define /math operators

\# Undocumented: \b Added ManifestDPIAwareness

\b Added WinVer.nsh IsDomainController (\W{http://sf.net/p/nsis/patches/286}{patch #286})

\b Plug-ins now set the ASLR, DEP, LAA, NOSEH and TS PE flags (\W{http://sf.net/p/nsis/bugs/1188}{bug #1188})

\b MakeNSIS exits with code 0 for various information commands (\W{http://sf.net/p/nsis/bugs/1193}{bug #1193})

\b Added error and warning states to !pragma warning

\b Removed unused NSD_LB_Clear macro parameter

\S2{} Translations

\b Added Tatar (\W{http://sf.net/p/nsis/patches/281}{patch #281})

\b Fixed and updated Scottish Gaelic (\W{http://sf.net/p/nsis/patches/285}{patch #285}, \W{http://sf.net/p/nsis/bugs/1197}{bug #1197})

\b Updated Italian (\W{http://sf.net/p/nsis/bugs/1194}{bug #1194})

\S2{} Build System

\b Added support for Python 3

\b Dropped support for Python 2.6 and older

\H{v3.02.1} 3.02.1

Released on July 31st, 2017

\S1{v3.02.1-cl} Changelog

\S2{} Translations

\b Fixed Chinese (Traditional) and Romanian translation bugs (\W{http://sf.net/p/nsis/bugs/1189}{bug #1189} and \W{http://sf.net/p/nsis/bugs/1191}{bug #1191})

\b Fixed Scots Gaelic MUI finish page translation

\H{v3.02} 3.02

Released on July 23rd, 2017

\S1{v3.02-cl} Changelog

\S2{} Major Changes

\b Fixed NSIS3 RegTool Win9x bug

\b Added the HKCR32, HKCR64, HKCU32, HKCU64, HKLM32 and HKLM64 root keys

\b Unsupported \R{setregview}{SetRegView} mode now fails all registry operations

\b Added \R{execshellwait}{ExecShellWait}

\b Added \R{writeregmultistr}{WriteRegMultiStr} (\W{http://sf.net/p/nsis/feature-requests/382}{RFE #382}, \W{http://sf.net/p/nsis/patches/219}{patch #219}) and WriteRegNone

\b Added \R{pragma}{!pragma warning} (\W{http://sf.net/p/nsis/patches/267}{patch #267})

\b \R{varconstant}{$LocalAppData} now resolves to the ProgramData folder in the \R{setshellvarcontext}{SetShellVarContext all} context

\S2{} Minor Changes

\b Variables used in \R{acaption}{Caption} can now be set in \R{onguiinit}{.onGUIInit} (\W{http://sf.net/p/nsis/feature-requests/539}{RFE #539})

\b \L{../Docs/MultiUser/Readme.html}{MultiUser} now supports \R{varconstant}{$ProgramFiles64} (\W{http://sf.net/p/nsis/bugs/843}{bug #843})

\b Added support for MUI_UNCONFIRMPAGE_VARIABLE (\W{http://sf.net/p/nsis/feature-requests/511}{RFE #511}) and MUI_PAGE_CUSTOMFUNCTION_DESTROYED

\b Unicode \L{../Docs/nsExec/nsExec.txt}{nsExec} now supports the /OEM switch (\W{http://sf.net/p/nsis/bugs/1171}{bug #1171})

\S2{} Translations

\b Chinese (Traditional) updates by Walter Cheuk

\b Minor French improvements (\W{http://sf.net/p/nsis/patches/221}{patch #221})

\H{v3.01} 3.01

Released on December 11th, 2016

\S1{v3.01-cl} Changelog

\S2{} Major Changes

\b Error messages are now written to stderr by default

\b New icons by Jan T. Sott

\S2{} Minor Changes

\b \R{setctlcolors}{SetCtlColors} now supports Windows color constant values

\b StrCpy "" maxlen handling (\W{http://sf.net/p/nsis/bugs/1122}{bug #1122})

\b Fixed buffer size bug in winchar.cpp (\W{http://sf.net/p/nsis/patches/271}{patch #271})

\S2{} Translations

\b Added Corsican (\W{http://sf.net/p/nsis/patches/268}{patch #268})

\b PortugueseBR fixes (\W{http://sf.net/p/nsis/patches/276}{patch #276})

\b Updated Danish translation (\W{http://sf.net/p/nsis/bugs/1164}{bug #1164})

\b Arabic, Norwegian, Portuguese, Ukrainian and Swedish \L{../Docs/MultiUser/Readme.html}{MultiUser} fixes (\W{http://sf.net/p/nsis/patches/278}{patch #278}, \W{http://sf.net/p/nsis/patches/279}{patch #279}, \W{http://sf.net/p/nsis/patches/274}{patch #274}, \W{http://sf.net/p/nsis/patches/275}{patch #275} & \W{http://sf.net/p/nsis/patches/277}{patch #277})

\H{v3.0} 3.0

Released on July 24th, 2016

\S1{v3.0-rl} Release Notes

Long-awaited version 3 of NSIS is finally ready. It comes with optional \R{aunicodetarget}{Unicode} support, still works on all the same versions of Windows, supports Windows 10, and adds a lot of other small features and fixes. Huge thanks goes out to Anders and Wizou for making this happen and Jim Park for the original patch.

\S1{v3.0-cl} Changelog

\S2{} Minor Changes

\b \R{finalize}{!finalize} command now supports the same compare operators as !system (\W{http://sf.net/p/nsis/bugs/1148}{bug #1148})

\S2{} Translations

\b PortugueseBR fixes (\W{http://sf.net/p/nsis/bugs/1149}{bug #1149})

\H{v3.0rc2} 3.0 Release Candidate 2

Released on July 8th, 2016

\S1{v3.0rc2-cl} Changelog

\S2{} Major Changes

\b Fixed LogicLib nested $\{Select\} bug

\b \R{makensis}{!makensis} command must force Unicode output to be UTF-8 (\W{http://sf.net/p/nsis/bugs/1147}{bug #1147})

\S2{} Minor Changes

\b Zip2Exe aborts if the zip file is encrypted (\W{http://sf.net/p/nsis/bugs/1141}{bug #1141})

\b Added LogicLib & operator

\b NSIS Menu POSIX fixes (\W{http://sf.net/p/nsis/bugs/1144}{bug #1144})

\S2{} Translations

\b PortugueseBR fixes (deguix)

\b Minor tweaks to Danish.nlf (scootergrisen) (\W{http://sf.net/p/nsis/bugs/1140}{bug #1140})

\H{v3.0rc1} 3.0 Release Candidate 1

Released on April 3rd, 2016

\S1{v3.0rc1-cl} Changelog

\S2{} Major Changes

\b Fixed \R{appendfile}{!appendfile} on POSIX and LogicLib $\{Switch\}

\b More security hardening to prevent dll hijacking

\S2{} Minor Changes

\b Documentation improvements

\b The name of the uninstaller created in %TEMP%\\~nsu.tmp has changed from %UNIQUE%u_.exe to Un_%UNIQUE%.exe

\b Various warning and error improvements

\S2{} Translations

\b Added missing MULTIUSER_* entries to Japanese.nsh (\W{http://sf.net/p/nsis/patches/266}{patch #266})

\H{v3.0b3} 3.0 Beta 3

Released on December 26th, 2015

\S1{v3.0b3-cl} Changelog

\S2{} Major Changes

\b \R{arequestexecutionlevel}{RequestExecutionLevel} now defaults to \c{admin}

\b LoadLibrary security hardening to prevent dll hijacking (\W{http://sf.net/p/nsis/bugs/1125}{bug #1125})

\b \R{FileReadUTF16LE}{FileReadUTF16LE} now skips the optional BOM at the start of a file

\S2{} Minor Changes

\b Fixed System plugin GUID type output bug on Win98

\b \R{FileWriteUTF16LE}{FileWriteUTF16LE} can add a BOM with the /BOM switch

\b \R{createshortcut}{CreateShortcut} icon index can now be larger than 255 (\W{http://sf.net/p/nsis/bugs/1123/}{bug #1123})

\b \R{system}{!system} and \R{execute}{!execute} now provide an empty StdIn pipe to work around bugs in some Windows utilities

\b Added support for 0o octal radix prefix on number literals in the preprocessor

\b The single parameter version of \R{if}{!if} now also supports floats

\b Preprocessor now warns when invalid floating point numbers are used in math operations

\b \L{../Docs/makensisw/Readme.txt}{MakeNSISW} now uses WinInet when checking for updates

\S2{} Translations

\b Brazilian Portuguese updated (Felipe) (\W{http://sf.net/p/nsis/patches/263/}{patch #263})

\b Polish updated (Pawe\u0142{l} Porwisz)

\H{v3.0b2} 3.0 Beta 2

Released on August 4th, 2015

\S1{v3.0b2-cl} Changelog

\S2{} Major Changes

\b Preliminary Windows 10 support

\S2{} Minor Changes

\b Added !appendfile /RawNL switch

\b Added PESubsysVer attribute

\b Exec[Wait] sets the CREATE_DEFAULT_ERROR_MODE flag when creating a process

\b Fixed 4+ TiB freespace calculation bug (\W{http://sf.net/p/nsis/bugs/1115/}{bug #1115})

\b Fixed CreateShortcut /NoWorkingDir parsing bug (\W{http://sf.net/p/nsis/bugs/1110/}{bug #1110})

\b Fixed minor issues in the Pascal NSIS plug-in SDK and removed the \cw{extrap} global variable

\b nsDialogs and InstallOptions now use the system link color

\S2{} Build System

\b Linux stdcall warning fix (\W{http://sf.net/p/nsis/patches/261}{patch #261})

\b Linux test-scripts fix (\W{http://sf.net/p/nsis/patches/260}{patch #260})

\b Win64 fixes (including \W{http://sf.net/p/nsis/patches/258}{patch #258}, \W{http://sf.net/p/nsis/bugs/1105/}{bug #1105})

\b Visual C 2012 fixes

\H{v3.0b1} 3.0 Beta 1

Released on October 6th, 2014

\S1{v3.0b1-rl} Release Notes

\b This release addresses a lot of build issues, reintroduces the \W{https://drone.io/github.com/kichik/nsis}{nightly builds} and adds automatic nightly test execution

\S1{v3.0b1-cl} Changelog

\S2{} Major Changes

\b !insertmacro allows macro recursion (\W{http://sf.net/p/nsis/feature-requests/497}{RFE #497})

\b Added \R{makensis}{!makensis} command

\b Added new MUI2 bitmap stretch modes, *_NOSTRETCH is now deprecated (\W{http://sf.net/p/nsis/feature-requests/521}{RFE #521})

\b \c{InitiateShutdown()} is used to reboot the machine if available (\W{http://sf.net/p/nsis/patches/247}{patch #247})

\b Added PPO and SafePPO preprocess-only compiler switches

\b MakeNSIS WM_COPYDATA messages now use the QH_OUTPUTCHARSET encoding with CP_ACP as the default for compatibility with old IDEs.

\S2{} Minor Changes

\b Added IsWow64 to x64.nsh

\b Added PEDllCharacteristics attribute

\b Added System::Call direct register memory access type. (\W{http://sf.net/p/nsis/patches/249}{patch #249})

\b Added WX compiler switch

\b Allow skipping ExDLL build with SKIPPLUGINS ((\W{http://sf.net/p/nsis/patches/254}{patch #254}))

\b Changed default DllCharacteristics to TS_AWARE+NO_SEH+NX_COMPAT+DYNAMIC_BASE

\b Fixed Mac OS X builds (\W{http://sf.net/p/nsis/patches/253}{patch #253} and \W{http://sf.net/p/nsis/bugs/1085}{bug #1085})

\b Fixed POSIX !searchparse bug (\W{http://sf.net/p/nsis/patches/251}{patch #251})

\b Fixed !macroundef

\b Fixed test-code build target on POSIX and enabled it in nightly builds (\W{http://sf.net/p/nsis/bugs/1088/}{bug #1098})

\b Fixed Visual Studio 2012 builds

\S2{} Translations

\b Added Armenian (Hrant Ohanyan)

\H{v3.0b0} 3.0 Beta 0

Released on May 11th, 2014

\S1{v3.0b0-rl} Release Notes

\b POSIX builds work again! Please let us know if your favorite platform is still having build issues. We mainly test on Linux.

\S1{v3.0b0-cl} Changelog

\S2{} Major Changes

\b Basic AMD64 System::Call support

\b Fixed POSIX builds

\S2{} Minor Changes

\b Added CreateShortcut /NoWorkingDir parameter

\b Added Int<32|64|Ptr><Op|Cmp[U]> helper macros to Util.nsh

\b Added P<, P<=, P=, P<>, P>= and P> LogicLib ptrdiff_t tests

\b Try harder to find duplicate strings in string block (\W{http://sf.net/p/nsis/bugs/1088/}{bug #1088})

\b !system will decode child output as OEMCP if GetConsoleOutputCP() == GetOEMCP()

\b !system and !execute can store the exit code in a define

\b !execute supports comparing the exit code with the same syntax as !system

\b Preprocessor supports \cw{0n} and \cw{0b} radix prefix on number literals

\H{v3.0a2} 3.0 Alpha 2

Released on December 24th, 2013

\S1{v3.0a2-rl} Release Notes

It's the holiday gift you've been waiting for!

\S2{} Known Issues

\b The POSIX build is getting much closer, but still currently broken

\b LangDLL doesn't display localized language name with \R{aunicodetarget}{Unicode} false

\S1{v3.0a2-cl} Changelog

\S2{} Major Changes

\b !include defaults to UTF-8 after \cw{Unicode True}

\b Preprocessor does not parse all branches and will not validate code that is never executed (\W{http://sf.net/p/nsis/bugs/1086/}{bug #1086})

\S2{} Minor Changes

\b FileRead in Unicode installers can handle DBCS, conversion output is limited to UCS-2.

\b FileRead in Unicode installers now uses the Unicode replacement character (U+FFFD) for invalid characters and not '?'.

\b FileReadByte no longer performs a Unicode conversion on non-ASCII characters

\b Windows 8.1 & 2012R2 support in WinVer.nsh

\b Fixed !define Unicode null terminator bug (\W{http://sf.net/p/nsis/bugs/1079/}{bug #1079})

\b Unicode stubs create WCHAR richedit controls (\W{http://sf.net/p/nsis/bugs/1080/}{bug #1080})

\b Fixed \L{../Docs/makensisw/Readme.txt}{MakeNSISW} default pushbutton and tab order

\b Fixed incorrect page count in compiler statistics

\H{v3.0a1} 3.0 Alpha 1

Released on July 14th, 2013

\S1{v3.0a1-rl} Release Notes

\S2{} Known Issues

\b The POSIX build is currently broken

\b LangDLL doesn't display localized language name with \R{aunicodetarget}{Unicode} false

\b \R{FileRead}{FileRead} may return '?' for MBCS letters with \R{aunicodetarget}{Unicode} true

\S1{v3.0a1-cl} Changelog

\S2{} Major Changes

\b Default verbosity is /V3 without logo, \L{../Docs/makensisw/Readme.txt}{MakeNSISW} still uses /V4.

\b \R{amanifestsupportedos}{ManifestSupportedOS} added support for the Windows 8.1 GUID and it is set by default to avoid GetVersionEx compatibility behavior.

\S2{} Minor Changes

\b Fixed !finalize %1

\b Fixed !searchparse (\W{https://sourceforge.net/p/nsis/bugs/1073/}{bug #1073})

\b Made installers always respect /S on command line, even when installer file can't be read (\W{https://sourceforge.net/p/nsis/bugs/1076/}{bug #1076})

\b Minor \L{../Docs/makensisw/Readme.txt}{MakeNSISW} fixes and tweaks

\b Added Zip2Exe Unicode checkbox

\H{v3.0a0} 3.0 Alpha 0

Released on May 19th, 2013

\S1{v3.0a0-rl} Release Notes

\b MakeNSIS can now generate ANSI and \R{intro-unicode}{Unicode} installers. Source files can be UTF8SIG, UTF16BOM or traditional MBCS text files (which are converted to Unicode with ACP unless you specify a different codepage). The default plugins are now stored in sub-folders based on their CPU target and character set encoding.

\S2{} Known Issues

\b The POSIX build is currently broken

\b LangDLL doesn't display localized language name with \R{aunicodetarget}{Unicode} false

\b \R{FileRead}{FileRead} may return '?' for MBCS letters with \R{aunicodetarget}{Unicode} true

\S1{v3.0a0-cl} Changelog

\S2{} Major Changes

\b Added the \R{aunicodetarget}{Unicode} attribute (\W{http://sourceforge.net/support/tracker.php?aid=1238132}{RFE #1238132}, \W{http://sourceforge.net/support/tracker.php?aid=1795257}{patch #1795257})

\b Added support for Windows 8 and Windows Server 2012

\b MakeNSIS can read UTF8SIG and UTF16BOM script files (\W{http://sourceforge.net/support/tracker.php?aid=2026892}{RFE #2026892})

\b All NLF and NSH language files are stored as UTF-16LE (\W{http://sourceforge.net/support/tracker.php?aid=1879642}{RFE #1879642})

\b Scripts can control the SupportedOS list in the application manifest using \R{amanifestsupportedos}{ManifestSupportedOS} (\W{http://sourceforge.net/support/tracker.php?aid=2725883}{bug #2725883}, \W{http://sourceforge.net/support/tracker.php?aid=3020103}{RFE #3020103})

\b Installers can claim DPI-awareness with \R{amanifestdpiaware}{ManifestDPIAware} (\W{http://sourceforge.net/support/tracker.php?aid=2897169}{bug #2897169})

\b The index of the changed section is stored in $0 during .onSelChange callbacks (\W{http://sourceforge.net/support/tracker.php?aid=1634936}{RFE #1634936})

\b $\{U+1\}...$\{U+10FFFF\} are treated as a Unicode character unless there is already a define with that name (\W{http://sourceforge.net/support/tracker.php?aid=2084797}{RFE #2084797})

\S2{} Minor Changes

\b Added \R{ppgetdllversion}{!getdllversion} (\W{http://sourceforge.net/support/tracker.php?aid=2809308}{bug #2809308})

\b Added !appendfile /CHARSET parameter

\b Added \R{if}{!if} support for /fileexists, case sensitive comparisons, hex and float

\b Added more definitions to WinMessages.nsh

\b %temp%\\Low will be used if the installer cannot write to %temp% nor %windir%\\Temp (\W{http://sourceforge.net/support/tracker.php?aid=2909242}{bug #2909242}, \W{http://sourceforge.net/support/tracker.php?aid=2912824}{patch #2912824})

\b Added $\{NSIS_PACKEDVERSION\}, the NSIS version packed as a hex number (\W{http://sourceforge.net/support/tracker.php?aid=2680832}{patch #2680832})

\b Added \R{prescopemacro}{$\{__MACRO__\}} and \R{precounter}{$\{__COUNTER__\}} predefines

\b Added UnsafeStrCpy instruction, it can write to special variables like $PLUGINSDIR

\b Added \R{vifileversion}{VIFileVersion}

\b Added \R{finalize}{!finalize} for post-build commands (like signing the installer)

\b Plugins in $\{NSISDIR\}\\Plugins have to be reserved with \c{ReserveFile /plugin}

\b MakeNSIS /NOTIFYHWND uses a (optional) new event name to abort compilation, see build.cpp/h for details.

\b Reduced !include/!insertmacro recursion stack usage (\W{http://sourceforge.net/support/tracker.php?aid=3067954}{bug #3067954})

\b Fixed minor MakeNSIS leaks (\W{http://sourceforge.net/support/tracker.php?aid=3474662}{bug #3474662})

\b Fixed MUI_FINISHPAGE_TITLE_3LINES padding when reboot is required (\W{http://sourceforge.net/support/tracker.php?aid=3400067}{bug #3400067}, \W{http://sourceforge.net/support/tracker.php?aid=3408407}{bug #3408407})

\b Fixed removal of read only attribute even if Delete or RMDir fails (\W{http://sourceforge.net/support/tracker.php?aid=3072159}{bug #3072159})

\b Fixed $\{__SECTION__\} in hidden sections (\W{http://sourceforge.net/support/tracker.php?aid=1787648}{RFE #1787648})

\b Various documentation fixes (\W{http://sourceforge.net/support/tracker.php?aid=3063566}{bug #3063566}, \W{http://sourceforge.net/support/tracker.php?aid=3567313}{bug #3567313}, \W{http://sourceforge.net/support/tracker.php?aid=3307144}{patch #3307144})

\b Lots of other small fixes...

\S2{} Translations

\b Changed LANGFILE macro in LangFile.nsh

\b Warnings are now displayed for missing strings (LANGFILE_INCLUDE_WITHDEFAULT)

\b Added Georgian (David Huriev)

\b Added Pashto (Pakhtosoft)

\b Added Scottish Gaelic (GunChleoc)

\b Fixed Korean MUI_[UN]TEXT_FINISH_INFO_* (\W{http://sourceforge.net/support/tracker.php?aid=3541515}{bug #3541515})

\H{v2.51} 2.51

Released on April 1st, 2016

\S1{v2.51-cl} Changelog

\S2{} Minor Changes

\b More security hardening to prevent dll hijacking

\b Backported support for system 'p' type and logiclib P and Z tests

\S2{} Translations

\b Added missing MULTIUSER_* entries to Japanese.nsh (\W{http://sf.net/p/nsis/patches/266}{patch #266})

\H{v2.50} 2.50

Released on December 26th, 2015

\S1{v2.50-cl} Changelog

\S2{} Major Changes

\b \R{arequestexecutionlevel}{RequestExecutionLevel} now defaults to \c{admin}

\S2{} Minor Changes

\b Preload certain system libraries to prevent dll hijacking (\W{http://sf.net/p/nsis/bugs/1125}{bug #1125})

\H{v2.49} 2.49

Released on December 16th, 2015

\S1{v2.49-cl} Changelog

\b Fixed CreateShortcut failure on Vista caused by security changes in 2.47

\H{v2.48} 2.48

Released on December 10th, 2015

\S1{v2.48-cl} Changelog

\b Fixed CHM (\W{http://sf.net/p/nsis/bugs/1129/}{bug #1129})

\H{v2.47} 2.47

Released on December 8th, 2015

\S1{v2.47-rl} Release Notes

\b This is a maintenance and security release

\S1{v2.47-cl} Changelog

\S2{} Major Changes

\b LoadLibrary security hardening to prevent dll hijacking (\W{http://sf.net/p/nsis/bugs/1125}{bug #1125})

\b \c{InitiateShutdown()} is used to reboot the machine if available (\W{http://sf.net/p/nsis/patches/247}{patch #247})

\S2{} Minor Changes

\b Fixed 4+ TiB freespace calculation bug (\W{http://sf.net/p/nsis/bugs/1115/}{bug #1115})

\b Windows 8 & 2012 support in WinVer.nsh

\H{v2.46} 2.46

Released on December 6th, 2009

\S1{v2.46-cl} Changelog

\S2{} Minor Changes

\b Fixed \R{searchparse}{!searchparse} (\W{http://sourceforge.net/support/tracker.php?aid=2803622}{bug #2803622})

\b Fixed Vista error message when canceling uninstaller (\W{http://sourceforge.net/support/tracker.php?aid=2803097}{bug #2803097})

\b Resolve warning for LogicLib's endless Do..Loop (\W{http://sourceforge.net/support/tracker.php?aid=2849872}{bug #2849872})

\b \L{../Docs/StartMenu/Readme.txt}{StartMenu}: fixed random number prefixes when clicking on an empty spot (\W{http://sourceforge.net/support/tracker.php?aid=2810188}{bug #2810188})

\b Updates to NSIS.pas for plug-in development (\W{http://sourceforge.net/support/tracker.php?aid=2802794}{patch #2802794})

\S2{} Translations

\b PortugueseBR typo (\W{http://sourceforge.net/support/tracker.php?aid=2826598}{patch #2826598})

\b Removed double spaces in Italian (\W{http://sourceforge.net/support/tracker.php?aid=2873598}{bug #2873598})

\S2{} Build System

\b Fixed mingw builds of \L{../Docs/Math/Math.txt}{Math} plug-in (\W{http://sourceforge.net/support/tracker.php?aid=2835731}{patch #2835731})

\H{v2.45} 2.45

Released on June 6th, 2009

\S1{v2.45-rl} Release Notes

\b Support for Microsoft's upcoming release of Windows 7 has been added based on RC1 testing and documentation. Please report any related issues and don't forget to use \R{arequestexecutionlevel}{RequestExecutionLevel}.

\S1{v2.45-cl} Changelog

\S2{} Major Changes

\b Added support for Windows 7 installers - use \R{arequestexecutionlevel}{RequestExecutionLevel}, just like with Vista (\W{http://sourceforge.net/support/tracker.php?aid=2725883}{bug #2725883})

\b Added WinVer.nsh Windows 7 and Windows 2008 R2 support

\b Installers now identify as Terminal Services aware (IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE) so $WINDIR will no longer be under the user's profile when installing on Terminal Services

\b Less UAC annoyance in Add/Remove control panel (\W{http://sourceforge.net/support/tracker.php?aid=2697027}{bug #2697027})

\S2{} Minor Changes

\b Added wildcard and /nonfatal support for \R{delfile}{!delfile} (\W{http://sourceforge.net/support/tracker.php?aid=1505425}{RFE #1505425})

\b Fixed \R{searchparse}{!searchparse} (\W{http://sourceforge.net/support/tracker.php?aid=2680110}{bug #2680110})

\b Fixed input validation for \R{createfont}{CreateFont} (\W{http://sourceforge.net/support/tracker.php?aid=2801024}{bug #2801024})

\b Fixed NSIS Menu handling of working directory (\W{http://sourceforge.net/support/tracker.php?aid=2781948}{bug #2781948})

\b Fixed Vista issues with shell folders ($DOCUMENTS, $PROFILE, etc.) on root directories (\W{http://sourceforge.net/support/tracker.php?aid=2138075}{bug #2138075})

\b Minor documentation improvements (including \W{http://sourceforge.net/support/tracker.php?aid=2705878}{bug #2705878}, \W{http://sourceforge.net/support/tracker.php?aid=2606525}{bug #2606525})

\b Use SW_SHOWDEFAULT for \R{execshell}{ExecShell} by default (\W{http://sourceforge.net/support/tracker.php?aid=2796189}{bug #2796189})

\S2{} Modern UI

\b Call finish page show function only after the page is fully initialized (\W{http://sourceforge.net/support/tracker.php?aid=2720968}{bug #2720968})

\b Fixed translation of uninstaller directory page (\W{http://sourceforge.net/support/tracker.php?aid=2690112}{bug #2690112})

\b Fixed installation type text position in components page (\W{http://sourceforge.net/support/tracker.php?aid=2801317}{patch #2801317})

\b Fixed missing MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE  (\W{http://sourceforge.net/support/tracker.php?aid=2788620}{bug #2788620})

\S2{} Translations

\b Updated Indonesian (\W{http://sourceforge.net/support/tracker.php?aid=2790571}{patch #2790571})

\b Updated Portuguese BR (\W{http://sourceforge.net/support/tracker.php?aid=2642542}{patch #2642542})

\S2{} Build System

\b Fixed some GCC warnings

\H{v2.44} 2.44

Released on February 21st, 2009

\S1{v2.44-cl} Changelog

\S2{} Major Changes

\b Fixed a bug introduced in 2.43 causing script build issues with some icons (\W{http://sourceforge.net/support/tracker.php?aid=2572035}{bug #2572035})

\S2{} Minor Changes

\b Fixed nsDialogs CreateTimer documentation (\W{http://sourceforge.net/support/tracker.php?aid=2595565}{bug #2595565})

\b Global labels didn't work when declared in unused functions (\W{http://sourceforge.net/support/tracker.php?aid=2593369}{bug #2593369})

\H{v2.43} 2.43

Released on February 5th, 2009

\S1{v2.43-rl} Release Notes

\b A few minor changes were made to the new plug-in API that break backward compatibility. Header and library paths were changed and RegisterPluginCallback has changed its return value.

\S1{v2.43-cl} Changelog

\S2{} Minor Changes

\b Added WinCore.nsh, WinDef.nsh, WinError.nsh, WinNT.nsh and WinUser.nsh for more useful Windows definitions

\b Fixed a crash caused by \R{packhdr}{!packhdr} compressing resources (\W{http://sourceforge.net/support/tracker.php?aid=2533431}{bug #2533431})

\b Minor documentation improvements (including \W{http://sourceforge.net/support/tracker.php?aid=2564005}{bug #2564005})

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2}: Fixed MUI_DIRECTORYPAGE_BGCOLOR (\W{http://sourceforge.net/support/tracker.php?aid=2494528}{bug #2494528})

\S2{} Utilities and Plug-ins

\b \L{../Docs/Banner/Readme.txt}{Banner}: Fixed installer showing on the background when Banner was used in .onInit

\b \L{../Docs/makensisw/Readme.txt}{MakeNSISW}: Added Ctrl+K hotkey for build cancellation (\W{http://sourceforge.net/support/tracker.php?aid=2557392}{RFE #2557392})

\b \L{../Docs/nsDialogs/Readme.html}{nsDialogs}: Added NSD_SetIcon (\W{http://sourceforge.net/support/tracker.php?aid=2500960}{patch #2500960})

\S2{} Translations

\b Added Esperanto

\b Bulgarian fixes

\S2{} Plug-in API

\b Added VS2008 project files

\b Better installation of header and library files under POSIX - see INSTALL file for more information

\b Header and library files were moved to a subdirectory named \e{nsis} to prevent collisions

\b \e{RegisterPluginCallback} now returns \e{int} instead of \e{BOOL} for a wider range of error reporting

\S2{} Build System

\b Added fink's mingw prefixes (\W{http://sourceforge.net/support/tracker.php?aid=2495138}{bug #2495138})

\b Fixed BOOL build issue on OS X (\W{http://sourceforge.net/support/tracker.php?aid=2497290}{bug #2497290})

\b Fixed iconv dependency detection on OS X (\W{http://sourceforge.net/support/tracker.php?aid=2494539}{bug #2494539})

\b Fixed Solaris builds (\W{http://sourceforge.net/support/tracker.php?aid=2497172}{patch #2497172})

\H{v2.42} 2.42

Released on December 20th, 2008

\S1{v2.42-rl} Release Notes

\b Merry Christmas and a happy Hanukkah!

\b Plug-in developers should check out the new plug-in API in Examples\\Plugin and convert their plug-ins, especially in case they require staying loaded.

\S1{v2.42-cl} Changelog

\S2{} Major Changes

\b Deprecated /NOUNLOAD and SetPluginsUnload to make scripts simpler and safer (\W{http://sourceforge.net/support/tracker.php?aid=1912699}{patch #1912699})

\b \R{headers}{Useful header functions} no longer require usage declaration and different syntax for uninstaller functions

\b Revamped plug-in API now comes in the form of pluginapi.lib, API version information and more common functions (\W{http://sourceforge.net/support/tracker.php?aid=2359978}{patch #2359978})

\S2{} Minor Changes

\b Added \R{searchreplace}{!searchreplace} preprocessor command for compile time text search/replaces

\b Added support for \R{library}{registration} of EXE COM servers (\W{http://sourceforge.net/support/tracker.php?aid=2315740}{RFE #2315740})

\b Minor documentation improvements (including \W{http://sourceforge.net/support/tracker.php?aid=2386821}{bug #2386821})

\b \L{../Docs/nsDialogs/Readme.html}{nsDialogs}: Added timer support (\W{http://sourceforge.net/support/tracker.php?aid=2135855}{patch #2135855})

\b \L{../Docs/nsDialogs/Readme.html}{nsDialogs}: Added progress bar support

\b \L{../Include/WinVer.nsh}{WinVer.nsh}: Added IsServer, IsWin2003R2, IsStarterEdition, OSHasMediaCenter and OSHasTabletSupport

\b \L{../Include/WinVer.nsh}{WinVer.nsh}: Fixed 95/NT4 ambiguity (\W{http://sourceforge.net/support/tracker.php?aid=2053642}{bug #2053642})

\b \L{../Include/WinVer.nsh}{WinVer.nsh}: Proper Windows XP x64 detection (\W{http://sourceforge.net/support/tracker.php?aid=2053700}{bug #2053700})

\b \L{../Include/WinVer.nsh}{WinVer.nsh}: Windows 2008 detection support (\W{http://sourceforge.net/support/tracker.php?aid=1949260}{RFE #1949260})

\S2{} Translations

\b Minor English grammar improvements (\W{http://sourceforge.net/support/tracker.php?aid=2323452}{bug #2323452})

\S2{} Build System

\b Full \L{../Docs/System/System.html}{System} compatibility with GCC (\W{http://sourceforge.net/support/tracker.php?aid=2193442}{patch #2193442})

\H{v2.41} 2.41

Released on November 20th, 2008

\S1{v2.41-cl} Changelog

\S2{} Minor Changes

\b Fixed LangDLL memory leaks for invalid input (\W{http://sourceforge.net/support/tracker.php?aid=1939573}{bug #1939573})

\b Fixed uninstaller generation on big-endian systems (\W{http://sourceforge.net/support/tracker.php?aid=2166401}{bug #2166401}, \W{http://sourceforge.net/support/tracker.php?aid=2167958}{bug #2167958})

\S2{} Translations

\b Brazilian Portuguese corrections

\b Consistency fixes for Simplified Chinese (\W{http://sourceforge.net/support/tracker.php?aid=2189117}{patch #2189117})

\S2{} Build System

\b Added support for SCons 1.1.0

\b Fixed directory and components page text issues on VC8 builds (\W{http://sourceforge.net/support/tracker.php?aid=1982084}{patch #1982084})

\b System's Resource.dll now built from source

\H{v2.40} 2.40

Released on October 10th, 2008

\S1{v2.40-cl} Changelog

\S2{} Major Changes

\b Service pack macros added to WinVer in version 2.39 now work (\W{http://sourceforge.net/support/tracker.php?aid=2070708}{bug #2070708}, \W{http://sourceforge.net/support/tracker.php?aid=2095363}{patch #2095363})

\S2{} Minor Changes

\b Added initial folder selection option for \L{../Docs/nsDialogs/Readme.html}{nsDialogs}::SelectFileDialog (\W{http://sourceforge.net/support/tracker.php?aid=2016003}{patch #2016003})

\b Fixed \R{getparameters}{GetParameters} handling of MBCS characters (\W{http://sourceforge.net/support/tracker.php?aid=2067946}{bug #2067946})

\b Fixed incorrect $\{NSD_OnBack\} documentation (\W{http://sourceforge.net/support/tracker.php?aid=2059651}{bug #2059651})

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2}: Set focus to checkboxes on the finish page (\W{http://sourceforge.net/support/tracker.php?aid=2110357}{bug #2110357})

\S2{} Translations

\b Portuguese corrections (\W{http://sourceforge.net/support/tracker.php?aid=2086988}{bug #2086988})

\b Simplified Chinese corrections (\W{http://sourceforge.net/support/tracker.php?aid=2056906}{patch #2056906})

\H{v2.39} 2.39

Released on August 16th, 2008

\S1{v2.39-cl} Changelog

\S2{} Major Changes

\b Added \R{define}{!define} \e{/file} and \R{searchparse}{!searchparse} (\W{http://sourceforge.net/support/tracker.php?aid=2016254}{patch #2016254})

\b Added service pack macros (AtLeastServicePack, IsServicePack, AtMostServicePack) to WinVer.nsh (\W{http://sourceforge.net/support/tracker.php?aid=2036802}{patch #2036802})

\S2{} Minor Changes

\b Added more \L{../Docs/nsDialogs/Readme.html}{nsDialogs} list box handling macros (\W{http://sourceforge.net/support/tracker.php?aid=2041919}{patch #2041919})

\b Added Unicode version compatible \L{../Docs/System/System.html}{System} string type (\W{http://sourceforge.net/support/tracker.php?aid=2025721}{patch #2025721}, \W{http://sourceforge.net/support/tracker.php?aid=1961307}{RFE #1961307})

\b Fixed \L{../Docs/nsDialogs/Readme.html}{nsDialogs} atom leak (\W{http://sourceforge.net/support/tracker.php?aid=2053522}{bug #2053522})

\b Minor documentation improvements

\b Show hand cursor for \L{../Docs/nsDialogs/Readme.html}{nsDialogs} links (\W{http://sourceforge.net/support/tracker.php?aid=2004129}{patch #2004129})

\H{v2.38} 2.38

Released on July 12th, 2008

\S1{v2.38-cl} Changelog

\S2{} Major Changes

\b Fixed a bug in nsDialogs that caused it to pollute the stack if callbacks are not set for each control (\W{http://sourceforge.net/support/tracker.php?aid=2013317}{bug #2013317})

\S2{} Minor Changes

\b Added IfNotThen support for LogicLib (\W{http://sourceforge.net/support/tracker.php?aid=1990761}{patch #1990761})

\b Added support for NTFS mounts points on the directory page (\W{http://sourceforge.net/support/tracker.php?aid=1946112}{bug #1946112})

\b Fixed branding image control detection on Debian, due to improper identification of static controls (\W{http://sourceforge.net/support/tracker.php?aid=1951417}{bug #1951417})

\b Log actual creation of directories and not just failures and final directory (\W{http://sourceforge.net/support/tracker.php?aid=1992325}{patch #1992325})

\b Made log close when \e{LogSet off} is used (\W{http://sourceforge.net/support/tracker.php?aid=1986692}{patch #1986692})

\b Minor documentation improvements (including \W{http://sourceforge.net/support/tracker.php?aid=1990955}{bug #1990955})

\b \L{../Docs/MultiUser/Readme.html}{MultiUser}: Fixed MULTIUSER_INSTALLMODE_INSTDIR handling for the uninstaller

\S2{} Modern UI

\b Document page leave callback function (\W{http://sourceforge.net/support/tracker.php?aid=1964719}{bug #1964719})

\b Fixed MUI_FINISHPAGE_CANCEL_ENABLED

\b Fixed wasted variable warnings (\W{http://sourceforge.net/support/tracker.php?aid=1995024}{bug #1995024})

\S2{} Translations

\b Fixed French translation of MUI_UNTEXT_FINISH_INFO_REBOOT (\W{http://sourceforge.net/support/tracker.php?aid=1967032}{patch #1967032})

\b Removed non-ANSI characters from French display name (\W{http://sourceforge.net/support/tracker.php?aid=1979491}{bug #1979491})

\b Updated Slovenian (\W{http://sourceforge.net/support/tracker.php?aid=2014106}{patch #2014106})

\H{v2.37} 2.37

Released on May 3rd, 2008

\S1{v2.37-cl} Changelog

\S2{} Major Changes

\b Fixed a bug introduced in 2.32 that caused blurry icons on Windows versions prior to XP (\W{http://sourceforge.net/support/tracker.php?aid=1956350}{bug #1956350})

\b Use $PROGRAMFILES as a default for $PROGRAMFILES64 instead of "C:\\Program Files" (\W{http://sourceforge.net/support/tracker.php?aid=1947702}{bug #1947702})

\S2{} Minor Changes

\b Automatically select language in case there is only one available choice (\W{http://sourceforge.net/support/tracker.php?aid=1939571}{bug #1939571})

\b \L{../Docs/MultiUser/Readme.html}{MultiUser}: Fixed build errors with manual inclusion of StrFunc.nsh

\b Support for compression of files up to 2GB (\W{http://sourceforge.net/support/tracker.php?aid=1948700}{patch #1948700})

\S2{} Utilities and Plug-ins

\b Fixed $\{NSD_OnBack\} (\W{http://sourceforge.net/support/tracker.php?aid=1947388}{bug #1947388})

\b Fixed \L{../Docs/nsDialogs/Readme.html}{nsDialogs}::SelectFileDialog return value for user cancellation (\W{http://sourceforge.net/support/tracker.php?aid=1955803}{bug #1955803})

\b Fixed possible \L{../Docs/BgImage/BgImage.txt}{BgImage} crash when calling BgImage::Destroy more than once (\W{http://sourceforge.net/support/tracker.php?aid=1951248}{patch #1951248})

\b Minor documentation improvements

\S2{} Translation

\b Brazilian Portuguese updates

\b Polish updates (\W{http://sourceforge.net/support/tracker.php?aid=1927421}{patch #1927421})

\b Slovak updates (\W{http://sourceforge.net/support/tracker.php?aid=1939669}{patch #1939669})

\b Spanish updates

\S2{} Build System

\b SCons requirement upgraded to 0.98

\H{v2.36} 2.36

Released on March 29th, 2008

\S1{v2.36-rl} Release Notes

\b nsDialogs is picking up its pace and offers lots of new macros in this release. Keep the patches and requests coming!

\S1{v2.36-cl} Changelog

\S2{} Major Changes

\b \L{../Docs/nsExec/nsExec.txt}{nsExec}: Support for x64 disabled redirection (\W{http://sourceforge.net/support/tracker.php?aid=1778973}{RFE #1778973}, \W{http://sourceforge.net/support/tracker.php?aid=1889317}{bug #1889317})

\S2{} Modern UI

\b Added missing MUI_UNFUNCTION_DESCRIPTION_BEGIN and MUI_UNFUNCTION_DESCRIPTION_END

\b Fixed start menu page setting the error flag (\W{http://sourceforge.net/support/tracker.php?aid=1891106}{bug #1891106})

\S2{} nsDialogs

\b NSD_AddStyle and NSD_AddExStyle for easy customization (\W{http://sourceforge.net/support/tracker.php?aid=1900588}{patch #1900588})

\b NSD_CB_AddString, NSD_CB_SelectString, NSD_LB_AddString and NSD_LB_SelectString for easier handling of combo and list boxes

\b NSD_CreateNumber and NSD_SetTextLimit for limited input fields

\b NSD_SetImage, NSD_SetStretchedImage, NSD_ClearImage and NSD_FreeImage for image handling

\b NSD_SetState, NSD_GetState, NSD_Check and NSD_Uncheck for handling of check boxes and radio buttons (\W{http://sourceforge.net/support/tracker.php?aid=1900588}{patch #1900588})

\b NSD_SetText for easily setting control's text

\b OnClick support for labels (\W{http://sourceforge.net/support/tracker.php?aid=1908732}{bug #1908732})

\b Support for edit box change notification in combo box

\S2{} Minor Changes

\b Fixed exception handling of UPX compressed icons (\W{http://sourceforge.net/support/tracker.php?aid=1896500}{bug #1896500})

\b Fixed InstallDirRegKey example in bigtest.nsi

\b Fixed Memento's documentation to include $\{MementoSectionDone\}

\b Fixed rare decompression error with 0x4001 bytes of compressed data (\W{http://sourceforge.net/support/tracker.php?aid=1874297}{bug #1874297})

\b LangFile.nsh: Added LANGFILE_INCLUDE_WITHDEFAULT to load language file with defaults being obtained from a default file. This replaces the LANGFILE_DEFAULT setting and makes it easier to use LangFile.nsh for multiple sets of languages file without having to care about the different LANGFILE_DEFAULT settings.

\b Minor documentation improvements (including \W{http://sourceforge.net/support/tracker.php?aid=1891266}{bug #1891266}, \W{http://sourceforge.net/support/tracker.php?aid=1894033}{bug #1894033}, \W{http://sourceforge.net/support/tracker.php?aid=1896803}{bug #1896803})

\b \L{../Docs/MultiUser/Readme.html}{MultiUser}: Fixed error when a custom installation mode initialization function is used only for the installer

\b \L{../Docs/MultiUser/Readme.html}{MultiUser}: Fixed default installation mode based on registry key (\W{http://sourceforge.net/support/tracker.php?aid=1913029}{bug #1913029})

\b \L{../Docs/MultiUser/Readme.html}{MultiUser}: Fixed no uninstaller handling (MULTIUSER_NOUNINSTALL)

\S2{} Utilities and Plug-ins

\b \L{../Docs/makensisw/Readme.txt}{MakeNSISW}: Avoid opening executables with identical folder names when opening script's folder (\W{http://sourceforge.net/support/tracker.php?aid=1891066}{bug #1891066})

\b \L{../Docs/nsExec/nsExec.txt}{nsExec}: Fixed return code handling so 259 won't cause an infinite loop (\W{http://sourceforge.net/support/tracker.php?aid=1909458}{bug #1909458})

\b \L{../Docs/VPatch/Readme.html}{VPatch}: Added MD5 functions (\W{http://sourceforge.net/support/tracker.php?aid=1900226}{RFE #1900226})

\S2{} Translation

\b Albanian updates (\W{http://sourceforge.net/support/tracker.php?aid=1919360}{patch #1919360})

\b French fixes (\W{http://sourceforge.net/support/tracker.php?aid=1916564}{patch #1916564})

\b Polish updates (\W{http://sourceforge.net/support/tracker.php?aid=1894983}{patch #1894983})

\S2{} Build System

\b Fixed build of NSIS Menu with wxGTK (\W{http://sourceforge.net/support/tracker.php?aid=1900233}{bug #1900233})

\b Use CRLF for DSW and DSP files to avoid corruption messages

\b Various build fixes for GCC 4.3, amd64 and Linux in general

\H{v2.35} 2.35

Released on February 8th, 2008

\S1{v2.35-cl} Changelog

\S2{} Major Changes

\b Added \L{../Docs/MultiUser/Readme.html}{MultiUser} - installer configuration for multi-user Windows environments

\b More user friendly corrupted installer message (\W{http://sourceforge.net/support/tracker.php?aid=1795426}{RFE #1795426})

\b Switched all examples to Modern UI 2

\S2{} Minor Changes

\b Fixed uninitialized memory leaking into resources (\W{http://sourceforge.net/support/tracker.php?aid=1874297}{bug #1874297})

\b Minor documentation improvements (including \W{http://sourceforge.net/support/tracker.php?aid=1861941}{bug #1861941}, \W{http://sourceforge.net/support/tracker.php?aid=1883917}{bug #1883917})

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2}: Fit images in welcome/finish page by default and fix support for MUI_(UN)WELCOMEFINISHPAGE_BITMAP_NOSTRETCH (\W{http://sourceforge.net/support/tracker.php?aid=1875945}{bug #1875945})

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2}: Fixed default finish page reboot selection (\W{http://sourceforge.net/support/tracker.php?aid=1864690}{bug #1864690})

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2}: Fixed MUI_STARTMENU_GETFOLDER (\W{http://sourceforge.net/support/tracker.php?aid=1864507}{bug #1864507})

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2}: Fixed unreferenced mui.StartMenuPage.Create warning (\W{http://sourceforge.net/support/tracker.php?aid=1861944}{bug #1861944})

\b New simplified code for \R{library_vb6}{installation of VisualBasic 6 runtime}

\b Simplified NSIS Menu providing easier access to all documentation

\S2{} Utilities and Plug-ins

\b Added keyboard cues support for LINK controls in \L{../Docs/nsDialogs/Readme.html}{nsDialogs} (\W{http://sourceforge.net/support/tracker.php?aid=1871856}{patch #1871856})

\b Fixed a rare nsDialogs crash on Windows 98 with non-standard builds of nsDialogs (\W{http://sourceforge.net/support/tracker.php?aid=1889720}{bug #1889720})

\H{v2.34} 2.34

Released on December 24th, 2007

\S1{v2.34-rl} Release Notes

\b Thanks to user input on \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2}, it is now ready for mass consumption at no better time than the holiday season. The installer for NSIS itself now exploits the wonders of MUI2 and \L{../Docs/nsDialogs/Readme.html}{nsDialogs} and so should you.

\S1{v2.34-cl} Changelog

\S2{} Major Changes

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2}: Simpler code, easier to extend and makes use of the faster \L{../Docs/nsDialogs/Readme.html}{nsDialogs}

\S2{} Minor Changes

\b Added IfNot support for LogicLib (\W{http://sourceforge.net/support/tracker.php?aid=1846785}{patch #1846785})

\b Added some deprecation messages in MUI2 (\W{http://sourceforge.net/support/tracker.php?aid=1784470}{bug #1784470})

\b Allow overwrite of LANGFILE_*_NAME defines in new LangFile.nsh (\W{http://sourceforge.net/support/tracker.php?aid=1848952}{bug #1848952})

\b Better RTL support in instfiles and components page (\W{http://sourceforge.net/support/tracker.php?aid=1841573}{bug #1841573})

\b Don't warn of comments containing line-continuation character when it has no effect (\W{http://sourceforge.net/support/tracker.php?aid=1701051}{bug #1701051}, \W{http://sourceforge.net/support/tracker.php?aid=1686589}{RFE #1686589})

\b Fixed deletion of files with relative paths, a.k.a the EVE bug (\W{http://sourceforge.net/support/tracker.php?aid=1851273}{bug #1851273})

\b Fixed input verification of \R{sgetcurinsttype}{GetCurInstType} and \R{getfullpathname}{GetFullPathName}

\b Fixed \R{wordfind}{WordFind} handling of MBCS characters (\W{http://sourceforge.net/support/tracker.php?aid=1852141}{bug #1852141})

\b Minor documentation improvements (including \W{http://sourceforge.net/support/tracker.php?aid=1842326}{bug #1842326})

\b Use CRLF in examples (\W{http://sourceforge.net/support/tracker.php?aid=1835866}{bug #1835866})

\S2{} Utilities and Plug-ins

\b Added missing stack handling in \L{../Docs/nsDialogs/Readme.html}{nsDialogs} examples

\b Added NSD_GetState for checkboxes and radio buttons, NSD_SetFocus, NSD_CreatePassword and NSD_CreateDropList (\W{http://sourceforge.net/support/tracker.php?aid=1848940}{patch #1848940})

\b Fixed documentation of \L{../Docs/nsDialogs/Readme.html}{nsDialogs}::SelectFolderDialog (\W{http://sourceforge.net/support/tracker.php?aid=1841120}{bug #1841120})

\b Fixed NSD_CreateComboBox so it'd work like InstallOptions (\W{http://sourceforge.net/support/tracker.php?aid=1851136}{bug #1851136})

\S2{} Translations

\b Bulgarian updates

\b German fixes

\S2{} Build System

\b Fixed build issues on Mac OS (\W{http://sourceforge.net/support/tracker.php?aid=1851365}{bug #1851365})

\b Fixed endianity issues introduced in version 2.32 (\W{http://sourceforge.net/support/tracker.php?aid=1851365}{bug #1851365})

\H{v2.33} 2.33

Released on November 17th, 2007

\S1{v2.33-rl} Release Notes

\b This is a quick fix release for a bug, introduced in 2.32, that prevented the welcome page to display properly on Windows 9x. The problem was caused by the move from CVS to Subversion that messed with the line-breaks format of the INI files.

\S1{v2.33-cl} Changelog

\S2{} Major Changes

\b \L{../Docs/Modern UI/Readme.html}{Modern UI}: Fixed a bug, introduced in 2.32, that caused display problems for the welcome and finish pages on Windows 9x (\W{http://sourceforge.net/support/tracker.php?aid=1831677}{bug #1831677})

\S2{} Minor Changes

\b \L{../Docs/Modern UI/Readme.html}{Modern UI}: Allow MUI_LANGDLL_ALLLANGUAGES to be defined after insertion of MUI_LANGUAGE macro

\S2{} Utilities and Plug-ins

\b Made \L{../Docs/nsExec/nsExec.txt}{nsExec}'s internal process always exit cleanly to avoid false return values and delays (reported in the \W{http://forums.winamp.com/showthread.php?threadid=279683}{forum})

\b \L{../Docs/nsDialogs/Readme.html}{nsDialogs}: Added OnClick support for static controls

\b \L{../Docs/VPatch/Readme.html}{VPatch}: Fixed VPatchFile macro path handling (\W{http://sourceforge.net/support/tracker.php?aid=1829540}{bug #1829540})

\S2{} Translations

\b Spanish updates

\S2{} Build System

\b Separate strip options for win32 and cross-platform binaries

\H{v2.32} 2.32

Released on November 9th, 2007

\S1{v2.32-rl} Release Notes

\b Vista PNG icons are now supported without the need for any special tricks.

\S1{v2.32-cl} Changelog

\S2{} Major Changes

\b Added support for mismatching installer and uninstaller icons

\b NSIS source code is now hosted on Subversion instead of CVS

\S2{} Minor Changes

\b Fixed synchronization that could allow the user to cause extraction errors in rare cases (reported in the \W{http://forums.winamp.com/showthread.php?s=&threadid=274333}{forum})

\b Fixed syntax validation of \R{var}{Var}

\b Minor documentation improvements (including \W{http://sourceforge.net/support/tracker.php?aid=1811876}{bug #1811876}, \W{http://sourceforge.net/support/tracker.php?aid=1819946}{bug #1819946})

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2 beta}: Fixed 3-line title on welcome/finish page

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2 beta}: Fixed components page description and lock

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2 beta}: Fixed default language selection from registry

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2 beta}: Fixed MUI_DIRECTORYPAGE_BGCOLOR

\S2{} Utilities and Plug-ins

\b \L{../Docs/nsDialogs/Readme.html}{nsDialogs}: Added link support

\S2{} Translations

\b Bulgarian corrections

\b Fixed Japanese and Norwegian Nynorsk MUI line breaks (\W{http://sourceforge.net/support/tracker.php?aid=1817289}{bug #1817289})

\S2{} Build System

\b Check compiler's \e{-m32} flag before the linker's to avoid gcc segfault

\H{v2.31} 2.31

Released on September 29th, 2007

\S1{v2.31-rl} Release Notes

\b Please continue to report any issues and suggestions regarding \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2}. Input for the previous version was very helpful in improving MUI2.

\S1{v2.31-cl} Changelog

\S2{} Minor Changes

\b Added BST_* definitions to WinMessages.nsh (\W{http://sourceforge.net/support/tracker.php?aid=1792422}{bug #1792422})

\b Added \R{setregview}{SetRegView} \e{lastused}

\b Minor documentation improvements

\b \R{library}{Library} will now revert registry view settings (\R{setregview}{SetRegView}) after it's finished

\b \L{../Docs/Modern UI/Readme.html}{Modern UI}: Fixed empty welcome page with Chinese (\W{http://sourceforge.net/support/tracker.php?aid=1786899}{bug #1786899})

\b \L{../Docs/Modern UI/Readme.html}{Modern UI}: Fixed finish button text (\W{http://sourceforge.net/support/tracker.php?aid=1789492}{bug #1789492})

\b \L{../Docs/Modern UI/Readme.html}{Modern UI}: Fixed uninstaller comportments page text (\W{http://sourceforge.net/support/tracker.php?aid=1793811}{bug #1793811})

\b \L{../Docs/Modern UI/Readme.html}{Modern UI}: Fixed unused function warnings

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2 beta}: Fixed header bitmap issues, including NOSTRETCH and compilation errors

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2 beta}: Fixed language selection dialog

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2 beta}: Fixed reboot finish page

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2 beta}: Fixed unloading of nsDialogs on finish page

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2 beta}: Fixed unused variable warnings

\S2{} Utilities and Plug-ins

\b \L{../Docs/makensisw/Readme.txt}{MakeNSISW}: Fixed command line parsing error (\W{http://sourceforge.net/support/tracker.php?aid=1796053}{bug #1796053})

\S2{} Translations

\b Korean corrections

\b Persian improvements (\W{http://sourceforge.net/support/tracker.php?aid=1776386}{patch #1776386})

\b Romanian improvements (\W{http://sourceforge.net/support/tracker.php?aid=1783853}{patch #1783853})

\S2{} Build System

\b Fixed build failures with MinGW's GCC 4 (\W{http://sourceforge.net/support/tracker.php?aid=1800834}{bug #1800834})

\H{v2.30} 2.30

Released on August 25th, 2007

\S1{v2.30-rl} Release Notes

\b This release includes a beta of \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2}. Please report any issues and suggestions.

\b The format of Modern UI language files has been modified to better support external strings. Private language files should be converted (and submitted as a \W{http://sourceforge.net/tracker/?group_id=22049&atid=373087}{patch} in the spirit of open source).

\S1{v2.30-cl} Changelog

\S2{} Major Changes

\b Fixed a bug introduced in version 2.29 that caused invalid $SMPROGRAMS value on Windows 98 (\W{http://sourceforge.net/support/tracker.php?aid=1766268}{bug #1766268})

\b \L{../Docs/Modern UI 2/Readme.html}{Modern UI 2 beta}: Simpler code, easier to extend and makes use of nsDialogs

\S2{} Minor Changes

\b Added InstallOptions.nsh with relevant usage macros, based on the old Modern UI macros

\b Added LangFile.nsh allowing creation of language files that can be included with a single command with defaults for missing strings (when LANGFILE_DEFAULT is set)

\b Added LB_ERR and CB_ERR to WinMessages.nsh (\W{http://sourceforge.net/support/tracker.php?aid=1771644}{bug #1771644})

\b Fixed \R{createdirectory}{CreateDirectory} logging (\W{http://sourceforge.net/support/tracker.php?aid=1768584}{patch #1768584})

\b Fixed escaping of quotes with $\\ in macros (\W{http://sourceforge.net/support/tracker.php?aid=1713708}{bug #1713708})

\b Minor documentation improvements

\b \L{../Docs/Modern UI/Readme.html}{Modern UI 1.80}: New language files structure based on LangFile.nsh

\b \L{../Docs/Modern UI/Readme.html}{Modern UI 1.80}: MUI_LANGDLL_DISPLAY now reads previous settings on silent installations as well

\b \L{../Docs/Modern UI/Readme.html}{Modern UI 1.80}: Added MUI_CUSTOMFUNCTION_MOUSEOVERSECTION (\W{http://sourceforge.net/support/tracker.php?aid=1762003}{patch #1762003})

\S2{} Utilities and Plug-ins

\b Various nsDialogs improvements including RTL support, more macros in nsDialogs.nsh and \L{../Docs/nsDialogs/Readme.html}{initial documentation}

\S2{} Translations

\b Catalan returns

\b Danish corrections

\b Slovak corrections (\W{http://sourceforge.net/support/tracker.php?aid=1762627}{patch #1762627})

\S2{} Build System

\b More HPUX fixes (\W{http://sourceforge.net/support/tracker.php?aid=1755148}{bug #1755148}, \W{http://sourceforge.net/support/tracker.php?aid=1753063}{bug #1753063}, \W{http://sourceforge.net/support/tracker.php?aid=1758873}{bug #1758873}, \W{http://sourceforge.net/support/tracker.php?aid=1758863}{patch #1758863})

\b Ignore known failing tests by default on POSIX

\H{v2.29} 2.29

Released on July 14th, 2007

\S1{v2.29-rl} Release Notes

\b The most notable addition in this release is nsDialogs - a faster and far more capable replacement for InstallOptions. It allows creating controls of any type directly from the script and removes the need to mess with slow INI files. It integrates directly into the script by calling functions for notification, including change notification for edit boxes. \W{https://nsis.sourceforge.io/Community}{Speak up} if you have any suggestions/comments/patches for it.

\S1{v2.29-cl} Changelog

\S2{} Major Changes

\b Added \L{../Examples/nsDialogs}{nsDialogs} - a replacement for InstallOptions

\S2{} Minor Changes

\b Disable Windows error messages for the entire installer and not just for an incomplete list of fail-points (\W{http://sourceforge.net/support/tracker.php?aid=1741061}{bug #1741061})

\b Fixed incorrect large version handling of \R{getfileversion}{GetFileVersion} (\W{http://sourceforge.net/support/tracker.php?aid=1742255}{bug #1742255}, \W{http://sourceforge.net/support/tracker.php?aid=1742562}{patch #1742562})

\b Fixed the ReverseSection macro in Sections.nsh (\W{http://sourceforge.net/support/tracker.php?aid=1742793}{bug #1742793})

\b Minor documentation improvements

\b Simplified \R{readreg_multi_sz}{REG_MULTI_SZ reader}

\b Use SHGetFolderPath where available to better support all users' folders

\S2{} Utilities and Plug-ins

\b \L{../Docs/Banner/Readme.txt}{Banner}: Avoid possible hangs when called from page callbacks (\W{http://sourceforge.net/support/tracker.php?aid=1743801}{bug #1743801})

\b \L{../Docs/NSISdl/ReadMe.txt}{NSISdl}: added /TRANSLATE2 for more "translator-friendly" strings (\W{http://sourceforge.net/support/tracker.php?aid=1656076}{patch #1656076})

\b \L{../Docs/NSISdl/ReadMe.txt}{NSISdl}: support downloads over 2gb (\W{http://sourceforge.net/support/tracker.php?aid=1723131}{patch #1723131})

\S2{} Translations

\b Added International Spanish

\S2{} Build System

\b Added support for HPUX (\W{http://sourceforge.net/support/tracker.php?aid=1714416}{patch #1714416})

\H{v2.28} 2.28

Released on June 8th, 2007

\S1{v2.28-cl} Changelog

\S2{} Major Changes

\b Added a workaround for a Windows 2000 bug that caused infinite loops when hitting a key on the instfiles page (\W{http://sourceforge.net/support/tracker.php?aid=1733692}{bug #1733692})

\S2{} Minor Changes

\b Improved compiler error strings (\W{http://sourceforge.net/support/tracker.php?aid=1722147}{patch #1722147})

\b \L{../Docs/Modern UI/Readme.html}{Modern UI}: added MUI_STARTMENUPAGE_BGCOLOR and MUI_DIRECTORYPAGE_BGCOLOR (\W{http://sourceforge.net/support/tracker.php?aid=1706187}{patch #1706187})

\b \L{../Docs/Modern UI/Readme.html}{Modern UI}: added MUI_LANGDLL_ALLLANGUAGES that forces the language selection dialog to display all languages (\W{http://sourceforge.net/support/tracker.php?aid=1724876}{patch #1724876})

\S2{} Utilities and Plug-ins

\b \L{../Docs/InstallOptions/Readme.html}{InstallOptions}: corrected documentation of TxtColor (\W{http://sourceforge.net/support/tracker.php?aid=1716614}{bug #1716614})

\b \L{../Docs/NSISdl/ReadMe.txt}{NSISdl}: added compatibility with some buggy servers that don't close the connection (\W{http://sourceforge.net/support/tracker.php?aid=1713562}{bug #1713562})

\b \L{../Docs/NSISdl/ReadMe.txt}{NSISdl}: fixed 100% CPU usage during domain resolution (\W{http://sourceforge.net/support/tracker.php?aid=1713560}{bug #1713560})

\S2{} Translations

\b Valencian and Catalan are no longer installed (\W{http://sourceforge.net/support/tracker.php?aid=1558822}{patch #1558822})

\S2{} Build System

\b Added IGNORETESTS for ignoring certain test files

\b Added wxWidgets to the requirement list

\b \L{../Docs/System/System.html}{System} now builds with GCC, but without System::Get and System::Call (\W{http://sourceforge.net/support/tracker.php?aid=1711089}{patch #1711089})

\H{v2.27} 2.27

Released on May 5th, 2007

\S1{v2.27-rl} Release Notes

\b This is a quick-fix release that addresses a bug introduced in the last version, 2.26, that caused $PROGRAMFILES and $COMMONFILES to translate into random strings in the uninstaller.

\S1{v2.27-cl} Changelog

\S2{} Major Changes

\b Fixed a bug introduced in 2.26 that made $PROGRAMFILES and $COMMONFILES unavailable in the uninstaller

\S2{} Minor Changes

\b Disable the X button on InstallOptions pages when CancelEnabled is 0

\b Fixed incomplete \R{messagebox}{MessageBox} usage line (\W{http://sourceforge.net/support/tracker.php?aid=1709460}{bug #1709460})

\S2{} Build System

\b Added \c{TOOLSET} option to allow selection of specific build tools (e.g. \c{scons TOOLSET=mingw})

\H{v2.26} 2.26

Released on April 27th, 2007

\S1{v2.26-rl} Release Notes

\b Installation on x64 systems is now fully supported with $PROGRAMFILES64, \R{setregview}{SetRegView} and \R{library}{Library}'s LIBRARY_X64 option.

\S1{v2.26-cl} Changelog

\S2{} Major Changes

\b Added LIBRARY_X64 option for \R{library_install}{InstallLib} and \R{library_uninstall}{UnInstallLib} for installing and uninstalling x64 libraries

\b Added \R{varconstant}{$PROGRAMFILES32}, \R{varconstant}{$PROGRAMFILES64}, \R{varconstant}{$COMMONFILES32} and \R{varconstant}{$COMMONFILES64}

\S2{} Minor Changes

\b Added \R{varconstant}{$EXEPATH} and \R{varconstant}{$EXEFILE}

\b Added $(^Language) language string which holds the language name (\W{http://sourceforge.net/support/tracker.php?aid=1235616}{RFE #1235616})

\b Added LIBRARY_IGNORE_VERSION option for \R{library_install}{InstallLib} (\W{http://sourceforge.net/support/tracker.php?aid=1699435}{patch #1699435})

\b Added VXD support for \R{getdllversionlocal}{GetDLLVersionLocal} on Windows NT4/2000/XP/Vista (\W{http://sourceforge.net/support/tracker.php?aid=1706624}{patch #1706624})

\b Avoid \R{library}{Library} warning when UnInstallLib is unused (\W{http://sourceforge.net/support/tracker.php?aid=1692761}{bug #1692761})

\b Fixed error handling of \R{copyfiles}{CopyFiles} on Windows NT4 (\W{http://sourceforge.net/support/tracker.php?aid=774966}{bug #774966})

\b Fixed font name encoding broken since 2.24

\b Fixed \L{../Examples/LogicLib.nsi}{LogicLib} duplicate labels across included files

\b Fixed preservation of folder attributes with \c{\R{file}{File} /a} (\W{http://sourceforge.net/support/tracker.php?aid=1699474}{bug #1699474})

\b Improved unused variable warning (\W{http://sourceforge.net/support/tracker.php?aid=1701050}{bug #1701050})

\b \R{library}{Library} macros no longer require version information for DLL files on POSIX

\b Minor documentation improvements (including \W{http://sourceforge.net/support/tracker.php?aid=971467}{RFE #971467})

\b \L{../Docs/Modern UI/Readme.html}{Modern UI}: added MUI_FINISHPAGE_CANCEL_ENABLED

\b \L{../Docs/Modern UI/Readme.html}{Modern UI}: added MUI_FINISHPAGE_REBOOTLATER_DEFAULT (\W{http://sourceforge.net/support/tracker.php?aid=1143843}{RFE #1143843})

\b \L{../Docs/Modern UI/Readme.html}{Modern UI}: block unsupported languages in the language selection dialog (\W{http://sourceforge.net/support/tracker.php?aid=1564986}{RFE #1564986})

\b \L{../Docs/Modern UI/Readme.html}{Modern UI}: disable Cancel button on the finish page (\W{http://sourceforge.net/support/tracker.php?aid=1267491}{bug #1267491})

\b \L{../Docs/Modern UI/Readme.html}{Modern UI}: reduce flicker caused by MUI_HEADER_TRANSPARENT_TEXT (\W{http://sourceforge.net/support/tracker.php?aid=1696610}{patch #1696610})

\b Support \R{quit}{Quit} in \R{pagecallbacks_explain}{show page functions}

\S2{} New/Changed Commands

\b Added \R{setregview}{SetRegView} to allow access to the x64 registry view

\b Installer icon support for \R{messagebox}{MessageBox} using MB_USERICON (\W{http://sourceforge.net/support/tracker.php?aid=1682748}{patch #1682748}, \W{http://sourceforge.net/support/tracker.php?aid=1530388}{RFE #1530388})

\S2{} Utilities and Plug-ins

\b \L{../Docs/InstallOptions/Readme.html}{InstallOptions 2.47}: line breaks support in Link controls (\W{http://sourceforge.net/support/tracker.php?aid=1683186}{patch #1683186}, \W{http://sourceforge.net/support/tracker.php?aid=1495949}{RFE #1495949}), added HLine and VLine controls (\W{http://sourceforge.net/support/tracker.php?aid=1683189}{patch #1683189})

\b \L{../Docs/makensisw/Readme.txt}{MakeNSISW}: fixed broken command line parameter handling introduced in the last version (\W{http://sourceforge.net/support/tracker.php?aid=1696534}{bug #1696534})

\b \L{../Examples/UserInfo/UserInfo.nsi}{UserInfo}: return effective user group on Vista, added GetOriginalAccountType (\W{http://sourceforge.net/support/tracker.php?aid=1687456}{patch #1687456}, \W{http://sourceforge.net/support/tracker.php?aid=1684777}{bug #1684777})

\S2{} Translations

\b Added Afrikaans translation (\W{http://sourceforge.net/support/tracker.php?aid=1699558}{patch #1699558})

\b French corrections (\W{http://sourceforge.net/support/tracker.php?aid=1676101}{patch #1676101})

\b German corrections

\S2{} Build System

\b Added SKIPTESTS option

\b Avoid a lot of code warnings (\W{http://sourceforge.net/support/tracker.php?aid=1676243}{bug #1676243})

\b Detect wxWidgets instead of assuming its existence on POSIX (\W{http://sourceforge.net/support/tracker.php?aid=1672315}{bug #1672315})

\b Fixed big-endian platform support broken since 2.24

\H{v2.25} 2.25

Released on March 31st, 2007

\S1{v2.25-cl} Changelog

\S2{} Major Changes

\b Added \L{../Include/Memento.nsh}{Memento.nsh} for easy persistency of user selections across different runs of the installer (\W{http://sourceforge.net/support/tracker.php?aid=1677624}{RFE #1677624})

\b Fixed a bug introduced in 2.24 that allowed the license page to be skipped even with agreement check box or radio buttons (\W{http://sourceforge.net/support/tracker.php?aid=1664428}{bug #1664428})

\S2{} Minor Changes

\b Added Vista manifest to StartMenu.nsi example to avoid backward compatibility mode that moves shortcuts (\W{http://sourceforge.net/support/tracker.php?aid=1664957}{bug #1664957})

\b Both dashes and slashes are supported as switch prefixes on makensis.exe (\W{http://sourceforge.net/support/tracker.php?aid=1661503}{bug #1661503})

\b Delete uninstaller temporary directory on reboot (\W{http://sourceforge.net/support/tracker.php?aid=1660626}{patch #1660626})

\b Distribute \L{../Examples/Plugin}{Plug-in example} with the NSIS package and not only with the source code

\b Fixed lossy Unicode conversion of dialog template strings (\W{http://sourceforge.net/support/tracker.php?aid=1662190}{bug #1662190})

\b Fixed \L{../Include/Sections.nsh}{Sections.nsh} macros support for $0 as input (\W{http://sourceforge.net/support/tracker.php?aid=1664648}{bug #1664648})

\b Fixed uninstallers support for the /D= command line switch

\b Improved logging of WriteReg commands

\b Minor documentation updates and fixes (including  \W{http://sourceforge.net/support/tracker.php?aid=1662419}{patch #1662419})

\S2{} New/Changed Commands

\b Added bitwise operators support for \R{define}{!define} /math (\W{http://sourceforge.net/support/tracker.php?aid=1669513}{RFE #1669513})

\b \R{scopepredefines}{__PAGEEX__} contains the page type (\W{http://sourceforge.net/support/tracker.php?aid=1644712}{patch #1644712})

\S2{} Utilities and Plug-ins

\b \L{../Docs/InstallOptions/Readme.html}{InstallOptions 2.46}: Use installer's name for message boxes (\W{http://sourceforge.net/support/tracker.php?aid=1661677}{bug #1661677})

\b \L{../Docs/makensisw/Readme.txt}{MakeNSISW}: Use Escape button to close (\W{http://sourceforge.net/support/tracker.php?aid=1666501}{RFE #1666501})

\b \L{../Docs/Math/Math.txt}{Math}: Removed mathcrt.lib

\b \L{../Docs/StartMenu/Readme.txt}{StartMenu}: Refuse empty paths (\W{http://sourceforge.net/support/tracker.php?aid=1684751}{bug #1684751})

\S2{} Translations

\b Fixed Galician language files (\W{http://sourceforge.net/support/tracker.php?aid=1663795}{bug #1663795})

\S2{} Build System

\b Added APPEND_LIBPATH and APPEND_CPPATH instead of the malfunctioning CPPPATH and LIBPATH

\b Added ChangeLog to source code package (\W{http://sourceforge.net/support/tracker.php?aid=1680508}{patch #1680508})

\b Avoid some warnings on VS2005 (\W{http://sourceforge.net/support/tracker.php?aid=1667950}{patch #1667950})

\b Fixed lzma test segfault on POSIX (\W{http://sourceforge.net/support/tracker.php?aid=1666873}{bug #1666873})

\b More strict-aliasing compatibility (\W{http://sourceforge.net/support/tracker.php?aid=1635841}{bug #1635841})

\b NSIS Menu finally built from source

\H{v2.24} 2.24

Released on February 17th, 2007

\S1{v2.24-cl} Changelog

\S2{} Major Changes

\b \R{library}{Library} uninstall-reinstall-reboot problems workaround (\W{http://sourceforge.net/support/tracker.php?aid=1097642}{bug #1097642})

\b Minimized number of cases where an error message appears in silent mode

\b New compiler predefines for \R{scopepredefines}{code scope} (\W{http://sourceforge.net/support/tracker.php?aid=1644712}{patch #1644712})

\S2{} Minor Changes

\b Added \R{usagereference}{/P command line option} for setting process priority of makensis (\W{http://sourceforge.net/support/tracker.php?aid=1638974}{patch #1638974})

\b Added support for 64-bit PE on POSIX to \R{getdllversionlocal}{GetDLLVersionLocal} (\W{http://sourceforge.net/support/tracker.php?aid=1643633}{patch #1643633})

\b Append last part of \R{ainstalldir}{InstallDir} only to $INSTDIR on directory pages (\W{http://sourceforge.net/support/tracker.php?aid=1174184}{bug #1174184})

\b Avoid permissions change of output files for \R{linefind}{LineFind} and \R{filejoin}{FileJoin} (\W{http://sourceforge.net/support/tracker.php?aid=1631773}{bug #1631773})

\b Fixed erroneous warnings on uninstall sections (\W{http://sourceforge.net/support/tracker.php?aid=1631889}{bug #1631889})

\b Fixed lossy Unicode conversion in resource editor (\W{http://sourceforge.net/support/tracker.php?aid=1083492}{bug #1083492})

\b Ignore invalid preprocessor commands in ignored block or comments

\b Made \R{viaddversionkey}{VIAddVersionKey} only query language tables instead of creating them and generating warnings (\W{http://sourceforge.net/support/tracker.php?aid=1626504}{bug #1626504})

\b Minor documentation updates and fixes (including  \W{http://sourceforge.net/support/tracker.php?aid=1642107}{bug #1642107}, \W{http://sourceforge.net/support/tracker.php?aid=1649187}{patch #1649187})

\b Warn when continuing a comment line using backslash (\W{http://sourceforge.net/support/tracker.php?aid=1554178}{bug #1554178})

\S2{} New/Changed Commands

\b \R{regdll}{RegDLL} and \R{unregdll}{UnregDLL} now use LOAD_WITH_ALTERED_SEARCH_PATH, so there's no need to use \R{setoutpath}{SetOutPath} to set the working directory (\W{http://sourceforge.net/support/tracker.php?aid=1638191}{bug #1638191})

\S2{} Utilities and Plug-ins

\b \L{../Docs/InstallOptions/Readme.html}{InstallOptions 2.45}: Added FOCUS flag (\W{http://sourceforge.net/support/tracker.php?aid=1634704}{patch #1634704}) and fixed paste with ONLY_NUMBERS flag (\W{http://sourceforge.net/support/tracker.php?aid=1652075}{bug #1652075})

\b \L{../Docs/makensisw/Readme.txt}{MakeNSISW}: settings in HKCU instead of HKLM (\W{http://sourceforge.net/support/tracker.php?aid=1411970}{bug #1411970}) and MRU menu accelerators

\S2{} Translations

\b Added Galician translation (\W{http://sourceforge.net/support/tracker.php?aid=1631765}{patch #1631765})

\S2{} Build System

\b Added a workaround for building on x64 POSIX platforms (\W{http://sourceforge.net/support/tracker.php?aid=1646170}{bug #1646170})

\b Added a workaround for strict-aliasing compatibility (\W{http://sourceforge.net/support/tracker.php?aid=1635841}{bug #1635841})

\b Added compression tests

\b Added STRIP, APPEND_CCFLAGS and APPEND_LINKFLAGS build options

\b Fixed SCons 0.96.94 compatibility

\H{v2.23} 2.23

Released on January 13th, 2007

\S1{v2.23-cl} Changelog

\S2{} Minor Changes

\b Fixed compiler crash on Mac OS X (\W{http://sourceforge.net/support/tracker.php?aid=1611866}{patch #1611866})

\b Fixed deletion of start menu icons in NSIS installer on Vista (\W{http://sourceforge.net/support/tracker.php?aid=1611251}{bug #1611251})

\S2{} Utilities and Plug-ins

\b Fixed incorrect \L{../Docs/nsExec/nsExec.txt}{nsExec} message handling in silent mode (\W{http://sourceforge.net/support/tracker.php?aid=1605581}{bug #1605581})

\b Fixed \L{../Docs/System/System.html}{System} crash when System::Store is called on an empty private stack (\W{http://sourceforge.net/support/tracker.php?aid=1620178}{bug #1620178})

\b Fixed \L{../Docs/System/System.html}{System} crash with parenthesis in filename (\W{http://sourceforge.net/support/tracker.php?aid=1616267}{bug #1616267})

\b Minor VPatch documentation enhancements (\W{http://sourceforge.net/support/tracker.php?aid=1624292}{patch #1624292})

\S2{} Build System

\b Fixed build failures on mingw32 (\W{http://sourceforge.net/support/tracker.php?aid=1610773}{bug #1610773})

\b Fixed build problems with MSTOOLKIT=yes

\H{v2.22} 2.22

Released on November 27th, 2006

\S1{v2.22-rl} Release Notes

\b Some changes have been made to the credit and license files in order to avoid copyrights and license related confusions. This does not change in any way how NSIS should or could be used. NSIS itself is still licensed with the permissive BSD-like \W{https://nsis.sourceforge.io/License}{zlib license}.

\b Upgrade is recommended for early adopters of WinVer.nsh, due to a bug in Windows 98 and ME detection.

\S1{v2.22-cl} Changelog

\S2{} Minor Changes

\b Fixed context menu not disappearing when moving from instfiles page (\W{http://sourceforge.net/support/tracker.php?aid=1115825}{bug #1115825})

\b Fixed \L{../Include/WinVer.nsh}{WinVer.nsh}'s detection of Windows 98 and ME (reported on the \W{http://forums.winamp.com/showthread.php?s=&threadid=257994&highlight=winver.nsh}{forum})

\b Fixed \R{writeuninstaller}{WriteUninstaller} failure to overwrite read-only uninstallers (\W{http://sourceforge.net/support/tracker.php?aid=1542530}{bug #1542530})

\b Licensed lzma under \R{cpl-license}{CPL} with a \R{lzma-special-exception}{special exception}, instead of LGPL

\b Minor documentation updates and fixes (including \W{http://sourceforge.net/support/tracker.php?aid=1584618}{bug #1584618}, \W{http://sourceforge.net/support/tracker.php?aid=1589877}{bug #1589877})

\b Updated comments in MUI examples (\W{http://sourceforge.net/support/tracker.php?aid=1595500}{bug #1595500})

\S2{} New/Changed Commands

\b Added `highest` option for \R{arequestexecutionlevel}{RequestExecutionLevel}

\S2{} Translations

\b Added Uzbek translation

\b Fixed corruption in Lithuanian (\W{http://sourceforge.net/support/tracker.php?aid=1602673}{bug #1602673})

\b Minor Breton fixes

\b Slovenian corrections (\W{http://sourceforge.net/support/tracker.php?aid=1590108}{patch #1590108})

\S2{} Build System

\b Added \W{https://web.archive.org/web/20060203051838/http://msdn.microsoft.com:80/vstudio/express/visualc/}{Microsoft Visual C++ 2005 Express} support

\b SCons requirement upgraded to 0.96.93

\H{v2.21} 2.21

Released on October 20th, 2006

\S1{v2.21-cl} Changelog

\S2{} Major Changes

\b Added \L{../Include/WinVer.nsh}{WinVer.nsh} for easy Windows version comparisons

\b Upgraded to lzma sdk 4.43 for faster compression

\S2{} Minor Changes

\b Added Vista support to GetWindowsVersion

\b Added \L{../Include/x64.nsh}{x64.nsh} including a few simple macros for handling x64 installations

\b Fixed a handle leak in \R{locate}{Locate}

\b Minor documentation updates and fixes

\b \L{../Docs/Modern UI/Readme.html}{Modern UI 1.76}: Added MUI_ABORTWARNING_CANCEL_DEFAULT (\W{http://sourceforge.net/support/tracker.php?aid=1547844}{RFE #1547844})

\S2{} New/Changed Commands

\b Added \R{arequestexecutionlevel}{RequestExecutionLevel} (\W{http://sourceforge.net/support/tracker.php?aid=1524709}{RFE #1524709})

\S2{} Translations

\b Added Valencian translation (\W{http://sourceforge.net/support/tracker.php?aid=1558822}{patch #1558822})

\b Bulgarian corrections

\b Slovenian corrections

\S2{} Build System

\b SCons requirement upgraded to 0.96.92

\H{v2.20} 2.20

Released on September 9th, 2006

\S1{v2.20-cl} Changelog

\S2{} Minor Changes

\b Better LogicLib errors (\W{http://sourceforge.net/support/tracker.php?aid=1537976}{bug #1537976})

\b Fixed incomplete plug-in call error messages (\W{http://sourceforge.net/support/tracker.php?aid=1535995}{bug #1535995})

\b Fixed incorrect file timestamp querying on big-endian platforms (\W{http://sourceforge.net/support/tracker.php?aid=1536377}{bug #1536377})

\b Minor documentation updates and fixes

\S2{} Translations

\b Danish corrections (\W{http://sourceforge.net/support/tracker.php?aid=1548190}{bug #1548190})

\b Fixed incorrectly encoded Turkish translation (\W{http://sourceforge.net/support/tracker.php?aid=1542765}{bug #1542765})

\b French corrections

\b Italian corrections (\W{http://sourceforge.net/support/tracker.php?aid=1546183}{bug #1546183})

\b Spanish corrections

\b Swedish corrections (\W{http://sourceforge.net/support/tracker.php?aid=1542680}{bug #1542680})

\b Ukrainian corrections

\S2{} Build System

\b Fixed NSIS_CONFIG_CONST_DATA_PATH being ignored on POSIX platforms (\W{http://sourceforge.net/support/tracker.php?aid=1515592}{bug #1515592})

\H{v2.19} 2.19

Released on August 6th, 2006

\S1{v2.19-cl} Changelog

\S2{} Minor Changes

\b Fixed \R{system}{!system} and \R{packhdr}{!packhdr} failure with quoted long file names (\W{http://sourceforge.net/support/tracker.php?aid=1509909}{bug #1509909})

\b Fixed build problems on 64bit platforms (\W{http://sourceforge.net/support/tracker.php?aid=1504772}{bug #1504772})

\b Fixed negative total size for data larger than 2GB in script compilation summary (\W{http://sourceforge.net/support/tracker.php?aid=1468852}{bug #1468852})

\b Minor documentation updates and fixes

\b Replaced \R{detect.netframework}{IsDotNETInstalled} with a simpler and better version

\S2{} New/Changed Commands

\b Made \R{if}{!if} compare strings case insensitively, like \R{strcmp}{StrCmp} and \R{ifdef}{!ifdef}

\S2{} Plug-ins

\b \L{../Docs/NSISdl/ReadMe.txt}{NSISdl}: fixed random DNS errors (\W{http://forums.winamp.com/showthread.php?s=&threadid=247723}{reported in the forums})

\b \L{../Docs/System/System.html}{System}: fixed a bug that caused stack corruption and stopped the installer from deleting System.dll when a function with no arguments was called (\W{http://sourceforge.net/support/tracker.php?aid=1535005}{bug #1535005})

\b \L{../Docs/System/System.html}{System}: fixed wrong return values for functions that return \c{short} or \c{char} (\W{http://sourceforge.net/support/tracker.php?aid=1535007}{bug #1535007})

\S2{} Translations

\b Added Norwegian Nynorsk translation (\W{http://sourceforge.net/support/tracker.php?aid=1503208}{patch #1503208})

\b Fixed typos in the French translation (\W{http://sourceforge.net/support/tracker.php?aid=1531874}{bug #1531874})

\H{v2.18} 2.18

Released on July 1st, 2006

\S1{v2.18-cl} Changelog

\S2{} Minor Changes

\b CRC32 implementation used potentially non-32bit types (\W{http://sourceforge.net/support/tracker.php?aid=1504758}{bug #1504758})

\b Fixed errors on multiple inclusion of \R{headers}{useful headers}

\b Fixed \R{getfileattributes}{GetFileAttributes}

\b Fixed incorrect text on browse dialog with \R{onverifyinstdir}{.onVerifyInstDir} (\W{http://sourceforge.net/support/tracker.php?aid=1504297}{bug #1504297})

\b Fixed \R{library}{Library}'s implementation on POSIX

\b Minor documentation updates and fixes

\S2{} Translations

\b Added Irish translation (\W{http://sourceforge.net/support/tracker.php?aid=1503639}{patch #1503639})

\b Catalan corrections (\W{http://sourceforge.net/support/tracker.php?aid=1504104}{bug #1504104})

\b Dutch corrections

\b Finnish corrections (Mozilla bug #341643)

\b Fixed Serbian grammar and typos

\b Italian corrections (Mozilla bug #340450)

\b Polish corrections (Mozilla bug #224532)

\b Portuguese (Brazil) corrections (Mozilla bug #340885)

\b Romanian corrections (Mozilla bug #340645)

\b Thai corrections

\b Turkish corrections (Mozilla bug #340511)

\H{v2.17} 2.17

Released on May 19th, 2006

\S1{v2.17-cl} Changelog

\S2{} Minor Changes

\b Fixed build failures and segfaults on PowerPC Mac OS X (\W{http://sourceforge.net/support/tracker.php?aid=1474597}{bug #1474597}, \W{http://sourceforge.net/support/tracker.php?aid=1481044}{bug #1481044})

\b Fixed \R{library}{Library}'s TLB version interpretation  (\W{http://sourceforge.net/support/tracker.php?aid=1471341}{bug #1471341})

\b Fixed possible stack corruption when using TypeLib.dll on an invalid TLB

\b Fixed \R{rmdir}{RMDir} deletion failure of read-only folders (\W{http://sourceforge.net/support/tracker.php?aid=1481664}{bug #1481664})

\b \L{../Docs/makensisw/Readme.txt}{MakeNSISW}: Fixed toolbar compressor selection menu, broken in the previous version (\W{http://sourceforge.net/support/tracker.php?aid=1466486}{bug #1466486})

\b Minor documentation improvements and fixes (including \W{http://sourceforge.net/support/tracker.php?aid=1469306}{bug #1469306}, \W{http://sourceforge.net/support/tracker.php?aid=1491616}{bug #1491616})

\S2{} Translations

\b Added missing Basque and Welsh files (\W{http://sourceforge.net/support/tracker.php?aid=1469471}{bug #1469471})

\b Brazilian Portuguese updates

\b Bulgarian fixes

\b Fixed a typo in Hebrew translation (\W{http://sourceforge.net/support/tracker.php?aid=1474587 }{bug #1474587})

\b Icelandic fixes and improvements

\H{v2.16} 2.16

Released on April 7th, 2006

\S1{v2.16-rn} Release Notes

\b 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 \W{http://sourceforge.net/tracker/?group_id=22049&atid=373085}{report} any incompatibility with specific platforms or build-tools.

\b 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.

\b 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.

\S1{v2.16-cl} Changelog

\S2{} Major Changes

\b Big-endian platforms are now fully supported by makensis

\b \R{library}{Library} now available on non-Windows platforms as well, although it requires the installed DLL to have version information

\b \L{../Docs/makensisw/Readme.txt}{MakeNSISW 2.1}: added "Cancel compilation" menu item

\S2{} New/Changed Commands

\b Added /utcdate switch to \R{define}{!define} for UTC dates (\W{http://sourceforge.net/support/tracker.php?aid=1459210}{RFE #1459210})

\S2{} Minor Changes

\b Added an optional timestamp in the log - NSIS_CONFIG_LOG_TIMESTAMP build setting (\W{http://sourceforge.net/support/tracker.php?aid=1460586}{RFE #1460586})

\b Added NSIS_WIN32_MAKENSIS define, defined only when compiling on Windows

\b Exported validate_filename to plug-ins

\b Fixed a crash in CResourceEditor when adding resources to a PE that already contains named resources

\b Fixed a small resource leak in the TypeLib::GetLibVersion plug-in function

\b Fixed CResourceEditor input sanity checks

\b Fixed incorrect \R{FileOpen}{FileOpen} input validation (\W{http://sourceforge.net/support/tracker.php?aid=1459789}{bug #1459789})
    
\b Fixed \R{library}{Library} failure with DLLs marked as read-only

\b Fixed lzma's POSIX implementation thread synchronization issues and resource leaks

\b Fixed makensis self-path detection on non-Windows platforms (NSIS_CONFIG_CONST_DATA_PATH=no)

\b Fixed replace_icon and generate_uninstall_icon_data icon validation

\b Made external CHM links safer to script exceptions (\W{http://sourceforge.net/support/tracker.php?aid=1449879}{bug #1449879})

\b Minor documentation improvements and fixes (including \W{http://sourceforge.net/support/tracker.php?aid=1077439}{bug #1077439}, \W{http://sourceforge.net/support/tracker.php?aid=1448374}{bug #1448374}, \W{http://sourceforge.net/support/tracker.php?aid=1464446}{RFE #1464446})

\b \L{../Docs/Modern UI/Readme.html}{Modern UI 1.75}: added show function for the start menu page (\W{http://sourceforge.net/support/tracker.php?aid=1448176}{RFE #1448176}), added MUI_HEADER_TRANSPARENT_TEXT for transparent header texts (\W{http://sourceforge.net/support/tracker.php?aid=1447766}{RFE #1447766})

\b \L{../Docs/NSISdl/ReadMe.txt}{NSISdl}: better header detection for better compatibility with proxies like WinProxy (\W{http://sourceforge.net/support/tracker.php?aid=1445735}{bug #1445735}), fail if no headers are sent, faster downloads (\W{http://sourceforge.net/support/tracker.php?aid=1465378}{patch #1465378})

\b \L{../Docs/StartMenu/Readme.txt}{StartMenu}: validate user input (\W{http://sourceforge.net/support/tracker.php?aid=1440636}{bug #1440636})

\S2{} Translations

\b Added Basque translation

\b Minor Slovenian fixes

\S2{} Build System

\b Added code tests for CResourceEditor and CDialogTemplate

\b Automatically pass build settings to script, eliminating the need to edit build.cpp for new settings

\b Fixed $PREFIX expansion during installation on POSIX platforms (\W{http://sourceforge.net/support/tracker.php?aid=1456943}{bug #1456943})

\b Fixed CHM dependencies

\b Fixed compatibility issue with EclipseNSIS (version wasn't prefixed with 'v')

\b Fixed GCC 4.1 compatibility (\W{http://sourceforge.net/support/tracker.php?aid=1456861}{patch #1456861})

\b Test for -Wl,-Map availability

\H{v2.15} 2.15

Released on March 4th, 2006

\S1{v2.15-cl} Changelog

\S2{} New/Changed Commands

\b Added \R{if}{!if} for more complex compile-time flow control (\W{http://sourceforge.net/support/tracker.php?aid=1412982}{patch #1412982})

\b Added /math switch to \R{define}{!define} for simple compile-time mathematical operations (\W{http://sourceforge.net/support/tracker.php?aid=1372561}{patch #1372561})

\S2{} Minor Changes

\b Added more replacement options to \R{wordreplace}{WordReplace}

\b Added NSIS_CONFIG_LOG_STDOUT configuration option for logging to stdout

\b Added path translation for \R{addincludedir}{!addincludedir} (\W{http://sourceforge.net/support/tracker.php?aid=1431958}{bug #1431958})

\b \R{configread}{ConfigRead} now sets the error flag, if the entry wasn't found

\b Documented \R{nop}{Nop}

\b Edit box in the installation directory selection page is now always LTR, even for RTL languages

\b Fixed improper iterator usage in dir_reader (\W{http://sourceforge.net/support/tracker.php?aid=1431593}{bug #1431593})

\b Fixed \c{\R{messagebox}{MessageBox} MB_TOPMOST} not showing up, if used as the first sections' instruction  (\W{http://sourceforge.net/support/tracker.php?aid=1400995}{bug #1400995})

\b Fixed \R{rmdir}{RMDir} skipping files with names starting with two dots (\W{http://sourceforge.net/support/tracker.php?aid=1420657}{bug #1420657})

\b \R{getoptions}{GetOptions} now sets the error flag, if the option wasn't found

\b Made \R{include}{!include} stop searching the include directories after a match is found (\W{http://sourceforge.net/support/tracker.php?aid=1441877}{bug #1441877})

\b Made \R{headers}{header functions} use /NOUNLOAD for faster plug-in calls

\b Minor documentation improvements and fixes (including \W{http://sourceforge.net/support/tracker.php?aid=1420352}{bug #1420352}, \W{http://sourceforge.net/support/tracker.php?aid=1432423}{bug #1432423})

\b More informative \R{aicon}{Icon} error messages (\W{http://sourceforge.net/support/tracker.php?aid=1174742}{bug #1174742})

\b New case-sensitive functions in headers: \R{wordfinds}{WordFindS}, \R{wordfind2xs}{WordFind2XS}, \R{wordfind3xs}{WordFind3XS}, \R{wordreplaces}{WordReplaceS}, \R{wordadds}{WordAddS}, \R{wordinserts}{WordInsertS}, \R{strfilters}{StrFilterS}, \R{textcompares}{TextCompareS}, \R{configreads}{ConfigReadS}, \R{configwrites}{ConfigWriteS}, \R{getoptionss}{GetOptionsS}

\S2{} Translations

\b Added proper language identifier for Breton

\b Breton translation improvements

\b Bulgarian translation improvements

\b Fixed Czech grammar mistakes (\W{http://sourceforge.net/support/tracker.php?aid=1427189}{patch #1427189})

\b Fixed Italian typo (\W{http://sourceforge.net/support/tracker.php?aid=1416988}{patch #1416988})

\b Updated Mongolian

\S2{} Build System

\b Fixed __BIG_ENDIAN__ definition

\b Fixed improper handling of paths passed to the compiler (\W{http://sourceforge.net/support/tracker.php?aid=1434215}{bug #1434215})

\b Improved GCC 4.2 compatibility (\W{http://sourceforge.net/support/tracker.php?aid=1434174}{patch #1434174})

\b Moved NSIS_VARS_SECTION from config.h to scons

\b Write all configuration to sconf.h instead of passing it on the command line

\H{v2.14} 2.14

Released on January 24th, 2006

\S1{v2.14-rn} Release Notes

\b This release fixes a critical bug that caused installers using plug-ins to fail loading on Windows 9x and NT. Upgrading from 2.13 is highly recommended.

\S1{v2.14-cl} Changelog

\S2{} Major Changes

\b Fixed a bug that corrupted $TEMP under Windows 9x and NT and caused \R{initpluginsdir}{InitPluginsDir} to fail (\W{http://sourceforge.net/support/tracker.php?aid=1412159}{bug #1412159})

\S2{} Minor Changes

\b Fixed a possible buffer overflow caused by long values of $0, when using large NSIS_MAX_STRLEN builds (above 4096)

\H{v2.13} 2.13

Released on January 21st, 2006

\S1{v2.13-rn} Release Notes

\b Language detection has changed. The default language is now set to the user's user-interface language instead of the locale language, as suggested by \W{http://web.archive.org/web/20050913082611/http://msdn.microsoft.com/library/en-us/intl/nls_0xrn.asp}{MSDN}. To restore the old behavior, use \c{System::Call "kernel32::GetUserDefaultLangID()i.a"} in \R{oninit}{.onInit}.

\S1{v2.13-cl} Changelog

\S2{} Major Changes

\b Default $LANGUAGE value is now based on user's UI language instead of locale (\W{http://sourceforge.net/support/tracker.php?aid=1324734}{bug #1324734})

\S2{} New/Changed Commands

\b Added \R{strcmps}{StrCmpS} for case sensitive string comparison (\W{http://sourceforge.net/support/tracker.php?aid=1381929}{patch #1381929})

\S2{} Minor Changes

\b Added system time support to \R{filefunc}{GetTime}

\b Fixed components page checkbox redraw problem under Windows 95 (\W{http://sourceforge.net/support/tracker.php?aid=1397031}{bug #1397031})

\b Fixed constant maximum string length in \R{FileRead}{FileRead} (changed from 1024 to NSIS_MAX_STRLEN)

\b Fixed empty $INSTDIR value in directory page show callback function (\W{http://sourceforge.net/support/tracker.php?aid=1209843}{bug #1209843})

\b Fixed relative jumps ignoring \c{\R{file}{File} /nonfatal} (\W{http://sourceforge.net/support/tracker.php?aid=1299100}{bug #1299100})

\b Fixed typo in NSIS Menu (\W{http://sourceforge.net/support/tracker.php?aid=1387748}{bug #1387748})

\b Issue a warning when \c{\R{abrandingtext}{BrandingText} /TRIM*} actually expands the label (\W{http://sourceforge.net/support/tracker.php?aid=1362443}{bug #1362443})

\b Made \c{\R{rmdir}{RMDir} /r} remove Unicode paths as well using short names (\W{http://sourceforge.net/support/tracker.php?aid=1378785}{bug #1378785})

\b Minor documentation improvements and fixes

\S2{} Utilities and Plug-ins

\b Fixed System plug-in \L{../Docs/System/System.html}{documentation} of callback functions (\W{http://sourceforge.net/support/tracker.php?aid=1403608}{bug #1403608})

\b Fixed System plug-in heap corruption (\W{http://sourceforge.net/support/tracker.php?aid=1403601}{bug #1403601})

\S2{} Translations

\b Mongolian translation improvements

\S2{} Build System

\b Better installation under POSIX with proper $\{NSISDIR\} detection and appropriate directory paths (/usr/bin, /usr/share/doc, etc.)

\H{v2.12} 2.12

Released on December 17th, 2005

\S1{v2.12-cl} Changelog

\S2{} Major Changes

\b Fixed compile-time assertion failure for big uninstallers (\W{http://sourceforge.net/support/tracker.php?aid=1380447}{bug #1380447})

\b \R{tutorial}{Tutorial} enhancements (including \W{http://sourceforge.net/support/tracker.php?aid=1366431}{bug #1366431})

\S2{} New/Changed Commands

\b Added /NONFATAL switch to \R{include}{!include} (\W{http://sourceforge.net/support/tracker.php?aid=1372048}{patch #1372048})

\S2{} Minor Changes

\b Clearer error message for double label definition (\W{http://sourceforge.net/support/tracker.php?aid=1374675}{patch #1374675})

\b Fixed browsed network root directory not being accepted (\W{http://sourceforge.net/support/tracker.php?aid=1331292}{bug #1331292})

\b Fixed incorrect \R{acompletedtext}{CompletedText} parsing (\W{http://sourceforge.net/support/tracker.php?aid=1349810}{bug #1349810})

\b Fixed sdbarker_tiny.exe's compatibility with NSIS_CONFIG_LOG (\W{http://sourceforge.net/support/tracker.php?aid=1365869}{bug #1365869})

\b Implemented nicer registry commands log (\W{http://sourceforge.net/support/tracker.php?aid=1340255}{patch #1340255})

\b Minor documentation improvements and fixes (including \W{http://sourceforge.net/support/tracker.php?aid=1355653}{patch #1355653}, \W{http://sourceforge.net/support/tracker.php?aid=1349810}{bug #1349810})

\b Multi-line comments are no longer ignored inside !ifdef'd block

\S2{} Utilities and Plug-ins

\b Added drag & drop support for zip2exe

\b Better drag & drop error handling in \L{../Docs/makensisw/Readme.txt}{MakeNSISW}

\b Fixed Math plug-in array issues (\W{http://sourceforge.net/support/tracker.php?aid=1235875}{bug #1235875})

\S2{} Translations

\b Added browse button Danish translation

\b Breton translation fixes and improvements

\b Fixed finish button Swedish translation

\S2{} Build System

\b Fixed endianness detection problem on POSIX platforms (\W{http://sourceforge.net/support/tracker.php?aid=1370179}{bug #1370179})

\b Generated installers use nsis-VERSION-setup.exe template

\H{v2.11} 2.11

Released on November 12th, 2005

\S1{v2.11-rl} Release Notes

\b Rebuilding existing installers that use \c{\R{asetoverwrite}{SetOverwrite} ifdiff}, might falsely overwrite files once

\S1{v2.11-cl} Changelog

\S2{} Major Changes

\b Added a workaround for a bug that prevented detection of some special folders (e.g. \R{varother}{$DESKTOP} for all users) on Windows 9x (\W{http://sourceforge.net/support/tracker.php?aid=1008632}{bug #1008632})

\b Fixed a crash caused by copying very long details to clipboard in the installation log page (\W{http://sourceforge.net/support/tracker.php?aid=1314004}{bug #1314004})

\S2{} New/Changed Commands

\b Added \R{tempfile}{!tempfile}, \R{delfile}{!delfile} and \R{appendfile}{!appendfile} for cross-platform handling of text files during compilation

\b Fixed \R{achangeui}{ChangeUI} input handling (\W{http://sourceforge.net/support/tracker.php?aid=1348473}{patch #1348473})

\b \R{ssectionin}{SectionIn} RO is no longer case sensitive

\S2{} Minor Changes

\b Added support URL to the NSIS package entry in the Add/Remove control panel (\W{http://sourceforge.net/support/tracker.php?aid=1349867}{RFE #1349867})

\b Fixed comment handling (\W{http://sourceforge.net/support/tracker.php?aid=1324898}{patch #1324898})

\b Fixed duplicate RegTool test in \R{library}{Library}

\b Fixed invalid language selection according to \R{varother}{$LANGUAGE} in \R{oninit}{.onInit} when only primary language match is found (\W{http://sourceforge.net/support/tracker.php?aid=1328629}{bug #1328629})

\b Fixed missing RegTool error after install-reboot-install-reboot sequence with \R{library}{Library}

\b Fixed portability issues with \L{../Examples/LogicLib.nsi}{LogicLib} (\W{http://sourceforge.net/support/tracker.php?aid=1320297}{bug #1320297}, \W{http://sourceforge.net/support/tracker.php?aid=1248336}{patch #1248336})

\b Fixed \c{\R{asetoverwrite}{SetOverwrite} ifdiff} always overwriting on FAT file system (\W{http://sourceforge.net/support/tracker.php?aid=1338423}{bug #1338423})

\b Fixed wrong size of red.bmp check box image

\b Larger browse button for localized texts (\W{http://sourceforge.net/support/tracker.php?aid=1314682}{bug #1314682})

\b Minor documentation improvements and fixes (including \W{http://sourceforge.net/support/tracker.php?aid=1349810}{bug #1349810})

\b Sort language names in language selection dialog

\b Use the temporary directory for \R{library}{Library} temporary files, instead of the possibly write-protected installation directory

\S2{} Utilities and Plug-ins

\b Added /OEM switch for OEM to ANSI conversion in \L{../Docs/nsExec/nsExec.txt}{nsExec} (\W{http://sourceforge.net/support/tracker.php?aid=1346737}{patch #1346737})

\b Added /PROXY switch for manual proxy configuration in \L{../Docs/NSISdl/ReadMe.txt}{NSISdl} (\W{http://sourceforge.net/support/tracker.php?aid=1334166}{patch #1334166})

\b Added solid compression check box to zip2exe (\W{http://sourceforge.net/support/tracker.php?aid=1334155}{patch #1334155})

\b Added stdin in MakeNSISw to allow xcopy to run

\b Added timestamp handling to zip2exe (\W{http://sourceforge.net/support/tracker.php?aid=1349853}{bug #1349853})

\b Fixed input validation of \L{../Docs/nsExec/nsExec.txt}{nsExec}

\b \L{../Docs/InstallOptions/Readme.html}{InstallOptions 2.44}: Added HWND and HWND2 entries to the INI file to avoid messy calculations of the correct control id

\S2{} Translations

\b Slovenian translation fixes and improvements

\S2{} Build System

\b Added a workaround for linking errors caused by a bad library included in recent Platform SDK versions

\b Check for and use -pthread linker flag

\b Improved FreeBSD portability

\b Nicer error message for SCons version older than 0.96.90

\H{v2.10} 2.10

Released on October 4th, 2005

\S1{v2.10-cl} Changelog

\S2{} Major Changes

\b Added auto completion to the directory page

\b Fixed a bug, introduced in 2.09, that caused \R{aallowrootdirinstall}{AllowRootDirInstall} to fail

\b Fixed a thread leak in the POSIX implementation of LZMA

\b \L{../Docs/VPatch/Readme.html}{VPatch 3.1}: MD5 checksums, better performance, and some bug fixes (including \W{http://sourceforge.net/support/tracker.php?aid=1219806}{bug #1219806})

\S2{} Minor Changes

\b Added rounding of required and available size on the directory page (1.59 => 1.6 instead of 1.5)

\b Added WS_EX_LEFTSCROLLBAR style in RTL mode (\W{http://sourceforge.net/support/tracker.php?aid=1283528}{bug #1283528})

\b Fixed alteration of the working directory by FileRequest in InstallOptions (\W{http://sourceforge.net/support/tracker.php?aid=1287731}{bug #1287731})

\b Fixed bad mnemonic key in MakeNSISw menu (\W{http://sourceforge.net/support/tracker.php?aid=1288159}{bug #1288159})

\b Fixed negative size values showing up after the decimal point in the directory page for very big sizes

\b Minor documentation improvements and fixes

\b \L{../Docs/Modern UI/Readme.html}{Modern UI 1.74}: Fixed compile error when checkboxes are used on multiple finish pages

\S2{} Translations

\b Fixed a bug in Slovenian translation that caused lots of missing language string warnings

\b Fixed typos in Serbian translation

\b Fixed typos in Thai translation

\b Updated Simplified Chinese translation

\S2{} Build System

\b Automatic fix for \W{http://forums.winamp.com/showthread.php?s=&threadid=179848}{VC6 SP6 compile error}

\b Moved most of the configuration from config.h to the build system

\b Removed all optimizations and symbol stripping in debug mode

\b SCons requirement updated to 0.96.91

\b VPatch can be built on POSIX as well

\H{v2.09} 2.09

Released on August 26th, 2005

\S1{v2.09-cl} Changelog

\S2{} Major Changes

\b Fixed a bug introduced in 2.08, that prevented uninstallers from deleting $INSTDIR

\b Fixed a bug that caused "C:\\ " to be considered a valid installation directory, even without \R{aallowrootdirinstall}{AllowRootDirInstall}

\S2{} New/Changed Commands

\b \R{var}{Var} can now be used in sections and functions, but only with the /GLOBAL flag

\S2{} Minor Changes

\b Applied \W{http://sourceforge.net/support/tracker.php?aid=1248335}{patch #1248335} for greater portability of examples

\b \R{filefunc}{FileFunc}: workaround for GetLongPathName which is not available on Windows 95 (Instructor)

\b Fixed an unused label warning in \R{library}{Library}

\b Fixed duplicate label errors in \L{../Examples/LogicLib.nsi}{LogicLib} and \R{library}{Library} when used in different files (\W{http://sourceforge.net/support/tracker.php?aid=1243865}{bug #1243865})

\b \L{../Docs/Modern UI/Readme.html}{Modern UI 1.73}: fixed checkboxes on uninstaller finish page or multiple finish pages

\b \R{wordfunc}{WordFunc}: fixed incorrect replacement of first word in WordReplace, under some conditions (Instructor)

\S2{} Translations

\b Renamed Malaysian to Malay

\b Update Thai translation to the latest version

\b Updated Kurdish MUI translation to the latest version

\S2{} Build System

\b Fixed a number of build problems on POSIX platforms which caused plug-ins to malfunction and installers to crash

\H{v2.08} 2.08

Released on July 23rd, 2005

\S1{v2.08-rn} Release Notes

\b The Archive has been replaced with a \W{https://nsis.sourceforge.io/wiki/}{Wiki}. The new Wiki allows everyone to edit all pages so there's no longer need to hunt for the original author. It also allows everyone to upload plug-ins and not just administrators. And as if that's not enough, it looks better and provides easier and more feature-rich syntax.

\S1{v2.08-cl} Changelog

\S2{} Major Changes

\b Added Instructor's \R{headers}{header files of useful functions}

\b \R{library}{Library} improvements: ordered registration after reboot, smaller RegTool and separate process for each registration to avoid conflicts (thanks stb)

\S2{} Minor Changes

\b Added Bosnian and Kurdish translations

\b Added per-user nsisconf.nsh file in %APPDATA% or $HOME, depending on the platform (\W{http://sourceforge.net/support/tracker.php?aid=1223041}{patch #1223041})

\b Documentation improvements and fixes (including \W{http://sourceforge.net/support/tracker.php?aid=1202495}{bug #1202495}, \W{http://sourceforge.net/support/tracker.php?aid=1227610}{bug #1227610}, 
\W{http://sourceforge.net/support/tracker.php?aid=1238686}{bug #1238686}, \W{http://sourceforge.net/support/tracker.php?aid=1225167}{patch #1225167}, \W{http://sourceforge.net/support/tracker.php?aid=1240601}{RFE #1240601})

\b Fixed _?= being ignored, if the uninstaller path is not quoted and is separated with only space from _?=

\b Fixed \R{library}{Library} failing on paths with spaces (\W{http://sourceforge.net/support/tracker.php?aid=1234283}{bug #1234283})

\b Fixed UpgradeDLL compilation error (\W{http://sourceforge.net/support/tracker.php?aid=1230336}{bug #1230336})

\b Improved French, Ukrainian and Luxembourgish translation

\b Made \R{rmdir}{RMDir} set the error flag, if passed an invalid directory path (\W{http://sourceforge.net/support/tracker.php?aid=1227553}{bug #1227553})

\b Made uninstallers copy themselves into a subdirectory of the temporary directory to avoid DLLs left in the temporary directory from being loaded by the uninstaller (\W{http://sourceforge.net/support/tracker.php?aid=1214319}{patch #1214319})

\b Missing \R{langstring}{LangString} warning now uses the language name, if possible

\b zip2exe: fixed restriction of extraction path length and updated to \W{http://www.zlib.net/}{zlib} 1.2.3 (\W{http://sourceforge.net/support/tracker.php?aid=1226381}{bug #1226381})

\S2{} Build System

\b Added linker script to assure correct order of sections when building using GNU tools

\b Added \c{test} target

\b UIs are now built from source

\H{v2.07} 2.07

Released on June 20th, 2005

\S1{v2.07-rn} Release Notes

\b NSIS Update was removed and the update check was moved back to MakeNSISw (Help -> NSIS Update). Use the \R{build_nightly}{nightly builds} to get the latest compiled binaries from CVS.

\b Solid compression is no longer the default for bzip2 and lzma, use \c{SetCompressor /SOLID bzip2} or \c{SetCompressor /SOLID lzma} for solid compression.

\b Source code is no longer supplied with the installer package. Source code can be downloaded from CVS or from the \W{https://nsis.sourceforge.io/download/}{download page}.

\b The directory structure of the installation has been changed. All documentation is now in the Docs folder and all examples are in the Examples folder.

\S1{v2.07-cl} Changelog

\S2{} Major Changes

\b Added /SOLID switch for \R{asetcompressor}{SetCompressor}

\b New build system (see \k{build})

\b Stubs (exeheads) are no longer compiled into makensis.exe, but kept in the Stubs folder

\S2{} New/Changed Commands

\b \R{enumregvalue}{EnumRegValue} sets the error flag, if the enumeration index is out of range (\W{http://sourceforge.net/support/tracker.php?aid=1178756}{bug #1178756})

\b \R{expandenvstrings}{ExpandEnvStrings} now sets the error flag as the documentation states

\b Made \R{file}{File} /oname throw an error if the first character is a quote

\S2{} Minor Changes

\b Added \R{varconstant}{$LOCALAPPDATA} (\W{http://sourceforge.net/support/tracker.php?aid=1172123}{RFE #1172123})

\b Changed MUI dialogs charset from ANSI_CHARSET to DEFAULT_CHARSET (\W{http://sourceforge.net/support/tracker.php?aid=1193736}{bug #1193736}, \W{http://sourceforge.net/support/tracker.php?aid=1201712}{bug #1201712})

\b Fixed \R{varother}{$INSTDIR} changing, even if user clicked Cancel in browse dialog

\b Fixed a crash in makensis when using \R{awindowicon}{WindowIcon} off (\W{http://sourceforge.net/support/tracker.php?aid=1123353}{bug #1123353})

\b Fixed \R{call}{Call} :label in uninstall code

\b Fixed compilation error without NSIS_CONFIG_COMPONENTPAGE

\b Fixed compilation errors on various platforms (including \W{http://sourceforge.net/support/tracker.php?aid=1179116}{patch #1179116}, \W{http://sourceforge.net/support/tracker.php?aid=1193692}{patch #1193692})

\b Fixed \R{createdirectory}{CreateDirectory} setting the error flag for directories with two consecutive backslashes (\W{http://sourceforge.net/support/tracker.php?aid=1119442}{bug #1119442})

\b Fixed \R{library}{InstallLib} setting the error flag for new shared libraries (\W{http://sourceforge.net/support/tracker.php?aid=1181951}{bug #1181951})

\b Fixed letters case in examples (\W{http://sourceforge.net/support/tracker.php?aid=1184571}{patch #1184571})

\b Fixed logging state being reset after the directory page (\W{http://sourceforge.net/support/tracker.php?aid=1168711}{bug #1168711})

\b Fixed overlapping icon in welcome page (\W{http://sourceforge.net/support/tracker.php?aid=1221772}{bug #1221772})

\b Fixed \R{rmdir}{RMDir} /REBOOTOK setting the reboot flag when trying to delete non-existent directory (\W{http://sourceforge.net/support/tracker.php?aid=1073792}{bug #1073792})

\b Minor documentation fixes and improvements (including \W{http://sourceforge.net/support/tracker.php?aid=1220940}{bug #1220940})

\b Removed NSIS Update, MakeNSISw checks for new versions again

\S2{} Include Files

\b More messages in \L{../Include/WinMessages.nsh}{WinMessages.nsh} (Shengalts Aleksander)

\b Some more useful macros in \L{../Include/Colors.nsh}{Colors.nsh} (Joel)

\S2{} Utilities and Plug-ins

\b Fixed halibut segfaults on PowerPC (\W{http://sourceforge.net/support/tracker.php?aid=1180886}{patch #1180886})

\b \L{../Docs/Math/Math.txt}{Math}: Fixed memory leak (brainsucker)

\b zip2exe: upgraded to zlib 1.2.2

\S2{} Translations

\b Added Malaysian translation (Azwa)

\b Added Welsh translation (Rhoslyn Prys)

\b Fixed Breton NLF file (credits weren't commented)

\b Fixed duplicate accelerator in French translation (\W{http://sourceforge.net/support/tracker.php?aid=1168652}{bug #1168652})

\b Improved French translation (\W{http://sourceforge.net/support/tracker.php?aid=1220277}{bug #1220277})

\b Updated Russian translation (Dmitry)

\b Updated translation credits (\W{http://sourceforge.net/support/tracker.php?aid=1223362}{patch #1223362})

\H{v2.06} 2.06

Released on March 19th, 2005

\S1{v2.06-cl} Changelog

\S2{} Major Changes

\b Fixed a bug, introduced in 2.05, that made components selection not function properly if the first section in the script was a section group

\b Fixed a bug, introduced in 2.05, that corrupted the state of section groups inside section groups (\W{http://sourceforge.net/support/tracker.php?aid=1155836}{bug #1155836})

\S2{} New/Changed Commands

\b Added MB_RTLREADING style to \R{messagebox}{MessageBox} (\W{http://sourceforge.net/support/tracker.php?aid=1159701}{RFE #1159701})

\b All registry instructions now accept SHCTX which is replaced with HKLM or HKCU at runtime according to \R{setshellvarcontext}{SetShellVarContext} (\W{http://sourceforge.net/support/tracker.php?aid=1124901}{RFE #1124901})

\S2{} Minor Changes

\b Added Belarusian and Icelandic language files

\b Added components.c to the Makefile (\W{http://sourceforge.net/support/tracker.php?aid=1123154}{patch #1123154})

\b Added missing \R{clearerrors}{ClearErrors} in GetWindowsVersion (\W{http://sourceforge.net/support/tracker.php?aid=1155588}{bug #1155588})

\b Fixed a bug in install.sh that made it try to install a non existing directory

\b Fixed a bug in the Russian language file distributed with 2.05

\b Fixed a bug that caused \R{asetfont}{SetFont} to not function properly with RTL languages on Windows 9x (\W{http://sourceforge.net/support/tracker.php?aid=1159700}{bug #1159700})

\b Fixed a bug, introduced in 2.05, that caused problems with \R{ainsttype}{InstType} /COMPONENTSONLYONCUSTOM (\W{http://sourceforge.net/support/tracker.php?aid=1155060}{bug #1155060})

\b Fixed a crash caused by compiling large uninstallers (\W{http://sourceforge.net/support/tracker.php?aid=1144763}{bug #1144763})

\b Fixed compile error without NSIS_CONFIG_CRC_SUPPORT

\b Fixed compile errors of MinGW on POSIX for source code under Contrib (\W{http://sourceforge.net/support/tracker.php?aid=1164307}{patch #1164307})

\b Fixed plug-ins directory initialization for extremely restricted guest users with no directory listing access to the temporary directory

\b Made install.sh not use $(tempfile) and install files under /usr/share instead of /lib (\W{http://sourceforge.net/support/tracker.php?aid=1120399}{patch #1120399})

\b Minor documentation updates and fixes

\b Updated Slovenian, Serbian and Serbian Latin language files

\S2{} Utilities and Plug-ins

\b \L{../Docs/AdvSplash/advsplash.txt}{AdvSplash}: Fixed a small memory leak (Thanks Takhir)

\b \L{../Docs/StartMenu/Readme.txt}{StartMenu}: Added support for \R{setctlcolors}{SetCtlColors} (\W{http://sourceforge.net/support/tracker.php?aid=711900}{RFE #711900})

\H{v2.05} 2.05

Released on February 4th, 2005

\S1{v2.05-rn} Release Notes

\b A lot of changes were made to the behavior of sections/components and related instructions. The changes were thoroughly tested, but may still cause minor incompatibilities with old scripts. Please let us know if your script no longer functions as expected with these changes.

\S1{v2.05-cl} Changelog

\S2{} New/Changed Commands

\b Renamed SubSection and SubSectionEnd to \R{ssectiongroup}{SectionGroup} and \R{ssectiongroupend}{SectionGroupEnd}

\b \R{sectionsetflags}{SectionSetFlags}, when used on a section group, toggles its children too

\b \R{sectionsettext}{SectionSetText} works better with variables (parses immediately and treats an empty variable as an empty string)

\b \R{ssetcurinsttype}{SetCurInstType} works without the components page

\S2{} Minor Changes

\b Added Breton translation

\b \L{../Docs/AdvSplash/advsplash.txt}{AdvSplash}: Fixed double delay time in some cases

\b Documentation fixes and enhancements (including \W{http://sourceforge.net/support/tracker.php?aid=1098454}{patch #1098454})

\b Fixed case sensitive name comparison with \R{file}{File} /x, when not using wildcards

\b Fixed extraction status ending prior to 100%

\b Fixed negative values of available space in the directory page (\W{http://sourceforge.net/support/tracker.php?aid=1114876}{bug #1114876})

\b Fixed system.nsi example crash (\W{http://sourceforge.net/support/tracker.php?aid=1102255}{bug #1102255})

\b Fixed unused label warnings with \R{library}{Library macros}

\b Improved some error messages

\b \L{../Docs/InstallOptions/Readme.html}{InstallOptions 2.42}: Added an image displaying example, added TRANSPARENT flag for BITMAP fields (\W{http://sourceforge.net/support/tracker.php?aid=1079715}{RFE #1079715} - funded by Chris Morgan)

\b Invisible sections weren't always affected by a change of the installation type (\W{http://sourceforge.net/support/tracker.php?aid=1045722}{bug #1045722})

\b Language file fixes

\b Made pages refresh after an aborted leave function

\b Partially selected section groups can now be toggled

\H{v2.04} 2.04

Released on January 7th, 2005

\S1{v2.04-cl} Changelog

\S2{} Major Changes

\b Fixed $0 changed by \R{file}{File} /r

\b Fixed empty directory not included by \R{file}{File} /r

\b Fixed invalid directory creation by \R{file}{File} /r on POSIX

\b Fixed Unicode conversion problems on POSIX

\S2{} Minor Changes

\b Added new test for dir_reader::matches

\b Fixed LibraryLocal failure with UNC paths

\b Fixed VC 7.1 and GCC 3.4 compile errors

\b Language file fixes

\H{v2.03} 2.03

Released on December 3rd, 2004

\S1{v2.03-rn} Release Notes

\b If you're using \c{File /r folder} in your script, it's recommended you replace it with \c{File /r folder\\*} for faster compilation and so no other folders named \e{folder} will be included

\b Command line switches prefix on POSIX has changed to a dash

\b The plug-in API change is backward compatible

\S1{v2.03-cl} Changelog

\S2{} Major Changes

\b Added another parameter to plug-in functions with a pointer to exec_flags and ExecuteCodeSegment

\b Fixed handling of absolute paths on POSIX

\b Made \R{regdll}{RegDLL} load and unload a DLL exactly once to fix crashes with COM DLLs registration

\S2{} New/Changed Commands

\b Added /date switch to !define for definition of date and time constants

\b Added /x switch for \R{file}{File} and \R{reservefile}{ReserveFile} to exclude files and directories

\b Made \R{file}{File}'s /r switch always search in subdirectories, even if the given path points to an existing directory

\S2{} Minor Changes

\b Added LIBRARY_SHELL_EXTENSION and LIBRARY_COM to \R{library}{Library}

\b Added missing #include

\b Added NSIS_LZMA_COMPRESS_WHOLE to the script define list

\b Documentation fixes and improvements

\b Fixed an access violation in case of a script jump beyond the last entry

\b Fixed keyboard navigation in the instfiles page while installing

\b Fixed unpacking window not showing when \R{abggradient}{BGGradient} is used

\b Fixed unused label warning in \R{library}{Library.nsh}

\b Language file fixes

\b \L{../Docs/Modern UI/Readme.html}{Modern UI 1.72}: Fixed state of Cancel button on Finish page when used in installer and uninstaller, added a string for NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE

\b nsisconf.nsh was not always parsed when compiling using MakeNSISw

\H{v2.02} 2.02

Released on October 23rd, 2004

\S1{v2.02-cl} Changelog

\S2{} Major Changes

\b Added lots of small usage examples to the documentation

\b Made \R{jumps}{relative jumps} work with instructions that add multiple entries

\b Made the datablock optimizer much faster

\b Made the installer deny reboots while running (\W{http://msdn.microsoft.com/en-us/library/aa376890}{WM_QUERYENDSESSION})

\b Made the \R{reboot}{Reboot} command first quit and then reboot so everything is always cleaned-up

\S2{} New/Changed Commands

\b Added << and >> to \R{intop}{IntOp}

\b Added \R{geterrorlevel}{GetErrorLevel} and \R{seterrorlevel}{SetErrorLevel}

\b Fixed \R{copyfiles}{CopyFiles} usage checking problem

\b Made \R{reboot}{Reboot} call \R{onrebootfailed}{.onRebootFailed} and quit on failure instead of setting the error flag

\S2{} Minor Changes

\b Added Albanian language files

\b Added NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE configuration option which makes components only be toggled when the user clicks on the checkbox and makes \R{onmouseoversection}{.onMouseOverSection} only be called when the user selects a component

\b Added some CppUnit tests

\b Both _?= and /D= now require a space before them so they can safely remove the space from $CMDLINE

\b Fixed a bug that caused the uninstaller CRC-check to fail if \R{packhdr}{!packhdr} created a non-512-bytes-aligned exehead

\b Fixed a compiler crash caused by using \R{getcurrentaddress}{GetCurrentAddress}

\b Fixed errors when using '\R{file}{File} /r .' on Windows

\b Fixed gcc 3.4 compile errors

\b Fixed inconsistencies between error levels and the \R{errorlevels}{documentation}

\b Fixed some minor memory leaks

\b Language file fixes

\b Makefile improvements

\b \L{../Docs/Modern UI/Readme.html}{Modern UI 1.71}: Made the selected language only be saved if the installation was successful

\b Some code refactoring

\b \L{../Docs/StrFunc/StrFunc.txt}{StrFunc}: Rewrote StrSort and fixed StrStrAdv. See the \L{../Docs/StrFunc/StrFunc.txt}{readme} for a complete changelog

\S2{} Utilities and Plug-ins

\b \L{../Docs/Banner/Readme.txt}{Banner}: Fixed some cases where the banner would not show on the foreground

\H{v2.01} 2.01

Released on September 24th, 2004

\S1{v2.01-rn} Release Notes

\b See \R{build_posix}{Compiling NSIS Sources} for information about compiling makensis on POSIX platforms

\b NSIS doesn't create installers for Linux/Mac OS X etc., but you can compile Windows installers on these platforms

\b UpgradeDLL is still provided in UpgradeDLL.nsh for backwards compatibility

\S1{v2.01-cl} Changelog

\S2{} Major Changes

\b Compiler (makensis) supports POSIX platforms (Linux, *BSD, Mac OS X, etc.)

\b \R{library}{New system} for DLL/TLB library setup

\S2{} New/Changed Commands

\b Added \R{abgfont}{BGFont} that allows setting the background text font

\b Added SW_HIDE to \R{execshell}{ExecShell}'s accepted show modes

\b \R{rmdir}{RMDir} can now be used with both /r and /REBOOTOK at the same time

\b Extended maximum binary data for \R{writeregbin}{WriteRegBin} to 3 * NSIS_MAX_STRLEN

\b Added \R{execute}{!execute}

\S2{} Minor Changes

\b LZMA exehead is now 34KB and should also decompress faster

\b Windows 95 (OSR2)/98/ME no longer see drive free space capped to 2GB

\b \L{../Docs/Modern UI/Readme.html}{Modern User Interface}: New orange theme by MoNKi

\b Speedup background gradient painting

\b \L{../Examples/LogicLib.nsi}{LogicLib} 2.5: Added AndIf, AndUnless, OrIf, OrUnless. Avoids unused variable warnings by requiring !defines before using certain features.

\b \L{../Docs/StrFunc/StrFunc.txt}{StrFunc}: Added support for uninstaller, some fixes and improvements. See the \L{../Docs/StrFunc/StrFunc.txt}{readme} for a complete changelog

\b The plug-ins folder is properly removed when the system is rebooted

\b \R{setoutpath}{SetOutPath} "-" works again

\b Fixed a bug which made plug-ins that didn't have lower case extension not be found

\b Fixed a bug that caused directories with drives that had their current directory set to an invalid directory to not be accepted in the directory selection page

\b Fixed a crash in makensis caused by defining a macro in a file included by another macro

\b makensis shows meaningful errors for compression errors instead of just magic numbers

\b Fixed a bug with \R{aallowrootdirinstall}{AllowRootDirInstall} used along with \R{ainstalldirregkey}{InstallDirRegKey} that caused the directory in the registry to be ignored

\b Fixed \R{FileRead}{FileRead} setting the error flag when a null character is the first character it reads

\b Fixed a bug which caused the background gradient to paint slowly

\b \R{file}{File} paths relative to the root folder work again

\b Added \L{../Include/Colors.nsh}{Colors.nsh}

\b Made Times New Roman default font for the background text because it should always have support for the locale's language

\b Fixed compilation of NSISdl under VS.NET

\b \R{setctlcolors}{SetCtlColors} /BRANDING wasn't working right, if just one of the background or text color were specified

\b Language file fixes and improvements

\S2{} Utilities and Plug-ins

\b \L{../Docs/System/System.html}{System}: New, hopefully more informative, documentation; fixed some bugs

\b \L{../Docs/Banner/Readme.txt}{Banner}: Added getWindow to allow greater control over the banner window

\b \L{../Docs/InstallOptions/Readme.html}{InstallOptions 2.41}: Bitmaps are now automatically centered, fixed a bug which prevented enabling the next button from the leave function of InstallOptions pages, fixed a rare freeze

\b Zip2Exe 0.32: Fixed codepage problems

\b \L{../Docs/nsExec/nsExec.txt}{nsExec}: Always create a valid input handle, fixed a problem when called from a path with spaces

\b \L{../Docs/VPatch/Readme.html}{VPatch}: Close all open file handles when one of them fail to open

\b \L{../Docs/NSISdl/ReadMe.txt}{NSISdl}: Added /NOIEPROXY (based on memph's code)

\H{v2.0} 2.0

Released on February 7th, 2004

\S1{v2.0-rn} Release Notes

\b Finnish, Bulgarian and Thai language files are outdated and do not contain all needed translations

\S1{v2.0-cl} Changelog

\S2{} Changes from 1.98

\b \R{langs}{Multiple languages in one installer support} (with RTL support)

\b \R{plugindlls}{Easier plug-in system}

\b \L{../Docs/Modern UI/Readme.html}{Modern User Interface} (optional)

\b \W{http://www.7-zip.org/}{LZMA} compression which provides installers 20% smaller than bzip2

\b \R{pages}{Easier paging system} (no more .onNextPage, .onPrevPage)

\b Components are presented as a tree which allows sub components

\b \R{varuser}{User variables} ($VARNAME)

\b \R{aicon}{Icon} and \R{auninstallicon}{UninstallIcon} support any color depth and sizes, not just 32x32x16

\b \R{acheckbitmap}{CheckBitmap} supports any color depth

\b Improved large files handling

\b \R{alicensedata}{License data} can be RTF

\b CHM documentation for easy browsing

\b \R{silent}{Better silent support}

\b New include files for easier scripting: \L{../Examples/LogicLib.nsi}{LogicLib}, \L{../Docs/StrFunc/StrFunc.txt}{StrFunc} and \L{../Include/Sections.nsh}{Sections}

\b Improved plug-ins: \L{../Docs/InstallOptions/Readme.html}{InstallOptions}, \L{../Docs/NSISdl/ReadMe.txt}{NSISdl} and \L{../Docs/Splash/splash.txt}{Splash}

\b New plug-ins: \L{../Docs/AdvSplash/advsplash.txt}{AdvSplash}, \L{../Docs/Banner/Readme.txt}{Banner}, \L{../Docs/BgImage/BgImage.txt}{BgImage}, \L{../Docs/Dialer/Dialer.txt}{Dialer}, \L{../Examples/languages.nsi}{LangDLL}, \L{../Docs/Math/Math.txt}{Math}, \L{../Docs/nsExec/nsExec.txt}{nsExec}, \L{../Docs/StartMenu/Readme.txt}{StartMenu}, \L{../Docs/System/System.html}{System}, \L{../Examples/UserInfo/UserInfo.nsi}{UserInfo} and \L{../Docs/VPatch/Readme.html}{VPatch}

\b New and improved utilities: \L{../Docs/makensisw/Readme.txt}{MakeNSISw}, NSIS Menu (NSIS.exe), NSIS Update (Bin\\NSIS Update.exe) and zip2exe (Bin\\zip2exe.exe)

\b New commands: \R{addplugindir}{!addplugindir}, \R{echo}{!echo}, \R{ifmacrodef}{!ifmacrodef}, \R{ifmacrondef}{!ifmacrondef}, \R{verbose}{!verbose}, \R{aaddbrandingimage}{AddBrandingImage}, \R{asetallowskipfiles}{AllowSkipFiles}, \R{achangeui}{ChangeUI}, \R{acheckbitmap}{CheckBitmap}, \R{createfont}{CreateFont}, \R{adirvar}{DirVar}, \R{adirverify}{DirVerify}, \R{enablewindow}{EnableWindow}, \R{afilebufsize}{FileBufSize}, \R{flushini}{FlushINI}, \R{sgetcurinsttype}{GetCurInstType}, \R{getdlgitem}{GetDlgItem}, \R{getinstdirerror}{GetInstDirError}, \R{ifabort}{IfAbort}, \R{ifsilent}{IfSilent}, \R{initpluginsdir}{InitPluginsDir}, \R{sinsttypegettext}{InstTypeGetText}, \R{sinsttypesettext}{InstTypeSetText}, \R{langstring}{LangString}, \R{alicensebkcolor}{LicenseBkColor}, \R{alicenseforceselection}{LicenseForceSelection}, \R{licenselangstring}{LicenseLangString}, \R{loadlanguagefile}{LoadLanguageFile}, \R{lockwindow}{LockWindow}, \R{page}{Page}, \R{pageex}{PageEx}, \R{reservefile}{ReserveFile}, \R{sectiongetinsttypes}{SectionGetInstTypes}, \R{ssectiongetsize}{SectionGetSize}, \R{sectionsetinsttypes}{SectionSetInstTypes}, \R{ssectionsetsize}{SectionSetSize}, \R{setbrandingimage}{SetBrandingImage}, SetCompressionLevel, \R{asetcompressor}{SetCompressor}, \R{asetcompressordictsize}{SetCompressorDictSize}, \R{setctlcolors}{SetCtlColors}, \R{ssetcurinsttype}{SetCurInstType}, SetPluginUnload, \R{setsilent}{SetSilent}, \R{showwindow}{ShowWindow}, SubSection (replaced by \R{ssectiongroup}{SectionGroup}), SubSectionEnd (replaced by \R{ssectiongroupend}{SectionGroupEnd}), \R{var}{Var}, \R{viaddversionkey}{VIAddVersionKey}, \R{viproductversion}{VIProductVersion} and \R{axpstyle}{XPStyle}

\b Removed commands: DirShow, DisabledBitmap, EnabledBitmap and SectionDivider

\b All this and a smaller overhead! =)

\b A lot more... See below for more information

\S2{} Changes from RC4

\b Command line parser ignored any switches after tokens that are not switches

\b Last part of the path specified in \R{ainstalldir}{InstallDir} was appended even if selected folder name was the same

\b \L{../Docs/Modern UI/Readme.html}{Modern UI 1.70}: Improved documentation, new Init custom function for Welcome and Finish page

\b Added \L{../Docs/StrFunc/StrFunc.txt}{StrFunc} by deguix

\b Updated and fixed language files

\b Updated, fixed and improved documentation

\H{v2.0rc4} 2.0 Release Candidate 4

Released on February 2nd, 2004

\S1{v2.0rc4-cl} Changelog

\S2{} Major Changes

\b Fixed MBCS mishandling in exehead, InstallOptions and nsExec

\S2{} Minor Changes

\b Language files updates and fixes

\b Fixed logging (NSIS_CONFIG_LOG)

\b Fixed compile errors caused by removing some config.h options

\b NSIS compiles without PSDK again

\b Documentation fixes

\S2{} Utilities and Plug-ins

\b \L{../Docs/NSISdl/ReadMe.txt}{NSISdl}: All potential and rare crashes should be completely fixed now

\b \L{../Docs/InstallOptions/Readme.html}{InstallOptions}: Fixed a rare crash related to ListItems and a small memory leak when using ValidateText

\H{v2.0rc3} 2.0 Release Candidate 3

Released on January 26th, 2004

\S1{v2.0rc3-cl} Changelog

\S2{} Minor Changes

\b Fixed some bugs with LZMA/bzip2 and non-solid compression

\b Fixed a bug that caused escaping not to be ignored on extended !define lines

\b Language files updates and fixes

\b Fixed installer crash when certain language strings were not referenced in all languages

\b Some new and improved graphics

\b Made CreateShortcut case insensitive when parsing hot key

\b Some documentation improvements and fix-ups

\b \L{../Docs/Modern UI/Readme.html}{Modern UI 1.69}: Made all uninstaller pages work without installer pages and fixed top text on uninstaller license page

\S2{} Utilities and Plug-ins

\b \L{../Docs/makensisw/Readme.txt}{MakeNSISW}: Fixed resize bug, fixed some UI issues in the settings dialog

\b NSIS Update: Improved UI

\b \L{../Docs/InstallOptions/Readme.html}{InstallOptions}: Fixed minor problems with the new NOTIFY flag

\H{v2.0rc2} 2.0 Release Candidate 2

Released on January 5th, 2004

\S1{v2.0rc2-cl} Changelog

\S2{} Minor Changes

\b Set focus to the main control in each page to ease keyboard control (plug-ins too)

\b LangStrings and user variables limit is now 16383 and is enforced

\b Fixed control colors set using \R{setctlcolors}{SetCtlColors} not changing when the system colors were changed

\b Log window now responds to the context menu key

\b Fixed a bug which caused beeping when the space key is hit on the components tree

\b Added code to prevent weird usage of WM_COMMAND which can cause weird behavior

\b Fixed compile errors when NSIS_CONFIG_COMPONENTPAGE, NSIS_CONFIG_PLUGIN_SUPPORT or NSIS_SUPPORT_HWNDS are not defined

\b More language files updated to the latest version

\b Fixed CHM's script errors

\b Documentation improvements

\S2{} Utilities and Plug-ins

\b \L{../Docs/InstallOptions/Readme.html}{InstallOptions 2.4}: NOTIFY for link, drop list and list box; UI fixes and improvements. See IO's \L{../Docs/InstallOptions/Changelog.txt}{change log} for a complete list

\b \L{../Docs/makensisw/Readme.txt}{MakeNSISW}: Improved user interface, added support for named symbol sets and fixed best compressor selector

\H{v2.0rc1} 2.0 Release Candidate 1

Released on December 27th, 2003

\S1{v2.0rc1-rn} Release Notes

\b Trying the LZMA compression method for your installer is recommended. It often gives a 20% better compression ratio.

\b \L{../Docs/Modern UI/Readme.html}{Modern UI 1.68}: The setting to change the title size on the Welcome page and Finish page has been changed

\S1{v2.0rc1-cl} Changelog

\S2{} Major Changes

\b LZMA compression support. Added \R{asetcompressordictsize}{SetCompresssorDictSize}.

\b \L{../Docs/Modern UI/Readme.html}{Modern UI 1.68}: New settings for extra space for title and text on Welcome page and Finish page, improved handling of verbose settings, language file string for uninstaller reboot information, more

\b Shell folders are now detected using shell API functions and not the registry. This is the recommended method by Microsoft. New constants have been added in the process ($FONTS, $SENDTO and more...). See \k{varconstant} for more details.

\b Added \L{../Examples/LogicLib.nsi}{LogicLib} to distribution (easier conditional execution etc.)

\b Added \R{adirverify}{DirVerify} and \R{getinstdirerror}{GetInstDirError} to allow custom error checking when the installation directory is invalid or the drive does not have enough space

\b Support for reading environmental variables at compile time: \R{compenvvar}{$%envVarName%}

\b Added /SD parameter for \R{messagebox}{MessageBox}. Allows to set default for silent installers.

\b New conditional compilation options: \R{ifmacrodef}{!ifmacrodef} and \R{ifmacrondef}{!ifmacrondef}.

\b New sections macros for mutually exclusive section selection

\b Improved RTL support by adding WS_EX_RTLREADING wherever possible

\S2{} Utilities and Plug-ins

\b \L{../Docs/InstallOptions/Readme.html}{InstallOptions 2.3}: Added new control type "Button", added new flag "NOTIFY", added new flag "NOWORDWRAP" for multi-line text boxes, reduced size down to 12K

\b \L{../Docs/makensisw/Readme.txt}{MakeNSISW}: More options to set the compression method

\b Zip2Exe 0.31: Fixed compression setting, LZMA compression support

\b \L{../Docs/VPatch/Readme.html}{VPatch 2.1}: Better error handling and exit code for GenPat

\H{v2.0b4} 2.0 Beta 4

Released on November 19th, 2003

\S1{v2.0b4-rn} Release Notes

\b The /LANG parameter is no longer available for any text setting instructions. You must use a \R{langstring}{LangString} if you want to make a certain text multilingual. This means you can also set one text for all languages. To make the license data multilingual you should use \R{licenselangstring}{LicenseLangString}.

\b \L{../Docs/Modern UI/Readme.html}{Modern UI 1.67}: Because of the new syntax for pages, renaming of settings and variable names etc., you have to make some changes to your scripts, see the \L{../Docs/Modern UI/Readme.html}{Modern UI Readme} for details.

\b \R{page}{Custom Pages} now have a leave function. As this parameter is placed before the caption you have to add another "" empty string for the title to work.

\b \R{onselchange}{.onSelChange} is no longer called when the components page is created.

\b The icons folder has been renamed to Graphics and was reorganized. If you were using any files from Contrib\\Icons in your script, you should update it to point to the new image or icon path.

\b UpgradeDLL has been changed, it's \e{highly recommend} that you include the new version in your script using \c{!include "UpgradeDLL.nsh"} instead of the old one.

\S1{v2.0b4-cl} Changelog

\S2{} Major Changes

\b CHM documentation - searchable and comes with an index

\b User variables ($VARNAME) that can be declared with the \R{var}{Var} command

\b Support for all pages in both installer and uninstaller. Components, directory and license pages can be used for the uninstaller

\b Improved large files handling (way lower requirements to compile a 2GB installer now)

\b Full support for RTL languages, including support for LTR and RTL languages in one installer

\b \L{../Docs/Modern UI/Readme.html}{Modern UI 1.67}: New system & syntax for pages, settings (support for multiple pages of the same type, page specific settings, more customization options etc.), Welcome/Finish pages for uninstaller, \R{alicenseforceselection}{LicenseForceSelection} support, new options for Finish page / language selection dialog, fixes, more

\b Extraction progress

\b No more unprocessed strings, variables can be used everywhere

\b Leave function for custom \R{pages}{pages}: Input on InstallOptions pages can be validated using script code

\b Interface improvements: Better ClearType support, no more flickering

\b \R{onmouseoversection}{OnMouseOver text} is only displayed when mouse over section

\b NLF language files (v6): language specific fonts, RTL and more strings

\b Inner LangStrings can be used in the script

\b No more /LANG, only LangStrings - easier to set one string to all languages

\b LangStrings are no longer installer/uninstaller specific (no un.)

\S2{} New/Changed Commands

\b Added \R{pageex}{PageEx}, \R{pagecallbacks}{PageCallbacks} and \R{adirvar}{DirVar} - it's now a lot easier to add the same page type twice

\b Added \R{afilebufsize}{FileBufSize}

\b Added \R{viaddversionkey}{VIAddVersionKey}: add version information resource to the installer

\b Added \R{asetallowskipfiles}{AllowSkipFiles}: set whether the user should be able to skip a file when overwriting failed

\b Added \R{alicenseforceselection}{LicenseForceSelection}: checkbox or radio buttons on license page to let user agree with license or not

\b Added \R{ssectionsetsize}{SectionSetSize}, \R{ssectiongetsize}{SectionGetSize}, \R{ssetcurinsttype}{SetCurInstType} and \R{sgetcurinsttype}{GetCurInstType}

\b Replaced SetBkColor with \R{setctlcolors}{SetCtlColors} which can set text color too

\b Added \R{ifsilent}{IfSilent} and \R{setsilent}{SetSilent} to allow better /S interaction

\b Added support for standard predefines: $\{__DATE__\}, $\{__TIME__\}, $\{__TIMESTAMP__\}, $\{__FILE__\}, $\{__LINE__\}

\b Added ifdiff and lastusd for \R{asetoverwrite}{SetOverwrite}

\b /o Switch for \R{ssection}{Section} provides ability to unselect the section by default

\b New parameter for DirText to set the browse dialog text

\b Added \R{rmdir}{RMDir /REBOOTOK}: remove folders on reboot

\b \R{ainsttype}{InstType} /NOCUSTOM and /COMPONENTSONLYONCUSTOM work together

\b Added base_dir for \R{gettempfilename}{GetTempFileName}

\S2{} Minor Changes

\b RO sections can now be in \R{ainsttype}{InstTypes} too (defaults to old behavior)

\b Increased limit of InstTypes to 32

\b Improved macros & functions: UpgradeDLL, GetParent, GetParameters. Using the new versions is recommended.

\b Fixed SetOutPath not setting current directory if the directory didn't exist before

\b Components tree: fixed problems with sub-sections with RO sections as children, SF_EXPAND now refreshes the components tree and added SF_PSELECTED for partially selected sub-sections

\b Improved \R{aaddbrandingimage}{AddBrandingImage}: doesn't depend on the UI, can set image on the bottom and on the right, support for custom padding value

\b Better installation directory verification

\b Fixed all known problems with temporary files and directories

\b Documentation fixes

\b Minor bug fixes

\b Code clean-ups and some more comments

\b More...

\S2{} Utilities and Plug-ins

\b \L{../Docs/makensisw/Readme.txt}{MakeNSISW 2.0}: UI to define symbols, easy access to recent scripts, toolbar and more

\b Zip2Exe 0.3: based on header files, improved interface, Modern UI support, new script code, improved folder detection

\b \L{../Docs/InstallOptions/Readme.html}{InstallOptions 2.2}: added LINK control, added EXTENDEDSELECT flag for list boxes which replaces MULTISELECT that now acts exactly as the real style flag ([double] click turns on or off selection), fixes

\b BgImage plug-in stability fixes

\b Added vPatch: patch generator and plug-in that applies the patches

\b Banner plug-in improvements: responds to messages and some new /set tricks by brainsucker

\b AdvSpalsh plug-in improvements: smaller, better transparency support and a possible bug fix

\b System plug-in improvements: Unicode, GUID and COM support 

\b nsExec plug-in improvements: ability to run 16 bit code and tabs to spaces conversion

\b Math plug-in

\b Delphi unit for NSIS plug-ins

\H{v2.0b3} 2.0 Beta 3

Released on March 16th, 2003

\b Modern UI 1.63: Header bitmap support, new defines to change the description area, single macro for language selection dialog, more!

\b New tutorial in the documentation

\b define_if_last in \R{page}{Page} command also works when a define has not been specified for all \R{page}{Page} commands.\\<br\\>This fixes the problem with the Modern UI "Click Next" / "Click Install" texts.

\b Added \R{sectionsetinsttypes}{SectionSetInstTypes} and \R{sectiongetinsttypes}{SectionGetInstTypes}

\b \R{reboot}{Reboot} command does not force a reboot anymore (allows the user to save work)

\b !if[n]def/!else fixes

\b \R{logset}{LogSet} on now really starts logging

\b Cancel button available on all pages after the instfiles page but the last page unless /ENABLECANCEL was used in its \R{page}{Page} command

\b License page: No more limit on RTF size

\b LangDLL: Option to auto-count number of languages, shell font support

\b \R{page}{Page} and \R{uninstpage}{UninstPage} can not be used inside sections/functions

\b \R{createdirectory}{CreateDirectory} now uses the error flag

\b \R{enumregkey}{EnumRegKey}/Value output_var check fixed

\b Updated translations

\b Dreaded BSOD after plug-ins enumeration finally banished

\b Minimize button and \R{abggradient}{BGGradient} and BGImage compatibility fixes

\b \R{writeinistr}{WriteINIStr} with empty value works again

\b Added \R{flushini}{FlushINI}

\H{v2.0b2} 2.0 Beta 2

Released on February 26th, 2003

\b NSIS Menu: links to all NSIS utilities, documentation and websites

\b NSIS Update: check for new releases, download latest development files

\b Dialer plugin to connect to the internet

\b Improved filename validation

\b VC7 compiler compatibility issues fixed

\b \R{createdirectory}{CreateDirectory} sets error flag

\b InstallOptions: INI File State value fixed

\b Updated translations

\b Minor fixes

\H{v2.0b1} 2.0 Beta 1

Released on February 9th, 2003

\b User interface improvements: better order/grouping of controls, button selection problems fixed, added minimize box, transparent \R{abrandingtext}{BrandingText}

\b \R{langstring}{LangString} improvements: can be used before they have been defined, warning if not present in all language tables

\b New version of the Modern User Interface with UI improvements, bugfixes and some small new features

\b InstallOptions 2.0 with support for custom font and DPI settings, groupboxes, grouped controls, lots of bugfixes etc.

\b No more random compression ratios

\b \R{setoutpath}{SetOutPath} now sets the working directory

\b File names are validated, directory given by the user will now always work

\b $QUICKLAUNCH now works with \R{setshellvarcontext}{SetShellVarContext} all

\b Automatically appended directory name in the directory selection dialog will no longer contain squares if not all characters are ASCII.

\b Fixed a bug with remote drives and available space (\\\\remote\\drive)

\b Plug-in function's names are now case insensitive

\b Fixed a bug with specifying \R{aicon}{Icon} twice

\b Include dirs (!addincludedir)

\b On leave function for pages

\b Installers can now really contain more than one branding image

\b All !if/!else/!endif problems should be solved now

\b SetFont "MS Shell Dlg" adds the DS_SHELLFONT style

\b Win9x rename on reboot now also works when the destination file does not exist

\b \R{deleteregkey}{DeleteRegKey} works on default value

\b nsExec can be called from an installer executed by CreateProcess

\b \R{writeuninstaller}{WriteUninstaller} sets error code

\b Banner.dll compatible with Modern UI

\b Fixed focus problems in MakeNSISw

\b Updated and new translations

\b Some new bitmaps for the MUI by Virtlink

\b Faster and better MakeNSISw integration

\b \R{detect.netframework}{New .NET Framework detection function}

\b Minor bugfixes

\b Code clean-ups (compiles on VC7)

\H{v2.0b0} 2.0 Beta 0

Released on December 6th, 2002

\b New paging system

\b Added \R{page}{Page} and  \R{uninstpage}{UninstPage}

\b Removed .onNextPage, .onPrevPage, .onInitDialog

\b New easier version of the Modern User Interface with better multilanguage support, InstallOptions integration, welcome and finish page etc.

\b Custom pages no longer flicker when created

\b Added accelerator keys

\b Added \R{langstring}{LangString} and LangStringUP for user defined multilingual strings

\b Added support for transparent check marks

\b Added InitPluginsDir

\b Renamed nsisconf.nsi to nsisconf.nsh

\b Added CreateShortcut comment/description parameter

\b Splash.exe is now a plugin (splash.dll)

\b Added new plugins: System, AdvSplash, nsExec, UserInfo, BgImage, Banner and StartMenu

\b !ifdef and friends can now be used in macros

\b \R{sendmessage}{SendMessage} can send strings (put \cw{STR:} before a param) and supports timeouts

\b Right mouse button "Copy to clipboard" context menu for the Details window

\b Plugin syntax now requires dll name, e.g. dll::func not just func

\b Licence text receives initial focus (page up & down work immediately, return key still works)

\b Made Win9x move/delete on reboot support proper and function like on Win2k

\b Now always loads RichEdit v2 if present (links work on Win9x)

\b \R{deleteregkey}{DeleteRegKey} now complains if given a third parameter (other than /ifempty)

\b \R{regdll}{RegDLL} now works with DLLs dependent on DLLs from the same directory

\b $\{LANG_langName\} defined as the language id when loading a NLF

\b Fixed a few bugs that caused the installer to load slower than before

\b Uninstall can now get command line parameters too

\b Added ReserveFile

\b Added ExDLL.h

\b Included makensisw 1.9 (lots of changes)

\b Updated InstallOptions

\b Updated ZIP2EXE

\b Updated HTTP download plugin, NSIS-dl (timeout added, better proxy detection)

\b A lot of new language files

\b A lot of new icons and check marks

\b Changed section flags values

\b \R{sectionsetflags}{SectionSetFlags} can now set bold too

\b \R{sectionsetflags}{SectionSetFlags} now works in silent installers too

\b SectionSetName for sub sections doesn't need '-' in front of the name

\b Added SetPluginUnload

\b Hidden section can now use \R{ssectionin}{SectionIn} too

\b \R{file}{File} /nonfatal switch added

\b Plugins no longer add size to their containing section

\b Defines can now be used inside define names ($\{bla$\{blo\}\})

\b New docs format (WOOHA!)

\b EXE header size a lot smaller, 33.5KB for bzip2 and 34KB for zlib

\b Lots of other bugs fixed...

\H{v2.0a7} 2.0 Alpha 7

Released on August 29th, 2002

\b Can now select the language from .onInit ($LANGUAGE is a variable)

\b Added CreateFont

\b Added \R{onmouseoversection}{.onMouseOverSection}

\b Added .onInitDialog and un.onInitDialog

\b Added SetStaticBkColor

\b Disabled UseOuterUIItem

\b SendMessage WM_SETTEXT treats lParam as a string and not a number

\b \R{copyfiles}{CopyFiles} script message no longer always prints (silent)

\b Custom install type text can now be changed

\b \R{achangeui}{ChangeUI} can now change IDD_VERIFY

\b Default license color now fits the user system

\b Summary reports the right number of required sections

\b Checkbox is only required in IDD_DIR if logging is enabled

\b Not using /LANG now really causes the script compiler to use the last used language

\b Fixed a bug with MBCS and the uninstaller text

\b MBCS to Unicode and Unicode to MBCS conversion bugs fixed

\b Fixed a bug that caused RTF not to show on Windows 9x

\b Added a dialog that shows up if compress whole is used and initial decompressing lasts longer than a second

\b Updated to InstallOptions 1.3

\b MakeNSISw 1.7 included

\b Added modern UI by Joost Verburg (Examples\\Modern UI)

\b Added new full color icons by adni18

\b Added Dutch, Korean, Russian, Swedish and Traditional Chinese language files

\b Updated Spanish language file version (thanks to LsMoNKi)

\b Added /TRIM(LEFT|RIGHT|CENTER) for BrandingText

\b EXE header size down to 36.5KB

\b Added yi-pixel.ico and yi-pixel-uninstall.ico by Jan T. Sott

\b Fixed a bug with macros at the end of the file

\b Sub-sections can now have defined names too

\b Added LangDLL.dll plugin

\b \R{callinstdll}{CallInstDLL} /NOUNLOAD added (works on plugin calls too)

\H{v2.0a6} 2.0 Alpha 6

Released on August 10th, 2002

\b Fixed two bugs with the plug-in mechanism

\b Fixed infinite loop bug

\H{v2.0a5} 2.0 Alpha 5

Released on August 9th, 2002

\b Added UseOuterUIItem

\b Enhanced \R{achangeui}{ChangeUI}

\b Enhanced SetDlgItemText

\b Added one-section.nsi example file

\b Optimized Ximon's code for plug-in DLLs (back to 37KB)

\b If default user language doesn't fit exactly, will try to find primary language match

\b Fixed some strings that got replaced (space available and required etc.)

\b Compiles without MS Platform SDK

\b Included Spanish.nlf

\b Included MagicLime.exe by snowchyld

\H{v2.0a4} 2.0 Alpha 4

Released on August 5th, 2002

\b Added automatic detection, packing, unpacking and deletion of plugin dlls

\b Added simplified calling syntax for plugin dlls

\b Added PluginDir

\H{v2.0a3} 2.0 Alpha 3

Released on August 4th, 2002

\b Added \R{loadlanguagefile}{LoadLanguageFile}

\b Added $LANGUAGE

\b Added /LANG option to string setters (\R{aname}{Name}, \R{acaption}{Caption}, etc.)

\b 'LogSet on' now builds a log file if not already created

\H{v2.0a2} 2.0 Alpha 2

Released on July 31st, 2002

\b Added $\{NSISDIR\}

\b Added \R{axpstyle}{XPStyle}

\b Added \R{asetfont}{SetFont}

\b Added \R{achangeui}{ChangeUI}

\b Added AddBrandingImage, and \R{setbrandingimage}{SetBrandingImage}

\b Added  \R{asetcompressor}{SetCompressor} (no more makensis-bz2.exe)

\b Added \R{alicensebkcolor}{LicenseBkColor}

\b 'SpaceTexts none' now causes no space texts to appear

\b \R{aicon}{Icon} and \R{auninstallicon}{UninstallIcon} now support icons of any type

\b \R{acheckbitmap}{CheckBitmap} now support bitmaps with any color table/depth

\b Unused resources are removed before writing out the installer

\b Documented \R{error}{!error} and \R{warning}{!warning}

\b Added \R{echo}{!echo} and \R{verbose}{!verbose}

\b Added force option for \R{acrccheck}{CRCCheck}

\b Updated to Makensisw 1.6

\b Updated to InstallOptions 1.2

\b Installer can now be compressed using UPX

\b A hint is shown if a line is longer than the detail window

\b Modern style folder select dialog

\b License data can now be RTF

\b \R{awindowicon}{WindowIcon} is now handled in the compiler

\b Removed debug version (it never worked anyway)

\b Faster compile time (WIN32_LEAN_AND_MEAN)

\H{v2.0a1} 2.0 Alpha 1

Released on July 9th, 2002

\b Added expand node option to \R{ssection}{Section} and SubSection

\b Added preserve file attribute option to \R{file}{File} command

\b Copy-All bug fix in Makensisw

\b Added NSISDIR to the define list

\b Reorganized NSIS directory structure

\H{v2.0a0} 2.0 Alpha 0

Released on May 22nd, 2002

\b TreeView component list (care of Jeff Doozan)

\b No more SectionDivider, but SubSection and SubSectionEnd.

\b No more EnabledBitmap/DisabledBitmap, just \R{acheckbitmap}{CheckBitmap}. (with tons of button states)

\b Bugfixes of brokenness.

\b Added ! for \R{ssection}{Section}/SubSection to make bold.

\b Made config.h have hacks for easier building for me. :)

\H{cl-older} Older Versions

\W{http://wayback.archive.org/web/20100820151646/http://www.nullsoft.com/free/nsis/version-history.html}{NSIS 1.x version history}
