WarpIN Release History
======================

    V1.0.18 (December 7, 2008)
    --------------------------

    Fixes:

    -- On deinstallation, attempts to delete objects which no longer exist
       do not now cause errors. Bug 1062.

    -- "wic -g" caused an "Error 2 writing XML document to disk" error.
       Bug 1129.

    -- Some icons updated to improve aesthetics. Bug 1056.

    -- Fixed odd error messages when installing with CONFIG.SYS being
       write-protected. Bug 1118.

    -- Split bar removed from right hand package pane. Bug 1058.

    -- Modifying a self-extracting .EXE corrupted it. Bug 1093.

    -- Replaced the PM .INI file functions with WarpIN's own to relieve
       database unreliability on shared memory constrained systems. Bug 1091.

    -- "BASE" attribute only worked properly on first package specified
       in the script. Bug 1060.

    -- Fixed several bugs with Textview controls not showing the text
       correctly and not scrolling correctly. Bug 1086.

    -- Script window now not resizable because it didn't update properly.
       Bug 1137.

    -- Fixed version number. Bug 1140.

    -- Fixed exception on main thread when installing WarpIN over itself.
       Bug 1142.

    New features:

    -- Added support for Codepage 1208 (UTF-8). Bug 1127.

    -- "wic -l" now displays the date/time of packed files. Bug 1131.

    -- Allow Ctrl-Ins to copy text to clipboard from Textview controls.
       Bug 1116.


    V1.0.17 (March 12, 2008)
    ------------------------

    Fixes:

    -- Now allowing -R parameter to be used with "wic -g" on archives that
       contain Rexx scripts. Bug 1045.

    -- Minor installation bug with test.wis and test.cmd. Bug 1049.

    -- Documented "wic -g". Bug 1048.

    -- Database can now store packages with several thousand files by
       splitting the .INI file information into 64K chunks. Bug 1050.

    -- Installation progress bar behaved erratically due to fix for bug 948.
       Bug 1046.

    New features:

    -- URLs in HTML README pages are now passed directly to any applications
       configured by the Internet Application Integration package rather than
       only to the default browser.


    V1.0.16 (February 19, 2008)
    ---------------------------

    Fixes:

    -- In RUNWIC.CMD, WarpIN path is added to BEGINLIBPATH instead of replacing
       it. Bug 943.

    -- Multiple BASE tags are now ignored, with the lowest numbered package
       taking priority. Bug 947.

    -- Packages containing 0 bytes worth of files caused a "broken package"
       error and were not able to be uninstalled. Bug 948.

    -- Error message "Directory %s could not be removed because there is/are %u
       directory(ies) and %u file(s) left in it. Remove it manually" often had
       a directory count of 0 when attempting to delete undeletable files.
       Bug 1001.

    -- Changed de-installation order to match opposite of installation order
       and run De-executes before deleting INI file entries. Bug 1024.

    New features:

    -- Implemented "wic -p" mode to query whether a specific package ID is
       already installed. Bug 1017.

    -- Implemented "wic -g" mode to generate an XML CID file from an archive.
       Bug 1022.

    -- Clicking on links in HTML README pages now opens the default browser
       with the specified URL. Bug 1031.

    -- Implemented a Packages menu to allow keyboard control of
       Verify/Deinstall/Remove functions which were previously only available
       on mouse driven context menus. Bug 1015.

    -- Added support for Codepage 1386 (IBM Chinese).


    V1.0.15 (March 27, 2007)
    ------------------------

    Fixes:

    -- WarpIN trapped on archives containing files with invalid datestamps.
       Bug 922.

    -- De-install dialog appeared after closing the main window in database
       mode. Bug 923.

    -- Finally fixed issues with installing in the root directory (I hope).
       The relevant non-working fixes for bug 625 were removed. Bug 925.

    -- Added a "Yes to All" button to the Delete Newer File dialog. Bug 933.

    -- Implemented REXX function WirexxExtract for extracting files from
       packages at script processing time. Bug 909.

    -- WarpIN didn't work on Warp 3/early Warp 4 since 1.0.8 due to having
       static references to UCONV.DLL and LIBUNI.DLL. Bug 936.

    -- Scripts which were using README pages containing EXTRACTFROMPCK where
       the file was in a subdirectory didn't delete the temporary directories.
       Bug 937.

    -- Support adding packages with no files by specifying NUL as a filename.
       Bug 938.


    V1.0.14 (December 8, 2006)
    --------------------------

    Fixes:

    -- Closing the Archive, View window caused WarpIN to exit. Bug 896.

    -- Added a FAIL option to the CREATEOBJECT attribute. Bug 893.

    -- Updated documentation for the EXECUTE and DEEXECUTE attribues. Bug 894.


    V1.0.13 (November 20, 2006)
    ---------------------------

    Fixes:

    -- Fixed a minor bug in the install script processing.

    -- Fixed Install/Close/Cancel processing when the "Archive, View" dialog
       was open. Bug 849.

    -- WIC now defaults to overwriting newer files rather than aborting.
       Bug 890.

    -- WIC deinstalls no longer require the "archive" and "path" elements in
       the .XCD file. Bug 851.

    -- Added an Unlock All option to the "Locked File" dialog. Bug 802.


    V1.0.12 (September 7, 2006)
    ---------------------------

    Fixes:

    -- Fixed the severely broken package attribute parsing caused by attempting
       to fix bug 718 in the previous release. Bugs 836 and 718.

    -- "wic -t" used to exit silently if it couldn't read the script file.


    V1.0.11 (August 31, 2006)
    -------------------------

    Fixes:

    -- Correct $(x) macros to remove trailing '\' when at root directory level.
       Bug 625 again.

    -- Confirmation dialog boxes now have a tasklist entry. Bug 712.

    -- Removing the last installed package caused a crash when changing the
       View. Bug 800.

    -- Some Entryfields were not tall enough, resulting in text being cut off
       making it hard to read. Bug 727.

    -- The "Verify integrity" function now checks file sizes as well as
       dates/times. Bug 798.

    -- README tag fails to extract files with special characters in the name.
       Bug 812.

    -- The CLEARPROFILE function wasn't deleting the entire application when a
       null key was specified. Bug 833.

    -- Fixed infinite loops in the macro resolver caused by packages being
       mis-identified as BASE packages. Fixed the mis-identification due to
       poor package attribute parsing also. Bug 718.

    -- Fixed error message missing from the install log when a fatal error
       occurred.

    -- Kill splash screen earlier in database mode to correct focus problem.


    V1.0.10 (April 27, 2006)
    ------------------------

    Fixes:

    -- Packages are now uninstalled in reverse order.

    -- Fixed crashes in WicPM when doing "stupid" and "not so stupid" things.
       Also removed redundant and unimplemented menu items.

    -- Fixed pointless backup of CONFIG.SYS on uninstall caused by fixing bug
       269.

    -- Fixed cosmetic problems with the split view in database mode. Bug 228.


    V1.0.9 (February 17, 2006)
    --------------------------

    Fixes:

    -- WarpIN left junk at the end of the .WPI file under certain
       circumstances. Bug 699.

    -- Attempting to install archives which contained packages dependent on
       other packages being installed caused the whole installation to fail.
       Users are now able to deselect any dependent packages.

    -- Modifications to CONFIG.SYS which resulted in no net change previously
       created pointless backups (and sometimes needless prompts to reboot).
       Bug 269.


    V1.0.8 (October 13, 2005)
    -------------------------

    Fixes:

    -- The "Installation Log" preference and environment variable were being
       ignored. Bug 657.

    -- Deinstalling a package gave an error when attempting to remove the
       package's target directory. Bug 667.

    -- Removed envwic.cmd and added runwic.cmd to allow running wic.exe without
       needing to set BEGINLIBPATH first.


    V1.0.7 (July 8, 2005)
    ---------------------

    Fixes:

    -- Boot drive macro substitution (?:\) was only working on the first
       occurrence on a line. Bug 647.

    -- Workaround for broken packages using "user\..." and "system\..." in the
       CLEARPROFILE attribute instead of "USER\..." and "SYSTEM\...".

    -- "wic -q" complained when there was REXX code in the installation script
       and refused to query the database.

    -- Added documentation for "wic -t" and automation environment variables.

    -- WIC was using '.' in some other places for the thousands separator.
       Now properly uses the NLS information.

    -- "wic -i" can now de-install packages.

    -- "wic -i" can now execute install and de-install scripts, kill
       processes, unlock and overwrite files.

    -- Relaxed error checking when deleting packages - missing files are now
       ignored. Packages are now deleted properly under these circumstances.

    -- Fix endless loop bug attempting to unlock and delete open files.

    -- Fix for bug 626 from V1.0.5 is removed as it causes problems.

    -- "Update Existing" mode wasn't copying the correct files during WarpIN
       upgrade.

    -- Deleting the suggested installation path and typing in another gave an
       error about invalid directories.

    -- DEEXECUTES were not being run in the package's installation directory.

    -- "Remove Database Entry" only removed the last selected entry when
       multiple entries were selected.

    Changes:

    -- The Drive Information dialog is now only shown when needed.


    V1.0.6 (April 22, 2005)
    -----------------------

    Fixes:

    -- When creating archives using WIC, all the files used were left open
       which caused major problems if the files were on a network drive.
       The program would hang after adding more than a few 10s of files
       due to network resource exhaustion. Bug 636.

    -- WIC displayed compression figures greater than 100% on archives larger
       than approx. 42MB due to numeric overflow. Bug 637.

    -- Files with the same name could be added to a package more than once
       since the archive updating was fixed. Bug 638.

    -- "wic -t" complained when there was REXX code in the installation script
       and refused to verify the script. Bug 645.


    V1.0.5 (March 6, 2005)
    ----------------------

    Fixes:

    -- Updated documentation of the database format and included details of
       the DEEXECUTE attribute. Bug 434.

    -- Using parameters with the executable on the DEEXECUTE attribute
       crashed WarpIN. Bug 624.

    -- Allow installation of packages (and WarpIN itself) to the root
       directory. Bug 625.

    -- EXECUTE and DEEXEUTE programs are now run with the current working
       directory set to that of the relevant executable. Bug 626.

    -- Fixed the back-end code so that archive updating works. This means you
       can generate your .WPI file in stages rather than all at once. Bug 169.

    -- WIC now reads NLS information. This gets rid of the ugly dots in file
       sizes.

    -- Improved installation script attribute parsing.

    -- WPS restarts after class registrations caused newly created obejcts
       to get lost. Bug 634.

    -- Reimplemented the "warpin -i" option from 1.0.3 which was missing.
       in 1.0.4

    -- Cosmetic problems with package deselection and deletion.

    -- The WRITEPROFILE and CLEARPROFILE attributes now allow named .INI files
       to work without error. Bug 633.

    Changes:

    -- Default for option "Show warning if scripts have active REXX code"
       is now OFF.

    -- WarpIN WPS objects are created in "Update" mode rather than "Replace"
       mode. Bug 328.

    -- Added '-d' delete mode to WIC and enabled archive updating modes.

    -- WIC now accepts the '-u' parameter without a filename and will then
       use the default STUB.EXE as the stub file.


    V1.0.4 (December 30, 2004)
    --------------------------

    Fixes:

    --  Trapped on Warp 3.

    --  Got an "M" in Install path when using Back/Next buttons. Bug 317.

    --  WIC was using incorrect files when using U+ option.

    --  Self-extracting archives generated a garbage version string message
        if WarpIN wasn't previously installed.

    --  Remove trailing ; from $(env) tags. Bug 464.

    --  Allow ' characters to delimit attributes in tags, meaning "
        characters are now usable inside the attribute. Bug 461.

    --  Fixed some cosmetic problems, typos. etc. Bug 356.

    --  Fixed CONFIG.SYS Ctrl-Z problem.

    --  Fixed problem where CONFIGSYS entries in the install script were
        ignored when no modifier was used.

    --  WarpIN now installs itself into its own database on initial install.
        Bug 223.

    --  Fixed stupid messages relating to installation shown after
        deinstallation. Bug 318.

    --  Fixed a bug with EXECUTES meaning the archive's file handle was
        inherited. This was a problem with daemons started by the install
        script.


    V1.0.3 (July 14, 2004)
    ----------------------

    Special version for eComStation 1.2 with a -i command
    line option for eCS installation.


    V1.0.2 (January 28, 2004)
    -------------------------

    Fixes:

    --  Korean codepage was broken (was 951). Fixed to
        949.

    --  Taiwan codepage was broken (was 947). Fixed to
        950.


    V1.0.1 (February 2, 2003)
    -------------------------

    Fixes:

    --  Pressing the "update existing" button in the
        legacy WarpIN update dialog caused updating to
        fail when copying wpi2exe, which is no longer
        part of the distribution. Fixed.

    --  Selecting "WarpIN" -> "Default directories"
        crashed because of a broken resource caused
        by a buggy resource compiler that I accidentally
        used. Replaced the whole dialog with a formatted
        version while I was at it.


    V1.0.0 (November 24, 2002)
    --------------------------

    Fixes:

    --  Fixed hang at parsing script when package script
        contained macros referencing other packages.
        Among others, Martin's XWorkplace widget library
        suffered from this.

    --  Fixed wrong script error report with four-part
        package version numbers.

    --  Drive info window with container page displayed
        required space in wrong rows if drive letters
        were not contiguous. Fixed.

    Beautified split view in database a little.


    V0.9.20 (August 11, 2002)
    -------------------------

    Fixes:

    --  REPLACECLASS was totally broken, at least in
        V0.9.19, maybe earlier. This caused xshadow
        to fail during install and even hose the
        database. Fixed.

    --  WarpIN finally keeps track of the directories
        it creates and no longer attempts to delete
        directories it didn't create.

    --  Close confirmations in the GUI were totally
        inconsistent. Fixed.

    --  WarpIN's startup directory check would fail
        if its directory contained non-ASCII characters.
        It would then complain that it was previously
        used from a different directory (which was the
        same, really).

        I have added a Unicode-enabled version of
        stricmp as well now, so that should work better.

    --  Opening an archive with WARPIN.EXE no longer
        blocks PM.

    --  The back-end would fail on creating files that
        were several directories deep, if those
        directories didn't exist already. It would
        not report a "create directory" error either,
        but instead report a "file write" error instead,
        which didn't really help either. Fixed.

    Time for new features again.

    --  Full CID support. WIC.EXE is beginning to
        become a full-fledged command line installer
        that will eventually be able to do almost
        everything WARPIN.EXE can do. Type "wic -hi"
        to get an introduction for now.

    --  More major code cleanup as a result of getting
        the above to work.

    --  Initial splash dialog has a system window list
        entry now so that if WarpIN hangs on startup,
        it can easily be killed from XCenter.

    --  Four-part version numbers (with fixlevels) are
        finally supported in the scripts too and not
        only displayed to the user.


    V0.9.19 (July 2, 2002)
    -----------------------

    A 100% bugfix release for the highly broken 0.9.18
    version.

    --  WRITEPROFILE on install and profile cleanup on
        deinstall broke with some earlier version.
        Fixed, this was due to some earlier changes
        in the config class hierarchy.

    --  The WPI archive header now uses an unsigned
        short variable instead of a short for the
        script size fields, which raises the maximum
        possible size for the installation script
        from 32K to 64K. Unfortunately I can't just
        make that variable a long to allow for bigger
        scripts without breaking binary compatibility.

        Please note that older WarpIN versions still
        cannot read scripts > 32K, so beware when
        creating archives.

    --  Fixed a very subtle bug in the new string
        class implementation from V0.9.18 which
        caused WarpIN to crash in certain situations,
        mostly on exit. This one was very hard to find.
        Thanks a lot to Knut Stange Osmundsen for
        helping out with an electric fence. ;-)

    --  Added resolution correlation to dialogs formatted
        by dialog formatter to make them display better
        on resolutions other than 1024x768.

    --  The REPLACE keyword never worked in
        CREATEOBJECT. Fixed.

    --  REQUIRED in EXTERNAL attribute of PCK tag was
        taken as part of the filename. Fixed.

    --  DosQueryCP call introduced with V0.9.18 always
        failed, which is why the "process codepage"
        detection did not work. Fixed.

    --  WarpIN V0.9.18 crashed if certain environment
        variables were not set due to bad VARPROMPT
        processing. This caused it to fail on startup
        if the user did not have the default paths
        set in the "Preferences" dialog. Fixed.

    --  Fixed target path processing, which was
        confusing codepaged and Unicode strings,
        causing macro resolution to fail on, for
        example, Martin Lafaix' widget libraries.
        The most embarassing symptom of this was that
        the code failed on the o umlaut in my own name
        with Martin Lafaix' widget libraries.

    --  Fixed another occasional crash introduced with
        V0.9.18 when turning to the container page in
        "Install" mode.

    --  First attempt at supporting DBCS codepages.
        Since I cannot test this on my system, I can't
        be sure whether this actually works.


    V0.9.18 (March 26, 2002)
    -----------------------

    --  GUI rework. Install pages are finally resizeable,
        besides made them a bit prettier. Keyboard support
        should finally work too. "Configure" page uses
        checkbox containers now for future extensions.

    --  WarpIN internally processes all strings in Unicode
        now. This should finally allow people to create
        scripts in non-European languages. Even though
        nearly all string processing in WarpIN had to be
        reworked for this, including the script parsing,
        this change should be totally transparent to the
        user though.

    --  Splash dialog would never disappear in install mode.
        Fixed.

    --  Removed the stupid "list is not in SHADOW mode"
        debug message that appeared on deinstall.

    --  Prepared internal WarpIN package IDs to support
        four-part version numbers now. Scripts do not yet
        support this though.

    --  Database speedup. Checking the database for
        dependencies was terribly inefficient, which became
        a real problem when many packages were installed.
        Fixed, added lots of caching and reduced redundant
        processing in many places.

    --  Database packages are finally sorted by application
        names.

    --  Tons of fixes to executable stub. Added proper error
        handling to many places.

    --  Executable stub now returns more meaningful error
        messages than just "No sufficient WarpIN found".

    --  Executable stub now uses a separate thread for the
        unpacking of a temporary WarpIN, which fixes PM hangs
        in certain situations.

    --  Executable stub now uses WarpIN from executable if
        that is better than the installed version. Previous
        versions always used the installed WarpIN if it was
        at least 0.9.14, even if a newer WarpIn was in the
        executable archive. This should also fix the wrong
        version number in the database after WarpIN was
        updated.

    --  Removing parts from CONFIG.SYS PATH et al. statements
        on deinstall left duplicate ';' chars in the line.
        Fixed.

    --  The CONFIG.SYS loader would not detect CTRL-Z as
        the end-of-file marker, which resulted in new lines
        appended after that marker, being ignored by OS/2.
        Since the default CONFIG.SYS created by OS/2 install
        contains CTRL-Z, this caused problems on quite a
        number of systems. Fixed. Thanks to Achim Hasenmller
        for telling me about this problem.

    --  More internal rework for GUI abstractions as a
        preparation for future CID support.


    V0.9.16 (February 4, 2002)
    --------------------------

    --  Added WARPIN OS= attribute, which was never implemented
        (blushing...).

    --  DEEXECUTE scripts were run even on install, which caused
        the problems with the XWorkplace install objects to be
        nuked on every install. Fixed.

    --  Fixed bad macro resolution with "DEVICE=?:\" config.sys
        strings.

    --  Fixed a number of problems with the standard executable
        stub, which did not handle paths with spaces, and other
        weirdos.

    --  Fixed crashes with VARPROMPT strings, which caused xfix*.wpi
        installation to fail.

    --  With VARPROMPT, WarpIN prompted several times for the same
        variable. Fixed; the value first entered is now stored.

    --  After pressing "Cancel" in the VARPROMPT dialog, system
        would hang. Fixed; DosWaitThread on a PM thread wasn't
        a good idea.

    --  Fixed crashes with PWICQ.WPI.


    V0.9.15 (September 19, 2001)
    ----------------------------

    This is an interim release for the IBM Warp Community
    Workshop, September 17 to 21, 2001, Heidelberg, Germany.

    --  Fixed a number of rather stupid or plain wrong
        error messages in WarpIN, most importantly related
        to script errors (which appear to have broken a
        while ago).

    --  Added "script test mode" (-t option) to WIC.EXE.


    V0.9.14 (August 26, 2001)
    -------------------------

    --  Added self-installing executable support. WarpIN
        itself comes as an EXE file now, and WIC.EXE
        has the -u and -U options for creating EXE
        archives now.

        Thanks Yuri Dario for making this work in the
        back-end.

    --  Added command-line options to warpin.exe to allow
        for forced recreation of WPS objects and such.
        See WPI_USER.INF. Also added a shadow to this
        history.txt file.

    --  Fixed a bug in REXX string parsing which caused
        PmAs installation to fail.

    --  Fixed WARPIN CODEPAGE= tag, which broke with some
        earlier release.

    --  Selecting something from "Selections" menu in
        install mode didn't update the drives info window.
        Fixed.

    --  main() crashed in some situations when C++
        exceptions were thrown. Fixed.

    --  Added more data to archives display in "Archives"
        menu in install mode.

    --  WarpIn no longer uses the Standard Template
        Library (STL) at all. This significantly reduced
        the size of the WarpIN executables and sped up
        operation generally too. Besides, compilation now
        takes almost half the time.

        I wrote my own list<> template to replace the STL
        one, which uses helpers\linklist.c internally but
        provides C++ type safety through the list template.

        For this, a major overhaul of the internal WarpIN
        classes was in order. Most classes now derive from
        an abstract base class called BSRoot, which allows
        for limited RTTI and run-time object management.
        This will probably be extended in the future for
        better garbage collection.

    --  Optimized the code for size in various places,
        mostly for stub support to make stub.exe smaller.
        This required more changes to the back-end.

    --  Yuri Dario made some changes for VAC 3.6.5.

    --  Nuked out tons of printf calls in bzlib which were
        never visible anyway.


    V0.9.13 (July 6, 2001)
    ----------------------

    --  WPIRTL.DLL now exports all mangled C++ functions by
        ordinal only. This should speed up WarpIN and WIC
        startup.

    --  Added still more error checking and slightly more
        meaningful error codes to the back-end.

    --  Yuri Dario added initial exe stub support to the
        backend (wic -u option).

        WARNING: Stub support required changes to the WPI
        file format. While WarpIN 0.9.0 to 0.9.12 used the
        WPI file format revision 3, if the stub option is
        used, WIC forces the WPI file format revision flag
        to be set to 4. This will cause earlier WarpIN
        versions to fail on the archive.

        This only applies if you use the wic -u option.
        In summary:

        --  WarpIN 0.9.13 can open all WPI files (WPI rev.
            3 and 4).

        --  WarpIN 0.9.12 and earlier can only read WPI
            rev. 3, which is still used by WIC 0.9.13 if
            stubs are not used.

        --  If you use stubs, your users will need WarpIN
            0.9.13 or higher to install the WPI.

        Stub support is otherwise still not documented.
        Documentation will follow in a later release.

    --  Knut Stange Osmundsen fixed some more things which
        were required for certain Odin features.


    V0.9.12 (June 6, 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 <README>.
        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.

    --  <PCK CREATEOBJECT> didn't work with REPLACE. Fixed.

    --  <PCK EXECUTE> didn't work right. Fixed.

    --  Added <PCK EXTERNAL REQUIRED>.

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

