Should there be nuances on the DB and API changes to help the
conversation?  A few thoughts:

- DB changes to add new required fields or tables can only be made in a
major release.
- DB changes to add new “optional” tables, new optional fields, new
required fields with defaults, and new views allowed in a minor releases.
- API changes requiring new required fields can only be made in major
releases.
- API changes removing fields or changing existing field validations that
restrict previously allowed input must be made I. A major release.
- API changes adding new optional fields to an existing API are allowed in
a minor releases.
- New APIs can be added to a minor release as long as the use of those APIs
is not required to use that major version of the product.
- security patches trump all these rules above a certain severity (?)

Additionally, we may also want to consider an API stability model:

- Alpha - API changes of any kind allowed in any release
- Beta - API changes of any kind allowed in any minor or major release
- Stable - API changes follow general rules (like defined above)

On Wed, May 14, 2025 at 2:26 AM Rohit Yadav <rohit.ya...@shapeblue.com>
wrote:

> -1 (binding)
>
> This is mainly due to the point that "Changes to the database schema
> should be introduced only in major versions" — the definition of "major"
> here (4.xx, 5.xx) is based on Joao’s interpretation, and the proposed
> versioning approach isn’t well defined and is asked for a vote.
>
> Additional notes:
>
> On #1: No objection if the plan is simply to drop the "4." from versioning.
>
> On #2: I believe it's in the community's interest to allow DB schema
> changes in minor (ex: 4.19.x, 4.20.x), maintenance/patch (ex: 4.19.3,
> 4.20.1), and security releases when needed. Requiring a major version bump
> (e.g., 4 → 5) each time there are schema changes feels overly restrictive,
> especially when users can follow best practices such as doing DB backup (or
> snapshot) when downgrades.
>
> On #3: Already in effect.
>
> We should evaluate proposals based on whether they serve the community’s
> long-term benefit.
>
> PS. I’ll try to revisit versioning and release policies in light of Joao's
> intent in the coming weeks.
>
> Best regards.
>
> ________________________________
> From: João Jandre <j...@apache.org>
> Sent: Saturday, May 10, 2025 16:42
> To: dev@cloudstack.apache.org <dev@cloudstack.apache.org>
> Subject: Re: [VOTE] Versioning process
>
> Hi, Rohit, all
>
> The last discussion thread was open for a week before the vote was
> started and; before that, there were many discussion threads:
>
> https://lists.apache.org/thread/hnzp6hnsjyj8593cf6tbgryt1s8z5glq
> https://lists.apache.org/thread/lh45w55c3jmhm7w2w0xgdvlw78pd4p87
> https://lists.apache.org/thread/4zs8d15ghvvwwro46ry5zjf8fn8x0t88
> https://lists.apache.org/thread/o6o9h3qp8gqrpq4v7o81tl6vp51tkjhg
> https://github.com/apache/cloudstack/discussions/8970
> https://lists.apache.org/thread/6v0w49gp0fwtp53so757mx6nf34vpg81
>
> In the last thread, I took the feedback I got from the discussions and
> proposed changes with that in mind. Furthermore, the few responses on
> the last discussion were positive, which is why I opened the vote.
>
> I see that you have stated your points in the discussion thread. We can
> keep the discussion going next week, and I'll be closing this voting
> thread.
>
> Best regards,
>
> João Jandre
>
> On 5/9/25 00:54, Rohit Yadav wrote:
> > May I propose we hold the vote, this has three different topics being
> considered which looks like still need to be discussed. Also we cannot vote
> on some of the things whose details are yet to be completed defined and
> proposed.
> >
> >
> > Regards.
> > ________________________________
> > From: João Jandre <j...@apache.org>
> > Sent: Friday, May 9, 2025 12:21:22 AM
> > To: dev@cloudstack.apache.org <dev@cloudstack.apache.org>
> > Subject: Re: [VOTE] Versioning process
> >
> > Hi Daan,
> >
> > Regarding your first point, adding default values to the DB is different
> > from changing the DB schema. Changing the DB schema would be
> > creating/removing tables or creating/removing columns. Thus, adding new
> > values to tables would not be an issue. Would you like me to add this
> > definition to the vote?
> >
> > Regarding the second point, I will add a exception for APIs. Regarding
> > DB changes I have already specified it in the original voting message.
> >
> > Best regards,
> >
> > João Jandre
> >
> > On 5/8/25 09:47, Daan Hoogland wrote:
> >> João,
> >> I am completely +1 on item 3.
> >> I am missing the exceptions that we need on both other issues.
> >> - for DB we add hypervisor types in minor versions and those need DB
> changes
> >> - for both DB and API changes we make exceptions for security releases
> >> given a rewording to include those, I would be completely +1 on your
> proposal.
> >>
> >> so for now -0.666...
> >>
> >> I would still push back on incompatible changes on major releases btw.
> >> I want users to be able to continue using ACS for all eternity ;) But
> >> we can handle those with migration paths and those would become
> >> regular discussions here at dev@.
> >>
> >> On Wed, May 7, 2025 at 7:15 PM João Jandre <j...@apache.org> wrote:
> >>> Hello, all
> >>>
> >>> I am starting this voting thread regarding the discussions made in
> >>> https://lists.apache.org/thread/4jk31krsjl8cbp5n8wbt7ypwl65g364j. To
> be
> >>> specific, these are the changes that we are going to vote on to follow
> >>> during our release process:
> >>>
> >>> 1. API Changes: Any changes to APIs that break backwards compatibility
> >>> should only be made in MAJOR versions. Currently, these would be our
> >>> 5.x.x, 6.x.x, etc.. After this thread is finished, I will start another
> >>> thread regarding our version naming.
> >>>
> >>> 2. Database Schema: Changes to the database schema should be introduced
> >>> only in major versions. The only exception is for potential security
> >>> changes that require database changes; we never had such cases, and
> when
> >>> (if) it appears, we will properly communicate it to operators/users of
> ACS.
> >>>
> >>> 3. Feature Removal: Update the process of feature removal (see
> >>>
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=68720798)
> >>> to ensure that features are only removed in major versions, after
> having
> >>> been announced at least 6 months in advance in a previous version.
> >>>
> >>> Vote will be open for 72 hours.
> >>>
> >>> For sanity in tallying the vote, can PMC members please be sure to
> >>> indicate "(binding)" with their vote?
> >>>
> >>> [ ] +1  approve
> >>> [ ] +0  no opinion
> >>> [ ] -1  disapprove (and reason why)
> >>>
> >
> >
>
>
>
>

Reply via email to