-
Notifications
You must be signed in to change notification settings - Fork 91
Versionsnummern
Der SmartHomeNG Kern verwendet für die Versionsnummern das Schema "x.y.z". Wobei x für die major-Version und y für die minor Version stehen. z wird nur für Patches des Kerns verwendet die nach dem Release einer Version notwendig sind.
Die Änderung der major-Version bedeutet signifikante Änderungen am Programmcode. Zum Beispiel wenn sich die Kompatibilität zur Vorversion nicht erhalten ließ. Die major-Version kann aber auch aus Marketinggründen erhöht werden, wenn die Anzahl der Erweiterungen groß genug ist um dieses zu rechfertigen.
Die minor-Version bedeutet eine Erweiterung des SmartHomeNG (neue Plugins, neue Funktionen).
Die Patch-Versionen werden nur bei Bugfixes nach einem Release verwendet. (siehe Releasemanagement)
Innerhalb der Plugins wird das gleiche Schema für die Versionsnummern verwendet wie im Kern("x.y.z"). Allerding ist hier die Bedeutung der einzelnen Zahlen eine andere: X und y stehen für die Version des SmartHomeNG mit der das Plugin getestet wurde. z ist die fortlaufende Versionsnummer des Plugins. X und y werden beim Release von SmartHomeNG auf die Version erhöht wenn das Plugin mit der neuen Version des Kerns getestet und lauffähig ist.
Beispiel:
- Kern 1.1.
- Plugin 1.1.42
wird nach einem Kern update zu
- Kern 1.2.
- Plugin 1.2.42
wird dann an dem Plugin weitergearbeitet, so erhöht sich die letzte Stelle der Versionsnummer.
- Kern 1.2.
- Plugin 1.2.43
Damit die Versionsnummer auslesbar ist, muss diese in einer Variable PLUGIN_VERSION
der Klasse gespeichert werden:
from lib.model.smartplugin import SmartPlugin
class MyPlugin(SmartPlugin):
ALLOW_MULTIINSTANCE = False
PLUGIN_VERSION="1.1.22"
Diese Versionsnummer wird beim laden des Plugins automatisch ausgelesen, geprüft und in den Plugin-Items hinterlegt.
Die aktuellen Release Notes und die Release Notes der zurückliegenden Versionen sind in der Dokumentation im Abschnitt Release Notes zu finden.