Is there a way to 'deprecate' a module

Hi

The bacon plugs connection dates back to rack 0.5 and has a few useful modules I use all the time, and a few garbage modules no-one should ever use. With the work on surge xt getting me back in rack recently i’ve updated a few of the bacon plugs modules which I want to keep and am doing a bit of work on them.

What I would like to do is: have some of the modules still be in the plugin so I don’t break peoples patches but not have them show up in the library, in the browser, etc… so basically have it so they still load but folks are not encouraged to use them. Or have some other form of deprecation strategy.

So how do you go about doing EOL on a particular module in the rack ecosystem in a way which is user friendly but also stops people from stumbling into old modules you don’t want them to use?

Thanks!

VCV Unity disappeared in V2, but it’s still there in the library, same for VCA-2. They’re simply marked as hidden in the Fundamental plugin.json.

1 Like

Ahh “mark as hidden” in the plugin.json is exactly what I was looking for. Thank you!

1 Like

The one that’s described in the manual is “deprecated”

.modules[].deprecated

Boolean. Optional.

Specifies that the module should no longer be used and only remains for patch compatibility. If a successor module exists, add its name to the description, e.g. “Replaced by MyModule 2”.

In a future version of Rack, deprecated modules will not be displayed in the Module Browser by default but can still be used by opening old patches.

But maybe Andrew (@Vortico) changed his mind, went with “hidden” instead and never documented it.

{
  "slug": "Unity",
  "name": "Unity",
  "description": "Mixes or averages signals with unity gain",
  "tags": [
    "Mixer",
    "Utility",
    "Dual"
  ],
  "hidden": true
},

I can see that people have used both, but only “hidden” works, “deprecated” does not.

lab@Lars-iMac:~/Documents/Rack2/plugins
$ grep -F 'deprecated' */plugin.json
AmalgamatedHarmonics/plugin.json:			"name": "Arpeggiator MkII (deprecated)",
AmalgamatedHarmonics/plugin.json:			"deprecated": true
AmalgamatedHarmonics/plugin.json:			"name": "Progress  (deprecated)",
AmalgamatedHarmonics/plugin.json:			"deprecated": true
AmalgamatedHarmonics/plugin.json:			"deprecated": true
Autinn/plugin.json:      "deprecated": true,
CountModula/plugin.json:		  "deprecated": true,
CountModula/plugin.json:		  "deprecated": true,
NYSTHI/plugin.json:         "deprecated": true,
NYSTHI/plugin.json:         "deprecated": true,
SubmarineFree/plugin.json:			"deprecated":true,
SubmarineFree/plugin.json:			"deprecated":true,
SubmarineFree/plugin.json:			"deprecated":true,

lab@Lars-iMac:~/Documents/Rack2/plugins
$ grep -F 'hidden' */plugin.json
CountModula/plugin.json:		  "hidden": true
CountModula/plugin.json:		  "hidden": true
DHE-Modules/plugin.json:      "hidden": true,
DHE-Modules/plugin.json:      "hidden": true,
DHE-Modules/plugin.json:      "hidden": true,
Fundamental/plugin.json:      "hidden": true
Fundamental/plugin.json:      "hidden": true
SubmarineFree/plugin.json:			"hidden":true,
SubmarineFree/plugin.json:			"hidden":true,
SubmarineFree/plugin.json:			"hidden":true,
monome/plugin.json:      "hidden": true
2 Likes

Thank you. Very useful! For me, hidden works well but yeah it would have been nice to add a message.

2 Likes