Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cross-project-issues-dev] Zest 2.0 for 2024-12

Hello again,

we've just created a dedicated Zest 2.0 milestone [1] and contributed it to SimRel. If your project depends on Zest, please give it a try and report any issues you might run into. You can reach us either via GitHub [2] or the mailing list [3]. A brief list of all new features have been added to our wiki [4].

In case you only use the default layout algorithms (e.g. GridLayoutAlgorithm), the initial migration should be almost seamless. Otherwise the algorithms can be adapted to run in legacy mode by extending AbstractLayoutAlgorithm.Zest1 or have to be re-implemented using the new API by extending AbstractLayoutAlgorithm. Note that this legacy mode will be removed in a future release. Below a list of the most significant, deprecated features:

- ContinuousLayoutAlgorithm and Stoppable, with no replacement.
- ProgressListener and ProgressEvent, with no replacement.
- LayoutConstraints, ConstrainAdapter, with no replacement.
- BendPoint, replaced by Draw2D BendPoint and ConnectionRouter API.
- Filter, replaced by LayoutFilter

Many regards,

Patrick

-----

[1] https://download.eclipse.org/tools/gef/classic/milestone/S202409190406

[2] https://github.com/eclipse/gef-classic

[3] gef-dev@xxxxxxxxxxx

[4] https://github.com/eclipse/gef-classic/wiki/Zest#zest-2x


On 20.07.24 12:48, Patrick Ziegler wrote:

Hello everyone,

over the past few months, we've been busy integrating the Zest 2.0 project back into GEF-Classic. As a result, the bundle version will be increased from 1.6.0 (as of now) to 2.0.0 and also define a new way custom layouts have to be implemented. Zest Core will remain at version 1.x. However, several classes/methods have been marked as deprecated due to the changes in Zest Layouts. With a future release, we also plan to update Zest Core to 2.0.0, mainly to split it up into two separate bundles, removing the dependency to the Eclipse platform. But this isn't something that won't happen before 2025-03.

If you are using the default layouts (e.g. Grid-/SpringLayoutAlgorithm), then the required code changes should keep themselves to a minimum. To simplify migrating your own layouts, we will also introduce a "legacy" mode, in which you can use your own Zest 1.x layouts with the Zest 2.x engine. Meaning that for the initial transition, you can re-use your existing code and make sure that your product is still running correctly, before you adapt to the new API.

Given that everyone is already quite ahead in their release cycles, we plan on merging everything back into the main branch is not the current release (2024-09), but rather the next release (2024-12). So there will be a separate email once the changes went live. Once we are closer to the final release, we also plan on drafting a quick guide containing a rough overview on what has changed between the versions and how to migrate from one version to the next.

You can find the current state of Zest 2.0 here [1], if you want to give it a try already. Just note that while close to being finished, there are still some minor things that will be cleaned within the next months. The umbrella issue can be found here [2]. If you have any concerns or rely on now-deprecated functionality, feel free to reach out to us.

Finally, I also want to thank Fabian Steeg, for preserving and maintaining the final version of the SWT-based Zest implementation and making it available to us!


Many Regards,

Patrick


---------------

[1] https://github.com/eclipse/gef-classic/issues/416

[2] https://github.com/eclipse/gef-classic/pull/476


Back to the top