Re: Semantic Versioning

2017-06-21 Thread Mark Thomas
Semantic versioning doesn't work for Tomcat as major version number
increases are reserved for new Java EE specification versions.

There is also rather a lot of scope for debate on what is, and what is
not, part of the public API.

Mark


On 15/06/17 20:47, Igal @ Lucee.org wrote:
> Hi everyone,
> 
> I have recently realized that Tomcat does not follow Semantic
> Versioning, and even minor upgrades can break existing setups.
> 
> Most users today expect Semantic Versioning, which specifies the
> following (from [1]):
> 
> Given a version number MAJOR.MINOR.PATCH, increment the:
> 
> 1. MAJOR version when you make incompatible API changes,
> 2. MINOR version when you add functionality in a backwards-compatible
>manner, and
> 3. PATCH version when you make backwards-compatible bug fixes.
> 
> Additional labels for pre-release and build metadata are available as
> extensions to the MAJOR.MINOR.PATCH format.
> 
> I think that it's important to adopt such a policy, so that minor
> updates are easier to do, e.g. updating only the /lib directory without
> worrying about the /bin or other directories.
> 
> [1] http://semver.org/
> 
> Thank you,
> 
> Igal Sapir
> Lucee Core Developer
> Lucee.org <http://lucee.org/>
> 
> 


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Semantic Versioning

2017-06-15 Thread Igal @ Lucee.org

Hi everyone,

I have recently realized that Tomcat does not follow Semantic 
Versioning, and even minor upgrades can break existing setups.


Most users today expect Semantic Versioning, which specifies the 
following (from [1]):


Given a version number MAJOR.MINOR.PATCH, increment the:

1. MAJOR version when you make incompatible API changes,
2. MINOR version when you add functionality in a backwards-compatible
   manner, and
3. PATCH version when you make backwards-compatible bug fixes.

Additional labels for pre-release and build metadata are available as 
extensions to the MAJOR.MINOR.PATCH format.


I think that it's important to adopt such a policy, so that minor 
updates are easier to do, e.g. updating only the /lib directory without 
worrying about the /bin or other directories.


[1] http://semver.org/

Thank you,

Igal Sapir
Lucee Core Developer
Lucee.org <http://lucee.org/>