EMF Forms and EMF Client Platform 1.17.0 released!

We want to thank our continuously active team of 10 contributors (40 contributors overall) for completing on 57 bug fixes and features. EMF Forms continues to be one of the most active projects at Eclipse.

We are thankful for all the feedback from our very active group of adopters, for which we have an additional improvement to announce:

During the 1.17.0 release cycle, we were talking with contributors and adopters about how to ease the adoption of new versions. While new features in EMF Forms are typically developed as optional additions, there are obviously always some fixes and changes that affect the existing default behavior. As EMF Forms is by definition a user visible framework, even small changes in a new version can sometimes have an unexpected effect in adopter projects. As an example ordering elements alphabetically in a list dialog by default can be considered to be a bug fix for a certain adopter project. For another adopter, this change could cause a regression, as the existing “undefined” order was good for them.

As another example, showing descriptive tooltips on table column headers might sound like an improvement. However, this change is bad if you never refined the underlying attribute descriptions. This “improvement” makes the string visible, which is not really comprehensible by end-users (see screenshot below for an example). Again, an “improvement” can cause unwanted behavior.

While we always try to avoid changes to the default behavior and make new things optional, sometimes changes to core components make sense and are an improvement for most adopters. In any case, the developer team cannot possibly foresee all consequences of a change in all adopters projects. However, due to the high development activity of EMF Forms, it is quite some effort for adopters to browse all fixed bug reports of a release to find relevant changes. Therefore, we decided to improve the communication about those kind of changes. To achieve this, we introduced the usage of a new keyword on our Bug Reports: “Test”.The tag is to be used:

when the default behavior of a component has changed, even if they are considered an improvement

when a new feature has been added which is enabled by default

Any changes and adaptations of visible UI elements, even if they are considered an improvement

Non-trivial refactorings with a risk for regressions

Of course all of the above mentioned criteria are subject to interpretation, more details can be found in our contributions guideline. In general, the “Test” keyword highlights bug reports, which should definitely be looked at and tested in detail by all adopters, when they update to a new version.

We hope this helps all adopters, we are of course happy for any feedback on this. Finally, please note that we introduced the keyword during our last development cycle, so 1.17.0 is not fully triaged yet. Therefore, please consider to tag a bug report with the “Test” keyword yourself, if the change has an unexpected effect in your project so that other adopters can benefit from your findings.

In case you don’t know EMF Forms: It is a framework focused on the creation of form-based UIs. EMF Client Platform is designed to support the development of applications based on an EMF data model. If you are not yet familiar with EMF Forms, please refer to this tutorial for an introduction.

Both of these frameworks are part of the Eclipse Modeling Tools Photon package, but you can also find the new release on our download pages:

The Author

Maximilian & Jonas lead the EclipseSource office in Munich. They work as consultants and software engineers for Eclipse technologies.

Both are Eclipse experts with a focus in Eclipse Modeling, project leads and committers to various Eclipse projects including EMF Forms, EMFStore, Edapt, e4 and the EMF Client Platform and regular EclipseCon speakers on these topics.

Furthermore they are dedicated to teach Eclipse and open source technology not only to professionals but also to talented university students in an Eclipse lab course.