Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

docs(faq): clarify the versioning strategy #15845

Merged
merged 3 commits into from
Mar 24, 2017

Conversation

Narretz
Copy link
Contributor

@Narretz Narretz commented Mar 22, 2017

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Docs

What is the current behavior? (You can also link to an open issue here)
Information is not super clear

Please check if the PR fulfills these requirements

Other information:
clarify info on:

  • When do features and breaking changes appear
  • Relationship with Semver
  • Compatibility of core and optional modules

- When do breaking changes appear
- Relationship with Semver
- Compatibility of modules
@Narretz Narretz added this to the Backlog milestone Mar 22, 2017
{
"angular": "~1.6.0",
"angular-animate": "~1.6.0"
}
Copy link
Member

Choose a reason for hiding this comment

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

Maybe add another example where versions are really locked as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You mean locked down to the patch version without ~?

Copy link
Member

Choose a reason for hiding this comment

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

Yes, to indicate that if you lock to a specific version, all versions need to be the same.

quickly before a release. We've had a pretty good experience with this setup. Only bugs that affect features
not used at Google or without sufficient test coverage, have a chance of making it through.
improvement, a considerable simplification of the code, a measurable performance improvement, or a better
developer experience (especially with regard to updating to Angular).
Copy link
Member

Choose a reason for hiding this comment

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

updating --> upgrading (?)

("angular-animate", "angular-route" etc) that are dependant on the main module.
When a new AngularJS version is released, all modules are updated to the new version.
This means that the main module and the optional modules must always have the exact same version,
down the patch number, otherwise your application might break.
Copy link
Member

Choose a reason for hiding this comment

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

down the --> down to the (?)


#### How does AngularJS ensure code quality and guard against regressions?

When adding new code to branches of AngularJS, have a very stringent commit policy:
Copy link
Member

Choose a reason for hiding this comment

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

Not sure what "branches" refers to 😁 Update: I get it now (after reading further below), but people won't know.
Also: have --> we have (?)


When adding new code to branches of AngularJS, have a very stringent commit policy:

- Every commit must contain tests and documentation updates alongside the code changes and that all the
Copy link
Member

Choose a reason for hiding this comment

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

and that all --> and all (?)

- Every commit must contain tests and documentation updates alongside the code changes and that all the
tests must pass;
- Commit messages must be written in a specific manner that allows us to parse them and extract the changes
for release notes.
Copy link
Member

Choose a reason for hiding this comment

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

Let's add a link to the commit message guidelines (or CONTRIBUTING.md).

Additionally, commits are periodically synced to Google where we test it against applications using
the test suites of these applications. This allows us to catch regressions
quickly before a release. We've had a pretty good experience with this setup. Only bugs that affect features
not used at Google or without sufficient test coverage, have a chance of making it through.
Copy link
Member

Choose a reason for hiding this comment

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

I am not sure the last two paragraphs are super-relevant to external contributors.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I assume they are meant to inspire confidence in the stability of AngularJS (I've just reworded them from their previous state)

Copy link
Member

Choose a reason for hiding this comment

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

I didn't notice they were there before 😕 Fair enough.
👍 on rewording.

@Narretz
Copy link
Contributor Author

Narretz commented Mar 24, 2017

Updated, PTAL

Copy link
Member

@gkalpak gkalpak left a comment

Choose a reason for hiding this comment

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

A couple of typos. LGTM otherwise.

#### How does AngularJS ensure code quality and guard against regressions?

When adding new code to branches of AngularJS, have a very stringent commit policy:
When adding new code to AngularJS, we have a very stringent commit policy:

- Every commit must contain tests and documentation updates alongside the code changes and that all the
Copy link
Member

Choose a reason for hiding this comment

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

and that all --> and all (or is it intentional?)

@@ -130,8 +140,8 @@ Yes. See instructions in {@link downloading}.
### What browsers does AngularJS work with?

We run our extensive test suite against the following browsers: the latest versions of Chrome,
Firefox, Safari, and Safari for iOs, as well as Internet Explorer versions 9-11. See {@link guide/ie
Internet Explorer Compatibility} for more details on supporting legacy IE browsers.
Firefox, Safari, and Safari for iOs, Edge, as well as Internet Explorer versions 9-11. See
Copy link
Member

Choose a reason for hiding this comment

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

iOs --> iOS

(Are we running against Edge yet?)

Copy link
Member

Choose a reason for hiding this comment

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

We're not: issue #13687, PR #14401.

Yes, we should fix that. :D

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I removed it again. Edge had some problems with the script security checks last time i checked

@Narretz Narretz merged commit 80077f3 into angular:master Mar 24, 2017
@Narretz
Copy link
Contributor Author

Narretz commented Mar 24, 2017

Thanks for the reviews!

@Narretz Narretz deleted the docs-version-strategy branch March 24, 2017 11:45
Narretz added a commit that referenced this pull request Mar 30, 2017
- When do breaking changes appear
- Relationship with Semver
- Compatibility of modules

Closes #15845
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants