@c -*-texinfo-*-
@ifset TEXT-ONLY
@include version.texi
@end ifset

@ifclear ANNOUNCE-ONLY
@chapter NEWS

The currently released version of the library is @samp{@value{GNUSTEP-GUI-VERSION}}.
@end ifclear

@section Noteworthy changes in version @samp{0.8.3}

@itemize @bullet
@item Additions for Gorm support.
@item Alpha support for OpenGL
@item Better ruler support - dragging of tab markers.
@item Document support, recent files, etc.
@item Simple printing to printer and print previewing.
@item Window focus fixes
@item Key view handling rewritten.
@end itemize

@ifclear ANNOUNCE-ONLY

@section Noteworthy changes in version @samp{0.8.2}

@itemize @bullet
@item Handle fonts that aren't found better.
@item Implement pageUp/Down.
@item Some window focusing problems fixed.
@item Quartz-like interface partially implemented.
@item NSSecureTextField partially rewritten. More secure.
@item NSBrowser: implement non-separate columns
@item Fix firstResponder status in text fields.
@end itemize

@section Noteworthy changes in version @samp{0.8.1}

@itemize @bullet
@item Handle scaled curves correctly.
@item Handle alpha channel with images correctly
@item NSWindow frame string save without flipping coordinates.
@item NSSound implemented. gssnd sound server.
@item Spell checker starts correctly now.
@end itemize

@section Noteworthy changes in version @samp{0.8.0}

@section Noteworthy changes in version @samp{0.7.9}

@itemize @bullet
@item NSTableView, NSOutlineView improvements.
@item Menus no longer work in modal loop.
@item Skeleton implementation of NSToolBar
@end itemize

@section Noteworthy changes in version @samp{0.7.8}

@itemize @bullet
@item Wheel color picker, standard color picker (bundles) added.
@item System colors now use named colors. Easier configuration
@end itemize

@section Noteworthy changes in version @samp{0.7.7}

The graphics/window interface was completely revamped. Window functions
were split into a separate class, GSDisplayServer, and many PS and DPS
functions were removed that were never implemented. However, new functionality
was added to make things faster and eventually implement Quartz compatibility.

In addition, the old backends, xgps and xdps were depreciated in favor of
a new backend, simply named back, which can be configured for a
variety of window server and graphics implementations, and also allow
for improved code sharing.

In addition there is now a window server backend for Windows computers, 
although it is in a very alpha state.

Other improvements:
@itemize @bullet
@item Mutliple screens are now handled properly (untested)
@item Better autolayout with GSTable and subclasses.
@item NSOutlineView much improved.
@end itemize

@section Noteworthy changes in version @samp{0.7.6}

@itemize @bullet
@item NSOutlineView implemented.
@item Improvements to NSTableView, NSPopUpButton, NSTextView, NSFontPanel
@item Scroll wheel support.
@item Fully-functional keybindings, including multi-stroke keybindings.
@item Memory panel available from Info Panel.
@end itemize

@section Noteworthy changes in version @samp{0.7.5}

@itemize @bullet
@item Drag and drop and image sliding much improved.
@item Better handling of remote startup/display.
@item Some localization.
@item Keybinding support.
@item Text handling improvements.
@item New gopen command (like MacOSX open command).
@item Implemented simple pagination and printing of views.
@item Support for rulers.
@item Spell checking support.
@item Blinking insertion point.
@item New NSStepper class.
@item Implemented NSOutlineView, NSSelection, NSInputManager.
@item Near rewrite of Menu handling code.
@item Gmodel code compiled as a separate bundle.
@end itemize

@section Noteworthy changes in version @samp{0.7.0}

@itemize @bullet
@item Much improvement in NSBrowser, NSMatrix, NSPopUpButton, combo boxes.
@item NSTextAttachement implemented, many other text improvements.
@item Fonts cached in the frontend.
@item Changes so that backend can be loaded as a bundle at runtime.
@item simpler, faster compilation and installation.
@item NSColorWell works.
@end itemize

@section Noteworthy changes in version @samp{0.6.7}

@itemize @bullet
@item App Icons can support documents dropped using DnD.
@item Added color conversions, working color picker and panel.
@item Almost complete rewrite of NSBezierPath
@item Loads of improvements to Text classes.
@item NSImage, NSButton, NSCell, etc, implemented many missing methods.
@item ...and even more changes to the Text classes.
@item Starting implementation of printing.
@item Scrollview fixes.
@item Implemented deferred windows.
@item NSTableView implemented.
@item Implemented object value and formatter support in NSCell
@item Support middle mouse button.
@end itemize

@section Noteworthy changes in version @samp{0.6.6}

@itemize @bullet
@item Window hints for motif and generic window managers.
@item Major improvements to the text handling classes (NSText, NSTextView, etc)
@item Pasting of fonts and rulers.
@item Much better RTF handling
@item DnD for NSColorWell
@item Much improved NSSplitView
@item New classes - NSColorPanel, NSTableView
@item NSScreen rewritten with full support for all methods and functions.
@item Can use image reading routines from WindowMaker if available to read
a variety of image formats besides TIFF.
@item Many fixes to get the AppKit to work better with WindowMaker.
@item Much better gmodel support (particularly with nibs translated from
NeXT or OPENSTEP 4.2).
@item Muh improved font classes and font support.
@end itemize

In addition both the xgps and xdps backends have seen some large efficiency
improvements. Much better font support. The xdps backend itself has seen
speed improvements by at least a factor of 4. Note however, that the xdps
backend is still considered experimental and you may have to deal with
many problems in order to get it working. We recommend sticking with the
xgps backend (the default) for now.

@section Noteworthy changes in version @samp{0.6.5}

Many of the basic GUI classes have been vastly improved or rewritten, thanks
to Nicola Pero  @email{n.pero@@mi.flashnet.it} and many others.

@itemize @bullet
@item New Info Panel support
@item New NSBezierPath
@item Rewrite of several classes including Cell and Button classes.
@item Rewrite of NSBrowser, NSSavePanel, menus, text classes, NSTableHeader.
@item RTF Parser
@item Implemented image caching.
@item Implemented editing in Forms, Matricies.
@item New autolayout classes GSHBox, GSTable, and GSVBox.
@item Almost all back-end classes have been removed and code incorporated
in a DPS-like graphics context structure.
@item Better keyboard handling.
@item NSHelpManager, NSComboBox, ProgressIndicator written.
@end itemize

In addition a preliminary version of an Interface Builder (Gorm) has
been written, thanks to Richard Frith-Macdonald @email{richard@@brainstorm.co.uk}

@section Noteworthy changes in version @samp{0.6.0}

A Huge amount of progress, although a lot still needs to be done. It's
usable for a large base of moderately simple apps. Several NeXT/OpenStep
apps and libraries have been ported with little changes.

@itemize @bullet
@item Drag and Drop support fleshed out but not completed.
@item NSText and related classes rewritten. Basic functionality but
much needs to be done to finish them off.
@item nib2gmodel app works with MacOS-X
@item Work done in minimizing the backend which allowed a lot
of functionality to move to the GNU library.
@item Menu code rewritten.
@item PopupButtons now work.
@item Many new images
@item Basic functionality for NSTabView
@item Much better lockFocus support in NSView. Flipped views handled.
@item Rewrite of NSSavePanel and NSOpenPanel
@item Several fixes that at least double the speed of the gui.
@end itemize

@section Noteworthy changes in version @samp{0.5.5}

Too extensive to list.

@itemize @bullet

@item A lot of rewritting has been done to the classes, with general 
cleanup of coordinate conversion code, etc.

@end itemize

@section Noteworthy changes in version @samp{0.5.0}

@itemize @bullet

@item
NSBrowser and NSBrowserCell have been implemented.  There is one odd
display artifact; lists which are smaller than the browser column area
have the list justified to the bottom of the column versus the top of
the column.  This is actually an issue with NSMatrix and will be
remedied when flip views are implemented.

@item
Two important optimizations that speed up the displaying of views and flushing
of windows have been implemented. Only the views that need display and those
that produce visible effects on the screen receive the -drawRect: message.
Flushing of windows occurs only in rectangles that get displayed not in the
whole window.

@item
Rotation and scaling of views have been finally implemented. The code
requires backend support for changing the state of the graphics context
accordingly.

@item
NSScrollView and NSClipView have been implemented. The current implemented
behavior is to call the document view to display the exposed region. Copying on
scroll will be supported soon, at least on Solaris DPS, where it seems the
Postscript language has provisions for copying drawn regions of screen.
Hopefully DGS will also have this facility by the end of the year.

@item
NSScroller has been completely reworked to gain speed by using timer events.

@item
NSSlider has been implemented. Thanks to Frank Knobloch for supporting this
and the NSScrollView implementation.

@item
NSBox has been implemented.

@item
The library has been ported to work under Solaris with the native DPS and the
NeXT/Apple's Portable Distributed Objects (PDO) environment.

@item
The library has been integrated with the makefile package so we now benefit
from all of the features the makefile package gives us, especially the
possibility to build shared libraries on various systems and having different
types (debug and profile) of the library compiled at the same time.

@item
NSCell is able to continuosly send the action to the target while the user is
tracking the mouse.

@item
Several cleanups and as usual, many bug fixes. 

@end itemize

@section Noteworthy changes in version @samp{0.3.0}

@itemize @bullet

@item
Completely reworked the menu class. The NSMenu class is now inherited from
NSObject and using the new implementation menus have been implemented for the
XDPS backend (they have the look and feel of the NeXTStep menus!).

@item
NSRunLoop has been integrated with NSApplication. Using this capability time
events have been implemented to NSEvent class. These events allow several
improvements in the interaction between user and the graphic interface.

@item
NSMatrix has been reworked, it is now conforming to the OpenStep specification
and it knows all the selection modes. It uses time events to enhance the
drawing speed during mouse drags.

@item
The initial implementation of NSForm has been made although it has not been
tested yet.

@item
NSPrinter has been implemented though it was not throughly tested; thanks to
Simon Frankau.

@item
Configure script has been changed to detect the underlaying Foundation library.
The currently supported libraries are gnustep-base and libFoundation.

@item
Several cleanups have been made in a lot of classes: the retain/release policy
has been fixed, the cell classes correctly implement the NSCopying protocol
and many others.

@end itemize

@section Noteworthy changes in version @samp{0.2.0}

@itemize @bullet

@item
Additional NSImage and NSImageRep class work.  Incorporated common
images for use with controls that were designed by Andrew Lindesay.

@item
Fill out implementation of NSColorWell class.

@item
Fill out implementation of NSColorList class.

@item
Cleaned up the header files and added missing headers, methods,
categories, and protocols; thanks to Simon Frankau for much of this
work.  Major reorganization of header files.  Types and constants were
moved in the files they belong.  Each header file includes only the
headers it really needs.  Use @samp{@@class} to forward class definitions
instead of including the corresponding class file.

@item
Completely reworked the NSFont and NSFontManager classes so that
NSUserDefaults is used for getting defaults and list of known fonts are
maintained.

@item
Initial implementation of NSCursor class.

@item
Almost complete implementation of NSButton and NSButtonCell class.
Buttons can now display images and/or text, handles all of the OpenStep
button types and styles.

@item
Fill out implementation of NSScroller class.

@item
Put in underlying support for optimizing drawing; flushing of windows,
backing store, and only display when needed.

@item
Many bug fixes and minor enhancements.

@end itemize

@section Noteworthy changes in version @samp{0.1.1}

@itemize @bullet

@item
Almost complete implementation of the PXKMenu and PXKMenuCell classes.

@item
Fill out implementation of NSFont and NSFontManager.

@item
Fill out implementation of NSColor including color spaces other than
RGB.  Now maintains the common colors as global variables.

@item
Integration with the Display Ghostscript System.  This is mainly related
to using the header files in the DPSclient library for defining the
PostScript operator functions.

@item
Initial documentation set.

@item
Initial implementation of NSImage, NSImageRep, and NSImageRep subclass
classes based upon work by Adam Fedor.

@item
Now requires the TIFF library for reading, writing, and manipulating
tiff files and images.

@end itemize

@section Noteworthy changes in version @samp{0.1.0}

@itemize @bullet

@item
Integration of the GNUstep X/DPS GUI Backend.  This has finally
produced a set of core code with can display on X/Windows.
Much of the X/Windows code has been written by Pascal Forget 
@email{pascal@@wsc.com} and integration efforts have been lead by Scott
Christley @email{scottc@@net-community.com}.

@item
Some major directory reorganization for the new naming guidelines.
Headers previously in AppKit and DPSClient directories have been moved
to gnustep/gui and gnustep/dps directores and symbol links are
created for the AppKit and DPSClient directories.  This should allow
both GNUstep and other OpenStep implementations to reside on the
same machine without conflicts.
@end itemize

Also see the @samp{ChangeLog} file for more detail.

@end ifclear
@c end ifclear ANNOUNCE-ONLY
