David Carver has blogged some useful experiences about porting from Mylyn 2.0 to 3.0. Mylyn 3.0 contains very significant API changes that make Mylyn connectors more robust and easier to create. This release represents a critical evolution in the maturity of the Mylyn project. The Europa release cycle brought us a very wide diversity of new connectors with various requirements, which we have used to revamp the APIs. The cost of this change is that existing connectors will need to be ported to support Mylyn 3.0.
The diversity of Mylyn integrations now ranges from over a dozen open source projects, to commercial products like the SpringSource Tool Suite, JBuilder and Tasktop Dev. In planning Mylyn 3.0, we had to decide whether to do a full year of milestone releases and make API changes throughout the year, or whether to release quarterly and batch the API changes to the last quarter. In our planning phase last July, several integrators identified that they wanted to consume Mylyn improvements throughout the year, to continue to have Mylyn insulate them from needing to have separate Eclipse 3.3 and 3.4 streams, and to only need to port once at the end of the release cycle. While we managed to pull off off the changes, it was a tremendously hard task for the team to incorporate all the input and provide the revised APIs within a single quarter. As a result, even some of our own connectors did not get ported until late in the cycle. Given Mylyn’s rapid evolution, we still think that this was the best plan to transition for 2.0 to 3.0 while ensuring that the framework supports the next round of innovations. This rapid transition puts more burden on the current integrator community than we would like.
To make migration as smooth as possible we’ve offered very close support to anyone interested. We will also publish additional connector documentation so please stay posted and consider watching the Porting Guide. While any framework changes of this magnitude bring growing pains, the great news is that all of the connectors that are part of the Mylyn project (Bugzilla, Trac, JIRA, XPlanner and Web Templates) no longer make use of Mylyn internals, with some very minor exceptions that we’ll remove early in the 3.1. The Rally and CollabNet connectors are on track for release in mid or late July, as is Mantis. If you are a connector developer, please consider posting the availability of your connector, and any questions that you may have, on bug 237673: track Mylyn Extensions. This will help us set users’ expectations about when their connector will support Mylyn 3.0 and Ganymede. We will start Mylyn 3.1 planning soon, and would like to hear input from integrators about their requirements for this next release cycle. Our current thinking is that we will do two releases in the year instead of four, with Mylyn 3.1 in December and 3.2 in June.
Thanks to all of the API revisions that went into Mylyn 3.0, we are planning to make those releases binary compatible with 3.0, meaning that porting will not be required. If you have input or needs from our release cycle, please consider commenting on bug 236940: create Mylyn 3.1 release plan.