libs-gui/Documentation/ReleaseNotes.gsdoc
Adam Fedor 266998d2ee Version 0.14.0
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26651 72102866-910b-0410-8b05-ffd578937521
2008-06-15 04:34:21 +00:00

429 lines
15 KiB
XML

<?xml version="1.0"?>
<!DOCTYPE gsdoc PUBLIC "-//GNUstep//DTD gsdoc 1.0.3//EN" "http://www.gnustep.org/gsdoc-1_0_3.xml">
<gsdoc base="ReleaseNotes">
<head>
<title>GNUstep Gui Release Notes</title>
<author name="Adam Fedor">
<email address="fedor@gnu.org"/>
<url url="http://www.gnustep.org/developers/whoiswho.html"/>
</author>
<version>$Revision$</version>
<date>$Date$</date>
<copy>2005 Free Software Foundation, Inc.</copy>
</head>
<body>
<chapter>
<heading>Gui Release Notes</heading>
<p>
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.
</p>
<section>
<heading>Version 0.14.0</heading>
<p>This is an stable release.
</p>
<deflist>
<term>NSGlyphGenerator</term>
<desc>
New class for glyph generation (separated from other classes).
</desc>
<term>NSControl -mouseDownFlags</term>
<desc>
Added old NeXT method for compatibility.
</desc>
<term>NSSplitView</term>
<desc>
setAutosaveName: implemented and new instance variable added.
</desc>
<term>NSOpenGLView</term>
<desc>
Added some Mac OS X 10.3 methods.
</desc>
</deflist>
</section>
<section>
<heading>Version 0.13.2</heading>
<p>This is an unstable release.
</p>
<deflist>
<term>NSPopUpButtonCell</term>
<desc>
The encoding of this object was changed (which is backwards compatible,
but not forwards compatible.
</desc>
<term>NSTextView</term>
<desc>
Add new X secondary selection behavior. Other Mac OS X methods added.
</desc>
<term>NSWindow</term>
<desc>
Device interaction with backend has changed. This release of gui
requires the coresponding gnustep-back release 0.13.2.
</desc>
<term>NSSegmentedCell</term>
<desc>
New class added to draw and render text in segments.
</desc>
<term>NSDrawer</term>
<desc>
Implemented.
</desc>
</deflist>
</section>
<section>
<heading>Version 0.13.1</heading>
<p>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.
</p>
<deflist>
<term>NSMenu</term>
<desc>
Added more MacOS X methods and an ivar.
</desc>
<term>NSView</term>
<desc>
Added support for hiding views.
</desc>
<term>Key-Value bindings</term>
<desc>
Added Key-Value bindings implementation (NSKeyValueBinding)
with support in several classes (NSControl, NSTextField, NSView,
etc).
</desc>
<term>NSTableView</term>
<desc>
Added some MacOS X 10.4 methods.
</desc>
<term>NSCursor</term>
<desc>
Changed hot point to 0,0 for MacOS X compatibility.
</desc>
</deflist>
</section>
<section>
<heading>Version 0.13.0</heading>
<p>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.
</p>
<deflist>
<term>Licence</term>
<desc>
Switched to use LGPL 3 and GPL 3.
</desc>
<term>New Methods added</term>
<desc>
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.
</desc>
<term>Printing</term>
<desc>
Moved Postscript printing methods from NSView to NSGraphicsContext.
</desc>
<term>View drawing</term>
<desc>
Rewrote the NSView drawing mechanism to always use
[displayRectIgnoringOpacity:inContext].
</desc>
<term>Flipped Controls</term>
<desc>
Report more controls as being flipped. (NSTextField, NSTableHeaderView,
NSSlider, NSProgressIndicator, NSButton) NSTabView is still missing.
</desc>
<term>Font Attribute</term>
<desc>
Add font attribute fixing to NSAttributedString. To allow for the output
of glyphs not present in the current font.
</desc>
<term>Optimization</term>
<desc>
In NSAffineTransform use optimized primitive methods from
base.
Optimized the validation of edited cells.
</desc>
<term>Key-Value Binding</term>
<desc>
Implementation of special connectors for Key-Value binding.
</desc>
</deflist>
</section>
<section>
<heading>Version 0.12.0</heading>
<p>
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.
</p>
<deflist>
<term>Tooltips</term>
<desc>
A Tooltip implementation was added.
</desc>
<term>NSBitmapImage Improvements</term>
<desc>
Lots of improvements to the NSBitmapImage subclasses.
</desc>
<term>Theming Improvements</term>
<desc>
GSTheme and other classes were added to improve support
of theming.
</desc>
<term>New Methods added</term>
<desc>
Added new methods from Mac OS X 10.4 for NSControl, NSResponder,
NSDocument, NSPrintOperation, NSWindowController, NSCell,
NSMenuItem, NSView. Some ivar names were changed also.
</desc>
<term>New ivars added</term>
<desc>
Added new ivars for NSMenuItem, NSPrintOperation, NSTableView,
NSDrawer, NSScrollView, NSAlert, NSTextView.
</desc>
<term>New Classes Added</term>
<desc>
New classes from Mac OS X 10.4 and earlier were added including
NSLevelIndicator, NSObjectController, NSUserDefaultsController,
NSKeyValueBinding, NSArrayController, NSController.
</desc>
<term>NSSpellServer moved to base</term>
<desc>
NSSpellServer was moved to GNUstep base for Mac OS X
compatibility.
</desc>
<term>NSTabViewType enumerations</term>
<desc>
Enumerations were changed to match values from Mac OS X.
</desc>
<term>GNUstep GUI updated for Make 2.0</term>
<desc>
GNUstep GUI was updated to work with GNUstep Make 2.0. This
includes versioned resources.
</desc>
<term>NSAffineTransform moved to base</term>
<desc>
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.
</desc>
<term>NSAlert in alternate threads</term>
<desc>
NSAlerts are performed in the main thread even if called
from another thread.
</desc>
<term>NSAnimation Class Added</term>
<desc>
Preliminary code for the NSAnimation class has been added.
Only NSAnimationNonBlocking mode implemented.
</desc>
</deflist>
</section>
<section>
<heading>Version 0.11.0</heading>
<deflist>
<term>Keyed Encoding/Archiving</term>
<desc>
Support for keyed encoding has been added to all gui classes.
</desc>
<term>Nib loading</term>
<desc>
Nib loading has been implemented. For the most part, nibs
are (or should be) compatible between GNUstep and Mac OS X.
</desc>
<term>Color schemes and Themes</term>
<desc>
Better support for color schemes and themes has been added. In
the near future theming should be integrated into gui itself.
</desc>
<term>RTFD</term>
<desc>
Loading and writting of RTFD format was implemented.
</desc>
</deflist>
</section>
<section>
<heading>Version 0.10.3</heading>
<deflist>
<term>Horizontal menus</term>
<desc>
Horizontal (mac)-style menus should now work. Horizontal
menus are activated by setting the 'NSMenuInterfaceStyle' user
default to 'NSMacintoshInterfaceStyle'.
</desc>
<term>Active applications</term>
<desc>
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.
</desc>
</deflist>
</section>
<section>
<heading>Version 0.10.2</heading>
<deflist>
<term>Power Off</term>
<desc>
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.
</desc>
</deflist>
</section>
<section>
<heading>Version 0.10.1</heading>
<deflist>
<term>Sound library</term>
<desc>
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.
</desc>
</deflist>
</section>
<section>
<heading>Version 0.10.0</heading>
<p>
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).
</p>
<deflist>
<term>Nib window autopositioning</term>
<desc>
Nib loading has been improved to handle auto-positioning
of windows.
</desc>
<term>NSFont</term>
<desc>
An ivar was added to NSFont to cache flipped fonts.
</desc>
<term>NSApplication</term>
<desc>
An ivar was added to track application launch.
</desc>
<term>Keyed Encoding</term>
<desc>
Work was done in many classes to support keyed
encoding. It may not be fully implemented in every class, however.
</desc>
<term>Backend Versioning</term>
<desc>
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.
</desc>
</deflist>
</section>
<section>
<heading>Version 0.9.5</heading>
<p>
</p>
<deflist>
<term>NSColor colors</term>
<desc>
Added new control colors and methods from 10.3 version of Cocoa.
</desc>
<term>NSFont methods</term>
<desc>
Added new font methods from 10.3 version of Cocoa
</desc>
<term>NSApplication -runModalSession</term>
<desc>
Behavior of this method was changed. In particular it deviates
from Cocoa documentation. See the GNUstep GUI documentation for
specifics.
</desc>
<term>Runtime version discovery of library</term>
<desc>
A developer can discover the version of the gui library
that is loaded using the NSBundle methods <code>[[NSBundle
bundleForLibrary: @"gnustep-gui"] infoDictionary]</code>
and retrieving the <var>GSBundleVersion</var> key.
</desc>
</deflist>
</section>
<section>
<heading>Version 0.9.4</heading>
<p>
</p>
<deflist>
<term>Interface version change</term>
<desc>
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).
</desc>
<term>PPD's removed</term>
<desc>
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 <var>lpr</var> interface. In the future, a
<var>CUPS</var> 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.
</desc>
<term>Printing framework</term>
<desc>
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.
</desc>
<term>NSScroller, NSScrollView class size change</term>
<desc>
A new ivar was added to the NSScroller and NSScrollView classes.
</desc>
</deflist>
</section>
<section>
<heading>Version 0.9.3</heading>
<p>
</p>
<deflist>
<term>Spell checker daemon reimplemented using libaspell</term>
<desc>
If the optional library libaspell is found, the spell checker
will use it (otherwise spell checking will not work).
</desc>
<term>New NSComboBox implementation</term>
<desc>
NSComboBox and related classes have been re-implemented
and documented.
</desc>
<term>NSToolbar code redone</term>
<desc>
A lot of changes where made to the NSToolbar class to
make it more functional.
</desc>
<term>Binary Incompatibilities</term>
<desc>
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.
</desc>
</deflist>
</section>
</chapter>
</body>
</gsdoc>