Skip to content

Commit 9d8f628

Browse files
dgp1130angular-robot[bot]
authored andcommitted
docs: update release doc to be more clear about peer dependency updates and timing
1 parent a883e10 commit 9d8f628

File tree

1 file changed

+15
-21
lines changed

1 file changed

+15
-21
lines changed

docs/process/release.md

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -67,38 +67,32 @@ In general, cherry picks for LTS should only be done if it meets one of the crit
6767

6868
# Release
6969

70-
Releasing is performed using Angular's unified release tooling. Each week, two releases are expected, `latest` and `next` on npm.
71-
72-
**For a minor OR major release:**
73-
74-
After FW releases `-rc.0` for an upcoming minor/major version, update the corresponding version in:
70+
Releasing is performed using Angular's unified release tooling. Each week, two releases are expected, `latest` and `next` on npm. For major
71+
and minor releases, some dependencies need to be manually bumped. The following files contain all the version numbers which need to be
72+
manually updated:
7573

7674
- [`latest-versions.ts`](/packages/schematics/angular/utility/latest-versions.ts#L=18)
7775
- [`latest-versions/package.json`](/packages/schematics/angular/utility/latest-versions/package.json)
7876
- [`@angular/pwa`](/packages/angular/pwa/package.json)
7977
- [`@angular-devkit/build-angular`](/packages/angular_devkit/build_angular/package.json)
8078
- [`@ngtools/webpack`](/packages/ngtools/webpack/package.json)
8179

82-
The same needs to be done for a `-next.0` release, and needs to be done for both minor _and_ major
83-
releases.
80+
**DURING a minor OR major CLI release:**
81+
82+
Once FW releases the actual minor/major release (for example: `13.0.0` or `13.1.0`), the above versions should be updated to match (remove
83+
`-rc.0` and `-next.0`). This **must** be done as a separate PR which lands _after_ FW releases (or else CI will fail) but _before_ the CLI
84+
release PR. Releases are built before the PR is sent for review, so any changes after that point won't be included in the release.
8485

85-
Once FW releases the actual minor/major release (for example: `13.0.0` or `13.1.0`), these versions
86-
should be updated to match (remove `-rc.0` and `-next.0`). This **must** be done as a separate PR
87-
which lands after FW releases (or else CI will fail) but _before_ the CLI release PR. Releases are
88-
built before the PR is sent for review, so any changes after that point won't be included in the
89-
release.
86+
**AFTER a major CLI release:**
9087

91-
**Following a major release:**
88+
Once a major release is complete, peer dependencies in the above files will need to be updated to "undo" the above change and add the
89+
prerelease version segment on `main`. For example, `"@angular/compiler-cli": "^13.0.0-next.0"` should become
90+
`"@angular/compiler-cli": "^13.0.0 || ^13.1.0-next.0"`. This should be done for all the peer deps in the above files.
9291

93-
When a release is transitioning from a prerelease to a stable release, the semver ranges for Angular
94-
dependencies within the packages' `package.json` files will need to be updated to remove the
95-
prerelease version segment. For example, `"@angular/compiler-cli": "^13.0.0 || ^13.0.0-next"` in a
96-
prerelease should become `"@angular/compiler-cli": "^13.0.0"` in the stable release. This can happen
97-
as a follow-up item _after_ the release PR and the stable release, actually shipped in the `13.0.1`
98-
release. The current packages that require adjustment are:
92+
**AFTER a minor OR major CLI release:**
9993

100-
- `@angular-devkit/build-angular`: [packages/angular_devkit/build_angular/package.json](/packages/angular_devkit/build_angular/package.json)
101-
- `@ngtools/webpack`: [packages/ngtools/webpack/package.json](/packages/ngtools/webpack/package.json)
94+
`latest-versions.ts` also needs to be updated to use `-next.0` after a major or minor release. However this needs to happen _after_ FW
95+
publishes the initial `-next.0` release, which will happen 1 week after the major or minor release.
10296

10397
## Releasing the CLI
10498

0 commit comments

Comments
 (0)