Skip to content

Change of versioning agreement#6195

Closed
medikoo wants to merge 3 commits into
masterfrom
new-versioning
Closed

Change of versioning agreement#6195
medikoo wants to merge 3 commits into
masterfrom
new-versioning

Conversation

@medikoo

@medikoo medikoo commented May 30, 2019

Copy link
Copy Markdown
Contributor

Update to VERSIONING document, which outlines a new versioning rules which will allow us to introduce a breaking changes with MINOR releases

Is this ready for review?: NO
Is it a breaking change?: NO

@pmuens pmuens left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @medikoo 👍

Just some minor comments while reading through this

Comment thread VERSIONING.md Outdated
Comment thread VERSIONING.md Outdated
Comment thread VERSIONING.md Outdated
Comment thread VERSIONING.md Outdated
Comment thread VERSIONING.md Outdated
Comment thread VERSIONING.md Outdated
Comment thread VERSIONING.md Outdated
Comment thread VERSIONING.md Outdated
@medikoo

medikoo commented May 30, 2019

Copy link
Copy Markdown
Contributor Author

Great thanks @pmuens for review, very good suggestions. I've addressed all points

Comment thread VERSIONING.md Outdated

@pmuens pmuens left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any update on this one? Looks like this is in a pretty good shape and can be merged quite soon.

@medikoo

medikoo commented Jun 4, 2019

Copy link
Copy Markdown
Contributor Author

I guess we need some feedback from product team, and confirmation that's ok to go (?)

I didn't receive any on Slack, I expect that today we will discuss that in a meeting.

@pmuens

pmuens commented Jun 4, 2019

Copy link
Copy Markdown
Contributor

Sounds good. Let's discuss it in todays meeting 👍

@pmuens pmuens left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@medikoo just another follow-up here. For what kind of feedback are we waiting on?

@medikoo

medikoo commented Jun 19, 2019

Copy link
Copy Markdown
Contributor Author

@medikoo just another follow-up here. For what kind of feedback are we waiting on?

I was told this would be discussed tomorrow during product planning call

@pmuens

pmuens commented Jun 20, 2019

Copy link
Copy Markdown
Contributor

I was told this would be discussed tomorrow during product planning call

I see. In that case, let's wait for the outcome of that meeting...

Comment thread VERSIONING.md
4. Why is CLI output a breaking change?
1. Why is CLI output a breaking change?

Right now we don't provide an option to output a well formated datastructure for a CLI command. Once we have such an option the default CLI output will not be part of the breaking changes list, but rather the datastructure. Also to note here if we add to that datastructure it will not be a breaking change. If we remove or change something from that datastructure it is a breaking change.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After reading this again I think it doesn't really make sense.

Above we state that changing CLI stdout is not a breaking change. However here we say that it would be a breaking change until we introduce a formatted datastructure.

Isn't this a contradiction? Or am I missing something? 🤔

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was left intact, but I understand it as:

  • Why is change of CLI output a breaking change?
  • It's because we do not provide a programmatically consumable alternative. Once we will provide it, we will categorize changes to human readable CLI output as non-breaking

Still I see it as controversial, as anyway I think we improve wording and fix typos of CLI output now, and do not announce such changes as breaking. So technically we do not perfectly comply to this

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, true. I just stumbled upon this while reading it. It's very vague, up for interpretation and controversial.

Let's keep it for now (as nobody complained so far) and update it later on.

@pmuens pmuens added this to the 1.47.0 milestone Jun 26, 2019
@exoego

exoego commented Jul 5, 2019

Copy link
Copy Markdown
Contributor

Is this versioning change allow us to introduce some breaking changes during v1 if the breaking change helps users a lot?
I mean, I would like to revive #5770 and prepare similar PRs to introduce some long-awaited enhancements in variable syntaxes.

@medikoo

medikoo commented Jul 5, 2019

Copy link
Copy Markdown
Contributor Author

@exoego We definitely want to workout a strategy where we can introduce a breaking changes, so we can progress with improvements for the framework.

This PR is on hold, as at this point we're investigating a possibility on following semver with that, as that will definitely be more standard way and I believe it's what most of the framework users will expect.

@pmuens pmuens modified the milestones: 1.47.0, 1.48.0 Jul 10, 2019
@pmuens

pmuens commented Jul 18, 2019

Copy link
Copy Markdown
Contributor

Any updates on this PR? Can we merge it soon and ship it in v1.48.0?

@medikoo

medikoo commented Jul 18, 2019

Copy link
Copy Markdown
Contributor Author

Any updates on this PR? Can we merge it soon and ship it in v1.48.0

I don't think there was an agreement on that way of handling breaking changes.

My observation is that we aim to follow semver, but to finally settle on that and push it into action, first we need to clarify how Framework and Components should coexist/integrate

I believe merging #6350 is a first step for that roadmap to be clarified. Having that, in 1-2 months we should decide on something concrete I believe.

In a meantime I plan to specify some clearly breaking changes which will be about significant improvements, that should also put better light on why witholding major releases (in semver spirit) puts on ourselves handcuffs.

We should be able to produce breaking changes every few months (at least after this long stagnation period I imagine major improvements even every 2 months)

Anyway I think we need a bit more time for some things to settle.

I hope we'll just close this PR, but until we have final green light on semver I'd keep it open

@pmuens

pmuens commented Jul 18, 2019

Copy link
Copy Markdown
Contributor

Makes sense. Thanks for the update @medikoo 👍

@medikoo medikoo removed this from the 1.48.0 milestone Jul 18, 2019
@BryanCrotaz

Copy link
Copy Markdown

Look at the way emberjs does breaking changes:

  1. Only major releases contain breaking changes
  2. Minor releases contain the new functionality, and a deprecation warning on the old behaviour
  3. You are ok to upgrade to a new major release if you have moved to avoid all deprecation warnings
  4. Major releases ONLY remove old deprecated behaviour. All new behaviour was in the last minor release.

@medikoo

medikoo commented Feb 24, 2020

Copy link
Copy Markdown
Contributor Author

@BryanCrotaz we're looking forward to follow semver respectfully.

When we will reach the pace of having at least few major releases per year, then I believe we will also incorporate deprecation model you're outlining, btw that's a really great suggestion. Thanks for posting this.

@BryanCrotaz

BryanCrotaz commented Feb 24, 2020

Copy link
Copy Markdown

https://guides.emberjs.com/release/configuring-ember/handling-deprecations/

When we will reach the pace of having at least few major releases

Look at the reputational damage done to Angular with the release of v.2. Ember never suffered this due to the above release model. I'd recommend looking at this before your first major release.

@medikoo

medikoo commented Jun 22, 2020

Copy link
Copy Markdown
Contributor Author

I'm closing this, as so far agreement is that we want to stick to semver. If anything changes we may reconsider this PR

@medikoo medikoo closed this Jun 22, 2020
@medikoo
medikoo deleted the new-versioning branch June 24, 2020 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants