pamplejuce icon indicating copy to clipboard operation
pamplejuce copied to clipboard

Support for alpha and beta versioning

Open sudara opened this issue 2 years ago • 0 comments

Context: https://forum.juce.com/t/how-do-you-handle-plugin-versioning/57673

Plugin companies are in a unique spot where

  1. Changes to parameters, etc completely break existing user projects
  2. Alphas, betas and major versions all tend to do this
  3. There's not much consensus/hygiene from plugin companies or trust from users around this
  4. There's no tooling or convention for this

Requirements:

  • Be able to select Alpha, Beta, Released
  • Major versions show up as different plugins in the DAW
  • Project name has to change (to prevent build confusion/contamination when switching versions): set(PROJECT_NAME "MyPlugin_v${MAJOR_VERSION}")
  • Major version only appends to PRODUCT_NAME where relevant. So NOT on 0.0.1 or 1.0 but on a1, a2, a3, b1, b2, b3, v2, v3: PRODUCT_NAME "My Plugin v${MAJOR_VERSION}"
  • Convention for PLUGIN_MANUFACTURER_CODE

Example PLUGIN_MANUFACTURER_CODE:

Two digits reserver for major version numbers support

SM10 Mela  -  Melatonin: Sine Machine v10
SM11 Mela  -  Melatonin: Sine Machine v11 
SM12 Mela  -  Melatonin: Sine Machine v12 
SM13 Mela  -  Melatonin: Sine Machine v13 

One digit available for major versions, Alpha and Beta specified with A or B

TP3X GDHZ  -  Goodhertz: Ghz Tupe 3    
TPB1 GDHZ  -  Goodhertz: Ghz Tupe 3 B1 
TPB2 GDHZ  -  Goodhertz: Ghz Tupe 3 B2 

sudara avatar Sep 04 '23 16:09 sudara