BuildingSync / schema

BuildingSync® Schema
https://buildingsync.net
Other
23 stars 22 forks source link

Refactor/remove old versions #389

Closed macintoshpie closed 2 years ago

macintoshpie commented 2 years ago

What does this PR do?

Remove all @verision options besides 3.0.0. A BSync document which says any other version will fail validation against the v3.0 schema

What are the relevant tickets?

321

macintoshpie commented 2 years ago

I think the idea is just that with each major version we should reset the available versions; but otherwise we just add the version with each new one as we were doing before.

E.g. a v3.0 file should validate successfully against a v3.1. But a v2.2 should not be valid against v3.0 (though technically it could be valid against 3.0 schema, but if an application specifies it wants 3.0 then it wants it for a reason -- it's the users job to make sure the version attribute is what it needs to be)

@nllong does that make sense?

nllong commented 2 years ago

I think the idea is just that with each major version we should reset the available versions; but otherwise we just add the version with each new one as we were doing before.

E.g. a v3.0 file should validate successfully against a v3.1. But a v2.2 should not be valid against v3.0 (though technically it could be valid against 3.0 schema, but if an application specifies it wants 3.0 then it wants it for a reason -- it's the users job to make sure the version attribute is what it needs to be)

@nllong does that make sense?

That makes sense and it follows the semantic versioning requirement of backwards compatibility.