Dieses Dokument ist in einem \<major>. \<minor>. versioniert.<patch> Schema.
Während Patch- und Nebenversionsinkremente die Abwärtskompatibilität mit früheren Versionen des Standards gewährleisten müssen, ist dies bei einer Inkrementierung in der Hauptversion möglicherweise nicht der Fall. Die Patch-Version muss bei jeder Änderung im Dokument inkrementiert werden und wird hauptsächlich bei der inkrementellen Entwicklung neuer Funktionen verwendet. Größere Änderungen im Dokument, wie das Hinzufügen neuer Befehle oder eine große Anzahl kleiner Ergänzungen, können zu einer Erhöhung in der Nebenversion zusammengefasst werden.
Hinsichtlich der Abwärtskompatibilität gelten folgende Regeln:
- Änderungen an Befehlen gelten als abwärtskompatibel, solange die Verwendung des alten Befehls noch funktioniert und das gleiche Ergebnis liefert.
- Änderungen an Antworten gelten als abwärtskompatibel, wenn die Interpretation der Antwort auch ohne die zusätzlichen Einträge noch gültig ist.
- Das Hinzufügen von MQTT- und ZMQ-Themen gilt als abwärtskompatibel.
- Das Hinzufügen neuer Nachrichtencodes gilt als abwärtskompatibel. Meldungen mit solchen Codes können in älteren Versionen ignoriert werden.
Wenn ein KE, ein Befehl oder eine Definition in diesem Dokument in einer zukünftigen Standardversion entfernt wird, muss es zuerst als veraltet markiert werden und für einen definierten Zeitraum vorhanden und verwendbar bleiben, bis das KE entfernt werden kann. Dies würde dann zu einer Breaking Change und damit zu einer Erhöhung der Hauptversion führen.
Proprietäre Befehle, Antworten und Felder können je nach Bedarf des Herstellers hinzugefügt werden, müssen jedoch mit dem Präfix "cstm_" versehen werden und müssen den oben genannten Kompatibilitätsregeln entsprechen. Standardbefehle, -antworten und -felder dürfen nicht mit diesem Präfix beginnen.
!!! info "BEMERKEN Empfehlung Proprietäre Felder in proprietären Befehlen müssen das Präfix nicht zusätzlich hinzufügen.