Menu

#1440 Change versioning scheme

4.2
closed-fixed
devel (8)
5
2019-04-23
2019-04-16
No

The existing OmegaT version scheme includes an "update" number that has the following problems:

  • It has too many degrees of freedom: it allows making very fine distinctions that users don't care about, and that are hard to judge for developers
  • It's inconveniently different from commonly used version schemes in the wild, specifically semver. In addition to being unfamiliar, for instance this makes distribution as a Maven artifact unwieldy.
  • It's inconsistent in that it requires a bunch of special handling around "update": when zero, omit from version strings. This makes packaging for package managers inconvenient.

Starting with OmegaT 4.2.0, the versioning scheme will be as follows:

OmegaT versions loosely follow semver (https://semver.org/). The version number consists of three parts: MAJOR.MINOR.PATCH. When PATCH is zero it can be elided from documentation or casual references, but not in code.

  • MAJOR: The distinction between "standard" (sometimes "beta" in the code) and "latest"
  • MINOR: "Large" changes that affect the UI or core functionality
  • PATCH: Bug fixes and small changes that aren't "large"

In the past there was also an "update" number following PATCH, but this has been deprecated.

Discussion

  • Briac Pilpré

    Briac Pilpré - 2019-04-17

    For consistency's sake, would it be worth it to apply this version scheme to the current stable and release a 3.6.1 ?

     
  • Aaron Madlon-Kay

    3.6 is officially EOL, and I definitely wouldn't release a new version with no other changes just to switch the versioning scheme.

     
  • khagaroth

    khagaroth - 2019-04-20

    Since you are already touching versioning and build system could you fix the InnoSetup installer script to NOT use version number in the "AppName" directive as it's explicitly forbidden in the InnoSetup documentation and causes the installer not to detect previous installations (intentionally or not) as it is used as "AppId" in the absence of an actuall "AppId" directive?

     
    • Aaron Madlon-Kay

      That sounds like something worth looking into, but

      1. It has nothing to do with versioning; please make a separate ticket
      2. It is too late for 4.2.0, so at earliest it would happen in the next release
       
  • Aaron Madlon-Kay

     
  • Aaron Madlon-Kay

    Released in version 4.2.0.

     
  • Aaron Madlon-Kay

    • status: open --> closed-fixed
     

Log in to post a comment.