1<?xml version="1.0"?> 2<!DOCTYPE gsdoc PUBLIC "-//GNUstep//DTD gsdoc 1.0.3//EN" "http://www.gnustep.org/gsdoc-1_0_3.xml"> 3<gsdoc base="ReleaseNotes"> 4 <head> 5 <title>GNUstep Gui Release Notes</title> 6 <author name="Adam Fedor"> 7 <email address="fedor@gnu.org"/> 8 <url url="http://www.gnustep.org/developers/whoiswho.html"/> 9 </author> 10 <version>$Revision$</version> 11 <date>$Date$</date> 12 <copy>2005 Free Software Foundation, Inc.</copy> 13 </head> 14 <body> 15 <chapter> 16 <heading>Gui Release Notes</heading> 17 <p> 18 The release notes include descriptions of API changes, behavior 19 changes and other information that might help developers and users 20 migrate to using a newer version of the library. 21 </p> 22 23 <section> 24 <heading>0.28.0</heading> 25 <p> 26 This version adds support for modern XIB files and many new 27 classes. Plus the usual bunch of bug fixes. 28 </p> 29 <deflist> 30 <term>XIB</term> 31 <desc>Support loading XIB5 files.</desc> 32 <term>key-value binding</term> 33 <desc>Improve Key Value Binding for NSArrayController and add more 34 bindings.</desc> 35 <term>multi-monitor support</term> 36 <desc>Better support for multi monitor usage and other improvement in 37 the backend integration.</desc> 38 <term>new classes</term> 39 <desc>NSFontCollection, NSColorSampler, NSSpeechRecognizer, 40 NSAppearance, NSPDFInfo, NSPICTImageRep, NSCIImageRep, NSPDFImageRep, 41 NSPDFPanel, NSDataAsset, 42 NSDatePicker, NSDatePickerCell, NSPredicateEditor, 43 NSPredicateEditorRowTemplate, NSRuleEditor, NSGestureRecognizer, 44 NSButtonTouchBarItem, NSCandidateListTouchBarItem, 45 NSClickGestureRecognizer, NSColorPickerTouchBarItem, 46 NSCustomTouchBarItem, NSGroupTouchBarItem, 47 NSMagnificationGestureRecognizer, NSPanGestureRecognizer, 48 NSPickerTouchBarItem, NSPopoverTouchBarItem, NSPressGestureRecognizer, 49 NSRotationGestureRecognizer, NSSharingServicePickerTouchBarItem, 50 NSSliderTouchBarItem, NSStepperTouchBarItem, NSTouchBarItem, 51 NSTouchBar, NSTouch, NSDockTile 52 </desc> 53 <term>formats</term> 54 <desc>Implement NSEPSImageRep. Marked GSImageMagickImageRep public. 55 PICT. Better encoding handling in RTF files.</desc> 56 <term>theming and drawing</term> 57 <desc>Increase small font size to 10. New cursor and stepper images. 58 Various improvements.Lowered NSFloatingWindowLevel by one to 59 distinguish floating panels from menus.</desc> 60 <term>NSFileWrapper move</term> 61 <desc>Move NSFileWrapper to Foundation.</desc> 62 <term>platform compatibility</term> 63 <desc>Fixed build on Debian GNU/kFreeBSD. Improvements to WindowMaker 64 compatibility (e.g. WMFHideApplication support).</desc> 65 <term>command line arguments</term> 66 <desc>With command line argument -autolaunch YES, do not activate the 67 application when -activateIgnoringOtherApps: is invoked.</desc> 68 </deflist> 69 </section> 70 71 <section> 72 <heading>0.27.0</heading> 73 <p> 74 This version includes numerous bugfixes, compatibility 75 improvements and other changes accumulated over the last year. 76 It also enables work to be done on integrating NSViews with a Core 77 Animation renderer. 78 </p> 79 <deflist> 80 <term>NSApplication</term> 81 <desc>Make targetForAction safer.</desc> 82 <term>NSMenu</term> 83 <desc>Speed up menu updates.</desc> 84 <term>Tools/speech</term> 85 <desc>Clean up speech tool compilation and switch to newer interface.</desc> 86 <term>printing</term> 87 <desc>Fix bug in CUPS subclassing introduced in last release.</desc> 88 <term>typesetting</term> 89 <desc>Minor improvments to typesetting.</desc> 90 <term>NSKeyValueBinding</term> 91 <desc>Add NSIsControllerMarker.</desc> 92 <term>NSSegmentedCell</term> 93 <desc>Fix tracking on segmented cell.</desc> 94 <term>NSSliderCell</term> 95 <desc>Bring slider cell closer to Cocoa implementation.</desc> 96 <term>NSView</term> 97 <desc>Add ivar for Core Animation in NSView.</desc> 98 <term>printing</term> 99 <desc>Improve border calculation on printing.</desc> 100 <term>NSApplication</term> 101 <desc>Lazy load app icon.</desc> 102 <term>NSWorkspace</term> 103 <desc>Better detection of removable volumes.</desc> 104 <term>translations</term> 105 <desc>Polish translations.</desc> 106 <term>translations</term> 107 <desc>Japanese translations.</desc> 108 <term>other</term> 109 <desc>Lots of bug fixes.</desc> 110 </deflist> 111 </section> 112 <section> 113 <heading>0.26.2</heading> 114 <p> 115 This version is a small, but important bugfix release. 116 </p> 117 <deflist> 118 <term>printing</term> 119 <desc>Fix allocation of the CUPS printing classes.</desc> 120 <term>installation</term> 121 <desc>Fix the configure script.</desc> 122 </deflist> 123 </section> 124 <section> 125 <heading>0.26.1</heading> 126 <p> 127 This version is released to conincide with version 1.25.1 of 128 gnustep-base, which contains changes required for this version of 129 gnustep-gui and gnustep-back. 130 </p> 131 <p> 132 It includes an important workaround for users of GNUstep 133 Objective-C Runtime (libobjc2) and non-fragile ABI to avoid a bug 134 in interaction between the clang compiler and the runtime 135 when non-fragile ABI is in use. Specifically, Clang and the 136 runtime may disagree on what is the offset of an ivar 137 in a class's RAM. This manifested in a crash at application 138 startup due to misalignment of _gcontext inside NSThread. See 139 the 140 <uref url="http://lists.gnu.org/archive/html/discuss-gnustep/2017-12/msg00129.html">mailing list discussion</uref> 141 for more information. 142 </p> 143 <p> 144 It also contains the following changes: 145 </p> 146 <deflist> 147 <term>tests</term> 148 <desc>Cleanup of warnings.</desc> 149 <term>tests</term> 150 <desc>Fix text system deallocation test.</desc> 151 <term>printing</term> 152 <desc>Undefine __BLOCKS__ before including cups.h, as some versions of the header expect that libdispatch is present and used if __BLOCKS__ is defined.</desc> 153 <term>graphics context</term> 154 <desc>Workaround for Clang+libobjc2+nonfragile ABI issue.</desc> 155 </deflist> 156 </section> 157 <section> 158 <heading>0.26.0</heading> 159 <p> 160 Bumped due to binary incompatibilities between 0.25.0 and 0.25.1. Also 161 including numerous compatibility improvements from the Summer of Code 162 project, and a wide variety of other fixes. Fixes the use of 163 cupsGetPPD() in the printing system. 164 </p> 165 <deflist> 166 <term>printing</term> 167 <desc>Add an include to get deprecated function cupsGetPPD() on 168 newer CUPS systems.</desc> 169 <term>chore</term> 170 <desc>Bump required base version.</desc> 171 <term>tiff</term> 172 <desc>Support for writing resolution.</desc> 173 <term>jpeg</term> 174 <desc>Save resolution information if it is different from 72 175 dpi.</desc> 176 <term>save panel</term> 177 <desc>Fix return type of sorting function.</desc> 178 <term>events</term> 179 <desc>Add some newer Cocoa enums and one method with dummy 180 implementation.</desc> 181 <term>speech synthesis</term> 182 <desc>NSSpeechSynthesizerDelegate is now a @protocol on 183 runtimes that support it.</desc> 184 <term>pasteboard</term> 185 <desc>New type identifiers.</desc> 186 <term>translations</term> 187 <desc>Some work on Polish, Russian and German translations</desc> 188 <term>cell</term> 189 <desc>Improvements to mouse tracking logic on NSCell.</desc> 190 <term>image</term> 191 <desc>If an unknown named image is unarchived with a coder or 192 keyed coder, keep the name.</desc> 193 <term>screen</term> 194 <desc>Add backingScaleFactor and return 1.0.</desc> 195 <term>window</term> 196 <desc>Return 1.0 from -backingScaleFactor.</desc> 197 198 <term>compatibility</term> 199 <desc>Numerous stub implementations of constants, classes 200 and methods to improve source-level compatibility.</desc> 201 <term>other bugfixes</term> 202 <desc>Numerous other bugfixes.</desc> 203 204 </deflist> 205 </section> 206 207 <section> 208 <heading>0.25.1</heading> 209 <p> 210 New release. 211 </p> 212 <deflist> 213 <term>Image library fixes.</term> 214 <desc> 215 JPEG (saving) alpha channel fixes and size with resolution != 72. 216 JPEG resolution read support. 217 TIFF saving fixes. 218 </desc> 219 <term>Mounting.</term> 220 <desc>Improved volumes mounting and support. Portability improvements 221 in volume mounting and support</desc> 222 <term>Text layout.</term> 223 <desc>Corrected layout of empty strings.</desc> 224 <term>Optimizations.</term> 225 <desc>Only update visible menus.</desc> 226 </deflist> 227 </section> 228 229 <section> 230 <heading>0.25.0</heading> 231 <p> 232 New release. Bumped due to detected binary incompatibility between 233 0.24.0 and 0.24.1. 234 </p> 235 <deflist> 236 <term>GIF library update</term> 237 <desc>Fixes for new GIF library versions</desc> 238 <term>Theming improvements</term> 239 <desc>Theming of named images for specific applications by the use of 240 the CFBundleIdentifier in the theme. New icons and corresponding 241 constants for special folders, recycler and others.</desc> 242 <term>NSWorkspace</term> 243 <desc>Improvements in NSWorkspace icon lookup. Improvements in 244 removable media commands, imported and cleaned from GWorkspace.</desc> 245 <term>Other</term> 246 <desc>Numerous bug fixes and improvements in Cocoa compatibility. 247 Spanish locale.</desc> 248 </deflist> 249 </section> 250 251 <section> 252 <heading>0.24.1</heading> 253 <p> 254 From a look through ChangeLog, we can see a lot of bugfixes for this 255 release, with the main focus on avoiding display glitches and 256 improving OSX compatibility. 257 </p> 258 <deflist> 259 <term>NSColorListChangedNotification</term> 260 <desc>Removed.</desc> 261 <term>NSColorPanelColorChangedNotification</term> 262 <desc>Removed.</desc> 263 <term>NSImageInterpolation{Default,High,Low,None}</term> 264 <desc>Removed.</desc> 265 <term>NSPrintHorizonalPagination</term> 266 <desc>Removed.</desc> 267 </deflist> 268 </section> 269 270 <section> 271 <heading>0.24.0</heading> 272 <p> 273 This is a major new stable release of GUI. 274 Require newer base release as we moved the 275 -replaceObject:withObject: of NSKeyedUnarchiver there.<br /> 276 New features include: 277 </p> 278 <deflist> 279 <term>GIF library update</term> 280 <desc>Newer versions of the GIF library (5.0) have an incompatible 281 interface change. We now support the new interface as well as the 282 old one and detect at configure time which one to use.</desc> 283 <term>NSTabView flipped</term> 284 <desc>NSTabView was the last view class that still had its flipped 285 state defined incorrectly. This finally got corrected.</desc> 286 <term>Theme improvements</term> 287 <desc>A lot more of the gui appearance is now changable by a 288 theme. The way image names get mapped to real file names when 289 loading has been clearified.Better support for 9-patch images.</desc> 290 <term>Additional Cocoa classes</term> 291 <desc>NSTreeController, NSTreeNode, NSStatusBar, NSStatusItem, 292 NSTrackingArea</desc> 293 <term>Many bugfixes and tweaks to improve look and feel</term> 294 <desc>Cursor display is a lot more consistent.</desc> 295 </deflist> 296 </section> 297 298 <section> 299 <heading>0.23.1</heading> 300 <p>This is a bugfix release containint many minor bugfixes, but 301 most importantly fixing some coding/archiving bugs introduced in 302 in the NSInteger,NSUInteger,CGFloat changes. 303 </p> 304 </section> 305 306 <section> 307 <heading>0.23.0</heading> 308 <p> 309 This is a major new stable release of GUI. 310 Note that this version is binary incompatible with previous 311 versions on 64-bit systems due to changes in some variables 312 based on changes in GNUstep base to the type of NSNotFound.<br /> 313 New features include: 314 </p> 315 <deflist> 316 <term>NSInteger,NSUInteger,CGFloat</term> 317 <desc>API and internals updated to use new types</desc> 318 <term>NSBezierPath</term> 319 <desc>Keyed encoding/decoding added</desc> 320 <term>Many bugfixes and tweaks to improve look and feel</term> 321 <desc>Most of the changes in this release are individually 322 small changes fixing UI layout issues, responsiveness etc. 323 The accumulated result should be a significantly smoother 324 look and feel. 325 </desc> 326 </deflist> 327 </section> 328 329 <section> 330 <heading>0.22.0</heading> 331 <p> 332 This is a major new stable release of GUI. Note that to improve stability, some features that were in previous releases have been removed. Newer and better implementation of these features will be added back soon. These include use of ghostscript and ImageMagic to automatically translate image formats, and an implementation of copy-on-scroll in NSClipView. Also note that this version is binary incompatible with previous versions on 64-bit systems due to changes in some variables based on changes in GNUstep base to the type of NSNotFound. 333 New features include: 334 </p> 335 <deflist> 336 <term>Support for drawing the GUI with a scale factor, for high-DPI monitors.</term> 337 <desc> 338 <p> 339 This is enabled automatically on Windows when the system DPI setting is changed from its default of 96 in the Windows control panel. It can be enabled on X11 (or the default overridden on Windows) by setting the GSScaleFactor user default. For example, setting this to 1.5 would make everything appear 50% larger. 340 </p> 341 <p> 342 The scale factor is implemented in GSWindowDecorationView; we use NSView's built-in scaling support and call -[NSWindow userSpaceScaleFactor] to determine how to manipulate the bounds and frame rect of the window decoration view. NSUnscaledWindowMask is respected, if it is part of a window's style mask. Note that changing the scale factor without restarting applications is currently unsupported, and all screens currently share the same scale factor. Both of these limitations should be reasonably easy to fix in a future release, however. 343 </p> 344 </desc> 345 <term>Character panel</term> 346 <desc> 347 There is a character panel accessible from a button in the standard Font panel. It requires libicu. 348 </desc> 349 <term>Color picker "Magnifier" tool, for grabbing the color of arbitrary parts of the screen</term> 350 <desc> 351 Currently only implemented on X11/cairo. 352 </desc> 353 <term>Many new image formats supported for reading using Ghostscript and ImageMagick</term> 354 <desc> 355 The Ghostscript image rep provides PS/EPS/PDF support, however it has some limitations. It is quite slow. Only the first page is rendered, because we use the pngalpha Ghostscript device, which is the only device supporting 8-bit alpha. 356 </desc> 357 </deflist> 358 359 <p>Other improvements:</p> 360 <deflist> 361 <term>NSImage</term> 362 <desc> 363 <p>Mac OS X 10.6 drawing methods (-[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:]). The rep selection code was completely overhauled, and it should work much better with images containing many reps. In particular, the DPI metadata in images is now respected, and TIFF images containing multiple resolutions are now fully supported.</p> 364 <p>Icons are now better supported. By icon, we mean an NSImage whose representations are not all of the same point size. Icons are usually ICNS or TIFF files. (Note that we aren't talking about a TIFF containing sub-images with different pixel sizes but the same point sizes.) The important thing about icons is -[NSImage size] should not be called, because the icon doesn't have one single size in points, but many sizes, so it's not clear which will be returned from this method. Similarly, -[NSImage drawAtPoint:fromRect:operation:fraction:] should be avoided, as should the -compositeToPoint: family of methods, since these use -[NSImage size] to determine how big to draw the image. The benefit of icons is that when -[NSImage drawInRect:fromRect:operation:fraction:] is called, the rep with the largest point size smaller than or equal to the rect to be drawn in will be chosen, resulting in better looking output. For best results, call drawInRect: with a point size you expect the icons to have, like 16x16 or 64x64.</p> 365 </desc> 366 <term>NSCursor</term> 367 <desc> 368 Support for creating 32-bit ARGB cursors on X11 (with the Xcursor library) 369 </desc> 370 <term>NSView</term> 371 <desc> 372 Autoresizing algorithm reimplemented to be closer to OS X. View frames generated by autoresizing are now rounded to lie on pixel boundaries. 373 </desc> 374 </deflist> 375 </section> 376 377 <section> 378 <heading>Version 0.20.0</heading> 379 <p>A new stable release. Many improvments with Nib loading, documents and document controllers. Fixed 380 many drawing issues, particularly ones related to flipping. Much improved theming. 381 </p> 382 <deflist> 383 <term>NSOutlineView</term> 384 <desc> 385 Use NSInteger and CGFloat in method names where appropriate. 386 </desc> 387 <term>NSDocument</term> 388 <desc> 389 Change result type of method-saveToURL:ofType:forSaveOperation:delegate:didSaveSelector:contextInfo: 390 from BOOL to void. 391 </desc> 392 <term>NSView</term> 393 <desc> 394 New 10.5 methods. 395 </desc> 396 <term>NSCursor</term> 397 <desc> 398 New 10.6 methods. 399 </desc> 400 </deflist> 401 </section> 402 403 <section> 404 <heading>Version 0.18.0</heading> 405 <p>A new stable release that has had many improvements. Many new 406 Mac OS X methods (10.5 and newer) were added. Many Windows specific 407 improvements were made (particularly with the use of the Windows theme). 408 There is also better compatibility with Mac OS X in terms of usage of NSInteger 409 and other definitions. 410 </p> 411 <deflist> 412 <term>NSSliderCell</term> 413 <desc> 414 Initial implementaiton of circular sliders. 415 </desc> 416 <term>Spanish Translation</term> 417 <desc> 418 Added spanish translations in various places. 419 </desc> 420 <term>NSDrawers</term> 421 <desc> 422 They now work. 423 </desc> 424 <term>NSTableColumn</term> 425 <desc> 426 New 10.6 methods and constants. 427 </desc> 428 <term>Themes</term> 429 <desc> 430 Usage of themes to draw UI elements is almost completely implemented. 431 </desc> 432 </deflist> 433 </section> 434 435 <section> 436 <heading>Version 0.17.1</heading> 437 <p>Bug fixes. 438 </p> 439 <deflist> 440 <term>NSFont</term> 441 <desc> 442 Add some missing interface methods from 10.5 443 </desc> 444 <term>NSSplitView</term> 445 <desc> 446 Add live resize (can be turned off with GSUseGhostResize default) 447 </desc> 448 </deflist> 449 </section> 450 <section> 451 <heading>Version 0.17.0</heading> 452 <p>Many many bug fixes and almost complete reorganization of NSToolbar 453 code. 454 </p> 455 <deflist> 456 <term>NSBezierPath, NSAttributedString, NSLayoutManager</term> 457 <desc> 458 New Mac OS X 10.5 methods. 459 </desc> 460 <term>NSSpeechSynthesizer</term> 461 <desc> 462 New class. 463 </desc> 464 <term>NSSplitView</term> 465 <desc> 466 Added new Mac OS X 10.5 methods and some ivars 467 </desc> 468 <term>Toolbars</term> 469 <desc> 470 Many improvements. NSToolbar methods rearragned and ivar removed. 471 </desc> 472 <term>Menus</term> 473 <desc> 474 MS Window-stype menus inside a window implemented 475 </desc> 476 <term>Garbage Collection</term> 477 <desc> 478 Several improvements to work better with GC 479 </desc> 480 <term>HelpViewer</term> 481 <desc> 482 GSHelpViewer use default added. 483 </desc> 484 </deflist> 485 </section> 486 <section> 487 <heading>Version 0.16.0</heading> 488 <p>This is an stable release. A lot of improvements and bug 489 fixes went into this release. Thanks to Wolfgang Lux for fixing plenty 490 of bugs. Note that gnustep-core is now installed in the LOCAL domain 491 by default instead of the SYSTEM domain. You may want to remove old 492 installations in the SYSTEM domain to avoid any incompatibility problems. 493 Or you can force installation in SYSTEM using make 494 GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install. 495 </p> 496 <deflist> 497 <term>Nib Loading</term> 498 <desc> 499 Several methods were added and Nib loading in general was refactored 500 and improved. 501 </desc> 502 <term>NSDocument</term> 503 <desc> 504 Document autosaving was implemented. 505 </desc> 506 <term>NSSavePanel</term> 507 <desc> 508 Several methods were added to implement support for document types 509 with multiple allowed file extensions. 510 </desc> 511 <term>NSWindow</term> 512 <desc> 513 Definitions and skeleton implementation of attachedSheet. 514 </desc> 515 <term>NSTextView</term> 516 <desc> 517 Renamed and changed types of attributes related to drag and drop. 518 </desc> 519 <term>NSLayoutManager</term> 520 <desc> 521 New methods added to handle temporary attributes. 522 </desc> 523 <term>NSWindowController</term> 524 <desc> 525 NSWindowController was made a subclass of NSResponder. 526 </desc> 527 <term>NSCell</term> 528 <desc> 529 Rearranged somewhat to use GSTheme implemetations. 530 </desc> 531 <term>NSTokenField, NSTokenFieldCell</term> 532 <desc> 533 New classes added. 534 </desc> 535 </deflist> 536 </section> 537 <section> 538 <heading>Version 0.14.0</heading> 539 <p>This is an stable release. 540 </p> 541 <deflist> 542 <term>NSGlyphGenerator</term> 543 <desc> 544 New class for glyph generation (separated from other classes). 545 </desc> 546 <term>NSControl -mouseDownFlags</term> 547 <desc> 548 Added old NeXT method for compatibility. 549 </desc> 550 <term>NSSplitView</term> 551 <desc> 552 setAutosaveName: implemented and new instance variable added. 553 </desc> 554 <term>NSOpenGLView</term> 555 <desc> 556 Added some Mac OS X 10.3 methods. 557 </desc> 558 </deflist> 559 </section> 560 <section> 561 <heading>Version 0.13.2</heading> 562 <p>This is an unstable release. 563 </p> 564 <deflist> 565 <term>NSPopUpButtonCell</term> 566 <desc> 567 The encoding of this object was changed (which is backwards compatible, 568 but not forwards compatible. 569 </desc> 570 <term>NSTextView</term> 571 <desc> 572 Add new X secondary selection behavior. Other Mac OS X methods added. 573 </desc> 574 <term>NSWindow</term> 575 <desc> 576 Device interaction with backend has changed. This release of gui 577 requires the coresponding gnustep-back release 0.13.2. 578 </desc> 579 <term>NSSegmentedCell</term> 580 <desc> 581 New class added to draw and render text in segments. 582 </desc> 583 <term>NSDrawer</term> 584 <desc> 585 Implemented. 586 </desc> 587 </deflist> 588 </section> 589 <section> 590 <heading>Version 0.13.1</heading> 591 <p>This is an unstable release. 592 Changes to error handling and key-value coding require an 593 update to at least the base library version 1.15.1. 594 </p> 595 <deflist> 596 <term>NSMenu</term> 597 <desc> 598 Added more MacOS X methods and an ivar. 599 </desc> 600 <term>NSView</term> 601 <desc> 602 Added support for hiding views. 603 </desc> 604 <term>Key-Value bindings</term> 605 <desc> 606 Added Key-Value bindings implementation (NSKeyValueBinding) 607 with support in several classes (NSControl, NSTextField, NSView, 608 etc). 609 </desc> 610 <term>NSTableView</term> 611 <desc> 612 Added some MacOS X 10.4 methods. 613 </desc> 614 <term>NSCursor</term> 615 <desc> 616 Changed hot point to 0,0 for MacOS X compatibility. 617 </desc> 618 </deflist> 619 </section> 620 <section> 621 <heading>Version 0.13.0</heading> 622 <p>This is an unstable release. 623 Changes to error handling and key-value coding require an 624 update to at least the base library version 1.15.1. 625 </p> 626 <deflist> 627 <term>Licence</term> 628 <desc> 629 Switched to use LGPL 3 and GPL 3. 630 </desc> 631 <term>New Methods added</term> 632 <desc> 633 Added new methods from Mac OS X 10.4 for NSDragging, NSFontDescriptor, 634 NSAttributedString, NSImageView, NSStringDrawing, NSParagraphStyle, 635 NSView, NSCell, NSActionCell, NSAlert, NSApplication, NSBitmapImageRep, 636 NSBox, NSColor, NSColorSpace, NSComboBox, NSComboBoxCell, 637 NSDocumentController, NSEvent, NSScreen, NSFont, NSFontManager, 638 NSFormCell, NSForm, NSWindow, NSTextField, NSTextFieldCell. 639 Some ivar names were changed also. 640 </desc> 641 <term>Printing</term> 642 <desc> 643 Moved Postscript printing methods from NSView to NSGraphicsContext. 644 </desc> 645 <term>View drawing</term> 646 <desc> 647 Rewrote the NSView drawing mechanism to always use 648 [displayRectIgnoringOpacity:inContext]. 649 </desc> 650 <term>Flipped Controls</term> 651 <desc> 652 Report more controls as being flipped. (NSTextField, NSTableHeaderView, 653 NSSlider, NSProgressIndicator, NSButton) NSTabView is still missing. 654 </desc> 655 <term>Font Attribute</term> 656 <desc> 657 Add font attribute fixing to NSAttributedString. To allow for the output 658 of glyphs not present in the current font. 659 </desc> 660 <term>Optimization</term> 661 <desc> 662 In NSAffineTransform use optimized primitive methods from 663 base. 664 Optimized the validation of edited cells. 665 </desc> 666 <term>Key-Value Binding</term> 667 <desc> 668 Implementation of special connectors for Key-Value binding. 669 </desc> 670 </deflist> 671 </section> 672 <section> 673 <heading>Version 0.12.0</heading> 674 <p> 675 It has been a long time since the last release and many things 676 have been added and changed, including new classes, new ivars, 677 and new methods. 678 </p> 679 <deflist> 680 <term>Tooltips</term> 681 <desc> 682 A Tooltip implementation was added. 683 </desc> 684 <term>NSBitmapImage Improvements</term> 685 <desc> 686 Lots of improvements to the NSBitmapImage subclasses. 687 </desc> 688 <term>Theming Improvements</term> 689 <desc> 690 GSTheme and other classes were added to improve support 691 of theming. 692 </desc> 693 <term>New Methods added</term> 694 <desc> 695 Added new methods from Mac OS X 10.4 for NSControl, NSResponder, 696 NSDocument, NSPrintOperation, NSWindowController, NSCell, 697 NSMenuItem, NSView. Some ivar names were changed also. 698 </desc> 699 <term>New ivars added</term> 700 <desc> 701 Added new ivars for NSMenuItem, NSPrintOperation, NSTableView, 702 NSDrawer, NSScrollView, NSAlert, NSTextView. 703 </desc> 704 <term>New Classes Added</term> 705 <desc> 706 New classes from Mac OS X 10.4 and earlier were added including 707 NSLevelIndicator, NSObjectController, NSUserDefaultsController, 708 NSKeyValueBinding, NSArrayController, NSController. 709 </desc> 710 <term>NSSpellServer moved to base</term> 711 <desc> 712 NSSpellServer was moved to GNUstep base for Mac OS X 713 compatibility. 714 </desc> 715 <term>NSTabViewType enumerations</term> 716 <desc> 717 Enumerations were changed to match values from Mac OS X. 718 </desc> 719 <term>GNUstep GUI updated for Make 2.0</term> 720 <desc> 721 GNUstep GUI was updated to work with GNUstep Make 2.0. This 722 includes versioned resources. 723 </desc> 724 <term>NSAffineTransform moved to base</term> 725 <desc> 726 Much of NSAffineTransform was moved to gnustep-base to match 727 with Mac OS X. Many older methods were marked as deprecated 728 in favor of the more recent Mac OS X methods. 729 </desc> 730 <term>NSAlert in alternate threads</term> 731 <desc> 732 NSAlerts are performed in the main thread even if called 733 from another thread. 734 </desc> 735 <term>NSAnimation Class Added</term> 736 <desc> 737 Preliminary code for the NSAnimation class has been added. 738 Only NSAnimationNonBlocking mode implemented. 739 </desc> 740 </deflist> 741 </section> 742 <section> 743 <heading>Version 0.11.0</heading> 744 <deflist> 745 <term>Keyed Encoding/Archiving</term> 746 <desc> 747 Support for keyed encoding has been added to all gui classes. 748 </desc> 749 <term>Nib loading</term> 750 <desc> 751 Nib loading has been implemented. For the most part, nibs 752 are (or should be) compatible between GNUstep and Mac OS X. 753 </desc> 754 <term>Color schemes and Themes</term> 755 <desc> 756 Better support for color schemes and themes has been added. In 757 the near future theming should be integrated into gui itself. 758 </desc> 759 <term>RTFD</term> 760 <desc> 761 Loading and writing of RTFD format was implemented. 762 </desc> 763 </deflist> 764 </section> 765 <section> 766 <heading>Version 0.10.3</heading> 767 <deflist> 768 <term>Horizontal menus</term> 769 <desc> 770 Horizontal (mac)-style menus should now work. Horizontal 771 menus are activated by setting the 'NSMenuInterfaceStyle' user 772 default to 'NSMacintoshInterfaceStyle'. 773 </desc> 774 <term>Active applications</term> 775 <desc> 776 Better support for tracking active applications was 777 added. Normally a workspace manager should handle this, 778 but the GUI library can handle it on its own if it is not 779 handled any other way. 780 </desc> 781 </deflist> 782 </section> 783 <section> 784 <heading>Version 0.10.2</heading> 785 <deflist> 786 <term>Power Off</term> 787 <desc> 788 The notification center posts a power off notification before 789 sending a terminate: method sent from another app on the assumption 790 that the terminate: is from a session manager. 791 </desc> 792 </deflist> 793 </section> 794 <section> 795 <heading>Version 0.10.1</heading> 796 <deflist> 797 <term>Sound library</term> 798 <desc> 799 GNUstep now uses v19 of portaudio for the sound daemon. Version 800 v19 hasn't been officially released, but it is still used in 801 several distributions (SuSE, etc) as v18 is very old. 802 </desc> 803 </deflist> 804 </section> 805 <section> 806 <heading>Version 0.10.0</heading> 807 <p> 808 The interface version of the gui library has changed in 809 this release. Applications, libraries and tools that 810 wish to use this new version must be recompiled 811 (otherwise, they'll use the older version of the library). 812 </p> 813 <deflist> 814 <term>Nib window autopositioning</term> 815 <desc> 816 Nib loading has been improved to handle auto-positioning 817 of windows. 818 </desc> 819 <term>NSFont</term> 820 <desc> 821 An ivar was added to NSFont to cache flipped fonts. 822 </desc> 823 <term>NSApplication</term> 824 <desc> 825 An ivar was added to track application launch. 826 </desc> 827 <term>Keyed Encoding</term> 828 <desc> 829 Work was done in many classes to support keyed 830 encoding. It may not be fully implemented in every class, however. 831 </desc> 832 <term>Backend Versioning</term> 833 <desc> 834 The GUI library now looks for the backend bundle with the 835 corrent interface version. Thus there should not be any 836 problems with the GUI using the wrong backend. 837 </desc> 838 </deflist> 839 </section> 840 <section> 841 <heading>Version 0.9.5</heading> 842 <p> 843 </p> 844 <deflist> 845 <term>NSColor colors</term> 846 <desc> 847 Added new control colors and methods from 10.3 version of Cocoa. 848 </desc> 849 <term>NSFont methods</term> 850 <desc> 851 Added new font methods from 10.3 version of Cocoa 852 </desc> 853 <term>NSApplication -runModalSession</term> 854 <desc> 855 Behavior of this method was changed. In particular it deviates 856 from Cocoa documentation. See the GNUstep GUI documentation for 857 specifics. 858 </desc> 859 <term>Runtime version discovery of library</term> 860 <desc> 861 A developer can discover the version of the gui library 862 that is loaded using the NSBundle methods <code>[[NSBundle 863 bundleForLibrary: @"gnustep-gui"] infoDictionary]</code> 864 and retrieving the <var>GSBundleVersion</var> key. 865 </desc> 866 </deflist> 867 </section> 868 <section> 869 <heading>Version 0.9.4</heading> 870 <p> 871 </p> 872 <deflist> 873 <term>Interface version change</term> 874 <desc> 875 The interface version of the gui library has changed in 876 this release. 877 There is no single reason for this change. Arguably, it 878 should have been done long ago. In the future the 879 interface version will only change with releases that 880 have a new minor version number (that's the second number in the 881 release number). Applications, libraries and tools that 882 wish to use this new version must be recompiled 883 (otherwise, they'll use the older version of the library). 884 </desc> 885 <term>PPD's removed</term> 886 <desc> 887 All the PPD's have been removed from the gui library 888 into a separate package (gnustep-ppd). There still 889 exists a single Generic Postscript Printer PPD which 890 should work in many cases for printing using the 891 standard <var>lpr</var> interface. In the future, a 892 <var>CUPS</var> interface should be available that provides 893 all the necessary printer information automatically. If 894 you still want use of the PPD's, you must install the 895 gnustep-ppd package, although this is not required for 896 use of gnustep-gui. 897 </desc> 898 <term>Printing framework</term> 899 <desc> 900 The printing framework was generalized to allow for 901 various types of native printing systems. The lpr 902 system is the only complete one, although CUPS printing 903 is in the works. As such, the printing classes were 904 revamped to handle this, and the actual system-specific 905 code is loaded from a bundle. 906 </desc> 907 <term>NSScroller, NSScrollView class size change</term> 908 <desc> 909 A new ivar was added to the NSScroller and NSScrollView classes. 910 </desc> 911 </deflist> 912 </section> 913 <section> 914 <heading>Version 0.9.3</heading> 915 <p> 916 </p> 917 <deflist> 918 <term>Spell checker daemon reimplemented using libaspell</term> 919 <desc> 920 If the optional library libaspell is found, the spell checker 921 will use it (otherwise spell checking will not work). 922 </desc> 923 <term>New NSComboBox implementation</term> 924 <desc> 925 NSComboBox and related classes have been re-implemented 926 and documented. 927 </desc> 928 <term>NSToolbar code redone</term> 929 <desc> 930 A lot of changes where made to the NSToolbar class to 931 make it more functional. 932 </desc> 933 <term>Binary Incompatibilities</term> 934 <desc> 935 New ivars were added NSTableView, NSView, 936 NSSavePanel. Applications that use this class and 937 subclasses (e.g. NSOutlineView) may need to be 938 recompiled to work properly. 939 </desc> 940 </deflist> 941 </section> 942 </chapter> 943 </body> 944</gsdoc> 945