Saltar al contenido principal

Registro de cambios

Cambios destacados en el embed SDK y la platform API. El contrato wire está versionado en /embed/v1/* y /inference-api/b2b/v1/*; los cambios incompatibles se publican como una nueva versión principal junto a la anterior (Versionado del CDN).

2026-09

  • SSOT de la política de capacidades. Producto → scope y nivel → API-capabilities ahora viven una sola vez en @kaleidr/shared-types (B2B_PRODUCT_REQUIRED_SCOPE, B2B_TIER_API_CAPABILITIES) con pruebas de paridad. Lo consumen shared-api (mint / rotate / PATCH clamp), inference-api (session exchange, runtime credentials) y la documentación.
  • Capacidad efectiva = clave almacenada × nivel actual. Session exchange y cada ruta de credenciales en runtime vuelven a calcular la admisión desde el nivel actual de la organización — una clave Pro degradada a Free ahora crea únicamente sesiones tile desde ese momento. Subcode distinto: tier_capability_not_allowed (la tenía, pero el nivel ya no la admite) frente a insufficient_scope (nunca la tuvo).
  • Los cambios de plan de facturación invalidan la caché apikey:*. Los webhooks de suscripción eliminan los snapshots por clave para que los downgrades/upgrades lleguen al runtime inmediatamente. Como las sesiones vuelven a leer la política activa de la clave en cada solicitud, un downgrade ahora también afecta a las sesiones ya creadas — ya no está limitado por el TTL de la sesión. Un upgrade todavía necesita una nueva sesión, porque una sesión solo puede reducir los permisos de su padre.
  • Se rechaza la ampliación mediante PATCH en Free. Editar una clave Free para ampliar scopes / allowed_products más allá de lo admitido por el nivel devuelve 403 tier_capability_not_allowed, incluido el caso empty-products = all.
  • Se eliminó el evento SSE grounding. Grounding sigue influyendo en la respuesta; ya no envía un frame por el wire. Los clientes que lo escuchaban simplemente dejarán de recibirlo.

2026-08

  • El acceso al mapa base está autorizado por clave. El uso directo de terceros de tile.kaleidr.com está restringido; los embeds <kaleidr-map> y los mapas alojados por Kaleidr no se ven afectados. Las sesiones de mapa base consumen la asignación mensual compartida de cargas de mapas de la organización (quota).
  • Session exchange + refresh. Las claves publishable se intercambian por sesiones de corta duración vinculadas al origen (kld_sess_{env}_…, 15-min TTL); el SDK gestiona la renovación de la sesión.
  • Place bridge / iframe seam. Se estandarizó la interfaz postMessage para eventos Place entre frames, entre los productos iframe y la página principal.
  • Mapa base predeterminado de la organización. /sdk/sessions devuelve el basemap_style_id predeterminado almacenado de la organización cuando el embed no especifica uno; el SDK lo aplica antes de recurrir a kaleidr-morning.
  • Rechazo de server key en el navegador. El SDK rechaza kld_sk_… al montar (las server keys son solo para servidor).
  • Preparación CDN + API para dev / prod. Ambos entornos se sirven desde endpoints con versión estable; viewerBase se separó de la base del loader y tileBase se separó para el tile CDN del editor.
  • Colores de ruta Seam v2. El evento route transporta color / label / alternatives / comparison dentro del contrato estable.

v1

  • Loader kaleidr.js + elemento <kaleidr-map> — una fachada, cuatro productos (chat / viewer / editor / tile), dos formas de integración.
  • Claves de navegador publishable (kld_pk_) y claves server (kld_sk_) con scopes ai | maps | design | vendor; las claves publishable se intercambian por sesiones de corta duración vinculadas al origen. Las claves heredadas kld_live_ siguen funcionando.
  • Familias de rutas /inference-api/b2b/v1/chat/* (SSE) + /design/*.

Esta página se irá completando a medida que se publiquen versiones.