Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[open-measured-data-wg] Unexpected changes to OpenMDM API

Hello everyone,

We’re trying to build a version of the web client by grabbing the latest sources. There’s a break in binary compatibility brought by http://git.eclipse.org/c/gerrit/mdmbl/org.eclipse.mdm.api.base.git/commit/?id=14f7a9c9ee7c3e06963e5a8b581e5651c127bff8
The getID/setID methods were migrated from Long to String.

Why is this a problem? Because the project version did not change. Have a look at the project repository at http://git.eclipse.org/c/gerrit/mdmbl/org.eclipse.mdm.api.base.git/log/
The change was introduced by

2017-07-19 518738: Type of Entity-IDs (changed in api.base, api.default, api.ods)

It’s quite recent. Three commits later the repository was tagged with 0.7. 14 commits later it was tagged with 0.8 (on September 7th). Yet the project’s version is still set to 1.0.0.
So which is it? Is it 0.8? is it 1.0.0? Aren’t we supposed to be using semantic versioning for labeling project versions? If we are then the current state of the project is horribly broken. This “small change” should have prompted the project version to jump to 2.0.0-SNAPSHOT at the very least if semver is to be followed to the letter. If we’re not following semver, then what is it?

I ask then, what versioning scheme is in place and where do we get hold of the document that states it?

This commit appears to make a reference to bug ID 518738. Which issue tracker are we supposed to use? Eclipse’s bugzilla points to an Eclipse Neon & _javascript_ problem https://bugs.eclipse.org/bugs/show_bug.cgi?id=518738 
The mdmbl website points to Eclipse’s bugzilla if you want to report a bug or review bug reports. https://projects.eclipse.org/projects/technology.mdmbl/developer
The OpenMDM Jira instance doesn’t even reach that number https://openmdm.atlassian.net/projects/OMDM/issues/

You never ever, let me repeat that, NEVER EVER use version ranges at any time, for whatever reason!

Their usage lead to unreproducible builds and other potential incompatibility issues. Granted, Mockito is a project that evolves very, very fast, they push releases at least once a month, and as great as they try to keep things tidy they broke binary compatibility by moving around private APIs between 2.6.x and 2.7.0. This could happen again. Matthias, you’re exposing the project and every developer that wants to build the project to potential problems just because you couldn’t be bothered to pick a fix version for a dependency. If you didn’t pick the version range at least you signed of the commit. Please do not do this. This problem should have been spotted in a code review.



 
Andres Almiray
Canoo Engineering AG
Kirschgartenstrasse 5
CH-4051 Basel

Tel: +41 61 228 94 44
Fax: +41 61 228 94 49

andres.almiray@xxxxxxxxx
http://www.canoo.com


Back to the top