NEWS - list of user-visible changes between releases of LibGGI

New in 2.1.0: 2004-11-30:
- Documentation updates
- removed obseleted Xlib target
- added new GGIFLAG_TIDYBUF flag. It is intended for applications
  using directbuffer and having their own dirty-region
  management. Currently only supported by the X-target.
- KGI target improvements
    - added Matrox Gx00 accelerator sublib
    - added devfs support
    - added multiple frame support
    - merged improvements from the FreeBSD ports tree
- fbdev gammamap support
- added the -fullscreen option to the X-target
- added the -physz option to the ipc-target
- Major DirectX target improvements
        - added -noinput and -physz options by Christoph Egger. Tested by Albert Graef.
        - fix cursor stuff, added -keepcursor and -nocursor options (patch from Albert Graef)
        - disable maximize button on GGI-on-DX window (patch from Albert Graef)
        - remove stuff in WindowProc made obselete by the above two items (patch from Albert Graef)
        - move the globals in ddinit.c into private data structure (patch from Albert Graef)
        - merge the two targets into one (directxnt has been renamed to directx and is now the *one* directx target)
          (patch from Albert Graf)
        - fix a couple of bugs and race conditions (patch from Albert Graef)
        - added -inwin option (patch from Albert Graef)
        - added support for virtual size != visible size.
        - added support for panning (ggiSetOrigin)
        - added support for up to 16 frames.
        - added support for asynchronous mode (no background updates when active).
        - added support for fullscreen and mode switching.
        - preliminary support for palettized modes.
- display-auto has been added. It replaces the 5 years old linux specific target autodetection and handles it OS dependend
- works on Windows using MinGW w/o requiring special Makefiles.
- a pseudo-stubs target has been added by Peter Ekberg. It does effectively nothing, but gives extensions
  a way to have one target that stands for all targets that passes all operations to their parent visuals.
  libggiwmh and libggimisc make palemu and trueemu working with it w/o having a target for each of them.
- display-mansync has been reworked by Peter Ekberg. It now uses the platform independent task scheduler.
- added a new macro: GT_ByPPP which is basically GT_ByPP but for packed pixels and it takes two arguments.
^L

New in 2.0.7: 2004-11-30:
* minor buildsystem update
* eliminate lvalue assignments. Fixes problems with latest gcc versions
* Use more length bounded string operations
^L

New in 2.0.6: 2004-09-14:
* build system:
  - Prepend with GII include path when --with-uninst-gii is specified via configure
  - disable vgagl helper when not building the svga target
* X-target:
  - Bugfix: Ensure aligned memory access. Fixes crash on NetBSD/sparc64
  - Bugfix: Perform correct clipping in ggiFillscreen(3).
* display-memory: Bugfix: Free directbuffer completely.
* display-monotext: Bugfix: ggiCheckMode() returns actual error code than always success.
* documentation update:
  - add manual page for display-mansync
  - do not document not-existing GGIFLAG_TIDYBUF flag. It is a new feature in devel tree.
^L

New in 2.0.5: 2004-05-29:
* X-target:
  - Fix over-allocation of win y dimension.
  - Forward expose events to the application when -nobuffer is used.
  - Fix "strange colored pixels when re-exposing backbuffer"-Bug.
  - Focus pulling fix. Key focus should no longer get lost,
    when the mouse is NOT over the window. Note: Don't forget to
    update libgii's input-xwin and input-x before as libggi now
    passes some additional information to libgii.
* build system: It checks for buildable demos. Fixes compiling breakage on some platforms.
* other build system updates
* libtool update. Fixes Debian bug #208288.
* documentation updates
^L

New in 2.0.4: 2003-12-21:
* X-target:
  - minor mode initialization fix from Argo Vessmann
  - shm helper checks return code, when setting up the directbuffer
  - release locking on failure. (Threadsafety fix)
  - fixed geometry check. Opening (very) small windows is now possible.
* build fix: cygwin has no sys/shm.h and sys/ipc.h, so configure
  disables all targets requiring them, if not present.
* cbconsist demo: sync with devel tree
* gcc 3.3 compiling fix for default/linear_16/crossbuild.c
  (fixes Debian bug #197214)
* merged build fix from FreeBSD's ports tree to make the xf86dga target
  compile on FreeBSD (fixes FreeBSD PR ports/52380)
^L

New in 2.0.3: 2003-03-19
* X-target:
  - Fixed a bug, where a ggiFlush() call was missed, which makes
    directbuffer content visible when releasing it.
  - Fixed a clipping bug, causing to let disappear characters or
    whole strings.
  - Fixed clipping on multiple frames.
  - Add -keepcursor option, which keeps the default cursor.
  - Fixed crash when used 8bit characters
  - Fixed endless loop when X11 server provides only and only
    the same sort of X visuals
* Demo: Improved pageflip demo to test all primitives in a
  multi-frame environment
* merged some compiler fixes from the OpenBSD ports tree
* fixed a crash, when a drawing primitive (i.e. a line) crossed
  _two_ borders of the clipping rectangle
* added 64bit fixes to wrap and cube3d demos
* minor improvements to checkmode and struct check tool
  (important for target developers though)
* manpage fixes
^L

New in 2.0.2: 2002-12-26
* Misc bugfixes (see ChangeLog)
* Huge documentation updates
* Major build system update
  - adds builds fixes for many platforms
* memory-target
  - add -pixfmt option
  - added missing support for reporting physical screen sizes.
* X-target
  - rewritten (x/xlib splitting is obselete now)
  - added dirty region management
* xlib-target
  - disabled. Will be removed later
* fbdev-target
  - DirectFB driver works with directfb 0.9.13
  - added mach64 accelerator
* KGI-target
  - big update (works with KGI-0.9 now)
  - added mach64 accelerator
  - added radeon accelerator
  - still experimental, thus disabled in configure
^L

New in 2.0.1: 2001-08-26
* More documentation updates.
* Preliminary support for using DirectFB drivers under display-fbdev
* Many corrections/improvements to build files
* Started move towards using libtool versioning, as interface is stable.


New in 2.0: 2001-08-11
* Huge documentation updates.
* svgalib-target
  - added frame support
  - misc bug-fixes
^L


New in 2.0beta4: 2001-07-10
* Misc bugfixes (see ChangeLog).
* Huge documentation updates.
* finished support for reporting physical screen sizes.
* splitted libggimisc off
* New API: ggiDetachInput()
* fbdev-target
  - Acceleration of Matrox G400 (matrox fb)
* directX-target
  - Update
  - Highly experimental target for Win ... Use at your own risk !
* ipc-target
  - New target for interprocess communication (experimental)
^L


New in 2.0beta3: 2000-12-18
* Misc bugfixes (see ChangeLog).
* Minor documentation updates.
* Major rewrite of the internal sublib handling.
* Some fixes for PowerPC compatibility.
* preliminary support for reporting physical screen sizes.
* Made all headers C++ compatible.

* lcd823-target
  - Target for the Motorola MPC823 builtin LCD controler, using
    the /dev/lcd823 Linux kernel device.
* fbdev-target
  - Better detection of kgicon-type fb-devices and old fb implementations.
  - Better usage of fbdev mode infos in fb.modes
  - Better acceleration for the Matrox fb.
* glide-target
  - Added directbuffer support.
* aalib-target
  - Better mode handling.
* X-target
  - Propagated X dpi values to give physical screen dimensions.
  - Various fixes to properly init several values.
* tele-target
  - Updated much to make it work again.
* vgl-target
  - New target for FreeBSD's VGL library.
* directX-target
  - Highly experimental target for Win ... Use at your own risk !



New in 2.0beta2.1: 1999-05-17;
* Misc bugfixes (see ChangeLog).
* Minor documentation updates.
* Autoconf now checks for headers as well as libraries for Glide, AAlib and
  SVGAlib.
* Should now compile on Linux libc5 and other systems which doesn't define
  MAP_FAILED.

* cube3d-demo
  - Fixed to work on GT_32BIT visuals.
* demo-demo
  - Better teach how to properly use ASYNC/SYNC mode.

* fbdev-target
  - Now supports acceleration on matroxfb. Should work on all supported cards.
  - Read /etc/fb.modes to get timing information - mode switching now
    works for non-KGIcon drivers too.
  - Fixed bug when running on a new VT (like XGGI does by default).
  - Don't try to change the palette when the application is switched away.
  - Now compiles on 2.0 kernels - someone with the proper hardware please
    test whether it actually works.
* svgalib-target
  - Major updates and bugfixes.
  - Now supports running in the background using the GGICMD_NOHALT_ON_UNMPAP
    standard API.
  - Console switching now works, but does _not_ use SIGUSR* - you can now use
    the SVGAlib target with pthreads!



New in 2.0beta2: 1999-04-01;
* Portability fixes for non-Linux platforms.
* Lots of bugfixes.
* Documentaion updates.
* Optimizations of the linear-* drawing libraries - now software drawing,
  ggiCrossBlit() and ggiPutBox() is much faster.
* Linux VT-switching now works with pthreads.
* New environment variable GGI_NEWVT which will cause Linux-console based
  targets to open a new VT instead of running on the current one.
* API for requesting Linux-console based targets not to halt when switching
  to another VT.
* New API functions ggiSetColorfulPalette(), ggiFlushRegion(),
  ggiResourceAcquire(), ggiResourceRelease(), ggiResourceMustAcquire(),
  ggiResourceFastAcquire(), ggiResourceFastRelease(), ggiEventsQueued(),
  ggiEventSend() and ggiEventSelect().
* ggiGetSelectFdSet() removed.
* The config file is now stored in /usr/local/etc/ggi by default.
* Support for setting the mansync framerate.
* New configure option --with-uninst-gii, which makes it possible to
  build LibGGI against an uninstalled copy of LibGII.
* All targets should now be compatible with Linux devfs systems.
* Support for targets using asynchronous acceleration.
* Big improvements in the event handling code, see the LibGII docs and NEWS
  file for info.

* stars-demo
  - Demonstrate how to runtime switch between X and DGA targets with help
    from the application.
* cube3d-demo
  - New demo which lets you run one to six arbitrary LibGGI applications
    on a rotating, zoomable, cube, which is displayed on any LibGGI target.

* X-target
  - Handle expose events internally.
* X/Xlib-targets
  - Much improved system for matching LibGGI graphtypes with X-visual types.
  - Support for StaticColor X-visuals.
  - Support for running in an already existing window or in the root window.
  - Don't close and reopen the window when changing modes.
* DGA-target
  - Use our own client-side implementation of XFree86DGA to get better
    stability and support for optionally mapping the video memory from
    a framebuffer device (= no root privs required for DGA).
  - Support for acceleration on X servers supporting DGA 1.1.
* fbdev-target
  - Fixed fatal bug which would cause segfault when stride != virtual x.
* glide-target
  - Improved GGI_AUTO handling, support for more resolutions.
  - Support for more than one 3DFX card.
  - Restrained refreshrates so you doesn't damage your monitor.
* svgalib-target
  - 32-bit modes should now work
  - "return key causes quit" problem fixed.
* vcsa-target
  - Much improved color mapping algorithm.
  - "-shade" option added, and made shading NOT be the default since it
     screws up the colormapping for normal text.
* file-target
  - Support for saving movies of running GGI applications.

