Changelog & Versionierung
Wie ObjectOS versioniert wird, was sich zwischen Releases ändert und was unterstützt wird.
Changelog & Versionierung
Versionierungsrichtlinie
ObjectOS folgt Semantic Versioning: MAJOR.MINOR.PATCH.
| Versionssprung | Was es bedeutet | Was zu tun ist |
|---|---|---|
Patch (9.7.0 → 9.7.1) | Fehlerbehebungen, keine Verhaltensänderung | Aktualisieren, keine App-Änderungen nötig |
Minor (9.6 → 9.7) | Neue Funktionen, abwärtskompatibel | Aktualisieren, optional neue Funktionen übernehmen |
Major (8 → 9) | Breaking Changes, in den Release Notes dokumentiert | Lesen Sie den Migrationsleitfaden vor dem Upgrade |
Alle @objectstack/*-Pakete werden gemeinsam mit einer synchronisierten
Versionsnummer veröffentlicht — sie werden als Matrix getestet, nicht einzeln.
Kompatibilitätsmatrix
| Komponente | Kompatibilitätsregel |
|---|---|
| ObjectOS-Image ↔ kompiliertes Artefakt | Gleiche Minor-Version. Ein 9.7.x-Image führt ein 9.7.x-Artefakt aus; ein 9.7-Artefakt kann Funktionen nutzen, die in einem 9.6-Image nicht verfügbar sind. |
| ObjectOS ↔ CLI | Gleiche Minor-Version empfohlen. Die per npm i -g installierte CLI erzeugt Scaffolds, die auf ihre eigene Version gepinnt sind. |
| ObjectOS ↔ Datenbanktreiber | Treiber durch den Image-Build gepinnt; prüfen Sie Postgres ≥ 13 / MongoDB ≥ 5 / Turso (jede aktuelle Version). |
| Node.js | 20 LTS oder neuer. 22 LTS empfohlen für neue Deployments. |
Support-Zeiträume
| Branch | Status | Bis |
|---|---|---|
| 9.x (aktuell) | Aktive Entwicklung; neue Funktionen und Fixes | Mindestens 12 Monate nach dem Erscheinen von 10.0 |
| 8.x | Nur Sicherheitsfixes | EOL mit dem Release von 10.0 |
| ≤ 7.x | Nicht unterstützt | Bereits EOL |
Kritische Sicherheitsfixes werden auf den aktuellen und den vorherigen
Major-Branch zurückportiert. Alles andere landet auf main.
Release Notes
Veröffentlichte ObjectOS-Versionen und ihre CHANGELOG-Einträge werden hier publiziert:
- npm:
@objectstack/runtime - GitHub: github.com/objectstack-ai/objectos/releases
- Quell-CHANGELOG:
CHANGELOG.md - Ausführliche Release Notes:
RELEASE_NOTES.md
Abonnieren Sie Releases auf GitHub, um benachrichtigt zu werden.
Aktuelle Highlights
9.x — aktueller Release-Zug
ObjectOS One und der gebündelte Server laufen jetzt auf @objectstack 9.7.0.
Der Runtime-Boot-Vertrag ist gegenüber 8.0 unverändert — createStandaloneStack
nimmt weiterhin dieselben Artefakt-, Umgebungs- und Datenbankeinstellungen entgegen —,
sodass ein 8.0-Deployment ohne Konfigurationsänderungen weiterrollt. Was sich
bewegt hat, ist die autorenseitige Oberfläche:
- Analytics-Datasets sind die einzige Autorenoberfläche (9.0, Breaking) —
Dashboard-Widgets, Berichte und Listen-Charts binden jetzt ein semantisches
dataset(defineDataset(...)) und wählen Dimensionen/Maße per Name. Die alten Inline-Abfragefelder (object/valueField/aggregatean Widgets,objectName/columns/groupingsDownan Berichten,xAxisField/yAxisFieldsan Listen-Charts) wurden entfernt. Migration: Verschieben Sie die Inline-Abfrage in eindefineDatasetund referenzieren Sie es per Name.ChartTypeSchemahat außerdem 8 Varianttypen verworfen, die nur als ihr Basistyp gerendert wurden (stacked-bar→bar,spline→line,bubble→scatter, …). - Strengere Validierung zur Build-Zeit (9.6–9.7) —
os compilescheitert jetzt an blanken Feldreferenzen (amountstattrecord.amount), unbekannten CEL-Funktionen und falscher Interpolationssyntax für Flow-Werte, jeweils mit einem „Meinten Sie"-Hinweis. Ein Stack, der zuvor „baute, aber stillschweigend falsch war", scheitert jetzt lautstark — führen Sieos compilenach dem Upgrade erneut aus und beheben Sie, was es bemängelt. - Zahlenfeld-Formeln berechnen gemischte Arithmetik (9.7) —
record.amount / 100undrecord.price * 2werten jetzt aus, statt stillschweigendnullzu liefern; der/ 100.0-Float-Literal-Workaround ist nicht mehr nötig. - REST-Gating auf Objektebene, jetzt durchgesetzt (ADR-0049) —
apiEnabled: falseeines Objekts entfernt es aus der REST-Oberfläche, und eineapiMethods-Whitelist schränkt ein, welche Operationen erreichbar sind. Zuvor geparst, aber nicht durchgesetzt. - Paketdokumentation als Metadaten +
book-Navigation (9.3–9.6) —src/docs/*.mdregistrieren sich alsdoc-Metadaten; dasbook-Element (ADR-0046) deklariert eine Navigationsachse mit abgeleiteter Mitgliedschaft, bereitgestellt unterGET /api/v1/meta/book/:name/treemit Audience-Gating. os package install(9.3) — installiert ein Paket in eine laufende Runtime aus einer Katalog-ID oder einem Inline-Artefakt für Air-Gap-Umgebungen, authentifiziert mit--email/--password.- Genehmigungen (9.3) — Zurücksenden zur Überarbeitung (
maxRevisions, Standard 3), jobs-gestützte SLA-Auto-Eskalation, Listensuche/Paginierung und sitzungsfreie zweisprachige Bestätigungslinks zum Genehmigen/Ablehnen. - Eingehende Webhook-Flow-Trigger (9.3) — ein
type: 'api'-Flow stellt einen HMAC-verifiziertenPOST /api/v1/automation/hooks/:flowName/:hookId-Endpunkt mit idempotenter, queue-gestützter Aufnahme bereit. - Aufbewahrung von Benachrichtigungen standardmäßig aktiv (9.5) — der
Benachrichtigungsverlauf wird automatisch nach 90 Tagen bereinigt; setzen Sie
die Messaging-Einstellung
retentionDays: 0, um den Verlauf dauerhaft zu behalten. - CLI bündelt AI-Provider-SDKs (9.0) — OpenAI-kompatible Provider (DeepSeek, DashScope, SiliconFlow, OpenRouter, Cloudflare) funktionieren auf einer global installierten CLI sofort.
Eine zu beachtende Verhaltensänderung beim Flow-Authoring: Der outputVariable
eines create_record-Knotens hält jetzt das erstellte Datensatzobjekt (zuvor
die blanke ID), aktualisieren Sie also {var}-Referenzen, die eine ID erwarteten,
auf {var.id}.
8.0.x
ObjectOS One und der gebündelte Server liefen auf @objectstack 8.0.1.
- MCP über Streamable HTTP — jede Bereitstellung kann als netzwerkerreichbarer
Model-Context-Protocol-Server fungieren.
Aktivierung über
OS_MCP_SERVER_ENABLED=true; der Endpunkt liegt unter/api/v1/mcpmit fail-closed-Authentifizierung (anonyme Anfragen werden abgelehnt). Das Plugin wurde von@objectstack/plugin-mcp-serverzu@objectstack/mcpumbenannt. - Self-Service-API-Keys —
POST /api/v1/keyserzeugt einen nur einmal angezeigtensys_api_key. Die REST-Daten- und Metadaten-APIs (/api/v1/data,/api/v1/meta) authentifizieren API-Keys jetzt über denselben Verifier wie MCP und laufen mit den Berechtigungen und der Datensatz-Sicherheit des Key-Inhabers. - Feldbezogene Bedingungsregeln —
visibleWhen,readonlyWhenundrequiredWhenwerden serverseitig von ObjectQL durchgesetzt, nicht nur in der Formular-UI. - Wiederverwendbarer RLS-Lesefilter —
security.getReadFilter(object, context)stellt den Datensatzzugriffs-Lesebereich bereit; Analytics-Datasets, Dashboards und Berichte greifen darauf zu und schließen fail-closed, wenn der Bereich nicht sicher angewendet werden kann. - Standalone-Host-Stack — die Runtime liefert einen single-tenant
createStandaloneStack-Host; der cloud-verbundene, hostname-geroutetecreateObjectOSStack-Wrapper aus 7.x wurde entfernt. Eine Cloud-Bereitstellung verweistOS_ARTIFACT_FILEjetzt auf eine veröffentlichte Artifact-URL.
5.0 — Umbenennung project → environment (veröffentlicht)
Das Runtime-Konzept, das früher Project hieß, wurde durchgängig in Environment umbenannt. Betroffen waren:
- CLI-Flags:
--environment/-e - HTTP-Pfade:
/api/v1/environments/:environmentId/... - Header:
X-Environment-Id - Umgebungsvariablen:
OS_ENVIRONMENT_ID(OS_PROJECT_IDbleibt als veralteter Alias erhalten) - DB-Spalten:
environment_id - JSON-Schemas:
EnvironmentArtifact
Upgrade
Siehe Upgrade und Rollback für die konkreten Schritte. Vorab-Prüfung:
- Lesen Sie den CHANGELOG-Eintrag für jede Minor-Version zwischen Ihrer aktuellen und der Zielversion.
- Führen Sie
os diff <old-artifact> <new-artifact>aus, um Breaking Schema-Änderungen aufzudecken. - Führen Sie
os doctorgegen die Zielversion aus. - Bringen Sie eine Canary-Instanz hoch, bevor Sie die gesamte Flotte ausrollen.
- Halten Sie einen Rollback-Plan sowohl für das Image-Tag als auch für die Artefakt-Version bereit (sie werden unabhängig voneinander ausgerollt).
Regressionen melden
Wenn ein Patch oder eine Minor-Version etwas zuvor Funktionierendes bricht, melden Sie einen Bug unter github.com/objectstack-ai/objectos/issues mit der Version, von der / auf die Sie aktualisiert haben. Wir behandeln Regressionen als die höchstpriorisierte Fehlerklasse.