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.17.1
Bug fixes.
NSFont
Add some missing interface methods from 10.5
NSSplitView
Add live resize (can be turned off with GSUseGhostResize default)
Version 0.17.0
Many many bug fixes and almost complete reorganization of NSToolbar
code.
NSBezierPath, NSAttributedString, NSLayoutManager
New Mac OS X 10.5 methods.
NSSpeechSynthesizer
New class.
NSSplitView
Added new Mac OS X 10.5 methods and some ivars
Toolbars
Many improvements. NSToolbar methods rearragned and ivar removed.
Menus
MS Window-stype menus inside a window implemented
Garbage Collection
Several improvements to work better with GC
HelpViewer
GSHelpViewer use default added.
Version 0.16.0
This is an stable release. A lot of improvements and bug
fixes went into this release. Thanks to Wolfgang Lux for fixing plenty
of bugs. Note that gnustep-core is now installed in the LOCAL domain
by default instead of the SYSTEM domain. You may want to remove old
installations in the SYSTEM domain to avoid any incompatibility problems.
Or you can force installation in SYSTEM using make
GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install.
Nib Loading
Several methods were added and Nib loading in general was refactored
and improved.
NSDocument
Document autosaving was implemented.
NSSavePanel
Several methods were added to implement support for document types
with multiple allowed file extensions.
NSWindow
Definitions and skeleton implementation of attachedSheet.
NSTextView
Renamed and changed types of attributes related to drag and drop.
NSLayoutManager
New methods added to handle temporary attributes.
NSWindowController
NSWindowController was made a subclass of NSResponder.
NSCell
Rearranged somewhat to use GSTheme implemetations.
NSTokenField, NSTokenFieldCell
New classes added.
Version 0.14.0
This is an stable release.
NSGlyphGenerator
New class for glyph generation (separated from other classes).
NSControl -mouseDownFlags
Added old NeXT method for compatibility.
NSSplitView
setAutosaveName: implemented and new instance variable added.
NSOpenGLView
Added some Mac OS X 10.3 methods.
Version 0.13.2
This is an unstable release.
NSPopUpButtonCell
The encoding of this object was changed (which is backwards compatible,
but not forwards compatible.
NSTextView
Add new X secondary selection behavior. Other Mac OS X methods added.
NSWindow
Device interaction with backend has changed. This release of gui
requires the coresponding gnustep-back release 0.13.2.
NSSegmentedCell
New class added to draw and render text in segments.
NSDrawer
Implemented.
Version 0.13.1
This is an unstable release.
Changes to error handling and key-value coding require an
update to at least the base library version 1.15.1.
NSMenu
Added more MacOS X methods and an ivar.
NSView
Added support for hiding views.
Key-Value bindings
Added Key-Value bindings implementation (NSKeyValueBinding)
with support in several classes (NSControl, NSTextField, NSView,
etc).
NSTableView
Added some MacOS X 10.4 methods.
NSCursor
Changed hot point to 0,0 for MacOS X compatibility.
Version 0.13.0
This is an unstable release.
Changes to error handling and key-value coding require an
update to at least the base library version 1.15.1.
Licence
Switched to use LGPL 3 and GPL 3.
New Methods added
Added new methods from Mac OS X 10.4 for NSDragging, NSFontDescriptor,
NSAttributedString, NSImageView, NSStringDrawing, NSParagraphStyle,
NSView, NSCell, NSActionCell, NSAlert, NSApplication, NSBitmapImageRep,
NSBox, NSColor, NSColorSpace, NSComboBox, NSComboBoxCell,
NSDocumentController, NSEvent, NSScreen, NSFont, NSFontManager,
NSFormCell, NSForm, NSWindow, NSTextField, NSTextFieldCell.
Some ivar names were changed also.
Printing
Moved Postscript printing methods from NSView to NSGraphicsContext.
View drawing
Rewrote the NSView drawing mechanism to always use
[displayRectIgnoringOpacity:inContext].
Flipped Controls
Report more controls as being flipped. (NSTextField, NSTableHeaderView,
NSSlider, NSProgressIndicator, NSButton) NSTabView is still missing.
Font Attribute
Add font attribute fixing to NSAttributedString. To allow for the output
of glyphs not present in the current font.
Optimization
In NSAffineTransform use optimized primitive methods from
base.
Optimized the validation of edited cells.
Key-Value Binding
Implementation of special connectors for Key-Value binding.
Version 0.12.0
It has been a long time since the last release and many things
have been added and changed, including new classes, new ivars,
and new methods.
Tooltips
A Tooltip implementation was added.
NSBitmapImage Improvements
Lots of improvements to the NSBitmapImage subclasses.
Theming Improvements
GSTheme and other classes were added to improve support
of theming.
New Methods added
Added new methods from Mac OS X 10.4 for NSControl, NSResponder,
NSDocument, NSPrintOperation, NSWindowController, NSCell,
NSMenuItem, NSView. Some ivar names were changed also.
New ivars added
Added new ivars for NSMenuItem, NSPrintOperation, NSTableView,
NSDrawer, NSScrollView, NSAlert, NSTextView.
New Classes Added
New classes from Mac OS X 10.4 and earlier were added including
NSLevelIndicator, NSObjectController, NSUserDefaultsController,
NSKeyValueBinding, NSArrayController, NSController.
NSSpellServer moved to base
NSSpellServer was moved to GNUstep base for Mac OS X
compatibility.
NSTabViewType enumerations
Enumerations were changed to match values from Mac OS X.
GNUstep GUI updated for Make 2.0
GNUstep GUI was updated to work with GNUstep Make 2.0. This
includes versioned resources.
NSAffineTransform moved to base
Much of NSAffineTransform was moved to gnustep-base to match
with Mac OS X. Many older methods were marked as deprecated
in favor of the more recent Mac OS X methods.
NSAlert in alternate threads
NSAlerts are performed in the main thread even if called
from another thread.
NSAnimation Class Added
Preliminary code for the NSAnimation class has been added.
Only NSAnimationNonBlocking mode implemented.
Version 0.11.0
Keyed Encoding/Archiving
Support for keyed encoding has been added to all gui classes.
Nib loading
Nib loading has been implemented. For the most part, nibs
are (or should be) compatible between GNUstep and Mac OS X.
Color schemes and Themes
Better support for color schemes and themes has been added. In
the near future theming should be integrated into gui itself.
RTFD
Loading and writting of RTFD format was implemented.
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.