Feature Release
These commands publish a feature and move products to its new versions. A release bumps the version, tags it and publishes it to the forge and PyPI. An upgrade moves a product’s pins to the newest versions that install together.
Commands
| Command | Description |
|---|---|
feature:release |
Bump the version, tag, publish to the forge and PyPI |
feature:upgrade |
Upgrade the product’s features to the newest versions that install together |
feature:outdated |
Report pinned features with a newer tag on the forge |
feature:pin |
Pin editable features to their newest cached version |
Retiring a feature
When a new feature replaces an old one, or two merge into one, retire the old feature instead of keeping a shim. Products pin exact releases, so its last release keeps them working. It stays on the forge and on PyPI, and gets no other release.
Say memos and jottings merge into notes.
- Their READMEs say they are retired and that
notesreplaces them. - The SPL’s model drops their nodes in the version that adds
notes, so no product can select both. notestakes over their routes, their services under the same names, and their tables. Database shows how it keeps the tables without migrating again.- The features that named
memosorjottingsmove tonotesin releases of their own. Those that reach it through the service locator, not an import, can release before any product switches. - Each product switches in one change. The old features go,
notesand those releases are pinned, and the product moves to the model that has the new node.