From a6b12156cfca102a019a2d343e71f12932735ca5 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 10 Mar 2011 00:03:28 +0000 Subject: Improve versioning documentation. --- core.lv2/lv2.ttl | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'core.lv2') diff --git a/core.lv2/lv2.ttl b/core.lv2/lv2.ttl index 567958a..904729f 100644 --- a/core.lv2/lv2.ttl +++ b/core.lv2/lv2.ttl @@ -349,13 +349,13 @@ compatibility at all, e.g. bug fixes or documentation updates.

Note there is deliberately no concept of a major version: all versions of an LV2 resource with a given URI are by definition backwards compatible. More -precisely, a new version of a resource MUST be able to replace an older version -without breaking anything. If a change is made which breaks this rule, the URI +precisely: replacing a resource with a newer version of that resource MUST NOT +break anything. If a change is made which breaks this rule, the URI of the resource MUST be changed. In contexts where a full (e.g. SemVer conformant) version number is required, the major version of all released LV2 resources is 1.

-

Plugins and extensions must adhere to the following rules:

+

Plugins and extensions MUST adhere to the following rules:

-

These rules are an attempt to rigorously define the necessary best -practices, but may not exhaustively cover all cases. In general the rule is: -replacing a resource with a new version of that resource MUST NOT break -anything.

+

(Note these rules are not necessarily exhaustive)

Anything that depends on a specific version of a plugin (e.g. a serialisation that references ports by index) MUST refer to the plugin by both -- cgit v1.2.1