# Eclipse 3.1 Plug-in Migration Guide

This guide covers migrating Eclipse 3.0 (or earlier) plug-ins to Eclipse 3.1.

One of the goals of Eclipse 3.1 was move Eclipse forward while remaining compatible with previous versions to the greatest extent possible. That is, plug-ins written against the Eclipse 3.0 APIs should continue to work in 3.1 in spite of the API changes.

The key kinds of compatibility are API contract compatibility and binary compatibility. API contract compatibility means that valid use of 3.0 APIs remains valid for 3.1, so there is no need to revisit working code. Binary compatibility means that the API method signatures, etc. did not change in ways that would cause existing compiled ("binary") code to no longer link and run with the new 3.1 libraries.

While every effort way made to avoid breakage, there are a few areas of incompatibility. This document describes the areas where Eclipse changed in incompatible ways between 3.0 and 3.1, and provides instructions for migrating 3.0 plug-ins to 3.1.

- Eclipse 3.1 Plug-in Migration FAQ
- Incompatibilities between Eclipse 3.0 and 3.1
- Adopting 3.1 mechanisms and API