A number of the programming languages I use support upgrade paths built into their tooling which has made keeping up to date extremely easy. This is definitely more of a ✨nice to have✨ for developer experience.
Benefits
- Could make upgrades easier for newcomers.
- Could make it easier for developers to stay up to date.
- Could make polyglot device management easier for teams by the CLI being able to run the upgrade.
- Could help stop human polling of
go.dev, twitter or rss release feeds to know when a new version is out.
Prior Art
flutter upgrade
rustup upgrade
- Most JavaScript frameworks provide some form of the above, i.e.
ember update but this is little different as these are libraries/frameworks than a language.
Example
The following example pinched from the Flutter upgrade flow:
$ go upgrade
upgrading from go1.18.2 to go1.18.3...
Downloading Go SDK...
Expanding downloaded archive...
Upgrading Go...
Go 1.18.3 • channel stable • https://github.com/golang/go.git
revision 4068be5 (28 days ago) • 2022-06-02 04:38:00 +1200
$ go upgrade
go is already up to date on channel stable
go version go1.18.3 windows/amd64
A number of the programming languages I use support upgrade paths built into their tooling which has made keeping up to date extremely easy. This is definitely more of a ✨nice to have✨ for developer experience.
Benefits
go.dev, twitter or rss release feeds to know when a new version is out.Prior Art
flutter upgraderustup upgradeember updatebut this is little different as these are libraries/frameworks than a language.Example
The following example pinched from the Flutter upgrade flow: