Introducing .discourse-compatibility: pinned plugin/theme versions for older Discourse versions

More edge cases, more hidden features: You can actually “unset” the pin with a blank entry:

With a compatibility file of:

        2.6.0.beta1: twofiveall
        2.4.4.beta6: ~
        2.4.2.beta1: twofourtwobetaone

Anything between 2.4.2.beta1 to 2.4.4.beta6 will not be pinned back. Anything after up to 2.6.0.beta1 will e pinned. After that will be unpinned again.

Underneath, anything that evaluates to a nil value will be untouched/be on latest. A blank entry or ~ evaluates to nil (via ruby’s yaml parser), which bypasses the pinning function.

8 Likes