1@c -*-texinfo-*-
2@ifset TEXT-ONLY
3@include version.texi
4@end ifset
5
6@ifclear ANNOUNCE-ONLY
7@chapter NEWS
8
9The currently released version of the library is @samp{@value{GNUSTEP-GUI-VERSION}}.
10@end ifclear
11
12@section Noteworthy changes in version @samp{0.28.0}
13
14This version adds support for modern XIB files and many new
15classes. Plus the usual bunch of bug fixes.
16
17@itemize @bullet
18@item Support loading of document XIB files.
19@item Improve Key Value Binding for NSArrayController and add more bindings.
20@item Better support for multi monitor usage and other improvement in
21the backend integration.
22@item Add classes NSFontCollection, NSColorSampler, NSSpeechRecognizer,
23NSAppearance, NSPDFInfo, NSPICTImageRep, NSCIImageRep, NSPDFImageRep,
24NSPDFPanel, NSDataAsset,
25NSDatePicker, NSDatePickerCell, NSPredicateEditor,
26NSPredicateEditorRowTemplate, NSRuleEditor, NSGestureRecognizer,
27NSButtonTouchBarItem, NSCandidateListTouchBarItem,
28NSClickGestureRecognizer, NSColorPickerTouchBarItem,
29NSCustomTouchBarItem, NSGroupTouchBarItem,
30NSMagnificationGestureRecognizer, NSPanGestureRecognizer,
31NSPickerTouchBarItem, NSPopoverTouchBarItem, NSPressGestureRecognizer,
32NSRotationGestureRecognizer, NSSharingServicePickerTouchBarItem,
33NSSliderTouchBarItem, NSStepperTouchBarItem, NSTouchBarItem, NSTouchBar,
34NSTouch, NSDockTile.
35@item Implement NSEPSImageRep.
36@item Better encoding handling in RTF files.
37@item Theming and drawing improvements.
38@item Increase small font size to 10.
39@item New cursor and stepper images.
40@item Move NSFileWrapper to Foundation.
41@item Fixed build on Debian GNU/kFreeBSD.
42@item With command line argument -autolaunch YES, do not activate the
43application when -activateIgnoringOtherApps: is invoked.
44@item Improvements to WindowMaker compatibility (e.g. WMFHideApplication
45support).
46@item Lowered NSFloatingWindowLevel by one to distinguish floating panels from
47menus.
48@end itemize
49
50@ifclear ANNOUNCE-ONLY
51@section Noteworthy changes in version @samp{0.27.0}
52
53This version includes numerous bugfixes, compatibility
54improvements and other changes accumulated over the last year.
55It also enables work to be done on integrating NSViews with a Core
56Animation renderer.
57
58@itemize @bullet
59@item Make targetForAction safer.
60@item Speed up menu updates.
61@item Clean up speech tool compilation and switch to newer interface.
62@item Fix bug in CUPS subclassing introduced in last release.
63@item Minor improvements to typesetting.
64@item Add NSIsControllerMarker.
65@item Fix tracking on segmented cell.
66@item Bring slider cell closer to Cocoa implementation.
67@item Add ivar for Core Animation in NSView.
68@item Improve border calculation on printing.
69@item Lazy load app icon.
70@item Better detection of removable volumes.
71@item Polish translations.
72@item Japanese translations.
73@item Lots of bug fixes.
74@end itemize
75
76@section Noteworthy changes in version @samp{0.26.2}
77
78This version is a small, but important bugfix release.
79
80@itemize @bullet
81@item printing: Fix allocation of the CUPS printing classes.
82@item installation: Fix the configure script.
83@end itemize
84
85@section Noteworthy changes in version @samp{0.26.1}
86
87This version is released to conincide with version 1.25.1 of
88gnustep-base, which contains changes required for this version of
89gnustep-gui and gnustep-back.
90
91It includes an important workaround for users of GNUstep
92Objective-C Runtime (libobjc2) and non-fragile ABI to avoid a bug
93in interaction between the clang compiler and the runtime
94when non-fragile ABI is in use. Specifically, Clang and the
95runtime may disagree on what is the offset of an ivar
96in a class's RAM. This manifested in a crash at application
97startup due to misalignment of _gcontext inside NSThread. See
98the
99@uref{http://lists.gnu.org/archive/html/discuss-gnustep/2017-12/msg00129.html, mailing list discussion}
100for more information.
101
102It also contains the following changes:
103
104@itemize @bullet
105@item tests: Cleanup of warnings.
106@item tests: Fix text system deallocation test.
107@item printing: Undefine __BLOCKS__ before including cups.h, as some versions of the header expect that libdispatch is present and used if __BLOCKS__ is defined.
108@item graphics context: Workaround for Clang+libobjc2+nonfragile ABI issue.
109@end itemize
110
111@section Noteworthy changes in version @samp{0.26.0}
112
113This version was bumped due to previous binary incompatibilities
114between 0.25.0 and 0.25.1. This version also includes numerous
115compatibility improvements from the Summer of Code
116project, and a wide variety of other fixes. Notably, it fixes the
117use of cupsGetPPD() in the printing system.
118
119@itemize @bullet
120@item printing: Add an include to get deprecated function cupsGetPPD() on newer CUPS systems.
121@item chore: Bump required base version.
122@item tiff: Support for writing resolution.
123@item jpeg: Save resolution information if it is different from 72 dpi.
124@item save panel: Fix return type of sorting function.
125@item events: Add some newer Cocoa enums and one method with dummy implementation.
126@item speech synthesis: NSSpeechSynthesizerDelegate is now a @@protocol on runtimes that support it.
127@item pasteboard: New type identifiers.
128@item translations: Some work on Polish, Russian and German translations
129@item cell: Improvements to mouse tracking logic on NSCell.
130@item image: If an unknown named image is unarchived with a coder or keyed coder, keep the name.
131@item screen: Add -backingScaleFactor and return 1.0.
132@item window: Return 1.0 from -backingScaleFactor.
133
134@item compatibility: Numerous stub implementations of constants, classes and methods to improve source-level compatibility.
135@item other bugfixes
136@end itemize
137
138@section Noteworthy changes in version @samp{0.25.1}
139
140@itemize @bullet
141@item JPEG (saving) alpha channel fixes and size with resolution != 72
142@item JPEG resolution read support
143@item TIFF saving fixes
144@item Improved volumes mounting and support
145@item Portability improvements in volume mounting and support
146@item Corrected layout of empty strings
147@item Only update visible menus
148@end itemize
149
150@section Noteworthy changes in version @samp{0.25.0}
151
152@itemize @bullet
153@item Fixes for new GIF library versions
154@item Theming of named images for specific applications by the use of the CFBundleIdentifier in the theme
155@item New icons and corresponding constants for special folders, recycler and others
156@item Improvements in NSWorkspace icon lookup
157@item Improvements in removable media commands, imported and cleaned from GWorkspace
158@item Numerous bug fixes and improvements in Cocoa compatibility
159@item Numerous theme tweaks
160@item Spanish locale
161@end itemize
162
163@section Noteworthy changes in version @samp{0.24.1}
164
165From a look through ChangeLog, we can see a lot of bugfixes for this release,
166with the main focus on avoiding display glitches and improving OSX
167compatibility.
168
169@section Noteworthy changes in version @samp{0.24.0}
170
171New features include:
172@itemize @bullet
173@item Require newer base release as we moved the
174-replaceObject:withObject: of NSKeyedUnarchiver there.
175@item Support for newer releases of the gif library.
176@item NSTabView is now flipped.
177@item Theme improvements and changes to image mapping.
178@end itemize
179
180Many bugfixes.
181
182@section Noteworthy changes in version @samp{0.23.1}
183
184This is a bugfix release, primarily to deal with coding/archiving issues.
185
186
187@section Noteworthy changes in version @samp{0.22.0}
188
189New features include:
190@itemize @bullet
191@item This version is binary incompatible with previous versions due to the change of NSNotFound in GNUstep base.
192@item Support for drawing the GUI with a scale factor, for high-DPI monitors.
193@item Character panel
194@item Color picker ``Magnifier'' tool, for grabbing the color of arbitrary parts of the screen
195@end itemize
196
197Many 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.
198
199@section Noteworthy changes in version @samp{0.20.0}
200
201A new stable release. Many improvments with Nib loading, documents and
202document controllers. Fixed many drawing issues, particularly
203ones related to flipping. Much improved theming.
204
205@section Noteworthy changes in version @samp{0.19.0}
206
207This is an (unstable) copy of the 0.18.0 release
208
209@section Noteworthy changes in version @samp{0.18.0}
210
211A new stable release that has had many improvements. Many new
212Mac OS X methods (10.5 and newer) were added. Many Windows specific
213improvements were made (particularly with the use of the Windows theme).
214There is also better compatibility with Mac OS X in terms of usage of NSInteger
215and other definitions.
216
217@section Noteworthy changes in version @samp{0.17.1}
218
219@itemize @bullet
220@item New Mac OS X 10.5 methods in NSFont
221@item Add live resize in NSSplitView
222@end itemize
223
224@section Noteworthy changes in version @samp{0.17.0}
225
226@itemize @bullet
227@item New Mac OS X 10.5 methods in many classes
228@item Toolbars have been completely rewritten and improved.
229@item Several improvements for Garbage Collection
230@end itemize
231
232@section Noteworthy changes in version @samp{0.16.0}
233
234@itemize @bullet
235@item Nib loading refractored and improved.
236@item Added support for autosaving in NSDocuments
237@item NSWindowController made a subclass of NSResponder
238@item NSTokenField and netokenFiledCell classes added.
239@end itemize
240
241@section Noteworthy changes in version @samp{0.14.0}
242
243@itemize @bullet
244@item New class NSGlyphGenerator for glyph generation
245@item NSSplitView implemented setAutosaveName:
246@item NSOpenGLView added some Mac OS X 10.3 methods
247@item Manu bug fixes.
248@end itemize
249
250@section Noteworthy changes in version @samp{0.13.2}
251
252@itemize @bullet
253@item Printing works a little better now.
254@item NSPopUpButtonCell - object encoding was changed
255@item NSTextView - several updates and Mac OS X methods added
256@item NSWindow - devince interaction was changed.  You need to use
257gnustep-back 0.13.2 with this version
258@item New class NSSegmentedCell.
259@item NSDrawer was implemented.
260@end itemize
261
262@section Noteworthy changes in version @samp{0.13.1}
263
264@itemize @bullet
265@item NSMenu - Added more MacOS X methods and an ivar.
266@item Added support for hiding views.
267@item Added Key-Value bindings implementation (NSKeyValueBinding)
268with support in several classes (NSControl, NSTextField, NSView, etc).
269@item Added some MacOS X 10.4 methods to NSTableView.
270@item Changed the NSCursor hot point to 0,0 for MacOS X compatibility.
271@end itemize
272
273@section Noteworthy changes in version @samp{0.13.0}
274
275This is an unstable release. There may be backward compatibility issues
276with previous releases of the gui library.
277
278@itemize @bullet
279@item Switched to use LGPL 3 and GPL 3.
280@item Added new methods from Mac OS X 10.4 for NSDragging, NSFontDescriptor,
281NSAttributedString, NSImageView, NSStringDrawing, NSParagraphStyle,
282NSView, NSCell, NSActionCell, NSAlert, NSApplication, NSBitmapImageRep,
283NSBox, NSColor, NSColorSpace, NSComboBox, NSComboBoxCell,
284NSDocumentController, NSEvent, NSScreen, NSFont, NSFontManager,
285NSFormCell, NSForm, NSWindow, NSTextField, NSTextFieldCell. Some ivar
286names were changed also.
287@item Moved Postscript printing methods from NSView to NSGraphicsContext.
288@item Rewrote the NSView drawing mechanism to always use
289[displayRectIgnoringOpacity:inContext].
290@item Report more controls as being flipped. (NSTextField, NSTableHeaderView,
291NSSlider, NSProgressIndicator, NSButton) NSTabView is still missing.
292@item In NSAffineTransform use optimized primitive methods from base.
293@item Add font attribute fixing to NSAttributedString. To allow for the output
294of glyphs not present in the current font.
295@item Optimized the validation of edited cells.
296@item Implementation of special connectors for Key-Value binding.
297@item Base library version 1.15.1 is required for this release
298@end itemize
299
300@section Noteworthy changes in version @samp{0.12.0}
301
302It has been a long time since the last release and many things have been
303added and changed, including new classes, new ivars, and new methods.
304
305@itemize @bullet
306@item Lots of improvements to the NSBitmapImage subclasses thanks to Mark Tracy
307@item GSTheme and other classes were added to improve support of theming.
308@item Added new methods from Mac OS X 10.4 for NSControl, NSResponder,
309NSDocument, NSPrintOperation, NSWindowController, NSCell,
310NSMenuItem, NSView. Some ivar names were changed also.
311@item Added new ivars for NSMenuItem, NSPrintOperation, NSTableView,
312NSDrawer, NSScrollView.
313@item New classes from Mac OS X 10.4 and earlier were added including
314NSLevelIndicator, NSObjectController, NSUserDefaultsController,
315NSKeyValueBinding, NSArrayController, NSController.
316@item NSSpellServer and NSAffineTransform was moved to GNUstep base
317for Mac OS X compatibility.
318@end itemize
319
320@section Noteworthy changes in version @samp{0.11.0}
321
322@itemize @bullet
323@item Added support for keyed encoding in all gui classes.
324@item Added mechanism to allow for dynamic extension of
325model loading mechanism
326@item Implemented glue code in GSNibCompatibility for
327classes such as NSIBObjectData, NSClassSwapper, etc. to
328facilitate nib loading.
329@end itemize
330
331@section Noteworthy changes in version @samp{0.10.3}
332
333@itemize @bullet
334@item Horizontal menus now work
335@item Better support for tracking active applications.
336@end itemize
337
338@section Noteworthy changes in version @samp{0.10.2}
339
340Mostly bug fixes.
341
342@section Noteworthy changes in version @samp{0.10.1}
343
344GNUstep now uses v19 of portaudio for the sound daemon. Version v19
345hasn't been officially released, but it is still used in several
346distributions (SuSE, etc) as v18 is very old.
347
348@section Noteworthy changes in version @samp{0.10.0}
349
350This release is binary incompatible with previous releases.
351The interface version of the library has changed so that apps, tools
352and libraries that use the base library need to be recompiled to use
353this new version.
354
355@itemize @bullet
356@item Model loading supports window auto-positioning
357@item Keyed encoding is supported in many classes.
358@end itemize
359
360@section Noteworthy changes in version @samp{0.9.5}
361
362@itemize @bullet
363@item Beginnings of CUPS interface were added.
364@item Added new control colors and methods from 10.3 version of Cocoa.
365@item Added new font methods from 10.3 version of Cocoa.
366@item NSApplication -runModalSession behavior changed.
367@item You can find the GUI library's version using the Info.plist
368@end itemize
369
370@section Noteworthy changes in version @samp{0.9.4}
371
372@itemize @bullet
373@item The printing classes have been completely reorganized to
374accommodate different native printing systems (Thanks to Chad Hardin).
375@item PPD files have been moved to a separate package.
376@item NSToolbar now allows rearranging items.
377@item NSScroller, NSScrollView has a new ivar.
378@item Some improvement of NSDataLink classes.
379@end itemize
380
381@section Noteworthy changes in version @samp{0.9.3}
382
383@itemize @bullet
384@item Spell checker reimplemented using libaspell
385@item New NSComboBox implementation
386@item NSToolbar much improved
387@item Binary incompatibilites from ivar additions in NSView and subclasses.
388@end itemize
389
390@section Noteworthy changes in version @samp{0.9.2}
391
392@itemize @bullet
393@item Working NSToolbar implementation
394@item New Mac OS X methods in NSView and other classes
395@item Fixed some sheet handling problems.
396@item Integrated gif, jpg, and png handling in front-end.
397@item Added overridable button and frame drawing functions
398@item Add some keyed decode/encoding to some classes
399@item NSStringDrawing redesigned.
400@item Much improved loading of gorm files
401@end itemize
402
403@section Noteworthy changes in version @samp{0.9.1}
404
405@itemize @bullet
406@item NSWindow - DnD works on whole window and events are propogated up to
407first DnD aware view.
408@item Absolute paths and DnD works in OpenPanels.
409@end itemize
410
411@section Noteworthy changes in version @samp{0.9.0}
412
413Improvements in various classes, include NSPopUpButton, NSBitmapImageRep,
414NSMenu, NSToolbar. Added support for thumbnail images in NSWorkspace.
415
416@section Noteworthy changes in version @samp{0.8.9}
417
418Note that many headers have moved to new locations (both in the package and
419when installed), so it is possible, although not likely that some
420applications may not compile because they cannot find the right header.
421
422@itemize @bullet
423@item New Language Setup documentation.
424@end itemize
425
426@section Noteworthy changes in version @samp{0.8.8}
427
428@itemize @bullet
429@item Updated LanguageSetup documentation
430@item Improved RTF reader (unicode support, etc).
431@end itemize
432
433@section Noteworthy changes in version @samp{0.8.7}
434
435@itemize @bullet
436@item NSBezierPath glyph methods implemented (depends on backend).
437@item NSDataLink[Panel/Manager] - some implementation
438@item Added default to load user-defined bundles (GSAppKitUserBundles default).
439@end itemize
440
441@section Noteworthy changes in version @samp{0.8.6}
442
443Updated to install in new locations based on changes in gnustep-make 1.7.0.
444
445@itemize @bullet
446@item New implementation of RTF producer (from Axel "Mikesch" Katerbau)
447@item Speed improvements, especially in tracking mouses movements.
448@item Lots of menu improvements.
449@end itemize
450
451@section Noteworthy changes in version @samp{0.8.5}
452
453Bug fixes. NSStringDrawing now uses text system implementation.
454
455@section Noteworthy changes in version @samp{0.8.4}
456
457This release features a brand new text and layout system thanks
458to Alexander Malmberg. Other improvements include:
459
460@itemize @bullet
461@item Various display optimizations.
462@item Default border to NSScrollView changed
463@item Printing fixes.
464@item NSToolbar partially implemented.
465@end itemize
466
467@section Noteworthy changes in version @samp{0.8.3}
468
469@itemize @bullet
470@item Additions for Gorm support.
471@item Alpha support for OpenGL
472@item Better ruler support - dragging of tab markers.
473@item Document support, recent files, etc.
474@item Simple printing to printer and print previewing.
475@item Window focus fixes
476@item Key view handling rewritten.
477@end itemize
478
479@section Noteworthy changes in version @samp{0.8.2}
480
481@itemize @bullet
482@item Handle fonts that aren't found better.
483@item Implement pageUp/Down.
484@item Some window focusing problems fixed.
485@item Quartz-like interface partially implemented.
486@item NSSecureTextField partially rewritten. More secure.
487@item NSBrowser: implement non-separate columns
488@item Fix firstResponder status in text fields.
489@end itemize
490
491@section Noteworthy changes in version @samp{0.8.1}
492
493@itemize @bullet
494@item Handle scaled curves correctly.
495@item Handle alpha channel with images correctly
496@item NSWindow frame string save without flipping coordinates.
497@item NSSound implemented. gssnd sound server.
498@item Spell checker starts correctly now.
499@end itemize
500
501@section Noteworthy changes in version @samp{0.8.0}
502
503@section Noteworthy changes in version @samp{0.7.9}
504
505@itemize @bullet
506@item NSTableView, NSOutlineView improvements.
507@item Menus no longer work in modal loop.
508@item Skeleton implementation of NSToolBar
509@end itemize
510
511@section Noteworthy changes in version @samp{0.7.8}
512
513@itemize @bullet
514@item Wheel color picker, standard color picker (bundles) added.
515@item System colors now use named colors. Easier configuration
516@end itemize
517
518@section Noteworthy changes in version @samp{0.7.7}
519
520The graphics/window interface was completely revamped. Window functions
521were split into a separate class, GSDisplayServer, and many PS and DPS
522functions were removed that were never implemented. However, new functionality
523was added to make things faster and eventually implement Quartz compatibility.
524
525In addition, the old backends, xgps and xdps were depreciated in favor of
526a new backend, simply named back, which can be configured for a
527variety of window server and graphics implementations, and also allow
528for improved code sharing.
529
530In addition there is now a window server backend for Windows computers,
531although it is in a very alpha state.
532
533Other improvements:
534@itemize @bullet
535@item Mutliple screens are now handled properly (untested)
536@item Better autolayout with GSTable and subclasses.
537@item NSOutlineView much improved.
538@end itemize
539
540@section Noteworthy changes in version @samp{0.7.6}
541
542@itemize @bullet
543@item NSOutlineView implemented.
544@item Improvements to NSTableView, NSPopUpButton, NSTextView, NSFontPanel
545@item Scroll wheel support.
546@item Fully-functional keybindings, including multi-stroke keybindings.
547@item Memory panel available from Info Panel.
548@end itemize
549
550@section Noteworthy changes in version @samp{0.7.5}
551
552@itemize @bullet
553@item Drag and drop and image sliding much improved.
554@item Better handling of remote startup/display.
555@item Some localization.
556@item Keybinding support.
557@item Text handling improvements.
558@item New gopen command (like MacOSX open command).
559@item Implemented simple pagination and printing of views.
560@item Support for rulers.
561@item Spell checking support.
562@item Blinking insertion point.
563@item New NSStepper class.
564@item Implemented NSOutlineView, NSSelection, NSInputManager.
565@item Near rewrite of Menu handling code.
566@item Gmodel code compiled as a separate bundle.
567@end itemize
568
569@section Noteworthy changes in version @samp{0.7.0}
570
571@itemize @bullet
572@item Much improvement in NSBrowser, NSMatrix, NSPopUpButton, combo boxes.
573@item NSTextAttachement implemented, many other text improvements.
574@item Fonts cached in the frontend.
575@item Changes so that backend can be loaded as a bundle at runtime.
576@item simpler, faster compilation and installation.
577@item NSColorWell works.
578@end itemize
579
580@section Noteworthy changes in version @samp{0.6.7}
581
582@itemize @bullet
583@item App Icons can support documents dropped using DnD.
584@item Added color conversions, working color picker and panel.
585@item Almost complete rewrite of NSBezierPath
586@item Loads of improvements to Text classes.
587@item NSImage, NSButton, NSCell, etc, implemented many missing methods.
588@item ...and even more changes to the Text classes.
589@item Starting implementation of printing.
590@item Scrollview fixes.
591@item Implemented deferred windows.
592@item NSTableView implemented.
593@item Implemented object value and formatter support in NSCell
594@item Support middle mouse button.
595@end itemize
596
597@section Noteworthy changes in version @samp{0.6.6}
598
599@itemize @bullet
600@item Window hints for motif and generic window managers.
601@item Major improvements to the text handling classes (NSText, NSTextView, etc)
602@item Pasting of fonts and rulers.
603@item Much better RTF handling
604@item DnD for NSColorWell
605@item Much improved NSSplitView
606@item New classes - NSColorPanel, NSTableView
607@item NSScreen rewritten with full support for all methods and functions.
608@item Can use image reading routines from WindowMaker if available to read
609a variety of image formats besides TIFF.
610@item Many fixes to get the AppKit to work better with WindowMaker.
611@item Much better gmodel support (particularly with nibs translated from
612NeXT or OPENSTEP 4.2).
613@item Muh improved font classes and font support.
614@end itemize
615
616In addition both the xgps and xdps backends have seen some large efficiency
617improvements. Much better font support. The xdps backend itself has seen
618speed improvements by at least a factor of 4. Note however, that the xdps
619backend is still considered experimental and you may have to deal with
620many problems in order to get it working. We recommend sticking with the
621xgps backend (the default) for now.
622
623@section Noteworthy changes in version @samp{0.6.5}
624
625Many of the basic GUI classes have been vastly improved or rewritten, thanks
626to Nicola Pero  @email{n.pero@@mi.flashnet.it} and many others.
627
628@itemize @bullet
629@item New Info Panel support
630@item New NSBezierPath
631@item Rewrite of several classes including Cell and Button classes.
632@item Rewrite of NSBrowser, NSSavePanel, menus, text classes, NSTableHeader.
633@item RTF Parser
634@item Implemented image caching.
635@item Implemented editing in Forms, Matricies.
636@item New autolayout classes GSHBox, GSTable, and GSVBox.
637@item Almost all back-end classes have been removed and code incorporated
638in a DPS-like graphics context structure.
639@item Better keyboard handling.
640@item NSHelpManager, NSComboBox, ProgressIndicator written.
641@end itemize
642
643In addition a preliminary version of an Interface Builder (Gorm) has
644been written, thanks to Richard Frith-Macdonald @email{richard@@brainstorm.co.uk}
645
646@section Noteworthy changes in version @samp{0.6.0}
647
648A Huge amount of progress, although a lot still needs to be done. It's
649usable for a large base of moderately simple apps. Several NeXT/OpenStep
650apps and libraries have been ported with little changes.
651
652@itemize @bullet
653@item Drag and Drop support fleshed out but not completed.
654@item NSText and related classes rewritten. Basic functionality but
655much needs to be done to finish them off.
656@item nib2gmodel app works with MacOS-X
657@item Work done in minimizing the backend which allowed a lot
658of functionality to move to the GNU library.
659@item Menu code rewritten.
660@item PopupButtons now work.
661@item Many new images
662@item Basic functionality for NSTabView
663@item Much better lockFocus support in NSView. Flipped views handled.
664@item Rewrite of NSSavePanel and NSOpenPanel
665@item Several fixes that at least double the speed of the gui.
666@end itemize
667
668@section Noteworthy changes in version @samp{0.5.5}
669
670Too extensive to list.
671
672@itemize @bullet
673
674@item A lot of rewritting has been done to the classes, with general
675cleanup of coordinate conversion code, etc.
676
677@end itemize
678
679@section Noteworthy changes in version @samp{0.5.0}
680
681@itemize @bullet
682
683@item
684NSBrowser and NSBrowserCell have been implemented.  There is one odd
685display artifact; lists which are smaller than the browser column area
686have the list justified to the bottom of the column versus the top of
687the column.  This is actually an issue with NSMatrix and will be
688remedied when flip views are implemented.
689
690@item
691Two important optimizations that speed up the displaying of views and flushing
692of windows have been implemented. Only the views that need display and those
693that produce visible effects on the screen receive the -drawRect: message.
694Flushing of windows occurs only in rectangles that get displayed not in the
695whole window.
696
697@item
698Rotation and scaling of views have been finally implemented. The code
699requires backend support for changing the state of the graphics context
700accordingly.
701
702@item
703NSScrollView and NSClipView have been implemented. The current implemented
704behavior is to call the document view to display the exposed region. Copying on
705scroll will be supported soon, at least on Solaris DPS, where it seems the
706Postscript language has provisions for copying drawn regions of screen.
707Hopefully DGS will also have this facility by the end of the year.
708
709@item
710NSScroller has been completely reworked to gain speed by using timer events.
711
712@item
713NSSlider has been implemented. Thanks to Frank Knobloch for supporting this
714and the NSScrollView implementation.
715
716@item
717NSBox has been implemented.
718
719@item
720The library has been ported to work under Solaris with the native DPS and the
721NeXT/Apple's Portable Distributed Objects (PDO) environment.
722
723@item
724The library has been integrated with the makefile package so we now benefit
725from all of the features the makefile package gives us, especially the
726possibility to build shared libraries on various systems and having different
727types (debug and profile) of the library compiled at the same time.
728
729@item
730NSCell is able to continuosly send the action to the target while the user is
731tracking the mouse.
732
733@item
734Several cleanups and as usual, many bug fixes.
735
736@end itemize
737
738@section Noteworthy changes in version @samp{0.3.0}
739
740@itemize @bullet
741
742@item
743Completely reworked the menu class. The NSMenu class is now inherited from
744NSObject and using the new implementation menus have been implemented for the
745XDPS backend (they have the look and feel of the NeXTStep menus!).
746
747@item
748NSRunLoop has been integrated with NSApplication. Using this capability time
749events have been implemented to NSEvent class. These events allow several
750improvements in the interaction between user and the graphic interface.
751
752@item
753NSMatrix has been reworked, it is now conforming to the OpenStep specification
754and it knows all the selection modes. It uses time events to enhance the
755drawing speed during mouse drags.
756
757@item
758The initial implementation of NSForm has been made although it has not been
759tested yet.
760
761@item
762NSPrinter has been implemented though it was not throughly tested; thanks to
763Simon Frankau.
764
765@item
766Configure script has been changed to detect the underlaying Foundation library.
767The currently supported libraries are gnustep-base and libFoundation.
768
769@item
770Several cleanups have been made in a lot of classes: the retain/release policy
771has been fixed, the cell classes correctly implement the NSCopying protocol
772and many others.
773
774@end itemize
775
776@section Noteworthy changes in version @samp{0.2.0}
777
778@itemize @bullet
779
780@item
781Additional NSImage and NSImageRep class work.  Incorporated common
782images for use with controls that were designed by Andrew Lindesay.
783
784@item
785Fill out implementation of NSColorWell class.
786
787@item
788Fill out implementation of NSColorList class.
789
790@item
791Cleaned up the header files and added missing headers, methods,
792categories, and protocols; thanks to Simon Frankau for much of this
793work.  Major reorganization of header files.  Types and constants were
794moved in the files they belong.  Each header file includes only the
795headers it really needs.  Use @samp{@@class} to forward class definitions
796instead of including the corresponding class file.
797
798@item
799Completely reworked the NSFont and NSFontManager classes so that
800NSUserDefaults is used for getting defaults and list of known fonts are
801maintained.
802
803@item
804Initial implementation of NSCursor class.
805
806@item
807Almost complete implementation of NSButton and NSButtonCell class.
808Buttons can now display images and/or text, handles all of the OpenStep
809button types and styles.
810
811@item
812Fill out implementation of NSScroller class.
813
814@item
815Put in underlying support for optimizing drawing; flushing of windows,
816backing store, and only display when needed.
817
818@item
819Many bug fixes and minor enhancements.
820
821@end itemize
822
823@section Noteworthy changes in version @samp{0.1.1}
824
825@itemize @bullet
826
827@item
828Almost complete implementation of the PXKMenu and PXKMenuCell classes.
829
830@item
831Fill out implementation of NSFont and NSFontManager.
832
833@item
834Fill out implementation of NSColor including color spaces other than
835RGB.  Now maintains the common colors as global variables.
836
837@item
838Integration with the Display Ghostscript System.  This is mainly related
839to using the header files in the DPSclient library for defining the
840PostScript operator functions.
841
842@item
843Initial documentation set.
844
845@item
846Initial implementation of NSImage, NSImageRep, and NSImageRep subclass
847classes based upon work by Adam Fedor.
848
849@item
850Now requires the TIFF library for reading, writing, and manipulating
851tiff files and images.
852
853@end itemize
854
855@section Noteworthy changes in version @samp{0.1.0}
856
857@itemize @bullet
858
859@item
860Integration of the GNUstep X/DPS GUI Backend.  This has finally
861produced a set of core code with can display on X/Windows.
862Much of the X/Windows code has been written by Pascal Forget
863@email{pascal@@wsc.com} and integration efforts have been lead by Scott
864Christley @email{scottc@@net-community.com}.
865
866@item
867Some major directory reorganization for the new naming guidelines.
868Headers previously in AppKit and DPSClient directories have been moved
869to gnustep/gui and gnustep/dps directores and symbol links are
870created for the AppKit and DPSClient directories.  This should allow
871both GNUstep and other OpenStep implementations to reside on the
872same machine without conflicts.
873@end itemize
874
875Also see the @samp{ChangeLog} file for more detail.
876
877@end ifclear
878@c end ifclear ANNOUNCE-ONLY
879