Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/objectos-one/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@objectos/one",
"version": "9.7.0",
"version": "10.2.0",
"private": true,
"license": "Apache-2.0",
"description": "ObjectOS One — all-in-one local distribution (Tauri shell + bundled Node runtime + DB).",
Expand Down
2 changes: 1 addition & 1 deletion apps/objectos-one/src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion apps/objectos-one/src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "objectos-one"
version = "9.7.0"
version = "10.2.0"
description = "ObjectOS One shell"
edition = "2021"
rust-version = "1.77"
Expand Down
2 changes: 1 addition & 1 deletion apps/objectos-one/src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "ObjectOS",
"version": "9.7.0",
"version": "10.2.0",
"identifier": "ai.objectstack.objectos",
"build": {
"frontendDist": "../src",
Expand Down
16 changes: 8 additions & 8 deletions apps/objectos/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@
"type-check": "tsc --noEmit"
},
"dependencies": {
"@objectstack/cli": "^9.7.0",
"@objectstack/core": "^9.7.0",
"@objectstack/driver-memory": "^9.7.0",
"@objectstack/driver-sql": "^9.7.0",
"@objectstack/metadata": "^9.7.0",
"@objectstack/objectql": "^9.7.0",
"@objectstack/runtime": "^9.7.0",
"@objectstack/spec": "^9.7.0"
"@objectstack/cli": "^10.2.0",
"@objectstack/core": "^10.2.0",
"@objectstack/driver-memory": "^10.2.0",
"@objectstack/driver-sql": "^10.2.0",
"@objectstack/metadata": "^10.2.0",
"@objectstack/objectql": "^10.2.0",
"@objectstack/runtime": "^10.2.0",
"@objectstack/spec": "^10.2.0"
},
"devDependencies": {
"@types/node": "^25.9.1",
Expand Down
64 changes: 54 additions & 10 deletions content/docs/resources/changelog.de.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ ObjectOS folgt **[Semantic Versioning](https://semver.org/)**: `MAJOR.MINOR.PATC

| 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.69.7`) | Neue Funktionen, abwärtskompatibel | Aktualisieren, optional neue Funktionen übernehmen |
| **Major** (`89`) | Breaking Changes, in den Release Notes dokumentiert | Lesen Sie den Migrationsleitfaden vor dem Upgrade |
| **Patch** (`10.0.0 → 10.0.1`) | Fehlerbehebungen, keine Verhaltensänderung | Aktualisieren, keine App-Änderungen nötig |
| **Minor** (`10.010.1`) | Neue Funktionen, abwärtskompatibel | Aktualisieren, optional neue Funktionen übernehmen |
| **Major** (`910`) | 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.
Expand All @@ -22,7 +22,7 @@ Versionsnummer veröffentlicht — sie werden als Matrix getestet, nicht einzeln

| 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-Image ↔ kompiliertes Artefakt | Gleiche Minor-Version. Ein 10.2.x-Image führt ein 10.2.x-Artefakt aus; ein 10.2-Artefakt kann Funktionen nutzen, die in einem 10.0-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. |
Expand All @@ -31,9 +31,9 @@ Versionsnummer veröffentlicht — sie werden als Matrix getestet, nicht einzeln

| 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 |
| **10.x** (aktuell) | Aktive Entwicklung; neue Funktionen und Fixes | Mindestens 12 Monate nach dem Erscheinen von 11.0 |
| **9.x** | Nur Sicherheitsfixes | EOL mit dem Release von 11.0 |
| **≤ 8.x** | Nicht unterstützt | Bereits EOL |

Kritische Sicherheitsfixes werden auf den aktuellen und den vorherigen
Major-Branch zurückportiert. Alles andere landet auf `main`.
Expand All @@ -51,9 +51,53 @@ 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**.
### 10.x — aktueller Release-Zug

ObjectOS One und der gebündelte Server laufen jetzt auf `@objectstack` **10.2.0**.
Trotz des Major-Sprungs ist der Runtime-Boot-Vertrag unverändert —
`createStandaloneStack` nimmt weiterhin dieselben Artefakt-, Umgebungs- und
Datenbankeinstellungen entgegen — und jeder Breaking Change landet in der
Multi-Org-Mandantenschicht, sodass ein **single-tenant ObjectOS-Deployment (der
Standard) ohne Konfigurationsänderungen von 9.x weiterrollt**. Was sich bewegt hat:

- **Zeilenbezogenes Org-Scoping in ein eigenes Plugin ausgelagert** (10.0, Breaking) —
das automatische Stempeln von `organization_id`, das Pro-Org-Seed-Replay und der
Default-Org-Bootstrap wurden aus `@objectstack/plugin-security` in das optionale
[`@objectstack/plugin-org-scoping`](https://www.npmjs.com/package/@objectstack/plugin-org-scoping)
verschoben. Single-Org-Deployments sind schlanker (kein Wildcard-RLS, das bei jeder
Abfrage entfernt werden muss), und `OS_MULTI_TENANT=true` registriert das Plugin
weiterhin automatisch vor `plugin-security`, sodass per CLI gesteuerte Projekte keine
Codeänderungen benötigen. Laut ADR-0002 ist ein *Tenant* physische Isolation (eine
Umgebung = eine Datenbank); `organization_id` ist *logisches* Scoping innerhalb einer
DB und verdient daher sein eigenes Plugin.
- **Keine automatischen persönlichen Workspaces mehr** (10.0, Breaking) —
`plugin-security` erstellt nicht mehr für jeden neuen Benutzer eine
„`<User>'s Workspace`"-Org. Benutzer nehmen jetzt eine Einladung an oder erstellen
explizit ihre erste Organisation (das Slack-/Linear-/GitHub-Orgs-Modell). Der erste
registrierte Benutzer — automatisch zum Plattform-Admin befördert — erhält im
Multi-Tenant-Modus weiterhin eine einzige `Default Organization`, damit seine Session
RLS auflöst; single-tenant Deployments erstellen keine Orgs.
- **`record`-Formularfeldtyp** (ADR-0014) — `Record<string, X>`-Eigenschaften (etwa
die `fields`-Map eines Objekts) sind jetzt als vollwertige Formularfelder in Studio
editierbar, statt als rohes JSON durchzusickern, und der Objektvorschau-Bereich
bindet den echten `ObjectGrid`-Renderer ein — was Sie in der Vorschau sehen, ist das,
was ausgeliefert wird.
- **Steckbare Embeddings über `IEmbedder`** — ein neues Embedder-Protokoll plus
[`@objectstack/embedder-openai`](https://www.npmjs.com/package/@objectstack/embedder-openai);
die Knowledge-/RAG-Adapter nutzen jetzt `IEmbedder` und wurden umbenannt, um das
`plugin-`-Präfix abzulegen.
- **Public Forms** — anonyme Web-to-Lead-/Web-to-Case-Formulare, bereitgestellt unter
`/f/:slug`, eine einheitliche FormPage (öffentlich `/f/:slug` + intern
`/forms/:name`), eine `type: 'form'`-Aktionsvariante und `defaultDetailForm` auf
`ObjectSchema`.
- **Cloud-Identitätstrennung** — `os cloud login` ist jetzt von `os login` getrennt,
die Cloud-Control-Plane wurde in ein privates Repo verschoben (eine schlankere
OSS-Runtime), und `objectstack init` scaffoldet wieder ein Projekt, das baut und
bootet.

### 9.x

Der 9.x-Zug lief auf `@objectstack` **9.0 – 9.11** vor dem 10.0-Umstieg.
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
Expand Down
69 changes: 59 additions & 10 deletions content/docs/resources/changelog.es.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ ObjectOS sigue el **[Versionado semántico](https://semver.org/)**: `MAJOR.MINOR

| Incremento de versión | Qué significa | Qué hacer |
|---|---|---|
| **Parche** (`9.7.0 → 9.7.1`) | Corrección de errores, sin cambios de comportamiento | Actualiza, no se requieren cambios en la aplicación |
| **Menor** (`9.69.7`) | Nuevas funciones, compatible con versiones anteriores | Actualiza y, opcionalmente, adopta las nuevas funciones |
| **Mayor** (`89`) | Cambios incompatibles documentados en las notas de versión | Lee la guía de migración antes de actualizar |
| **Parche** (`10.0.0 → 10.0.1`) | Corrección de errores, sin cambios de comportamiento | Actualiza, no se requieren cambios en la aplicación |
| **Menor** (`10.010.1`) | Nuevas funciones, compatible con versiones anteriores | Actualiza y, opcionalmente, adopta las nuevas funciones |
| **Mayor** (`910`) | Cambios incompatibles documentados en las notas de versión | Lee la guía de migración antes de actualizar |

Todos los paquetes `@objectstack/*` se publican juntos con un número de
versión sincronizado: se prueban como una matriz, no de forma independiente.
Expand All @@ -22,7 +22,7 @@ versión sincronizado: se prueban como una matriz, no de forma independiente.

| Componente | Regla de compatibilidad |
|---|---|
| Imagen de ObjectOS ↔ artefacto compilado | Misma versión menor. Una imagen 9.7.x ejecuta un artefacto 9.7.x; un artefacto 9.7 puede usar funciones no disponibles en una imagen 9.6. |
| Imagen de ObjectOS ↔ artefacto compilado | Misma versión menor. Una imagen 10.2.x ejecuta un artefacto 10.2.x; un artefacto 10.2 puede usar funciones no disponibles en una imagen 10.0. |
| ObjectOS ↔ CLI | Se recomienda la misma versión menor. La CLI en `npm i -g` genera andamiajes fijados a su propia versión. |
| ObjectOS ↔ controlador de base de datos | El controlador queda fijado por la compilación de la imagen; verifica Postgres ≥ 13 / MongoDB ≥ 5 / Turso (cualquiera actual). |
| Node.js | **20 LTS o posterior**. Se recomienda 22 LTS para nuevos despliegues. |
Expand All @@ -31,9 +31,9 @@ versión sincronizado: se prueban como una matriz, no de forma independiente.

| Rama | Estado | Hasta |
|---|---|---|
| **9.x** (actual) | Desarrollo activo; nuevas funciones y correcciones | Al menos 12 meses después del lanzamiento de 10.0 |
| **8.x** | Solo correcciones de seguridad | EOL en el lanzamiento de 10.0 |
| **≤ 7.x** | Sin soporte | Ya en EOL |
| **10.x** (actual) | Desarrollo activo; nuevas funciones y correcciones | Al menos 12 meses después del lanzamiento de 11.0 |
| **9.x** | Solo correcciones de seguridad | EOL en el lanzamiento de 11.0 |
| **≤ 8.x** | Sin soporte | Ya en EOL |

Las correcciones de seguridad críticas se retroportan a la versión mayor
actual y a la anterior. Todo lo demás se incorpora en `main`.
Expand All @@ -51,9 +51,58 @@ Suscríbete a las versiones en GitHub para recibir notificaciones.

## Aspectos destacados recientes

### 9.x — tren de versiones actual

ObjectOS One y el servidor incluido ahora se ejecutan sobre `@objectstack` **9.7.0**.
### 10.x — tren de versiones actual

ObjectOS One y el servidor incluido ahora se ejecutan sobre `@objectstack` **10.2.0**.
A pesar del salto de versión mayor, el contrato de arranque del runtime no cambia
—`createStandaloneStack` sigue tomando el mismo artefacto, entorno y ajustes de
base de datos— y todos los cambios incompatibles caen en la capa de tenencia
multi-organización, por lo que un **despliegue de ObjectOS de inquilino único
(el predeterminado) actualiza desde 9.x sin cambios de configuración**. Lo que se
movió:

- **El alcance por organización a nivel de fila se separó en su propio plugin**
(10.0, cambio incompatible): el autosellado de `organization_id`, la repetición
de seeds por organización y el arranque de la organización predeterminada se
movieron de `@objectstack/plugin-security` al plugin opcional
[`@objectstack/plugin-org-scoping`](https://www.npmjs.com/package/@objectstack/plugin-org-scoping).
Los despliegues de una sola organización son más ligeros (no hay RLS comodín que
eliminar en cada consulta), y `OS_MULTI_TENANT=true` sigue registrando
automáticamente el plugin por delante de `plugin-security`, por lo que los
proyectos gestionados por la CLI no necesitan cambios de código. Según el
ADR-0002, un *tenant* es aislamiento físico (un Environment = una base de datos);
`organization_id` es alcance *lógico* dentro de una misma BD, así que merece su
propio plugin.
- **Se acabaron los espacios de trabajo personales automáticos** (10.0, cambio
incompatible): `plugin-security` ya no crea una organización «`<User>'s
Workspace`» para cada nuevo usuario. Ahora los usuarios aceptan una invitación o
crean explícitamente su primera organización (el modelo de Slack / Linear /
GitHub-Orgs). El primer usuario registrado —autopromovido a administrador de la
plataforma— sigue obteniendo una única `Default Organization` en modo
multi-inquilino para que su sesión resuelva el RLS; los despliegues de inquilino
único no crean ninguna organización.
- **Tipo de campo de formulario `record`** (ADR-0014): las propiedades
`Record<string, X>` (como el mapa `fields` de un objeto) ahora son editables como
campos de formulario de primera clase en Studio, en lugar de filtrarse como JSON
en bruto, y el panel de previsualización del objeto monta el renderizador real
`ObjectGrid`: lo que previsualizas es lo que se publica.
- **Embeddings conectables mediante `IEmbedder`**: un nuevo protocolo de embedder
junto con
[`@objectstack/embedder-openai`](https://www.npmjs.com/package/@objectstack/embedder-openai);
los adaptadores de conocimiento / RAG ahora consumen `IEmbedder` y se
renombraron para eliminar el prefijo `plugin-`.
- **Formularios públicos**: formularios anónimos de Web-to-Lead / Web-to-Case
servidos en `/f/:slug`, una FormPage unificada (`/f/:slug` público + `/forms/:name`
interno), una variante de acción `type: 'form'` y `defaultDetailForm` en
`ObjectSchema`.
- **Separación de la identidad en la nube**: `os cloud login` ahora es independiente
de `os login`, el plano de control de la nube se movió a un repositorio privado
(un runtime OSS más ligero), y `objectstack init` vuelve a generar un proyecto que
compila y arranca.

### 9.x

El tren 9.x se ejecutó sobre `@objectstack` **9.0 – 9.11** antes del cambio a 10.0.
El contrato de arranque del runtime no cambia respecto a 8.0 —
`createStandaloneStack` sigue tomando el mismo artefacto, entorno y ajustes de
base de datos—, por lo que un despliegue 8.0 actualiza sin cambios de
Expand Down
Loading
Loading