ObjectOS
Ressourcen

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.

VersionssprungWas es bedeutetWas zu tun ist
Patch (9.7.0 → 9.7.1)Fehlerbehebungen, keine VerhaltensänderungAktualisieren, keine App-Änderungen nötig
Minor (9.6 → 9.7)Neue Funktionen, abwärtskompatibelAktualisieren, optional neue Funktionen übernehmen
Major (8 → 9)Breaking Changes, in den Release Notes dokumentiertLesen 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

KomponenteKompatibilitätsregel
ObjectOS-Image ↔ kompiliertes ArtefaktGleiche 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 ↔ CLIGleiche Minor-Version empfohlen. Die per npm i -g installierte CLI erzeugt Scaffolds, die auf ihre eigene Version gepinnt sind.
ObjectOS ↔ DatenbanktreiberTreiber durch den Image-Build gepinnt; prüfen Sie Postgres ≥ 13 / MongoDB ≥ 5 / Turso (jede aktuelle Version).
Node.js20 LTS oder neuer. 22 LTS empfohlen für neue Deployments.

Support-Zeiträume

BranchStatusBis
9.x (aktuell)Aktive Entwicklung; neue Funktionen und FixesMindestens 12 Monate nach dem Erscheinen von 10.0
8.xNur SicherheitsfixesEOL mit dem Release von 10.0
≤ 7.xNicht unterstütztBereits 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:

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/aggregate an Widgets, objectName/columns/groupingsDown an Berichten, xAxisField/yAxisFields an Listen-Charts) wurden entfernt. Migration: Verschieben Sie die Inline-Abfrage in ein defineDataset und referenzieren Sie es per Name. ChartTypeSchema hat außerdem 8 Varianttypen verworfen, die nur als ihr Basistyp gerendert wurden (stacked-barbar, splineline, bubblescatter, …).
  • Strengere Validierung zur Build-Zeit (9.6–9.7) — os compile scheitert jetzt an blanken Feldreferenzen (amount statt record.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 Sie os compile nach dem Upgrade erneut aus und beheben Sie, was es bemängelt.
  • Zahlenfeld-Formeln berechnen gemischte Arithmetik (9.7) — record.amount / 100 und record.price * 2 werten jetzt aus, statt stillschweigend null zu liefern; der / 100.0-Float-Literal-Workaround ist nicht mehr nötig.
  • REST-Gating auf Objektebene, jetzt durchgesetzt (ADR-0049) — apiEnabled: false eines Objekts entfernt es aus der REST-Oberfläche, und eine apiMethods-Whitelist schränkt ein, welche Operationen erreichbar sind. Zuvor geparst, aber nicht durchgesetzt.
  • Paketdokumentation als Metadaten + book-Navigation (9.3–9.6) — src/docs/*.md registrieren sich als doc-Metadaten; das book-Element (ADR-0046) deklariert eine Navigationsachse mit abgeleiteter Mitgliedschaft, bereitgestellt unter GET /api/v1/meta/book/:name/tree mit 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-verifizierten POST /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/mcp mit fail-closed-Authentifizierung (anonyme Anfragen werden abgelehnt). Das Plugin wurde von @objectstack/plugin-mcp-server zu @objectstack/mcp umbenannt.
  • Self-Service-API-KeysPOST /api/v1/keys erzeugt einen nur einmal angezeigten sys_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 BedingungsregelnvisibleWhen, readonlyWhen und requiredWhen werden serverseitig von ObjectQL durchgesetzt, nicht nur in der Formular-UI.
  • Wiederverwendbarer RLS-Lesefiltersecurity.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-geroutete createObjectOSStack-Wrapper aus 7.x wurde entfernt. Eine Cloud-Bereitstellung verweist OS_ARTIFACT_FILE jetzt auf eine veröffentlichte Artifact-URL.

5.0 — Umbenennung projectenvironment (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_ID bleibt als veralteter Alias erhalten)
  • DB-Spalten: environment_id
  • JSON-Schemas: EnvironmentArtifact

Upgrade

Siehe Upgrade und Rollback für die konkreten Schritte. Vorab-Prüfung:

  1. Lesen Sie den CHANGELOG-Eintrag für jede Minor-Version zwischen Ihrer aktuellen und der Zielversion.
  2. Führen Sie os diff <old-artifact> <new-artifact> aus, um Breaking Schema-Änderungen aufzudecken.
  3. Führen Sie os doctor gegen die Zielversion aus.
  4. Bringen Sie eine Canary-Instanz hoch, bevor Sie die gesamte Flotte ausrollen.
  5. 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.

On this page