release 2. 1. Syntax, with inline input 2. Int64 full support (conversion/operations/comparison) 3. Structures support 4. Callbacks support, including multilevel callbacks 5. Some useful routines (Alloc, Free, Copy) 6. CDecl and StdCall calling conventions release 3, 22 march 2003. 1. Custom Message Boxes (with icons etc) -> bug in case of GetModuleHandle and call to FreeLibrary (sysfunc.nsh) 2. GetFileSysTime -> No SystemTimeToTzSpecificLocalTime at win9x bug, changed to use FileTimeToLocalFileTime (sysfunc.nsh) 3. Incorrect automatic structure size (&l) bug, value actually never filled into the structure (strange -> winxp takes no care of the structure size members, such as cbSize, and win98 does...) (system.c) 4. Changed Secondary Stack Allocation behavior - now we just leave 65kb of the stack NSIS give to us to the NSIS itself, and use the other part as the stack for our calls. (system.c) 5. Secondary Stack Optimization - in case of no more pending callback procs - "free" the secondary stack pointer. (system.c) 6. PlaySound("", 0, 0) plays the default windows sound at win9x, so changed to PlaySound(NULL, 0, 0) for effective sound stopping after splash (sysfunc.nsh). release 4, 3 september 2003. 1. Division by zero fatal error at Int64Op killed. 2. bool type removed (use int instead). 3. GUID (g) and LPWSTR (w) types added. 4. Memory cleanup after using t (string), g (guid) and w (unicode string) added. 5. Automatic A-letter at proc name discovery. 6. COM optimized: new proc specification "x->y", where x is interface ptr, and y is vtable member index. For such procs Interface pointer passed as first arg automatically. release 5, 11 september 2003. 1. u flag - unload dll after procedure call. 2. some changes to asm to turn on Whole Program Optimization. 3. Dll shrunk by 1 kb. bug-fix-release, 4.06.2004 1. System::Copy /SIZE fixed (Kichik). 2. System::Copy with destination auto-allocation now pushes destination address on stack. 3. Callbacks fixed (Kichik's kick is awesome). 4. Bug with proc call parts redefinition, # for example (pointed by Kichik). 5. Bug with memory protection during callback processing (Kichik).