pinchord-22 Versioning
Pinchord · pinchord.git · Tickets · Changelog
A Pinchord Ticket (Triaged):
Ticket · History
Symptoms
- Pinchord has followed the same
x.y.systemversioning schema since the start of pre-release, but it fails to make clear that versions ofxmay be incompatible with each other. - The current versioning schema will not work come pinchord-9 Release. Pinchord will receive canonical updates across all of its release versions, and the current versioning schema has no way to express these updates.
- Pinchord versioning names are a critical part of Pinchord's implementation. See pinchord-20 Undocumented Versioning.
Problem
There is a mismatch between how Pinchord is versioned and how releases of Pinchord actually work.
Several incompatible pre-release iterations of Pinchord have been shipped under the same name "Pinchord", despite being different systems that are incompatible with each other.
Potential Solution
Adopt the naming scheme "Pinchord Pre-release X", and use compatible versions of these systems, either as increasing numbers, or another format.
File Names
As mentioned in pinchord-20 Undocumented Versioning, file names dictate whether Plover will replace existing dictionaries when the Plover plugin updates. Files with the same name will not be replaced.
Even though versions under the same name are compatible, updating should still have the expectation of old files being shadowed in favor of new files.
Potential Problems
- https://packaging.python.org/en/latest/specifications/version-specifiers/#version-specifiers has a specific regex for version names, so release names will have to be wrangled into this format (please stop doing things like this)
Notes
- Pinchord's README also needs to change for this :p