Sunday, January 10, 2021

automated upgrades?


Remember when Python-3 was released?  Guido von Rossum shipped the release with an automated upgrade tool called 2to3 that would translate your Python-2 code into Python-3 syntax automatically.  Similarly, Rob Pike released the v1.0 version of Go with a command called fix that would translate your v0.9x versions to v1.0 syntax.

James Abley is proposing that all package maintainers should ship completely-automated upgrade tools for each release of their packages.  Minor-release number changes (non-breaking changes) are already straightforward and many tools exist to help change manifests, build & YAML files.  But major releases require transformers that actually change your code.  It is a cool concept and appears feasible at first glance.  Everyone needs them.  The total available market is huge.

No comments: