Zum Hauptinhalt springen

Änderungsprotokoll

Wichtige Änderungen am Embed-SDK und der Platform API. Der Wire-Contract ist unter /embed/v1/* und /inference-api/b2b/v1/* versioniert; brechende Änderungen werden als neue Major-Version neben der alten ausgeliefert (CDN-Versionierung).

2026-09

  • Capability-Policy-SSOT. Produkt → Scope und Tier → API-Capabilities existieren jetzt nur noch einmal in @kaleidr/shared-types (B2B_PRODUCT_REQUIRED_SCOPE, B2B_TIER_API_CAPABILITIES) mit Paritäts- tests. Verwendet von shared-api (mint / rotate / PATCH clamp), inference-api (Session-Austausch, Runtime-Credentials) und der Dokumentation.
  • Effektive Capability = gespeicherter Schlüssel × aktueller Tier. Session-Austausch und jeder Runtime-Credential-Pfad berechnen die Zulassung anhand des aktuellen Tiers der Organisation neu — ein Pro-Schlüssel, der auf Free heruntergestuft wird, erstellt ab diesem Zeitpunkt nur noch Tile-Sessions. Eigener Subcode: tier_capability_not_allowed (war vorhanden, Tier erlaubt es nicht mehr) gegenüber insufficient_scope (war nie vorhanden).
  • Änderungen am Abrechnungsplan invalidieren den apikey:*-Cache. Subscription- Webhooks invalidieren die Snapshots pro Schlüssel, sodass Downgrades/Upgrades die Runtime sofort erreichen. Da Sessions bei jeder Anfrage die Live-Richtlinie des Schlüssels erneut lesen, erreicht ein Downgrade nun auch bereits erstellte Sessions — es ist nicht mehr durch die Session-TTL begrenzt. Ein Upgrade benötigt weiterhin eine neue Session, da eine Session die Rechte ihres Parents nur einschränken kann.
  • Free-Tier-PATCH-Erweiterung abgelehnt. Das Bearbeiten eines Free-Schlüssels, um scopes / allowed_products über die Zulassung des Tiers hinaus zu erweitern, gibt 403 tier_capability_not_allowed zurück, einschließlich des Falls empty-products = all.
  • SSE-Event grounding entfernt. Grounding beeinflusst weiterhin die Antwort; es legt jedoch keinen Frame mehr auf den Wire. Clients, die darauf gehört haben, erhalten es einfach nicht mehr.

2026-08

  • Basemap-Zugriff ist schlüsselautorisiert. Direkte Drittanbieternutzung von tile.kaleidr.com ist eingeschränkt; <kaleidr-map>-Embeds und von Kaleidr gehostete Karten sind nicht betroffen. Basemap-Sessions belasten das gemeinsame monatliche Map-Loads-Kontingent der Organisation (quota).
  • Session-Austausch + Refresh. Publishable Keys werden gegen kurzlebige, origin-gebundene Sessions (kld_sess_{env}_…, 15-min TTL) ausgetauscht; der Session-Refresh wird vom SDK durchgeführt.
  • Place-Bridge / iframe-Seam. Die postMessage-Seam für frameübergreifende Place-Events zwischen iframe-Produkten und der Parent- Seite wurde standardisiert.
  • Org-Basemap-Standard. /sdk/sessions liefert die gespeicherte Standard-basemap_style_id der Organisation zurück, wenn das Embed keine angibt; das SDK wendet sie an, bevor auf kaleidr-morning zurückgefallen wird.
  • Server-Key im Browser abgelehnt. Das SDK lehnt kld_sk_… beim Mounten ab (Server Keys sind ausschließlich serverseitig).
  • Dev-/Prod-CDN + API Bake. Beide Umgebungen werden über versionsstabile Endpoints bereitgestellt; viewerBase wurde von der Loader-base getrennt und tileBase separat für das Tile-CDN des Editors eingeführt.
  • Seam-v2-Routenfarben. Das Route-Event enthält color / label / alternatives / comparison im stabilen Contract.

v1

  • kaleidr.js-Loader + <kaleidr-map>-Element — eine Fassade, vier Produkte (chat / viewer / editor / tile), zwei Doorways.
  • Publishable Browser Keys (kld_pk_) und Server Keys (kld_sk_) mit Scopes ai | maps | design | vendor; Publishable Keys werden gegen kurzlebige, origin-gebundene Sessions ausgetauscht. Legacy-kld_live_-Keys funktionieren weiterhin.
  • /inference-api/b2b/v1/chat/* (SSE) + /design/*-Routenfamilien.

Diese Seite wird ergänzt, sobald Releases erscheinen.