# GBM Change Log

    11-May-1992  Initial general release.

    29-Nov-1993  Supplied to IBM OS/2 Developer Connection.

    01-Aug-1994  Submitted to Internet hobbes.nmsu.edu.

    10-Jan-1995  Added gbm_version(), better error checking, const's.
                 Added clarification on LZW 'software patent'.
                 Submitted to hobbes.nmsu.edu.

    16-Jan-1995  Added support for Portrait files (.CVP files).

    21-Mar-1995  Fixed palettes in XIMG GemRas files (thanks Eero).
                 Fixed GIF writing transcol=edge, & reading local colour tables.
                 Added GBMLOGO.EXE to ease use of MAKELOGO.EXE on DevCon CD 6.

    16-May-1995  Distribution now uses InfoZIP ZIP.EXE, not PKZIP.EXE 2.04g.
                 Added Product Information dialog box to GBMV2.EXE.
                 Fixed GBMLOGO.EXE error message trap for non 640x400 bitmaps.

    25-Mar-1996  Improved Bitmap reader to tolerate bad #colours in header.
                 Fixed reading XBitmaps with digits in their identifiers.
                 Added support for ilace flag on GIF output.

    01-Apr-1996  Fixed reading XBitmaps with other chars in their identifiers.
                 Fixed interlaced GIF support.
                 Added Win32 makefile and compilability.
                 Added ability to cause GBM.DLL to use user defined I/O funcs.
                 Added accessibility of I/O funcs used by GBM.

    16-Apr-1996  Applied fixes found by Wonkoo in 1/4/1996 release.
                 Increase warning levels for OS/2 compile and cleaned up source.
                 Added /Os- to work around C-Set++ bug.

    29-Apr-1996  Applied fix to GIF/TIFF readers found by David Wendt.

    19-Jun-1996  Applied fixes found by Ralf and Andreas.
                 Fixed RLE4 Bitmap decoder (thanks for Marc for bug report).

    28-Oct-1996  Changed over from IBM C-Set++ to IBM VisualAge C++ with CTC305.
                 Fixed 16bpp display bug in GBMV2.EXE.

    18-Nov-1996  Added darkfg option on 1bpp BMP writing.
                 Fixed printout of 1bpp bitmaps problem.

    01-Feb-1997  Changed colour->greyscale coefficients, as Wonkoo suggested.
                 Added JPEG support.
                 Changed documentation to HTML.
                 Submitted to Internet hobbes.nmsu.edu.

    01-May-1998  Added initial Linux port.
                 Support GIF files without EOI code in compressed data.
                 Included source for OS/2 PM Scroller control.

    12-Jul-1998  Fixed writing 1bpp PCXs with reverse palettes (ta Wonkoo).
                 Fixed OS/2 c0000005 Trap by increasing stack size (ta Gunter).

    01-Jan-1999  Added OS/2 _System Gbm_ entrypoints.
                 Added support for filenames starting with -, via -- convention.
                 Initial port to 32 bit DOS, via Watcom C/C++ and CauseWay.

    20-Jan-1999  Fixed reading of .pgm palettes (ta Wonkoo Kim).
                 Fixed 2 low probability bugs in LZW encoders in GIF and TIFF.

       ?/?/1999  Change to gbmpgm.c and gbmppm.c to use \n in header.
                 Splitting out of OS/2 specific stuff to seperate package.
                 Fixed 32 bit DOS port to work properly with JPEG support.

    21-Nov-1999  Fixed reading OS/2 bitmaps with < 2**N colours.

    04-Jan-2000  Fixed reading of 24 bit GemRas image files.

    12-May-2000  Improved TIFF and GIF LZW readers corrupt data detection.
                 Improved TIFF LZW decompressor to work if EOI missing (ta Doug).

    31-Dec-2000  A few minor tweaks to make source more friendly to Mac compiler.
                 Basically factored in Karl Timmermann suggestions, fixed a few
                 minor signed/unsigned char problems, and removed some #includes.

    05-Feb-2001  gbmsize -a option, Jeroen Mosterts idea.

    12-Feb-2001  gbmbpp -c palNbpp options to map to user defined palette.

    18-Feb-2004  Added 4x4x4 truncate, halftone and error-diffuse functions.
                 Added gbmbpp -m 4x4x4 option.

    24-Aug-2005  Heiko Nitzsche:
                 Added PNG support via Libpng 1.2.8 and Zlib 1.2.3.

    28-Sep-2005  Heiko Nitzsche: GBM version 1.30

                 TIF support:
                   Replaced original TIF support by Libtiff 3.7.3.
                   This adds many additional compression schemes like LZW (with, w/o predictor),
                   PackBits, JPEG, Deflate, CCITT and more. Simple CMYK (32, 64 bpp) import is
                   available. Now also 32 bpp (with alpha channel), 48 bpp and 64 bpp (with alpha
                   channel) import and export is available. The alpha channel is available to the
                   application if option ext_bpp is used for import.
                   Single bitmaps of multipage TIFFs can be extracted.

                 PNG support:
                   PNG support from previous release got some fixes and was extended.
                   Now also 16 gray level, 32 (with alpha channel), 48 and 64 bpp (with alpha channel)
                   import and export is available. Transparency and user defined background is
                   supported as well. The alpha channel is available to the application if option
                   ext_bpp is used for import.

                 For backward compatibility the extended color depths must be explicitly enabled
                 by the client (see option ext_bpp) otherwise bitmaps downsampled to 24 bpp are
                 provided.

                 GBM command line tools:
                   The following tools have been extended to support 32, 48 and 64 bpp:
                   gbmsize, gbmhdr, gbmref, gbmsub, gbmgamma

                   A new format converter gbmconv has been added (also supports extended bpp).

    02-Oct-2005  Heiko Nitzsche: GBM version 1.31

                 PPM support: (algorithms replaced)
                   Can now also read and write 48 bpp RGB files.
                   Reading a bitmap from a multipage file is now possible.

    12-Dec-2005  Heiko Nitzsche: GBM version 1.32

                 TIF support:
                   Update to Libtiff 3.7.4
                   Fix decoding of separated RGB tiffs
                   Fix decoding of non-separated CMYK tiffs (8/16 bits per channel)

                 GBM File Dialog:
                   Redesign to match standard file dialog (eComStation)
                   Add bitmap preview

    08-Mar-2006  Heiko Nitzsche: GBM version 1.35

                 Reworked GBM documentation.

                 OS/2 compiler support extended:
                   GBM.DLL, command line tools, GBM file dialog, GBMV and GBMV2 can
                   now also be compiled with Open Watcom 1.4. IBM Visual Age C++ for
                   OS/2 is still supported. Binaries created with Open Watcom are
                   fully compatible with older VAC builds (_Optlink is supported).
                   The makefiles use nmake syntax but you can use "wmake /ms /f makefile.wat"
                   to compile with Open Watcom's wmake.

                 Regression tests:
                   A simple set of regression tests has been created. See gbmtest directory.

                 BMP support:
                   Add support for reading RLE24 compressed bitmaps

                 Code changes:
                   All bitmap format descriptions have been moved to gbmdesc.h to
                   support simplified localization.

                 API extensions:
                   New APIs have been added:
                   1. gbm_restore_io_setup()
                   2. gbm_read_imgcount()
                   3. Compiler independent modes for gbm_io_open() and gbm_io_create()
                      are now provided. Use only the new GBM_O_* modes for new applications!
                      The defined values are backward compatible to VAC++ 3.0 to keep
                      compatibility with older applications.
                   4. gbm_io_lseek() should only be used with the new compiler independent
                      origin defines GBM_SEEK_*. The new definitions are backward compatible
                      to VAC++ 3.0 to keep compatibility with older applications.

                   The import library gbm.lib does reflect the extended API.
                   If your application has to be compatible to GBM.DLL releases
                   up to 1.32, you should link against gbmorg.lib. New APIs
                   will not be available then. You should still use the new defines.

                   Supported multipage image formats: BMP, GIF, TIF, PPM, SPR
                   (For all other image formats, the header is tested first and
                   on successful detection, 1 is reported.)

                 GBM command line tools:
                   gbmhdr is now able to display all bitmaps of multipage images.
                   The reported index can be used to reference a specific bitmap
                   by using option index=n in all command line tools.

                   Supported multipage image formats: BMP, GIF, TIF, PPM, SPR

    24-Mar-2006  Heiko Nitzsche: GBM.DLL 1.36, GBMDLG/GBMV2 1.23

                 GBM.DLL:
                 * TIF support:
                   Update to Libtiff 3.8.2
                   Fix JPEG decoding via RGBA reader for YCbCr JPEGs

                 GBM File Dialog:
                 * Fix bitmap preview, sometimes the bitmap was not shown due to a scaling issue

    29-Mar-2006  Heiko Nitzsche: GBM version 1.37, GBMDLG/GBMV2 1.24

                 GBM.DLL:
                 * Some small performance optimizations for color mapping in TIF, PNG and PPM
                   when importing/exporting.

                 GBM File Dialog:
                 * Bitmap preview enhanced
                   If options are entered into options field and the field loses focus,
                   they are now interpreted for the preview. ext_bpp is supported as well
                   but because OS/2-PM only supports 24 bpp the bitmap is downsampled
                   for the preview.
                 * Bitmap info beside preview image extended to show also number of
                   contained pages if a recent GBM.DLL is found.
                 * Fix dialog resource issue with IBM RC compiler (get rid of CTLDATA at VALUESET)
                   which caused a crash with IBM VAC compiled GBMDLG.DLL. OpenWatcom wrc
                   didn't cause any issues.

    29-Apr-2006  All binaries can now also be compiled with OpenWatcom 1.5.

                 NEW: GBMDLGRX 1.0, a REXX adapter DLL for the GBM File Dialog

                 GBM documentation
                 * Incorporated changes due to fix for command line parsing
                 * Added documentation about gbmver
                 * Added new GBM File Dialog REXX support on OS/2 and eCS (GBMDLGRX)

                 GBM.DLL 1.38
                 * Fix some issues to support OpenWatcom 1.5 compiler upgrade

                 GBM command line tools
                 * gbmver:
                   - The tool now also checks for GBMDLG.DLL (GBM File Dialog).
                   - Now additionally a directory can be specified where the tool
                     looks for GBM.DLL and GBMDLG.DLL.

                 * gbmgamma:
                   - Fix a rare case for bitmaps with >24bpp. If no map option is
                     specified the written file could be partly or completely black.

                 * gbmhdr:
                   Added general mechanism to resolve shell provided file names
                   via regular expressions on OS/2 due to inclusion of OpenWatcom
                   support (which doesn't have setargv.obj like IBM VAC++).
                   Now calls like "gbmhdr *.jpg *.png" work also with the OpenWatcom
                   binaries. The new mechanism additionally allows binding options
                   to each file template.
                   Example: gbmhdr *.bmp,index=3 *.tif,index=1

                 * Fix issue with comma separation between file and options.
                   The tools couldn't read bitmap files that have a comma in
                   the filename (comma is used as option separator).
                   Now a filename can be specified with quotes and thus allows
                   clearly separating it from the options.
                   Example: gbmhdr "\"file with ,*.bmp\",options"
                   (\" is necessary because the shell otherwise removes the ",
                    the other " is non-escaped quote is used by the shell to group
                    parameters with spaces (like a filename) to one arguments)

                   Recommendation is to always use this new syntax. See also
                   the usage description available from the tools for specific details.

                 GBMDLG/GBMV2 1.25
                 * Fix gbmwpobj.cmd which didn't run on some systems.
                 * Fix GBM File Dialog issue which prevent that the options
                   entered by the user are interpreted.
                 * Fix some smaller issues in GBM File Dialog found during
                   development of the REXX wrapper library.
                 * Fix issue with comma separation between file and options.
                   The tools couldn't read bitmap files that have a comma in
                   the filename (comma is used as option separator).
                   Now a filename can be specified with quotes and thus allows
                   clearly separating it from the options.
                   Example: gbmv "\"file with,xyz.bmp\",options"
                   (\" is necessary because the shell otherwise removes the ",
                    the other " is non-escaped quote is used by the shell to group
                    parameters with spaces (like a filename) to one arguments)

                   Recommendation is to always use this new syntax.
                   The included REXX script gbmwpobj.cmd for creating the WPS objects
                   has been updated and will take care of this.

    16-May-2006  NEW: GBMRX 1.0, a REXX adapter DLL for GBM.DLL
                 * Supports full feature set of GBM.DLL except I/O remapping
                 * Requires GBM.DLL 1.35 for using all features but also
                   works with older version (> 1.09) with reduced feature set.
                   (no possibility to query the number of pages contained in the file)

                 GBMDLGRX.DLL 1.01
                 * Add function to query module version

                 GBM.DLL 1.39
                 * PNG support:
                   Upgrade to Libpng 1.2.10

                 GBM command line tools
                 * Add more restrict checking for completeness when using
                   the new syntax for specifying filename with options.
                 * gbmver
                   Verify detected/specified GBM.DLL/GBMDLG.DLL/GBMRX.DLL/GBMDLGRX.DLL
                   version by looking now at all exported functions and give some hints
                   about backward compatibility to applications.
                   As the calling convention of the functions and the parameters
                   cannot be queried from the OS, there is still a small amount
                   of uncertainty.

                 GBMV/GBMV2 1.26, GBMLOGO, GBMVFSA
                 * Add more restrict checking for completeness when using
                   the new syntax for specifying filename with options.

    27-May-2006  GBM.DLL 1.40
                 * Add support for reading Windows 16bpp and 32bpp
                   BI_RGB and BI_BITFIELDS encoded bitmaps (BMP). Writing
                   them will not be supported as Windows can also read
                   standard 24bpp BMPs without this strange encoding.
                   Also these formats mostly aren't supported by other platforms.
                 * Fix the strange handling of 1bpp bitmaps. Now the colour
                   palette is honored just as in all other formats.
                 * Protect all readers and writer against illegal colour depth
                   requests (gbm_read_palette, gbm_read_data, gbm_write)
                 * Obsolete format codes GBM_FT_R16 and GBM_FT_W16 as these are not
                   unique interpretable. Use 24bpp or 48bpp color depths instead.
                   There has been no codec that used them so far anyway.

                 GBM command line tools
                 * gbmhdr:
                   - Dynamically load gbm.dll for querying image page count
                     to allow it to load also with older gbm.dll versions
                     on OS/2.

                 GBMV/GBMV2 1.27
                 * They got new program icons (created by David Graser)
                 * Fix display of 1bpp color bitmap for which no RGB color
                   table was created and thus only the closest pure color
                   was used. This caused wrong colors in display but had
                   no effect on bitmap operations.
                 * Fix makefile issue with English IPFC country code. It's now 001.

                 GBM File Dialog
                 * Fix preview of 1bpp bitmaps
                 * Updated online help to reflect newly supported BMP formats
                 * Fix makefile issue with English IPFC country code. It's now 001.

    24-Jun-2006  GBM.DLL 1.41, GBM command line tools, GBMV/GBMV2 1.28, GBMDLG, GBM REXX 1.01
                 * Use default structure packing internally but keep externally used
                   GBM/GBMDLG struct data 4 byte aligned to keep binary compatibility.
                   OpenWatcom compiled binaries are now internally using compiler
                   pentium optimized data packing (8 byte) to improve performance a bit.

                 GBM.DLL 1.41
                 * NEW: extended PPM support
                  (24/48 bpp, types: ascii P3 and binary type P6, multipage type P6)
                 * NEW: extended PGM support
                  (8 bpp    , types: ascii P2 and binary type P5, multipage type P5)
                 * NEW: new PBM support
                  (1 bpp    , types: ascii P1 and binary type P4, multipage type P4)
                 * NEW: new PNM support
                  (same subformats as PBM/PGM/PPM, multipage PNMs)
                 * shorten BMPs long description to simply "OS/2 / Windows bitmap"
                 * Modified compiler options for OpenWatcom build after profiling.
                   Performance benefits are between 5 and 20 percent depending on the
                   image format and the specified options. Overall performance on my
                   Athlon64 3000+ is now close to the IBM VAC build.

                 GBM command line tools
                 * Modified compiler options for OpenWatcom build after profiling.
                 * gbmconv has now built-in conversion time measurement. It can be
                   activated by enabling #define MEASURE_TIME at the beginning of
                   gbmconv.c.

                 GBMV/GBMV2 1.28 and GBM File Dialog
                 * Modified compiler options for OpenWatcom build after profiling.

                 GBM File Dialog
                 * Updated online help to reflect newly supported formats
                   PBM, PGM, PPM, PNM

                 GBM documentation
                 * Added documentation about new formats PBM, PGM, PPM and PNM
                 * Sections for developers on how to use GBM.DLL, GBMDLG.DLL,
                   GBMRX.DLL and GBMDLGRX.DLL in their own programs completed.

    27-Jun-2006  NEW: GBM plugin for Lucide (LUGBM.DLL version 1.0 beta 1)
                 * Initial public beta

    30-Jun-2006  GBM plugin for Lucide (LUGBM.DLL version 1.0 beta 2)
                 * Fixes for the most urgent issues
                   - file extension list too long for file dialog (only keep the first extension)
                     which causes a cutted list of shown file extensions and a crash on pressing
                     Cancel in the file dialog (buffer overflow in Lucide)
                 * Add error message reporting to load_file())

    16-Jul-2006  NEW: GBM plugin for Netscape/Mozilla/Firefox/SeaMonkey
                      (NPGBM.DLL version 1.00)

                 NEW: GBM plugin for Lucide (LUGBM.DLL version 1.00 final)
                 * It requires Lucide 1.2 due to plugin API changes
                 * Added document info
                 * Added rotated rendering
                 * Added delayed loading of bitmap data (on user request)
                 * Support transparent caching for fast scrolling of a scaled view

                 GBM.DLL 1.42
                 * Upgrade to Libpng 1.2.12 due to a possible security issue.
                   For GBM.DLL now all the relevant code parts have been stripped
                   (no impact on functionality, just debug reporting).
                 * Modify OpenWatcom compiler options to fix random crashes due to
                   bad stack. This was introduced with GBM.DLL 1.41 which had been
                   speed optimized.
                   GBM.DLL 1.41 should no longer be used and replaced by version 1.42.

                GBM tools for PM
                * No new version number but recompiled with slightly modified
                  OpenWatcom compiler options to improve stability.

    31-Jul-2006: GBM plugin for Netscape/Mozilla/Firefox/SeaMonkey (NPGBM.DLL version 1.10)

                 * Added fullscreen mode viewer with a load of features
                   - menus, popup menu, scrollers
                   - variable scaled preview
                   - transformations: mirror/transpose/rotate
                   - multipage navigation
                   - save the shown page to any GBM supported bitmap file format
                   - uses GBM File Dialog if found, otherwise OS/2 File Dialog is used
                   - English and German localized with autodetection via LANG variable

                 * Added embedded mode viewer with reduced functionality of
                   fullscreen mode viewer
                   - popup menu
                   - transformations: mirror
                   - multipage navigation
                   - save the shown page to any GBM supported bitmap file format
                   - uses GBM File Dialog if found, otherwise OS/2 File Dialog is used
                   - printing of embedded bitmaps is supported on Mozilla/Firefox/SeaMonkey
                   - English and German localized with autodetection via LANG variable

                 * Now supports dynamic lookup of GBM.DLL either via LIBPATH
                   or look into the directory where NPGBM.DLL is located.
                   This allows having GBM.DLL beside NPGBM.DLL in the Mozilla
                   plugin directory. This mechanism does not work with GBMDLG.DLL.

                 GBM for Lucide 1.10 (LUGBM.DLL)
                 * Save loaded bitmap in any GBM supported format if it has only one page
                   (GBM does not support multipage save)
                 * Remove code for rendering to a buffer, rendering is now always via HPS
                 * Sync to latest common code shared with the Mozilla plugin
                 * Now supports dynamic lookup of GBM.DLL either via LIBPATH
                   or look into the directory where lugbm.dll is located.

                 GBM.DLL 1.43
                 * BMP support:
                   Prevent possible buffer overflows in 4,8,24 bpp RLE decoders due
                   to badly encoded bitmap.
                 * IFF/LBM support:
                   Prevent possible buffer overflows in RLE decoder due to badly
                   encoded bitmap.

    16-Aug-2006: GBM for Lucide (LUGBM.DLL 1.20)
                 * Adapt makefiles to use now the patched SOM header files
                   part of the Lucide plugindev pack.
                 * Fix for issue that GBM.DLL is not found when LIBPATHSTRICT
                   (or RUN!) is used.
                 * Add bldlevel info

                 GBM for Netscape/Mozilla/Firefox/SeaMonkey (NPGBM.DLL 1.20)
                 * Renamed menu "Reflect horizontally" to "Flip horizontal" and
                   menu "Reflect vertically" to "Flip vertical" in English NLS.
                 * Added bitmap information dialog box
                 * Fix for issue that GBM.DLL and GBMDLG.DLL are not found
                   when LIBPATHSTRICT (or RUN!) is used.
                 * Add bldlevel info

                 GBM.DLL 1.44
                 * Add bldlevel info

                 GBM command line tools (gbmver, gbmhdr)
                 * Remove .DLL from the dynamically loaded libs so that
                   their lookup also works with LIBPATHSTRICT enabled.

                 GBM File Dialog + GBMV2 1.29
                 * Remove .DLL from the dynamically loaded GBM.DLL so that
                   its lookup also works with LIBPATHSTRICT enabled.
                 * Add bldlevel info to GBMDLG.DLL

                 GBMRX.DLL 1.01
                 * Load GBM.DLL via "GBM" rather than "GBM.DLL" so that
                   it is found also with LIBPATHSTRICT enabled.
                 * Add bldlevel info

                 GBMDLGRX.DLL 1.02
                 * Add bldlevel info

                 All GBM modules
                 * Makefiles now support activating debug compile without
                   editing them. Just use nmake or wmake with parameter debug=on

    31-Aug-2006  GBM for Lucide Patch (LUGBM.DLL 1.21)
                 * When reporting an extended error message after a loading error
                   sprintf reads from an illegal address due to wrong parameter
                   (int instead char pointer). This caused a crash of Lucide.

    08-Sep-2006  GBM for Lucide Patch (LUGBM.DLL 1.22)
                 * 1bpp bitmaps were shown inverted (colors swapped)

                 GBM for Netscape/Mozilla/Firefox/SeaMonkey (NPGBM.DLL 1.21)
                 * 1bpp bitmaps were shown inverted (colors swapped)

    12-Dec-2006  GBM for Lucide (LUGBM.DLL 1.23)
                 * Improved detection of bitmap file formats
                 * Adapt loadFile() and renderToPS() for Lucide 1.0 API
                   - error reporting added to the API
                   - requires Lucide Beta 5 or higher

                 GBM for Netscape/Mozilla/Firefox/SeaMonkey (NPGBM.DLL 1.30)
                 * Add help support for the GBM file dialog (requires gbmdlg.dll 1.31 or higher)
                 * Allow all dialogs to be moved outside the plugin window
                 * Improved detection of bitmap file formats which allows showing bitmap files
                   that carry wrong file extensions (e.g. .tif but in reality it's a jpg)
                 * Some fixes in GUI handling (menus were sometimes active if file was not loaded)
                 * Enable support for XPM (X Windows PixMap) format
                   (requires GBM.DLL 1.50 or higher)

                 GBM.DLL 1.50
                 * NEW: XPM codec
                   - XPM2, XPM3 formats only, XPM1 or XPM2C are not supported
                 * JPEG codec improvements:
                   - Add support for reading YCCK and CMYK encoded JPEGs
                     (simple color space conversion only, no color management support!)
                   - Add support for writing grayscale JPEGs (8bit) with r,g,b,k options
                   - Add support for smoothing and optimized writing
                   - Add support for writing a user comment
                   - Undo hack in jmorecfg.h (changing oder of RGB out put from RGB to BGR),
                     it is now back to the original order as this is required by TIFF decoder.
                     The color component order is now swapped in the JPG codec.
                 * PBM/PGM/PPM/PNM codec improvements:
                   - Dramatically improved performance for ASCII format read/write
                     (by using read ahead and write cache)
                 * TIFF codec improvements:
                   - Report at least 1 page if libtiff reports 0. This is backward compatible
                     behaviour. The directory tag might be missing in the file and length
                     calculation fails as well due to compression scheme.
                   - CMYK images (8/16bpp) can now be read (single and multiplane TIFFs)
                     (simple color space conversion only, no color management support!)
                   - Report more specific error message for data decoding problem
                 * TGA codec improvements:
                   - Fix RLE8 decoder (wrong pointer used for ydown reading)
                   - Reject unsupported interleaving schemes (except non interleaved)
                   - Add support for reading horizontally flipped TGAs
                   - Add support for reading 32bpp TGAs with alpha channel if option ext_bpp is set.
                   - Add support for writing 32bpp TGAs keeping the alpha channel if source data is 32bpp.
                   - New input option ext_bpp to allow activation of 32bpp input with alpha channel
                 * SPR codec changes:
                   - Attempt to protect the format detection better against wrong interpretations.
                     Number of pages is now restricted to 10000 due to this.
                 * PNG codec:
                   - upgrade to Libpng 1.2.14
                 * Several performance improvements
                 * Open Watcom binaries are now quite a bit faster (better compiler optimization enabled)

                 GBM command line tools:
                 * gbmhdr
                   - Fix a division by zero crash that happened for bitmaps with size smaller
                     than 1 byte (e.g. 1x1x1bpp).
                 * gbmver
                   - Sync to changes of GBMDLG.DLL API

                 GBM File Dialog 1.31
                 * Dialog window procedure is now exported to allow dialog subclassing
                 * Updated online help to reflect newly supported JPEG options
                 * Updated online help to reflect newly supported TGA options
                 * Added XPM format to online help
                 * Some reformatting of the online help to make it more consistent

                 GBMDLGRX.DLL 1.03
                 * Fix file dialog subclassing, requires now GBM File Dialog 1.31
                 * Make library usable from multiple threads of a process (is thread-safe now)

                 Compiler support:
                 * OpenWatcom 1.6 is now supported for all packages
                 * In the Lucide plugin linker description file the exports have to be adapted
                   if OpenWatcom before 1.6 is used for compile (see the remarks in the file lugbm.lnk)

    22-Jan-2007  GBM for Lucide (LUGBM.DLL 1.24)
                 - Some fixes for upcoming Lucide RC1
                 - Protect getPageSize() against writing to width or height
                   for the unusual case they're NULL.
                 - Don't write to error/errorCode pointer if it is NULL.
                   This is a bit strange as one would expect that they
                   would be always valid.

                 GBM.DLL 1.51
                 * some smaller non-critical fixes

                 GBM command line tools:
                 * gbmsize
                   - Allow -h and -w together with -a options.
                     The minimum frame size is preserved.

    06-Sep-2007  GBM for Lucide (LUGBM.DLL 1.30)
                 * Add support for Lucide 1.02 API extension isFileSupported()
                   to allow file format detection via file content
                 * Add support for creating thumbnails in EAs
                 * Report all available extensions again as the issue with
                   Lucide file dialog has been resolved since Lucide 1.10.
                   So this plugin version should not be used with older Lucide!
                 * 8bpp grayscale and true color images are now scaled with
                   a high quality algorithm to improve appearance.

                 GBM plugin for Netscape/Mozilla/Firefox/SeaMonkey (NPGBM.DLL 1.31)
                 * 8bpp grayscale and true color images are now scaled with
                   a high quality algorithm to improve appearance.

                 GBM.DLL 1.52
                 * Seek to file end after reading/writing the image data as some
                   readers/writers operate non-sequential.

                 GBM command line tool gbmsize + gbmscale library
                 * Add resampling scaler:
                   -> Filter functions:
                      Nearest Neighbor, Bilinear, Bell, BSpline, Mitchell, Lanczos
                   -> Supported color depths:
                      *  8bpp (grayscale)
                      * 24bpp
                      * 32bpp (24bpp with alpha channel)
                      * 48bpp
                      * 64bpp (48bpp with alpha channel)

                 GBMV2 1.40
                 * Add interpolated scaling support with several filter types
                   (Nearest Neighbor, Bilinear, Bell, BSpline, Mitchell, Lanczos)

                 GBMV 1.40
                 * The viewer window is now restricted to the visible screen area,
                   Larger images are downscaled to be completely visible. The aspect
                   ratio is preserved.
                 * For downscaling additionally a interpolation filter can be defined.
                   -> new option -f filter
                   -> filter can be: nearestneighbor, bilinear, bell, bspline, mitchell, lanczos

                 Compiler support:
                 * OpenWatcom 1.7 is now supported

    04-Nov-2007  GBM.DLL 1.53, GBM command line tool gbmsize + gbmscale library
                 * Resampling scaler with improved accuracy

                 GBMV/GBMV2 1.41, GBM File Dialog 1.41
                 * Resampling scaler with improved accuracy
                 * Correct online help for resize dialog

                 GBM for Lucide (LUGBM.DLL 1.31)
                 * Resampling scaler with improved accuracy

                 GBM plugin for Netscape/Mozilla/Firefox/SeaMonkey (NPGBM.DLL 1.32)
                 * Resampling scaler with improved accuracy

                 Compiler support:
                 * Upgrade to OpenWatcom 1.7a due to issues found in the 1.7 release

    27-Jan-2008  GBM.DLL 1.54
                 * PNG codec:
                   - upgrade to Libpng 1.2.24

                 GBM command line tool gbmsize + gbmscale library
                 * Add support for resampled scaling of 1bpp and 4bpp grayscale bitmaps.
                   (automatic color depth expansion)
                   -> Now supported color depths:
                      *  1bpp, 4bpp, 8bpp (grayscale only)
                      * 24bpp
                      * 32bpp (24bpp with alpha channel)
                      * 48bpp
                      * 64bpp (48bpp with alpha channel)

                 GBMRX.DLL 1.10
                 * Add scaling capability (simple + resampling)
                 * Add query for available scaling algorithms
                 * Add test routine for checking of supported scaling algorithm
                 * Add routine to expand palette bitmaps to 24bpp true color
                 * Add support for reflect and transpose
                 * Add support for rotating in 90 degree increments
                 * Add description of new APIs to documentation

                 GBM command line tool gbmver
                 * Sync to GBMRX.DLL API changes

                 GBM gbmmir library
                 * fix potential buffer overflow in 4bpp transpose code

                 GBMV/GBMV2 1.42
                 * Resampling scaler now supports all grayscale bitmaps up to 8bpp
                 * Fix rotation direction for 90 and 270 degress in GBMV2

                 GBM for Lucide (LUGBM.DLL 1.32)
                 * Resampling scaler now supports all grayscale bitmaps up to 8bpp

                 GBM plugin for Netscape/Mozilla/Firefox/SeaMonkey (NPGBM.DLL 1.33)
                 * Resampling scaler now supports all grayscale bitmaps up to 8bpp

    26-Mar-2008  GBM.DLL 1.55
                 * PNG codec:
                   - upgrade to Libpng 1.2.25
                   - Fix: Missing background color when downconverting RGBA
                          with 4 channels to 3 channels by stripping alpha channel.
                          This makes some images look badly if the user did not
                          provide a custom background color. Now a white background
                          is used instead of simply stripping the alpha channel.

                 GBM command line tools
                 * gbmsize: Removed maximum size limit

                 GBMV2 1.50
                 * Add Red Eye fix capability
                 * Fix some selection dependent menu activation
                 * Reorder some menu items to better logical groups
                 * Increase maximum allowed size for resize to 15000x15000
                 * Render bitmap creation replaced by direct rendering
                   (Reduced memory consumption, large bitmap can now be shown)
                 * Fix error when trying to resize a bitmap if GBMV2 is compiled with VAC
                 * Fix error during printing (printer driver data corrupted + wrong ENDDOC)
                 * Remember main window size and restore on restart
                 * Remember last path in file open/save dialog
                 * Make background colour dark gray to put the bitmap colours more to front

                 GBM for Lucide (LUGBM.DLL 1.33)
                 * Move HPS rendering code to common package GbmRenderer
                   to save memory (now renders directly from cache buffer)
                   without temporary subrectangle buffer
                 * Custom settings definable in lugbm.cfg file
                   (so far scaler={simple,nearestneighbor,bilinear,bell,bspline,mitchell,lanczos})
                   The default scaler is simple to allow fast scaling on less powerful systems.

                 GBM plugin for Netscape/Mozilla/Firefox/SeaMonkey (NPGBM.DLL 1.34)
                 * Move HPS rendering code to common package GbmRenderer
                   to save memory (now renders directly from cache buffer)
                   without temporary subrectangle buffer
                 * Custom settings definable in npgbm.cfg file
                   (so far scaler={simple,nearestneighbor,bilinear,bell,bspline,mitchell,lanczos})
                   The default scaler is simple to allow fast scaling on less powerful systems.

                 For all modules (also non-listed):
                 * Allocate memory from high memory for bitmap data to
                   stretch limit for out-of-memory errors
                   (requires kernel with high memory support)

                 New gbmmem.lib library used for platform independent memory management
                 * on OS/2 high memory objects are preferred for allocation
                 * C library fallback for other platforms
                 * Must be linked to all code that uses gbm code libs (e.g. gbmscale)