On Fri, Jan 11, 2019 at 8:11 AM carl harris <[email protected]> wrote:
> Just a thought, but perhaps we should start by considering how the > evolution of the product should be reflected in the versioning. > Agreed. > > Are we committed to semantic versioning? For API, semantic versioning > generally has very specific set of conventions. However, in my experience, > for a software product, the relationship between features and version > numbers is much less clear cut. What kinds of new features should > constitute a major or minor version increment? > I don't know if I would say "committed" to it, but we decided back post-0.9.14 and pre-1.0.0 that we would move forward with semantic versioning, where API-related changes are major versions (1.0.0 -> 2.0.0), feature changes are minor versions (1.0.0 -> 1.1.0), and then bug fixes are release versions (1.0.0 -> 1.0.1). I don't have the exact link at my fingertips, but the proposed/accepted proposal at the time was: - Changes which impact the overall API and thus change or break compatibility between components within the product would be major version changes. This would be most changes to guacamole-ext and guacamole-common components. - Changes which introduce new features or significant code changes to extensions, but which do not break compatibility, would be minor version changes. - Changes which are very simple, bug fixes, etc., would be release versions. I think I have accurately represented it - I'm having trouble digging up the link. > > Many products have skirted this question by dropping the semantic > versioning in favor of some sort of version scheme based on a time-boxed > release cycle. Would something like that be more appropriate here? What > would that mean with respect to versioning for the API that Guacamole > exposes for extensions and such? > I'm not opposed to such a versioning scheme. My only question would be how to deal with the API-level changes that you mentioned before, and that we've currently identified for the "major release" changes? Is there a way that these sort of time-boxed releases handle that in the versioning? > > Again, just trying to stimulate some discussion here. > > Definitely appreciated! -Nick
