1 NEWS
******

The currently released version of the library is ‘0.32.0’.

1.1 Noteworthy changes in version ‘0.32.0’
==========================================

This version adds binding support for NSBrowser, NSOutlineView and
NSTableView.  Plus the usual bunch of bug fixes.

   • Add support for bindings in NSBrowser.
   • Return top level object when loading .gorm files.
   • Add bindings support to NSOutlineView,
   • Add support for 10.6 item-based delegate methods to NSBrowser.
   • Add NSMenuToolbarItem.
   • Add view based rendering to NSTableView and NSOutlineView.
   • Add code to NSTreeController.
   • Fix display of icons if the home is a symlink.
   • Make some ivars in NSView protected instead of package scoped.
   • Fix CI pipeline.
   • Revert _updateFieldEditor: on NSTextFieldCell.
   • GSTheme bug fix by Tom Sheffler <tom.sheffler@gmail.com>.
   • Fix memory leaks in test code.
   • Don't load nil filename in NSImageRep.
   • Prevent flickering in NSClipView.
   • Simplify ICU configuration.
   • Move GSColorSliderCell into gui itself.
   • Bugfix for NSMenuView.
   • Fix single colum handling in NSCollectionView.
   • Additional GSTheme method(s) for NSTabView.
   • Modify NSComboBox to handle attributed strings.
   • NSTextFieldCell: Decode placeholder string.
   • Make white default selection highlight color for NSTableView.
   • Implement showsresizeindicator.
   • NSApplication: toggle menu item "Hide" title and action on user
     click.
   • Add NSCellHitResult typedef, introduced in OSX 10.10.
   • Make menu visiblity themable.
   • Fix decoding alternateContents in NSButtonCell.
   • Font Panel autosizing fix.
   • Implement integerValue method in NSSliderCell.
   • NSBox: use macro to decode NSInteger into enum.
   • Fall back to pkgconfig for resolving libtiff.
   • GSMemoryPanel: Only call GSDebug* in debug mode.
   • Add APPKIT_EXPORT_CLASS, APPKIT_EXPORT annotations for some GS*
     classes.
   • Push modal window to top later in process.

1.2 Noteworthy changes in version ‘0.31.1’
==========================================

This is a bugfix release

   • Fix bug decoding menu items (breaking archive)
   • Remove use of deprecated lock from base library

1.3 Noteworthy changes in version ‘0.31.0’
==========================================

This version adds view based cell support for NSTableView and
NSOutlineView.  Plus the usual bunch of bug fixes.

   • Add TGA detection for ImageMagick extension.
   • Correct endianess swapping for saving 16 and 32 bit TIFF images.
   • NSParagraphStyle restore old behaviour to have default tab stops.
   • Documentation updates.
   • A fix for autogsdoc documentation creation.
   • Improve theming for many classes.
   • Correct keyEquivalentModifierMask decoding in XIB files.
   • Add imageViewWithImage: to NSImageView.
   • Add implementation of NSUserInterfaceItemIdentifier to NSView.
   • Fix NSImageView intercepting mouse events when not editable
   • Move NSBox method isOpaque to GSTheme.
   • Many decoding improvements.
   • Fix compiler warnings.
   • Generate and install a gnustep-gui.pc file.
   • Add support for NSFilenamenPboardType in NSTextView.
   • Add support for NSPasteboardTypePNG in NSBitmapImageRep if the
     libpng is present.
   • Add support for ImageMagick >= 7.0
   • Increase pasteboard timeout to 30 seconds.
   • Add NSAppearance implementation.
   • Make PACKAGE_SCOPE public on MinGW.
   • Started implementing NSShadow.
   • Move awakeFromNib implementation to NSObject instead of NSView.
   • Changes for libGIF 5.2 and later.
   • Update NSViewController with lifeCycle methods.
   • Avoid accessing instance variables in inline functions when
     compiling with MSVC.
   • Add method removeAllItems to NSMenu.
   • Add badge handling to NSDockTile.
   • More improvements to layout constraints.
   • Add implementation of NSDictionaryController.
   • Add implementation of the NSCollectionView classes.
   • Improve NSDrawer opening.
   • Improver CI pipeline.

1.4 Noteworthy changes in version ‘0.30.0’
==========================================

This version adds parsing support for layout constraints, compilation
with MSVC and many new classes.  Plus the usual bunch of bug fixes.

   • Add classes NSStackView, NSGlyphInfo.
   • Add more formal protocols to headers.
   • Add extra pixels so that tool tip doesn't overrun the window.
   • More improvements from Testplant.
   • NSSplitView support different divider styles.
   • Improve on Wayland support.
   • NSPopUpButtonCell attempt to fix deallocation and item selection.
   • NSImageCell fix refuse first responder.
   • Improve NIB and XIB unarchiving.
   • GSStandardWindowDecorationView fix resizing mode
   • Make resize bar notch themable.
   • NSButton add radio button behavior from MacOS 10.7.
   • Fix clicking on test attachment cells.
   • Add missing methods to GSLayoutManager.
   • Add NSLayoutConstraint parsing.
   • Add APPKIT_EXPORT_CLASS to support compilation with MSVC.
   • Remove libgnustep-gui_INTERFACE_VERSION.
   • Fix to build GSSpell in custom build dir.
   • Add all new header files to DocMakefile.
   • Fix memory leaks in NSView, NSTextView and NSBox.
   • Add placeholder string handling in NSTextField.m.
   • Apply userSpaceScaleFactor to title bar height when calculating
     offsets.
   • Add new constants from MacOS 10.14 to NSBezierPath.
   • Add README.md file.
   • Add helper methods in GSWindowDecorator protocol for pointer hit
     test on window decorations.
   • Improve support for 16 bit colour values in images.
   • NSTextStorage update signatures to match MacOS.
   • Add a preference to disable spellchecker.
   • Fix crash in JPEG reading.
   • Improve NSPopover and NSAccessibilityCustomAction.
   • Support ImageMagick version >= 7.
   • Add github workflow.
   • Add icon for speech synthesizer.

1.5 Noteworthy changes in version ‘0.29.0’
==========================================

This version adds support for storyboard files and many new classes.
Plus the usual bunch of bug fixes.

   • Support loading of storyboard files.
   • Add classes NSSwitch, NSFontAssetRequest,
     NSMediaLibraryBrowserController, NSScrubberItemView,
     NSScrubberLayout, NSScrubber, NSSharingServicePickerToolbarItem,
     NSPathCell, NSPathComponentCell, NSPathControl, NSPathControlItem,
     NSPersistentDocument, NSAccessibilityCustomAction,
     NSAccessibilityCustomRotor, NSAccessibilityElement, NSStoryboard,
     NSStoryboardSegue, NSPageController, NSSplitViewController,
     NSSplitViewItem, NSTabViewController, NSLayoutAnchor,
     NSLayoutConstraint, NSLayoutGuide, NSStatusBarButton,
     NSTextCheckingController, NSTextFinder, NSTextInputContext,
     NSGridView.  Some of these classes are still skeletons.
   • Fix extraline fragment in text layout.
   • Better encoding handling in RTF files.
   • Add more italian translations.
   • Add MacOSX methods to NSNib, NSMenu and NSWindow.
   • Focus handling fixes for WindowMaker.
   • Fix missing colours when loading old colour lists.
   • Support JPEG export as greyscale image.
   • Fix memory leak in NSPopupButtonCell.
   • Fix toolbar flickering.
   • NSSearchFieldCell use code from GSTheme to display popup.
   • Fix int decoding to get it working on 64 bit big endian machines.
   • Add tab stops after last defined at default intervals.
   • Stop NSWindow from handling windows that are gone, but possibly
     returned by a slow window manager.
   • Fix NSTableView/NSTableColumn bindings.

1.6 Noteworthy changes in version ‘0.28.0’
==========================================

This version adds support for modern XIB files and many new classes.
Plus the usual bunch of bug fixes.

   • Support loading of document XIB files.
   • Improve Key Value Binding for NSArrayController and add more
     bindings.
   • Better support for multi monitor usage and other improvement in the
     backend integration.
   • Add classes NSFontCollection, NSColorSampler, NSSpeechRecognizer,
     NSAppearance, NSPDFInfo, NSPICTImageRep, NSCIImageRep,
     NSPDFImageRep, NSPDFPanel, NSDataAsset, NSDatePicker,
     NSDatePickerCell, NSPredicateEditor, NSPredicateEditorRowTemplate,
     NSRuleEditor, NSGestureRecognizer, NSButtonTouchBarItem,
     NSCandidateListTouchBarItem, NSClickGestureRecognizer,
     NSColorPickerTouchBarItem, NSCustomTouchBarItem,
     NSGroupTouchBarItem, NSMagnificationGestureRecognizer,
     NSPanGestureRecognizer, NSPickerTouchBarItem,
     NSPopoverTouchBarItem, NSPressGestureRecognizer,
     NSRotationGestureRecognizer, NSSharingServicePickerTouchBarItem,
     NSSliderTouchBarItem, NSStepperTouchBarItem, NSTouchBarItem,
     NSTouchBar, NSTouch, NSDockTile.
   • Implement NSEPSImageRep.
   • Better encoding handling in RTF files.
   • Theming and drawing improvements.
   • Increase small font size to 10.
   • New cursor and stepper images.
   • Move NSFileWrapper to Foundation.
   • Fixed build on Debian GNU/kFreeBSD.
   • With command line argument -autolaunch YES, do not activate the
     application when -activateIgnoringOtherApps: is invoked.
   • Improvements to WindowMaker compatibility (e.g.  WMFHideApplication
     support).
   • Lowered NSFloatingWindowLevel by one to distinguish floating panels
     from menus.

1.7 Noteworthy changes in version ‘0.27.0’
==========================================

This version includes numerous bugfixes, compatibility improvements and
other changes accumulated over the last year.  It also enables work to
be done on integrating NSViews with a Core Animation renderer.

   • Make targetForAction safer.
   • Speed up menu updates.
   • Clean up speech tool compilation and switch to newer interface.
   • Fix bug in CUPS subclassing introduced in last release.
   • Minor improvements to typesetting.
   • Add NSIsControllerMarker.
   • Fix tracking on segmented cell.
   • Bring slider cell closer to Cocoa implementation.
   • Add ivar for Core Animation in NSView.
   • Improve border calculation on printing.
   • Lazy load app icon.
   • Better detection of removable volumes.
   • Polish translations.
   • Japanese translations.
   • Lots of bug fixes.

1.8 Noteworthy changes in version ‘0.26.2’
==========================================

This version is a small, but important bugfix release.

   • printing: Fix allocation of the CUPS printing classes.
   • installation: Fix the configure script.

1.9 Noteworthy changes in version ‘0.26.1’
==========================================

This version is released to conincide with version 1.25.1 of
gnustep-base, which contains changes required for this version of
gnustep-gui and gnustep-back.

   It includes an important workaround for users of GNUstep Objective-C
Runtime (libobjc2) and non-fragile ABI to avoid a bug in interaction
between the clang compiler and the runtime when non-fragile ABI is in
use.  Specifically, Clang and the runtime may disagree on what is the
offset of an ivar in a class's RAM. This manifested in a crash at
application startup due to misalignment of _gcontext inside NSThread.
See the mailing list discussion
(http://lists.gnu.org/archive/html/discuss-gnustep/2017-12/msg00129.html)
for more information.

   It also contains the following changes:

   • tests: Cleanup of warnings.
   • tests: Fix text system deallocation test.
   • printing: Undefine __BLOCKS__ before including cups.h, as some
     versions of the header expect that libdispatch is present and used
     if __BLOCKS__ is defined.
   • graphics context: Workaround for Clang+libobjc2+nonfragile ABI
     issue.

1.10 Noteworthy changes in version ‘0.26.0’
===========================================

This version was bumped due to previous binary incompatibilities between
0.25.0 and 0.25.1.  This version also includes numerous compatibility
improvements from the Summer of Code project, and a wide variety of
other fixes.  Notably, it fixes the use of cupsGetPPD() in the printing
system.

   • printing: Add an include to get deprecated function cupsGetPPD() on
     newer CUPS systems.
   • chore: Bump required base version.
   • tiff: Support for writing resolution.
   • jpeg: Save resolution information if it is different from 72 dpi.
   • save panel: Fix return type of sorting function.
   • events: Add some newer Cocoa enums and one method with dummy
     implementation.
   • speech synthesis: NSSpeechSynthesizerDelegate is now a @protocol on
     runtimes that support it.
   • pasteboard: New type identifiers.
   • translations: Some work on Polish, Russian and German translations
   • cell: Improvements to mouse tracking logic on NSCell.
   • image: If an unknown named image is unarchived with a coder or
     keyed coder, keep the name.
   • screen: Add -backingScaleFactor and return 1.0.
   • window: Return 1.0 from -backingScaleFactor.

   • compatibility: Numerous stub implementations of constants, classes
     and methods to improve source-level compatibility.
   • other bugfixes

1.11 Noteworthy changes in version ‘0.25.1’
===========================================

   • JPEG (saving) alpha channel fixes and size with resolution != 72
   • JPEG resolution read support
   • TIFF saving fixes
   • Improved volumes mounting and support
   • Portability improvements in volume mounting and support
   • Corrected layout of empty strings
   • Only update visible menus

1.12 Noteworthy changes in version ‘0.25.0’
===========================================

   • Fixes for new GIF library versions
   • Theming of named images for specific applications by the use of the
     CFBundleIdentifier in the theme
   • New icons and corresponding constants for special folders, recycler
     and others
   • Improvements in NSWorkspace icon lookup
   • Improvements in removable media commands, imported and cleaned from
     GWorkspace
   • Numerous bug fixes and improvements in Cocoa compatibility
   • Numerous theme tweaks
   • Spanish locale

1.13 Noteworthy changes in version ‘0.24.1’
===========================================

From a look through ChangeLog, we can see a lot of bugfixes for this
release, with the main focus on avoiding display glitches and improving
OSX compatibility.

1.14 Noteworthy changes in version ‘0.24.0’
===========================================

New features include:
   • Require newer base release as we moved the
     -replaceObject:withObject: of NSKeyedUnarchiver there.
   • Support for newer releases of the gif library.
   • NSTabView is now flipped.
   • Theme improvements and changes to image mapping.

   Many bugfixes.

1.15 Noteworthy changes in version ‘0.23.1’
===========================================

This is a bugfix release, primarily to deal with coding/archiving
issues.

1.16 Noteworthy changes in version ‘0.22.0’
===========================================

New features include:
   • This version is binary incompatible with previous versions due to
     the change of NSNotFound in GNUstep base.
   • Support for drawing the GUI with a scale factor, for high-DPI
     monitors.
   • Character panel
   • Color picker "Magnifier" tool, for grabbing the color of arbitrary
     parts of the screen

   Many NSImage improvements (Mac OS X 10.6 drawing methods, better
selection of image reps, better support for icons).  Many bugfixes,
including in Xib loading, printing, and NSView geometry.

1.17 Noteworthy changes in version ‘0.20.0’
===========================================

A new stable release.  Many improvments with Nib loading, documents and
document controllers.  Fixed many drawing issues, particularly ones
related to flipping.  Much improved theming.

1.18 Noteworthy changes in version ‘0.19.0’
===========================================

This is an (unstable) copy of the 0.18.0 release

1.19 Noteworthy changes in version ‘0.18.0’
===========================================

A new stable release that has had many improvements.  Many new Mac OS X
methods (10.5 and newer) were added.  Many Windows specific improvements
were made (particularly with the use of the Windows theme).  There is
also better compatibility with Mac OS X in terms of usage of NSInteger
and other definitions.

1.20 Noteworthy changes in version ‘0.17.1’
===========================================

   • New Mac OS X 10.5 methods in NSFont
   • Add live resize in NSSplitView

1.21 Noteworthy changes in version ‘0.17.0’
===========================================

   • New Mac OS X 10.5 methods in many classes
   • Toolbars have been completely rewritten and improved.
   • Several improvements for Garbage Collection

1.22 Noteworthy changes in version ‘0.16.0’
===========================================

   • Nib loading refractored and improved.
   • Added support for autosaving in NSDocuments
   • NSWindowController made a subclass of NSResponder
   • NSTokenField and netokenFiledCell classes added.

1.23 Noteworthy changes in version ‘0.14.0’
===========================================

   • New class NSGlyphGenerator for glyph generation
   • NSSplitView implemented setAutosaveName:
   • NSOpenGLView added some Mac OS X 10.3 methods
   • Manu bug fixes.

1.24 Noteworthy changes in version ‘0.13.2’
===========================================

   • Printing works a little better now.
   • NSPopUpButtonCell - object encoding was changed
   • NSTextView - several updates and Mac OS X methods added
   • NSWindow - devince interaction was changed.  You need to use
     gnustep-back 0.13.2 with this version
   • New class NSSegmentedCell.
   • NSDrawer was implemented.

1.25 Noteworthy changes in version ‘0.13.1’
===========================================

   • NSMenu - Added more MacOS X methods and an ivar.
   • Added support for hiding views.
   • Added Key-Value bindings implementation (NSKeyValueBinding) with
     support in several classes (NSControl, NSTextField, NSView, etc).
   • Added some MacOS X 10.4 methods to NSTableView.
   • Changed the NSCursor hot point to 0,0 for MacOS X compatibility.

1.26 Noteworthy changes in version ‘0.13.0’
===========================================

This is an unstable release.  There may be backward compatibility issues
with previous releases of the gui library.

   • Switched to use LGPL 3 and GPL 3.
   • 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.
   • Moved Postscript printing methods from NSView to NSGraphicsContext.
   • Rewrote the NSView drawing mechanism to always use
     [displayRectIgnoringOpacity:inContext].
   • Report more controls as being flipped.  (NSTextField,
     NSTableHeaderView, NSSlider, NSProgressIndicator, NSButton)
     NSTabView is still missing.
   • In NSAffineTransform use optimized primitive methods from base.
   • Add font attribute fixing to NSAttributedString.  To allow for the
     output of glyphs not present in the current font.
   • Optimized the validation of edited cells.
   • Implementation of special connectors for Key-Value binding.
   • Base library version 1.15.1 is required for this release

1.27 Noteworthy changes in 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.

   • Lots of improvements to the NSBitmapImage subclasses thanks to Mark
     Tracy
   • GSTheme and other classes were added to improve support of theming.
   • Added new methods from Mac OS X 10.4 for NSControl, NSResponder,
     NSDocument, NSPrintOperation, NSWindowController, NSCell,
     NSMenuItem, NSView.  Some ivar names were changed also.
   • Added new ivars for NSMenuItem, NSPrintOperation, NSTableView,
     NSDrawer, NSScrollView.
   • New classes from Mac OS X 10.4 and earlier were added including
     NSLevelIndicator, NSObjectController, NSUserDefaultsController,
     NSKeyValueBinding, NSArrayController, NSController.
   • NSSpellServer and NSAffineTransform was moved to GNUstep base for
     Mac OS X compatibility.

1.28 Noteworthy changes in version ‘0.11.0’
===========================================

   • Added support for keyed encoding in all gui classes.
   • Added mechanism to allow for dynamic extension of model loading
     mechanism
   • Implemented glue code in GSNibCompatibility for classes such as
     NSIBObjectData, NSClassSwapper, etc.  to facilitate nib loading.

1.29 Noteworthy changes in version ‘0.10.3’
===========================================

   • Horizontal menus now work
   • Better support for tracking active applications.

1.30 Noteworthy changes in version ‘0.10.2’
===========================================

Mostly bug fixes.

1.31 Noteworthy changes in version ‘0.10.1’
===========================================

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.

1.32 Noteworthy changes in version ‘0.10.0’
===========================================

This release is binary incompatible with previous releases.  The
interface version of the library has changed so that apps, tools and
libraries that use the base library need to be recompiled to use this
new version.

   • Model loading supports window auto-positioning
   • Keyed encoding is supported in many classes.

1.33 Noteworthy changes in version ‘0.9.5’
==========================================

   • Beginnings of CUPS interface were added.
   • Added new control colors and methods from 10.3 version of Cocoa.
   • Added new font methods from 10.3 version of Cocoa.
   • NSApplication -runModalSession behavior changed.
   • You can find the GUI library's version using the Info.plist

1.34 Noteworthy changes in version ‘0.9.4’
==========================================

   • The printing classes have been completely reorganized to
     accommodate different native printing systems (Thanks to Chad
     Hardin).
   • PPD files have been moved to a separate package.
   • NSToolbar now allows rearranging items.
   • NSScroller, NSScrollView has a new ivar.
   • Some improvement of NSDataLink classes.

1.35 Noteworthy changes in version ‘0.9.3’
==========================================

   • Spell checker reimplemented using libaspell
   • New NSComboBox implementation
   • NSToolbar much improved
   • Binary incompatibilites from ivar additions in NSView and
     subclasses.

1.36 Noteworthy changes in version ‘0.9.2’
==========================================

   • Working NSToolbar implementation
   • New Mac OS X methods in NSView and other classes
   • Fixed some sheet handling problems.
   • Integrated gif, jpg, and png handling in front-end.
   • Added overridable button and frame drawing functions
   • Add some keyed decode/encoding to some classes
   • NSStringDrawing redesigned.
   • Much improved loading of gorm files

1.37 Noteworthy changes in version ‘0.9.1’
==========================================

   • NSWindow - DnD works on whole window and events are propogated up
     to first DnD aware view.
   • Absolute paths and DnD works in OpenPanels.

1.38 Noteworthy changes in version ‘0.9.0’
==========================================

Improvements in various classes, include NSPopUpButton,
NSBitmapImageRep, NSMenu, NSToolbar.  Added support for thumbnail images
in NSWorkspace.

1.39 Noteworthy changes in version ‘0.8.9’
==========================================

Note that many headers have moved to new locations (both in the package
and when installed), so it is possible, although not likely that some
applications may not compile because they cannot find the right header.

   • New Language Setup documentation.

1.40 Noteworthy changes in version ‘0.8.8’
==========================================

   • Updated LanguageSetup documentation
   • Improved RTF reader (unicode support, etc).

1.41 Noteworthy changes in version ‘0.8.7’
==========================================

   • NSBezierPath glyph methods implemented (depends on backend).
   • NSDataLink[Panel/Manager] - some implementation
   • Added default to load user-defined bundles (GSAppKitUserBundles
     default).

1.42 Noteworthy changes in version ‘0.8.6’
==========================================

Updated to install in new locations based on changes in gnustep-make
1.7.0.

   • New implementation of RTF producer (from Axel "Mikesch" Katerbau)
   • Speed improvements, especially in tracking mouses movements.
   • Lots of menu improvements.

1.43 Noteworthy changes in version ‘0.8.5’
==========================================

Bug fixes.  NSStringDrawing now uses text system implementation.

1.44 Noteworthy changes in version ‘0.8.4’
==========================================

This release features a brand new text and layout system thanks to
Alexander Malmberg.  Other improvements include:

   • Various display optimizations.
   • Default border to NSScrollView changed
   • Printing fixes.
   • NSToolbar partially implemented.

1.45 Noteworthy changes in version ‘0.8.3’
==========================================

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

1.46 Noteworthy changes in version ‘0.8.2’
==========================================

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

1.47 Noteworthy changes in version ‘0.8.1’
==========================================

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

1.48 Noteworthy changes in version ‘0.8.0’
==========================================

1.49 Noteworthy changes in version ‘0.7.9’
==========================================

   • NSTableView, NSOutlineView improvements.
   • Menus no longer work in modal loop.
   • Skeleton implementation of NSToolBar

1.50 Noteworthy changes in version ‘0.7.8’
==========================================

   • Wheel color picker, standard color picker (bundles) added.
   • System colors now use named colors.  Easier configuration

1.51 Noteworthy changes in version ‘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:
   • Mutliple screens are now handled properly (untested)
   • Better autolayout with GSTable and subclasses.
   • NSOutlineView much improved.

1.52 Noteworthy changes in version ‘0.7.6’
==========================================

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

1.53 Noteworthy changes in version ‘0.7.5’
==========================================

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

1.54 Noteworthy changes in version ‘0.7.0’
==========================================

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

1.55 Noteworthy changes in version ‘0.6.7’
==========================================

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

1.56 Noteworthy changes in version ‘0.6.6’
==========================================

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

   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.

1.57 Noteworthy changes in version ‘0.6.5’
==========================================

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

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

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

1.58 Noteworthy changes in version ‘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.

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

1.59 Noteworthy changes in version ‘0.5.5’
==========================================

Too extensive to list.

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

1.60 Noteworthy changes in version ‘0.5.0’
==========================================

   • 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.

   • 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.

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

   • 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.

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

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

   • NSBox has been implemented.

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

   • 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.

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

   • Several cleanups and as usual, many bug fixes.

1.61 Noteworthy changes in version ‘0.3.0’
==========================================

   • 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!).

   • 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.

   • 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.

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

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

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

   • 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.

1.62 Noteworthy changes in version ‘0.2.0’
==========================================

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

   • Fill out implementation of NSColorWell class.

   • Fill out implementation of NSColorList class.

   • 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 ‘@class’ to forward class
     definitions instead of including the corresponding class file.

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

   • Initial implementation of NSCursor class.

   • 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.

   • Fill out implementation of NSScroller class.

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

   • Many bug fixes and minor enhancements.

1.63 Noteworthy changes in version ‘0.1.1’
==========================================

   • Almost complete implementation of the PXKMenu and PXKMenuCell
     classes.

   • Fill out implementation of NSFont and NSFontManager.

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

   • 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.

   • Initial documentation set.

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

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

1.64 Noteworthy changes in version ‘0.1.0’
==========================================

   • 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
     <pascal@wsc.com> and integration efforts have been lead by Scott
     Christley <scottc@net-community.com>.

   • 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.

   Also see the ‘ChangeLog’ file for more detail.

