Skip to main content

Kamiwaza 1.3 release notes

Kamiwaza 1.3 installs with Helm into a Kubernetes cluster that you run. This page covers what is new in 1.3.0, what changed from 1.2, what is deprecated, the known issues for the 1.3 line, and each patch release, newest first. The latest release is 1.3.4.

New in 1.3.0​

1.3.0 was delivered as 1.3.0-rc.1. That chart and its release manifest are the 1.3.0 build.

Installation and distribution​

  • Helm install into a cluster you run. Kamiwaza installs with one helm upgrade --install into a single namespace, as a namespace-scoped identity, without cluster-admin. Kamiwaza no longer sets up Kubernetes, the service mesh, storage, or GPU drivers. A platform administrator prepares those, following the prerequisites page for each environment.
  • Two documented environments: Kubernetes with Istio, and OpenShift with GreyMatter. Each has prerequisites, install, and uninstall pages. On OpenShift, global.platform: osgm selects the OpenShift and GreyMatter settings. See Installation Environments.
  • Public distribution. The chart and every image are published at oci://ghcr.io/kamiwaza-ai/releases/kamiwaza and pull without credentials. Each release publishes a manifest that lists every image.
  • Air-gapped installation from your own registry. Copy the release into your registry and set one registry-prefix value; it re-addresses every image, including App Garden extensions and inference engines. See Install Without Internet Access.
  • Images pinned by digest, each with its third-party license notices. Images built for a release are published under the version's tag, such as release-1.3.3; an image with no tag of its own gets release-1.3.3- followed by 12 characters of its digest. Images that carry their own version, such as PostgreSQL, and App Garden extension images keep their own tags. A published tag never moves.
  • Signed license file. Every installation needs a signed license.lic, checked at startup without contacting Kamiwaza. API responses report the license state, and the UI shows a banner as the term ends. An expired term does not stop the platform. Accepting the EULA is a required install value. See License File.
  • Documented uninstall for each environment.

Platform​

  • Istio Gateway API routing. Kamiwaza attaches its routes to your Istio gateway from its own namespace and checks access at the gateway. Models, apps, and tools are served under paths on one HTTPS origin (/runtime/models|apps|tools/<id>). See Routing modes.
  • Envoy edge without Istio (early release). The chart can deploy a standalone Envoy edge for clusters that do not run Istio (global.ingress.provider: envoy). It is not yet a documented install environment.
  • Relationship-based access control on SpiceDB (early release). Access control is relationship-based by default, with SpiceDB as the backend.
  • Storage. Kamiwaza uses the block StorageClass you provide. Object storage is a built-in SeaweedFS in the namespace by default, or your own S3-compatible service.
  • Generated admin password. If you do not set one, the install generates the admin password and stores it in the kamiwaza-user-admin Secret.

App Garden and extensions​

  • Bundled extension catalog. Each release ships a fixed set of extension versions, so the App Garden works without reaching the online catalog.
  • Administrators choose extension versions. An administrator selects the version of each extension that new deployments use. Running deployments are not changed.
  • Kaizen is now the new Kaizen (v4). The kaizen entry is Kaizen 0.7.1, shown as Kaizen.Next in 1.2. Kaizen v3 continues as Kaizen (Legacy) (kaizen-legacy, 2.1.4), for existing deployments.
  • Extension versions in 1.3.0: Kaizen 0.7.1, Kaizen (Legacy) 2.1.4, OmniParse 2.2.3, Skills Library 0.5.2, Milvus 2.4.11, Graphiti 2.6.7, Kamiwaza DDE 2.5.4, Data Connector Builder and Runtime 0.2.5 (alpha), Google and Microsoft 365 connectors 0.1.1, and the Hello Web sample 1.0.0.
  • Extension developers: the SDK and kz-ext support Kamiwaza 1.3. Upgrade kz-ext, because earlier versions report Kamiwaza 1.3.0 as unsupported. kz-ext refuses build arguments that look like credentials; use BuildKit build secrets instead.

Models and GPUs​

  • Tenant-mode inference. A namespaced installation can serve local models on CPUs and NVIDIA GPUs without reading the cluster's nodes. The cluster owner describes the hardware in a signed profile, and Kamiwaza places each deployment only on that hardware: CPU, whole GPUs, MIG slices, or GPUs shared through the VRAM plugin. The owner tool ships in the Core image. See Tenant-mode inference.
  • Engine catalog. Tenant mode serves llama.cpp, vLLM, diffusion, and whisper.cpp from digest-pinned images, and picks the newest image that both the GPU and the host driver can run.
  • Image generation on NVIDIA GPUs with a first-party diffusion engine.
  • vLLM 0.28.0 (from 0.23.0).
  • Deployments report what they serve: context window, and reasoning and vision support, for local and external models.
  • Claude 5 models through Amazon Bedrock.
  • Embedding improvements, including a bundled default embedding model for installations without internet access.
  • GPU node guide with driver requirements and a check for each step. See GPU Nodes.
  • Hardware: NVIDIA GPUs. AMD GPUs are not supported in 1.3. Platform nodes are x64/amd64. NVIDIA GB10 (DGX Spark, arm64) nodes run inference engines; vLLM on GB10 is available from 1.3.1, and diffusion from 1.3.3.

Federation​

  • Delegated jobs run without KubeRay, so namespaced installations can run them.
  • The execution gate set in Helm takes effect, and the API reports which gate is in force.
  • Retrieval responses say when they are truncated.
  • Clearer pairing errors, and a private certificate authority is shared with peers during pairing.

See Federation 1.3.0 release notes.

Changes from 1.2​

  • No in-place upgrade from 1.2 or earlier. Contact your Kamiwaza representative to plan an assisted migration to a new installation.
  • The installer scripts are removed, including the online installer that set up Kubernetes on the host and the offline bundle. Kamiwaza is no longer distributed through Keygen.
  • A license is required. Kamiwaza does not start without a valid signed license file.
  • macOS is no longer supported. See System Requirements.
  • Removed components: the earlier ingress routing provider, replaced by Istio (see Routing modes), Rook/Ceph storage, KubeRay, and the bundled Grafana and Loki.
  • GPU serving needs setup. A default installation cannot see GPUs, and a GPU deployment returns 422 until the cluster owner turns on tenant-mode inference or grants Kamiwaza read access to nodes. See GPU Nodes.
  • The kaizen entry is a different product. There is no migration from Kaizen v3 to Kaizen v4 in any release. Existing v3 deployments keep running. Adopting Kaizen v4 means a new deployment. The kaizen-next name is retired.
  • Workrooms are built into Kamiwaza, and the Workroom Manager extension is retired. The Workrooms page is off by default.
  • Vespa is not offered in the 1.3 App Garden. Existing Vespa deployments and data are kept.
  • Install and upgrade with Helm only. Applying rendered manifests, for example through Argo CD or Flux, is not supported.
  • Model serving changes: see Model serving 1.3.0 release notes.

Deprecated, removed in 1.4​

  • Kaizen (Legacy) (kaizen-legacy) is removed in 1.4.0, with no migration to Kaizen.
  • The workroom classification field, replaced by level_id.
  • global.workroomManager.surface: extension.
  • A plain string for global.greymatter.proxy.image. Use the registry, repository, and tag fields, or digest.

Known issues​

Open in 1.3.4:

  • A new Kaizen version does not keep data. A new Kaizen deployment starts empty, and stopping a Kaizen deployment in the App Garden deletes its data without a warning in the dialog. See Upgrade Kamiwaza.
  • Kaizen starts with no embedding model selected. Until an administrator selects one, documents are indexed for keyword search only. Selecting a model does not index documents automatically, including documents uploaded afterward; choose Index on each document, or Index selected. The same applies to a new Kaizen deployment.
  • Kaizen's Models screen says the embedding model must return 768-dimensional vectors. The 384-dimensional MiniLM model also works.
  • The Software Engineer agent's language-server tools need internet access.
  • Extra Python or npm packages that the Kaizen images do not include need a package registry or an internal mirror.
  • Model endpoints over plain HTTP or private addresses require core.scheduler.allowInsecureModelEndpoints: true. Turn it on only for endpoints on a network you trust. Cloud metadata addresses stay blocked even when it is on.
  • Istio ambient mode is not supported. Istio must run in sidecar mode.
  • Tenant-mode inference is qualified on k0s with Kubernetes 1.36. A deployment across more than one GPU is not qualified, and MLX is not available in tenant mode.
  • Demoting a linked administrator does not remove Keycloak admin access. The account can retain administrative access through both its existing session and a new login. The fix is deferred to 1.4. Deleting and re-adding the user does not resolve this limitation. Contact Kamiwaza Support before demoting a linked administrator.
  • The external identity provider form cannot select a role claim. The default claim is groups, which Google does not send. A Google provider saved in the UI denies everyone by default; Admit every user instead admits everyone who can sign in through that provider. Domain or email mapping requires the API with role_claim: "hd" or role_claim: "email". Google sign-in with these mappings has not been validated on 1.3.4; contact Kamiwaza Support before using it. Registering Google as generic OIDC is not a workaround.

Fixed:

  • Air-gapped installations failed on the App Garden catalog sync. Fixed in 1.3.1.
  • The bundled embedding model could try to download from the internet. Fixed in 1.3.1.
  • On OpenShift with GreyMatter, a model deployment could start before GreyMatter was ready and not join the mesh. Fixed in 1.3.1.
  • Workroom deletes and membership changes could fail with 503 under load. Fixed in 1.3.1.
  • Tenant-mode diffusion used the engine image from before the 1.3.1 base-image refresh. Fixed in 1.3.2.
  • Kaizen chat failed on Envoy ingress without Istio. Fixed in 1.3.3 for Kaizen that an administrator deploys from the catalog.
  • After a platform upgrade, the App Garden kept the extension versions selected before it until an administrator selected the new ones. Fixed in 1.3.4.

Patch releases​

1.3.4​

Security fixes, owner controls for tenant-mode inference, tool calling on tenant-mode vLLM, Kaizen 0.7.11, and Kaizen (Legacy) 2.1.8.

Before upgrading

  • Back up the Kamiwaza database. After the upgrade, Core from 1.3.3 or earlier does not start on the upgraded database, so you cannot go back with helm rollback. Going back means restoring a backup taken before the upgrade. See Before you start.
  • Upgrade with helm upgrade, not by changing only the Core image. 1.3.4 adds database migrations, which the core-db-init Job runs during helm upgrade. A Core image changed any other way, for example with kubectl set image, refuses to start until that Job has run for the new image, and reports SchemaAnchorError: The db-init service migration phase has no completion receipt for this image. This is expected, and the database is not damaged. Rerun the upgrade command, as described in Upgrade. Do not stamp the database by hand or restore a backup.
  • A Global Milvus VectorDB with a name other than milvus-global-workroom: from 1.3.4 only milvus-global-workroom is the Global Workroom's default. Check whether a custom-named instance receives Global ingest, and choose what to do, as described in A custom-named default Global Milvus.
  • Kubernetes with Istio and OpenShift with GreyMatter: App Garden apps no longer receive the Kamiwaza sign-in cookies. Apps that call Kamiwaza as the signed-in user stop working until an administrator trusts them in your values file, except Kaizen and Kaizen (Legacy) that an administrator deployed from the App Garden on 1.3.3 or later. On OpenShift with GreyMatter, Tool Shed tools also no longer receive any cookies, an Authorization header, or an X-App-Session-Token header. A custom tool that read them stops working, and neither core.auth.runtimeCookies.enforce: false nor core.auth.runtimeCookies.trustedRuntimeTargets restores them. See App Garden apps no longer receive the sign-in cookies.
  • VRAM plugin installed in the kamiwaza namespace: the 1.3.4 VRAM plugin chart refuses to install into kamiwaza or kamiwaza-extensions. Move the plugin to its own namespace, as described in Move a plugin installed in the kamiwaza namespace.
  • OpenShift with Helm 4 and global.imagePullSecrets set: keep the same pull Secret name during the upgrade, and change only the Secret's contents. Renaming it makes the server-side apply conflict with OpenShift's service account controller on the ServiceAccounts' .imagePullSecrets. Helm marks the release failed, and it is left partly applied, although the migrations ran and the workloads rolled. To recover, put the old name back and rerun the upgrade, or run one upgrade with --force-conflicts.
  • Helm 4, where Kamiwaza's core-ray or core-scheduler Role was changed with kubectl (for example, to let it list events): 1.3.4 changes the rules of both Roles, so a server-side apply upgrade stops with a conflict on .rules. Check first, and choose a fix, as described in Upgrading with Helm 4: changes made with kubectl.
  • An execution gate or dataset gate that uses your own class: Kamiwaza now loads a gate class only from its own gate modules, an installed gate package, or a package listed in AUTH_GATE_CLASSPATH_PREFIXES. Before, a class set in the Helm value, in the AUTHZ_EXECUTION_GATE variable, or in a dataset's properties was loaded without that check. If an execution gate's class is not allowed, every job submission is refused with 403 gate_load_error. A dataset whose gate class is not allowed is not served. Check both gates as described in Before you start, and list the package before you upgrade, as described in Allow your gate's classpath.

Action required after upgrading

  • Redeploy each tenant-mode vLLM model that needs tool calling. A deployment gets tool calling only when it is deployed on 1.3.4 or later.
  • Tenant-mode GPU nodes: the cluster owner turns on the node setting that refuses GPU requests made through environment variables. Tenant-mode GPU serving requires it. If you share GPUs with the VRAM plugin, first upgrade the plugin with this release's chart: on a node with the setting, the 1.3.3 plugin's shares start without a GPU. See Refuse GPU requests by environment.
  • Kubernetes with Istio and OpenShift with GreyMatter: replace the ForwardAuth signing secret, unless only administrators you trust could deploy App Garden apps or tools. Before 1.3.4, a user who could deploy one could read it. See Rotate the ForwardAuth signing secret.
  • An extension credential an administrator entered before 1.3.4: rotate it. App Garden deployments created before 1.3.4 keep their extension credentials as plain environment variables, which anyone who can read pods or ConfigMaps in Kamiwaza's namespace can read. Catalog defaults need no action. See Extension credentials from before 1.3.4.
  • OmniParse, ontology, and VectorDB instances in workrooms: the upgrade removes the settings that only administrators can now set, such as endpoints, API keys, TLS settings, proxies, and trust stores, from OmniParse, ontology, and VectorDB instances in workrooms other than the Global Workroom, including values an administrator set. When Core first starts after the upgrade, it also removes them from those instances' running pods, which restart once. An administrator must check Core's log for instances it did not finish, and set the intended values again; a value set again does not reach a running pod. See Workroom context settings removed by the upgrade.

Security

  • On Kubernetes with Istio and on OpenShift with GreyMatter, App Garden apps no longer receive the Kamiwaza sign-in cookies with each request, unless an administrator trusts the app. Before, any app a user opened could call Kamiwaza as that user. On OpenShift with GreyMatter, Tool Shed tools also no longer receive any cookies, an Authorization header, or an X-App-Session-Token header.
  • Where Kamiwaza removes its sign-in cookies from a request, it now also ends a cookie at a comma, so a combined Cookie header cannot hide a sign-in cookie inside another cookie's value. A cookie value that contains a comma, which RFC 6265 does not allow, reaches the workload split at the comma: theme="a,b" arrives as theme="a; b". This applies on Envoy ingress without Istio to apps and tools, and on Kubernetes with Istio and on OpenShift with GreyMatter to App Garden apps that are not trusted with the session.
  • App Garden environment values can no longer use {forwardauth_signature_secret}; a deployment that does is refused with an error that says why. Before, a user who could deploy an app could read the platform's ForwardAuth signing secret through the API.
  • New App Garden deployments keep an extension's credentials in Kubernetes Secrets instead of the pod specification. App Garden deployment responses no longer return credentials: credential-named environment values are left out, and passwords in URLs and compose text are masked. Template responses do the same for users who are not administrators. Administrators, who author templates, still get the template text as written.
  • Disabling or deleting a user who is linked to a Keycloak account now disables that account, ends its sessions, and revokes its API tokens. Before, the user's existing credentials kept working. Users disabled or deleted on an earlier release are refused by Kamiwaza, but their Keycloak accounts stay enabled until you repeat the change; see Users disabled or deleted before the upgrade.
  • A user who is linked to a Keycloak account can no longer be renamed; the request returns 409. Renaming one and then resetting its password created a second Keycloak account that disabling or deleting the user did not reach.
  • Users who are not administrators can set only the model selection, enable, timeout, and processing settings of an OmniParse instance. Endpoints, API keys, TLS settings, and every other key need an administrator; anyone else gets 403.
  • A dataset create or update request that sets or changes a gate key (gate, gate_type, or gate_*) in properties is refused with 400. Bind or remove a dataset gate with PUT or DELETE /api/catalog/datasets/{urn}/gate.
  • A runtime route (/runtime/apps/<name> or /runtime/tools/<name>) in a workroom you cannot access returns 404 runtime_target_not_found instead of 403. On Envoy ingress without Istio, that is the same answer as for a name that does not exist.
  • On Kubernetes with Istio, the access check on model and tool routes runs even if the step that decides whether to check fails, and model engines can reach only the access check on Core's API.
  • The cluster owner of a tenant-mode installation can anchor the signed profile on the kamiwaza namespace, so the Helm values cannot replace the owner's key or put back an earlier profile, and can cap the accelerators the namespace can request. Both use owner_tool from the Core image, are optional in 1.3, and are planned to be required from 1.4. See Anchor the profile on the namespace and Cap the namespace's accelerators.
  • On Kubernetes with Istio, a cluster administrator can apply a pod security guard that enforces the Pod Security baseline controls in Kamiwaza's namespaces. On an existing installation, apply it in warn mode first. See Pod security guard.
  • Users can create their own VectorDBs in the Global Workroom. Only the owner and administrators can see or use one; anyone else gets 404. Owners share one through /api/authz/resources/context_vectordb/grants.
  • The shared Global Milvus, milvus-global-workroom, belongs to the system, and Global ingest and search always use it. In 1.3.3, the first user to ingest into the Global Workroom became its owner. Kamiwaza now releases that owner on startup. Creating a Global OmniParse instance still needs an administrator.
  • POST /api/context/ontologies/{id}/graph/bulk with "mode": "replace_group" in the request body deletes the whole target graph first, so only the workroom owner (in the Global Workroom, the ontology instance's owner) or an administrator may send it. Anyone else gets 400 with code replace_group_requires_owner, and must use "mode": "merge", which upserts.
  • Service and connector extensions, such as service-graphiti, accept connections only from Core and from the callers their template declares, on every routing provider. Before, on Kubernetes with Istio and on OpenShift with GreyMatter, any App Garden app could call them directly. Existing deployments are narrowed after the upgrade: each one's main pod restarts once, on its own, to close old connections. A service whose pod is replaced rather than rolled, such as standalone Milvus, is briefly unavailable. Calling a service extension's pods directly from another app is not supported.

Fixes and improvements

  • After a platform upgrade, App Garden selections below the release's extension versions, including ones an administrator chose, move up to those versions. New deployments then use the versions the release ships. Running deployments are not changed.
  • An extension whose image cannot be pulled fails, and its error names the image and the registry's reason. Before, it waited out the readiness timeout.
  • An App Garden app whose image takes longer than 10 minutes to pull is no longer marked failed. A launch that does fail removes the app's Kubernetes workloads.
  • Tenant-mode vLLM supports tool calling. A deployment whose chat template accepts tools starts with --enable-auto-tool-choice and the tool-call parser for its model family. tool_call_parser and enable_auto_tool_choice in the model configuration override that.
  • After a Ray head restart, an external model deployment whose route is missing waits for Ray and recovers under the same ID, instead of stopping.
  • On Envoy ingress without Istio, runtime routes say why they refuse a request: a route that is still deploying returns 409 with Retry-After, and an access check that cannot complete returns 503 with a reason, instead of an empty 403.
  • A request to a /runtime/ path that has no route returns 404 instead of 200.
  • Requests that cannot work say why. A model registration that puts external-endpoint settings outside external_endpoint, and POST /api/apps/deploy_app without template_id, are refused with 422 instead of failing later. A refused App Garden environment value returns 400 with the reason.
  • Names that start with kz-visibility-stand-in- are reserved. Creating an extension or app deployment with one is refused with 422.
  • The Settings page shows the Kamiwaza version, and the build's commit when you hover over or focus it.
  • On OpenShift with global.imagePullSecrets set, a Helm 4 server-side apply upgrade no longer fails with a conflict on the ServiceAccounts' imagePullSecrets.
  • The VRAM plugin chart refuses to install on a cluster whose NVIDIA GPU Operator runs its container toolkit in CDI mode, where shares cannot start. VRAM sharing needs the toolkit installed on the host; see GPU Nodes.
  • Kaizen (Legacy) 2.1.8 sends model calls through Kamiwaza's authenticated model routes by default, instead of directly to the model server.
  • Kaizen 0.7.11 runs its code sandbox on OpenShift clusters whose security policy assigns Pod user and group IDs, such as the default restricted-v2. Before, code execution never started there and members were told the sandbox was busy. If the cluster still refuses to start sandbox workers, members are told code execution is unavailable, and a Kaizen administrator sees the cluster's reason on the Kaizen Setup page.
  • The Google and Microsoft 365 connector images are published with the release. In 1.3.2 and 1.3.3 they were missing from the release, so the connectors could not be deployed.
  • The air-gapped field kit's release includes every file its README uses: the INTAKE-<version>.json intake record, the pickup runbook, and the files bundle. The 1.3.3 kit could not be followed as written.
  • POST /api/context/ontologies/{id}/graph/bulk writes many graph records in one request, through Core. It needs service-graphiti 2.7.0 or later, and returns 501 against an earlier version. Core refuses a body larger than CONTEXT_SERVICE_GRAPH_BULK_MAX_BODY_BYTES (default 16 MiB, the same as service-graphiti's own limit) with 413 graph_bulk_body_too_large, without reading more than the limit. A busy graph writer, an unavailable embedding model, or a slow upload returns 503 with Retry-After; retry it.
  • Writable datasets can be created in the Global Workroom. Before, they needed a workroom.
  • Extension versions: Kaizen 0.7.11, Kaizen (Legacy) 2.1.8, Graphiti 2.7.1, Milvus 2.4.15, Skills Library 0.5.5, OmniParse 2.2.8, and Data Connector Builder and Runtime 0.2.7 (alpha). The other extensions are unchanged from 1.3.3.

1.3.3​

Security fixes, Kaizen 0.7.6, and OmniParse 2.2.7.

Before upgrading

  • Kubernetes with Istio: global.authz.extAuthz.serviceHost must be unset, or name core-api.<namespace>.svc.<cluster domain> in Kamiwaza's namespace. Any other value makes helm upgrade fail before it changes anything. See Upgrade Kamiwaza.

Action required after upgrading

  • Redeploy every tenant-mode model. Models deployed earlier do not get the new model-route authentication until redeployed, and diffusion deployments from earlier releases are refused through the gateway until redeployed.
  • Select Kaizen 0.7.6 and OmniParse 2.2.7 in the App Garden, then redeploy OmniParse. Kaizen 0.7.6 is a new deployment; see Upgrade Kamiwaza.
  • Air-gapped installations: keep the earlier Kaizen images in your registry while deployments of earlier Kaizen versions still run.

Security

  • On Kubernetes with Istio, model routes (/runtime/models/...) now require credentials. Before, they answered unauthenticated requests through the gateway.
  • Direct-runtime tool routes (/runtime/tools/...), including MCP tools and OmniParse, now run Kamiwaza's access check. Core updates existing tool routes when it starts.
  • Extension network policies admit only each extension's primary port, so an extension's data stores are no longer reachable from the whole namespace.
  • Kaizen 0.7.6 generates unique service credentials for each deployment and keeps its sandbox worker token in a Secret instead of the pod specification.
  • Updated OmniParse 2.2.7 (mcp 2.3.0), the CUDA diffusion engine (torchvision 0.28.0 with CUDA 12.9, without FFmpeg), and Keycloak (v26.7.4-kz.4).
  • Rebuilt the vLLM 0.28.0 CUDA engine images with security fixes (v0.28.0-kz.6, and v0.28.0-arm64.kz.5 for GB10).

Fixes and improvements

  • Kaizen chat works on Envoy ingress without Istio when an administrator deploys Kaizen from the catalog (core.auth.modelInference.trustedRuntimeTargets, default [template:kaizen]).
  • CUDA diffusion runs on NVIDIA GB10 (arm64).
  • Model staging no longer runs out of memory on nodes with slow disks.
  • Tenant-mode vLLM pods are no longer evicted while compiling a model.
  • App Garden deploy errors name the missing required variable.
  • GET /api/kamiwaza/metadata returns the running Core version and build.
  • Kaizen 0.7.6: Project members can search and cite documents shared with the Project, Kaizen says when it cannot do something instead of failing the turn, a chat that finishes in a hidden tab raises a notification, and TLS certificate errors name the cause and the fix.

1.3.2​

Extension and security updates.

  • Kaizen 0.7.4, Kaizen (Legacy) 2.1.6, OmniParse 2.2.6, Skills Library 0.5.4, Milvus 2.4.12, Graphiti 2.6.9, Kamiwaza DDE 2.5.5, and Data Connector Builder and Runtime 0.2.6.
  • The VRAM plugin chart is published with the release. See GPU Nodes.
  • Tenant-mode diffusion uses the refreshed engine image.

1.3.1​

Fixes, Kaizen 0.7.3, and security updates. 1.3.1 is the first release with a field kit for air-gapped sites: an intake list of every image, scripts to fetch and verify the release, and values templates for a site registry. If your transfer process changes image digests, install with the values the field kit generates in its tag mode (IMAGE_REF_MODE=tag, the default), which refer to every image by tag; its intake check verifies the copies in your registry.

Action required after upgrading

  • Air-gapped installations: set core.templates.availability.enabled: false, as in step 5 of Install Without Internet Access. The field kit includes it as kamiwaza-offline.yaml.
  • Kaizen on air-gapped installations: setting Sandbox outbound scope (SANDBOX_EGRESS_MODE) to isolated is recommended.

Fixes and improvements

  • Air-gapped installations no longer fail on the App Garden catalog sync.
  • The bundled embedding model loads only from the bundle, and reports a clear error if the file is missing or does not match its checksum.
  • On OpenShift with GreyMatter, model deployments wait for GreyMatter, and model pods that started too early are restarted.
  • Workroom deletes and membership changes wait for internal locks instead of failing with 503.
  • vLLM on NVIDIA GB10 (DGX Spark) in tenant-mode inference.
  • OpenAI-compatible model endpoints other than OpenAI, such as vLLM, Ollama, or LiteLLM, can receive the requested reasoning effort. Turn it on with supports_reasoning_effort in the model configuration's external_endpoint; see OpenAI-compatible chat.
  • Kaizen 0.7.3 (includes 0.7.2):
    • Built-in agent tools work without internet access, and the code sandbox includes a Python data and document stack (pandas, NumPy, SciPy, Matplotlib, openpyxl, python-docx, python-pptx, ReportLab, pypdf).
    • Hybrid search and semantic indexing reach the embedding model reliably.
    • Kaizen lists models on Envoy ingress without Istio.
    • Tasks are off by default for new deployments (Durable Tasks, TASKS_ENABLED). Existing deployments keep their setting.
    • A mobile layout, scoped public web access, and federated cluster tools (off by default; FEDERATION_TOOLS_ENABLED).
    • Multipart upload limit. By default, at most two multipart upload parts use a database connection at the same time, across all API replicas. Additional parts get a retryable 429, and a large browser upload under sustained load can use up its retries and fail. Raise MULTIPART_PART_DB_CONNECTION_BUDGET only after you confirm that your database has spare connections, and use the same value on every API replica.
    • Reliability and clearer error messages.
  • Extension versions: Kaizen 0.7.3, OmniParse 2.2.4, Skills Library 0.5.3, Hello Web 1.0.1.

Security

  • Updated the Core, frontend, and Keycloak user-setup base images (Node.js 22, Python 3.12), nginx 1.30.5 in the Hello Web sample, OmniParse 2.2.4 dependencies and base image, the Kaizen 0.7.3 base images, the Skills Library 0.5.3 dependencies, and source-map-js 1.2.2 (GHSA-68fv-2mgg-jv7q).