# GEF Project Release Notes

Release 3.1.1
Last revised September 12, 2005

> 1. Target Platforms
> 2. Compatibility with Previous Release
> 3. Breaking API Changes
> 4. Known Issues
> 5. Bug Fixes in Maintenance Releases

## 1. Target Platforms

GEF 3.1 requires the Eclipse 3.1 Rich Client Platform and the optional `org.eclipse.ui.views` plug-in. See the Eclipse Platform readme for requirements of the Eclipse platform.

GEF 3.1 has been tested and validated on the following Java 2 Platform implementations:

Eclipse Reference Platforms
Operating system | Processor architecture | Window system | Java 2 Platform
Microsoft Windows XP | Intel x86 | Win32 | Sun Java 2 Standard Edition, version 1.4.2_08 for Microsoft Windows
Microsoft Windows XP | Intel x86 | Win32 | IBM 32-bit SDK for Windows, Java 2 Technology Edition, Version 1.4.2 SR1a
Red Hat Enterprise Linux WS 3 | Intel x86 | GTK | Sun Java 2 Standard Edition, 1.4.2_08 for Linux x86
Red Hat Enterprise Linux WS 3 | Intel x86 | GTK | IBM 32-bit SDK for Linux on Intel architecture, Java 2 Technology Edition, Version 1.4.2 SR1a
SLES 9 | Intel x86 | GTK | Sun Java 2 Standard Edition, version 1.4.2_08 for Linux x86
SLES 9 | Intel x86 | GTK | IBM 32-bit SDK for Linux on Intel architecture, Java 2 Technology Edition, Version 1.4.2 SR1a
Sun Solaris 8 | SPARC | Motif | Sun Java 2 SDK, Standard Edition, 1.4.2_08 for Solaris SPARC
HP HP-UX 11i | hp9000 PA-RISC | Motif | HP-UX SDK for the Java 2 platform, version 1.4.2.07 for hp9000 PA-RISC
IBM AIX 5L Version 5.2 | PowerPC | Motif | IBM 32-bit SDK for AIX, Java 2 Technology Edition, Version 1.4.2 SR1a
Apple Mac OS X 10.3 | PowerPC | Carbon | Java 2 Standard Edition 1.4.2 for Mac OS X

Although untested, GEF should work fine on other OSes where the Eclipse platform works.

## 2. Compatibility with Previous Release

API Contract Compatibility: GEF 3.1 is upwards contract-compatible with GEF 3.0 except for those areas noted in Breaking API Changes. Downward contract compatibility is not supported. There is no guarantee that compliance with 3.1 APIs would ensure compliance with 3.0 APIs. Refer to Evolving Java-based APIs for a discussion of the kinds of API changes that maintain contract compatibility.

Binary (plug-in) Compatibility: GEF 3.1 is upwards binary-compatible with GEF 3.0 except in those areas noted in Breaking API Changes. Downward plug-in compatibility is not supported. Plug-ins based on GEF 3.1 will not work with GEF 3.0. Refer to Evolving Java-based APIs for a discussion of the kinds of API changes that maintain binary compatibility.

Non-compliant usage of API's: All non-API methods and classes, and everything in a package with "internal" in its name, are considered implementation details which may vary between operating environment and are subject to change without notice. Client plug-ins that directly depend on anything other than what is specified in the API are inherently unsupportable and receive no guarantees about compatibility within a single release or across releases. Refer to How to Use the Eclipse API for information about how to write compliant plug-ins.

## 3. Breaking API Changes

#### org.eclipse.draw2d.text package

> The Draw2d text package has been greatly enhanced to support rich-text display. While most of the classes in this package were marked as not to be sub-classed, the FlowBoxes (fragments) were not. Extensive changes were necessary to add support for rich-text, and hence the API contract had to be broken in a few places.

#### SWTGraphics.State

> This protected class had to be updated to support the new advanced graphics functionality made available in SWT. This class has now been marked as package-protected.

#### Figure's Default Size

> Previously, Figures used to be initialized with a default size of 64x36. That has been changed, for performance reasons, to now be 0x0. They will now have to be resized, expicitly or via a layout manager, for them to be visible.

## 4. Known Issues

#### Printing

> Some fonts scale differently on the printer than they do on the screen. This may result in printed text appearing wider than the same text on the screen. Clients can use margins to ensure that extra space is available to the figure when printing.

> Printing may not be implemented by SWT on some platforms.

Mirrored mode (Right to Left)

> Printing figures that are on a mirrored (right-to-left) control may not work with some printer drivers.

> Advanced graphics might not work in mirrored mode. Bug 99564

## 5. Bugs Fixed in Maintenance Releases

Bugs Fixed in 3.1.1
ID | Summary
--- | ---
77941 | NPE in collapsed flyout palette
96108 | Null pointer in Creation Tool
98017 | cannot select "Width" in Zoom contribution item combo
100316 | Guide lines are not visible when using ScalableRootEditPart
100712 | GEF plugin.xml uses deprecated tags
101495 | RulerEditPart does not reset the interval
101496 | gef/draw2d's doc plugins should be migrated to MANIFEST.MF format
101519 | DirectEditManager should call celleditor.setFocus()
101703 | Access to palette container
103112 | TextFlow gets StringOutOfBoundsException when selecting multiple lines
103204 | wrong comments in EditPartListener
104516 | Caret placement incorrect with mixed font heights
105078 | Can't find updates for older GEF features
105744 | Bug in TextFlow#getOffset()
106005 | Nesting ScaledGraphics causes clipping error
106067 | Up arrow key moves the caret to the wrong location sometimes in the text example
106114 | problem dragging element in DragEditPartsTracker when grid is visible
106468 | Layout problem with RulerComposite
106473 | Empty TextFlow has no fragments
106537 | MatchSizeActions are using hover image
106661 | getRoutingConstraint casts to List
107239 | FigureCanvas's scrollbars out of sync with viewport's range model
107273 | PrintFigureOperation determines the wrong scale amount
107370 | PrintOperation doesn't calculate the print margin properly
107752 | regression - clicking selected part should deselect all and select that part
108589 | NPE on add & remove connection to ShortestPathConnectionRouter
108737 | RectangleFigure outline not visible with line width 0

Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

IBM is a trademark of International Business Machines Corporation in the United States, other countries, or both.

Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.

Other company, product, and service names may be trademarks or service marks of others.

(c) Copyright IBM Corp. and others 2005