# GNUstep Gui Release Notes

### Authors

Adam Fedor (`fedor@gnu.org`)

Version: $Revision: 22957 $

Date: $Date: 2006-05-20 18:12:46 -0400 (Sat, 20 May 2006) $

Copyright: (C) 2005 Free Software Foundation, Inc.

# Gui Release Notes

The release notes include descriptions of API changes, behavior changes and other information that might help developers and users migrate to using a newer version of the library.

## Version 0.10.3

Horizontal menus
  Horizontal (mac)-style menus should now work. Horizontal menus are activated by setting the 'NSMenuInterfaceStyle' user default to 'NSMacintoshInterfaceStyle'.
Active applications
  Better support for tracking active applications was added. Normally a workspace manager should handle this, but the GUI library can handle it on its own if it is not handled any other way.

## Version 0.10.2

Power Off
  The notification center posts a power off notification before sending a terminate: method sent from another app on the assumption that the terminate: is from a session manager.

## Version 0.10.1

Sound library
  GNUstep now uses v19 of portaudio for the sound daemon. Version v19 hasn't been officially released, but it is still used in several distributions (SuSE, etc) as v18 is very old.

## Version 0.10.0

The interface version of the gui library has changed in this release. Applications, libraries and tools that wish to use this new version must be recompiled (otherwise, they'll use the older version of the library).

Nib window autopositioning
  Nib loading has been improved to handle auto-positioning of windows.
NSFont
  An ivar was added to NSFont to cache flipped fonts.
NSApplication
  An ivar was added to track application launch.
Keyed Encoding
  Work was done in many classes to support keyed encoding. It may not be fully implemented in every class, however.
Backend Versioning
  The GUI library now looks for the backend bundle with the corrent interface version. Thus there should not be any problems with the GUI using the wrong backend.

## Version 0.9.5

NSColor colors
  Added new control colors and methods from 10.3 version of Cocoa.
NSFont methods
  Added new font methods from 10.3 version of Cocoa
NSApplication -runModalSession
  Behavior of this method was changed. In particular it deviates from Cocoa documentation. See the GNUstep GUI documentation for specifics.
Runtime version discovery of library
  A developer can discover the version of the gui library that is loaded using the NSBundle methods `[[NSBundle bundleForLibrary: @"gnustep-gui"] infoDictionary]` and retrieving the GSBundleVersion key.

## Version 0.9.4

Interface version change
  The interface version of the gui library has changed in this release. There is no single reason for this change. Arguably, it should have been done long ago. In the future the interface version will only change with releases that have a new minor version number (that's the second number in the release number). Applications, libraries and tools that wish to use this new version must be recompiled (otherwise, they'll use the older version of the library).
PPD's removed
  All the PPD's have been removed from the gui library into a separate package (gnustep-ppd). There still exists a single Generic Postscript Printer PPD which should work in many cases for printing using the standard lpr interface. In the future, a CUPS interface should be available that provides all the necessary printer information automatically. If you still want use of the PPD's, you must install the gnustep-ppd package, although this is not required for use of gnustep-gui.
Printing framework
  The printing framework was generalized to allow for various types of native printing systems. The lpr system is the only complete one, although CUPS printing is in the works. As such, the printing classes were revamped to handle this, and the actual system-specific code is loaded from a bundle.
NSScroller, NSScrollView class size change
  A new ivar was added to the NSScroller and NSScrollView classes.

## Version 0.9.3

Spell checker daemon reimplemented using libaspell
  If the optional library libaspell is found, the spell checker will use it (otherwise spell checking will not work).
New NSComboBox implementation
  NSComboBox and related classes have been re-implemented and documented.
NSToolbar code redone
  A lot of changes where made to the NSToolbar class to make it more functional.
Binary Incompatibilities
  New ivars were added NSTableView, NSView, NSSavePanel. Applications that use this class and subclasses (e.g. NSOutlineView) may need to be recompiled to work properly.