Hi all,

Wanted to share a couple of my thoughts about changes that could be good
for Cayenne. And the first milestone release of Cayenne 5.0 could be a
perfect target for these changes.

1. Get rid of the `server` part in the names everywhere, starting by
renaming our core dependency from `cayenne-server` to just `cayenne`.
As we already removed the `client` counterpart, `server` just doesn't make
sense anymore.

2. Change of the versioning schema we use for the development cycle. A
short version of the proposal: drop BETA versions, keep the version of
snapshot build always the same, and slightly change format to articulate
what is the actual version.

Format would look like `MAJOR.MINOR-QUALIFIER`. Where the qualifier is one
of `SNAPSHOT`, `M` for the milestone or `RC` for the release candidate.

Example for the 5.0:
 - snapshot always stays as 5.0-SNAPSHOT
 - milestones releases are 5.0-M1, 5.0-M2 etc.
 - release candidates are 5.0-RC1, 5.0-RC2, etc.
 - and final release is just 5.0

And here's a reason for that change. It solves two minor problems with the
current schema. The first one is that all systems think that `B` goes
before `M`, so our beta versions always look older than milestones. We are
not that strict about what is beta nor are we enforcing any rules, so there
should be no problems with that.
The second one is that projects using SNAPSHOT versions should update
dependency every time we make a dev release. Again not a big change and
should not affect anything really, as there shouldn't be many projects
brave enough to just use SNAPSHOT.

Note this change does not affect overall versioning, e.g. patch versions
like 5.0.1 or global updates like 5.1.


-- 
Best regards,
Nikita Timofeev

Reply via email to