# GEF Project Release Notes

Release 3.1
Last revised June 29, 2005

> 1. Target Platforms
> 2. Compatibility with Previous Release
> 3. Breaking API Changes
> 4. Known Issues

## 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

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