WarpIN Release History ====================== V0.9.12 (April 26, 2001) ------------------------ -- Database view finally supports multiple selections so that several packages can be deleted at once. -- Added new, detailed dialog for dependency violation reports if user attempts to remove required packages. -- WarpIN now allows deinstallation even if dependencies are violated if user absolutely wants this. -- WarpIN can now warn the user if an archive's script has active REXX code to give paranoid users a chance to abort before their master boot record is overwritten or something. -- Reworked all message boxes in order to no longer use the ugly standard OS/2 message boxes, which was hard to read with longer messages at times. -- V0.9.9 broke GROUP tag support, leading to crashes because of an internal NULL pointer. Fixed; pwicq029d.wpi now installs fine here. This required some reorganization in the package classes and the various constructors. -- Container page still truncated paths to 32 characters sometimes. Fixed now, hopefully. -- "Drive info" window displayed garbage for drives after a gap in the available drive letters. Fixed. -- Fixed some thread synchronization problems with the log files introduced with V0.9.9. Together with the GROUP tag screwup, this caused lbmix007 install to crash. -- Script parsing is now running on a separate transient thread so PM isn't blocked while the script is initializing. Doesn't make much of a difference for those archives that behave, but lbmix007 can hog the system for minutes, so this was added. -- CONFIG.SYS changes were incorrectly recorded in the database if there was more than one change in a package. I guess this broke with V0.9.9; fixed. -- CONFIG.SYS was incorrectly updated if an existing line contained a substring of the search string (e.g. SET SHELLHANDLESINC was updated if SET SHELL was intended). Fixed. -- Yuri Dario reported crashes because of improper thread synchronization on SMP systems. Fixed; the strange GUI event semaphore was removed, now using WinSendMsg for synchronization, which should always work (confirmed by Yuri). -- Yuri Dario supplied a fix for script attributes not found with certain space combinations. V0.9.11 (April 26, 2001) ------------------------ -- WPIRTL.SYM was missing in the distribution, leading to incomplete trap logs. Added. -- Config.sys routines never found lines that had leading spaces, fixed. -- WIZILLA.EXE was broken. Fixed. -- If the "kill process" script command failed for some reason (due to the new error checking from V0.9.10), the user ended up with infinite questioning that the process should really be killed now. Fixed, now we're only giving a warning once. V0.9.10 (April 16, 2001) ------------------------ Added a couple of urgent fixes that were missing in V0.9.9. -- Finally figured out what caused the crashes on some systems when the KILLPROCESS attribute of the PCK tag was processed. If DosQProcStat failed for some reason, WarpIN would free an internal buffer twice, which would of course crash. Since DosQProcStat never failed on my system, I never got those errors. Fixed. -- readme.txt wasn't up to date. Updated. V0.9.9 (April 8, 2001) ---------------------- Yo, major upgrade, with many internal changes, extensions, and bugfixes. Hope this didn't break anything else. -- APPS.WIS was missing in the TEST directory, so the test script never worked. Fixed. -- Added envwic.cmd to set an environment for WIC.EXE to run from any directory. -- wic -x finally works with file masks. -- wic -a failed with files in root directories. Fixed. -- Added installation/deinstallation logs. The log file defaults to "install.log" in the WarpIN directory, but can be changed in the "Preferences" dialog. -- Added DEEXECUTE attribute to PCK tag for executables to be run during de-install. -- EXECUTE sometimes didn't work with parameters. Fixed. -- EXECUTE got confused with CREATEOBJECT and REGISTERCLASS flags. This wasn't serious, WarpIN only gave a wrong message after install. Fixed. -- The stupid parser failed on numeric NAME="VALUE" pairs if the numer was in quotes. Fixed. -- Specifying the direct root of the boot drive as the target path ("?:\") didn't work. Fixed. -- Added simplistic archive viewer in install mode (new "Archive" menu -> "View"). -- Patrick Haller fixed a number of bugs in the WPI backend which apparently never did error checking anywhere. This might fix hangs people experienced when WarpIN attempted to open broken archives. -- Reorganized all internal script code to prepare WarpIN XML scripts. -- Database display got confused if several packages had the same application name, but different authors. Fixed. -- Deinstall and verify didn't work if the target path was the root directory of a drive. Fixed. -- Deinstall now checks for whether each file has been overwritten with a newer file and prompts the user if the file should still be deleted. -- WarpIN upgrade install failed for subfiles in "test" if that dir didn't exist yet. Fixed. -- Various optimizations all over the place. V0.9.8 ------ V0.9.7 was never officially released. But since some people got hold of anyway, that version number was skipped to avoid confusion. -- Added installation process for upgrades. Just click on the new WARPIN.EXE, and it will update your existing install. -- Fixed several problems with CONFIG.SYS changes that showed up with Odin. -- Fixed the target paths bug that showed up with XWorkplace V0.9.6. This forced many people to completely deinstall XWorkplace before a new version could be installed... this should work better now, even though it's still not perfect... this needs a redesign. -- Dependency checks did not check versions numbers if a package was already installed. Fixed. -- Further optimized internal string routines. -- For developers: Big updates to xdoc... can do C++ methods properly now. WarpIN documentation is finally readable to a certain extent. V0.9.6 ------ -- Added command-line extraction (both for files and scripts) to WIC.EXE. -- WIC.EXE crashed packing 0-byte files. Hopefully fixed. -- Added UNIX-style path handling (forward slashes) to PCK tag macro resolution. See WPI_PROG.INF for details. -- Disabled the ugly white OS/2 error message boxes for DOS errors in WARPIN.EXE. -- Dependency checks lacked version checks if a package was already installed. Fixed. -- Added exception handling to "kill process" processing because apparently this crashed on some systems. -- CONFIG.SYS was sometimes written even if no changes were made. Also, CONFIG.SYS backup filename was sometimes reported wrong. Fixed. -- Reworked internal string routines. This should make WarpIN faster in general, especially with script parsing. -- CID environment should be working now. I have tested WARPIN_DISPLAYPAGES=NO with Odin, and it worked. -- For developers: xdoc was broken with V0.9.5, should be working again. Some minor improvements were made as well. V0.9.5 ------ -- WIC.EXE broke with V0.9.4. Fixed. -- I have spent quite some time on code optimizing. All WarpIN executables now use a shared library (WPIRTL.DLL). This greatly reduces the size of the executables. However, this implies that the executables need to find this DLL. This is no problem with WARPIN.EXE (because the program object has its startup directory set correctly), but if you use WIC.EXE from the command line, you might need to use BEGINLIBPATH or add the WarpIN directory to your LIBPATH. -- WarpIN forgot to report network drives in "Drives Info". Should be fixed now. -- Removing INI (profile) entries works now. -- Fixed UNIQUE(xxx) and REMOVELINE with PCK CONFIGSYS, which deleted wrong lines in CONFIG.SYS. -- EXECUTE wasn't processed if all flags on "Configure" page were disabled. Fixed. -- Added more help panels. -- Added more context menus to database view. -- Fixed code to compile with EMX again. V0.9.4 ------ -- Raised stack size for WIC.EXE which crashed with deep directory recursion. -- WIC now skips 0-byte files. -- WarpIN now runs even if the WPS is not up. -- Added help. -- Changed WARPIN VERSION= to three-part versioning. -- Added WARPIN_DEFAULTAPPSPATH and WARPIN_DEFAULTTOOLSPATH script environment variables. See WPI_PROG.INF. -- VARPROMPT didn't display text right. Fixed. -- Fixed EXECUTE bugs (thanks Yuri Dario). -- EXECUTE can now have several modifiers. -- Added dependency checks to deinstall from database. -- On deinstall, configuration items which are to be undone can be selected individually now. -- KILLPROCESS didn't work on de-install. Fixed. -- Fixed right split view in database, which was initially empty. -- Deinstall can unlock files now. -- Deinstall can remove empty directories now. If directories are not empty, a more meaningful message is displayed. -- WarpIN can now prompt for restart WPS after WPS classes were changed. -- Drive info window stopped after first invalid drive. Fixed. -- Fixed exception handlers, which broke with V0.9.3 again. -- Great speedup with HTML viewer. V0.9.3 ------ -- Completely removed Add/Remove mode. We now always enter "Full install" mode. -- Removed DosQuerySysState calls which apparently caused crashes on some systems. Using 16-bit DosQProcStat instead. -- Added REXX support documentation to WPI_PROG.INF. -- Added FORMAT=HTML and FORMAT=PLAIN to . Limited HTML support introduced. -- XTextView control had serious problems with scroll bars. Fixed. Also added lots more features. -- Added more package dependency checks. -- Macros in target paths never worked, especially "?:\" for the boot drive. Fixed. Added package references to macro resolution. -- didn't work with REPLACE. Fixed. -- didn't work right. Fixed. -- Added . -- Fixed a few memory leaks in BSString class. -- Added more error checking in various places. -- VARPROMPT window crashed if nothing was entered. Fixed. -- Tabs in scrips caused errors. Fixed. -- Added readme shadow to WarpIN install objects. -- Checkboxes weren't always set right on Configure page. Fixed. -- Exception handlers caused exceptions themselves sometimes with certain strange stack frames. Fixed. -- SYM file parsing only worked on Warp 4. Fixed, I hope. -- Switched helpers to create helpers.lib now for easier linking. V0.9.2 ------ Mostly bugfixes, plus REXX support, plus new tags. -- REXX support (C) Cornelis Bockemhl. No documentation yet, as this is fully experimental and subject to major change. ;-) -- Made NEXTBUTTON optional. -- VARPROMPT implemented. -- External packages implemented. -- Added more error checking to backend to solve hung WarpIN with broken packages. -- Script codepage support added. -- Macro resolution in TARGETPATH finally works with environment variables too. -- Free space on drive wasn't displayed right if > 4GB. Fixed. -- Finally displaying package descriptions as tooltips. -- Renamed database file to "datbas_X.ini" with X being the boot drive so that WarpIN can be used from several OS/2 boot partitions independently. The old database is automatically converted. -- Database allowed several packages to be selected at once, which confused the rest of the GUI. Fixed; now only one package can be selected. -- Added database "configuration" view. -- Sped up database display. -- Added tab key support to database windows. -- Added more configuration descriptions to database; now using virtual methods, which works much better. -- "Undo config" wasn't checked right when deinstalling multiple packages at once. Fixed. -- "Exit" menu item didn't work. Fixed. -- Fixed memory leaks. -- Fixed exception handlers which weren't unwinding call stacks right. -- Exception handlers now also parse SYM files in ?:\OS2\PDPSI\PMDF on Warp 4. -- Changed linking to non-optimizing in order to have exception handlers parse SYM files right. V0.9.1 ------ This is both a "lotsa-new-features" and a bugfix release. -- WicPM added. -- Package dependencies are now implemented. Dependencies are stored in the database according to the REQUIRES attributes of the PCK tag and the database performs checks before deinstalling. Also, before installing, we check whether dependencies are met. This has been tested to a certain extent, but not extremely extensive. I'd be grateful for more feedback. -- CONFIGSYS attribute UNIQUE flag support improved. -- EXECUTE attribute is now supported. -- CLEARPROFILE and WRITEPROFILE attributes now supported (although deinstallation doesn't work yet). -- Six-part package IDs (with three-part version numbers) are working now. -- Installation of WarpIN itself now creates objects for the documentation too. -- Various GUI enhancements and bugfixes. Added new XTextView control for viewing text. -- WarpIN can now repair the database itself to a certain extent, should it become corrupt. -- CONFIG.SYS was always rewritten to disk, even if nothing was changed. That lead to a lot of backup files in the boot drive. Fixed. -- Script parsing errors always had wrong line numbers. Reworked that, I hope it's better now. -- REPLACECLASS wasn't stored in the database. Fixed that. -- Fixed some memory leaks and other heap problems. -- WIC.EXE has new "-c" and "-r" parameters for changing to subdirectories and recursively adding files. -- Source code reorganized again. Split up the frontend C++ classes across many more headers to reduce the need for recompiles and speed up compilation also. -- Introduced more base classes for the various frontend classes so we can make STL list's of the base class, which reduces code bloat amazingly. I reduced WARPIN.EXE's size by about 100 KB doing this. V0.9.0 ------ -- Source code reorganized. -- Reworked the entire frontend to use C++ classes now; implemented a proper "add/remove" mode if packages from an archive have already been installed. -- Packages support six-part IDs now too (three-part version numbers). -- Rewrote "add/remove" mode completely. -- Lots of other user interface enhancements. -- Entry field on cnr page was limited to some 30 characters. Fixed. -- Changed back-end to use libbz2 instead of zlib. This leads to an incompatible archive format, but compresses faster and better. -- DLL/EXE files can now be unlocked if in use. -- GROUP tags are working again. -- WARPIN and TITLE tags are working. -- Added EXPANDED attribute to GROUP tag. -- Rewrote the database viewer completely. Now using a split view. -- Database was missing install date and time. Added that. -- PMWIC added to source code. -- Added directory recursion to WIC.EXE. Alpha #4 -------- -- There are now two INFs: one for the user, one for the programmer. -- The global database is working!! This was a %&$ of work... This means that de-installing packages should be working now. -- Creating WPS objects, CONFIG.SYS manipulation, WPS class management, and macro resultion implemented! Check the PCK tag reference in WPI_PROG.INF for details. -- Better "File exists" dialog. -- Multiple packages are now supported. -- Added environment variable support for CID installation. -- WIC.EXE can now update packages and set install scripts independently (as far as I've tested this). Phh... -- Most strings that WarpIN displays have now been exported to the resources and MSG file to support NLS. This will probably still change however, so don't attempt any translating at this point. There's still no NLS for the install script error messages, and I don't know yet whether there'll ever be. Alpha #3 -------- -- Compression/decompression. We're now using the zlib library which works just beautifully. -- Lots of error checking. Files are checked for existence before they are overwritten, most other error conditions should be handled well also. If all goes wrong, there is a sophisticated exception handler too. -- The front-end sources have been cleaned up big time. There is now a clean separation between the string logic (for the install script) and the PM display stuff. There is no more string parsing in the PM part (gui.* files), so this can more easily be replaced. -- There is readable documentation in INF format now. PLEASE READ IT before asking any questions. Previous versions ----------------- Lost track of them, sorry.