---
title: "Release Map"
url: "https://docs.caracal.run/v1.0/reference/release-package-runtime-map/"
markdown_url: "https://docs.caracal.run/markdown/v1.0/reference/release-package-runtime-map.md"
description: "Lockstep SemVer mapping for packages, images, binaries, chart, release records, and documentation."
page_type: "reference"
concepts: []
requires: []
---

# Release Map

Canonical URL: https://docs.caracal.run/v1.0/reference/release-package-runtime-map/
Markdown URL: https://docs.caracal.run/markdown/v1.0/reference/release-package-runtime-map.md
Description: Lockstep SemVer mapping for packages, images, binaries, chart, release records, and documentation.
Page type: reference
Concepts: none
Requires: none

---

## Repository Release Surfaces

`release.config.json` `product.version` is authoritative. The current source state is `1.0.0-rc.3`; successive release candidates increment `-rc.N`.

| Surface                | Current source                                                      |
| ---------------------- | ------------------------------------------------------------------- |
| Root package manager   | `package.json` declares `pnpm@11.1.1`.                              |
| Release scripts        | `scripts/release.sh`, `scripts/release.mjs`, `release.config.json`. |
| Docker runtime compose | `infra/docker/runtime-compose.yml`.                                 |
| Helm chart             | `infra/helm/caracal/Chart.yaml` and values files.                   |
| Docs build             | `docs/package.json`.                                                |

## Service Images

Caracal shares built images across roles, but each role remains a separate process or pod.

| Image name         | Roles                      | Runtime  |
| ------------------ | -------------------------- | -------- |
| `caracal-node`     | API, Coordinator           | Node     |
| `caracal-go`       | STS, Gateway, Audit        | Go       |
| `caracal-web`      | Web console, auth BFF      | Node     |
| `caracal-postgres` | Postgres, migrations       | -        |
| `caracal-redis`    | Redis, stream provisioning | -        |
| `caracal-runtime`  | Runtime distribution       | Node/Bun |

Role selection:

* `caracal-node` → `command: ["/app/api/dist/main.js"]` or `["/app/coordinator/dist/main.js"]`.
* `caracal-go` → `command: ["/usr/local/bin/sts"]`, `["/usr/local/bin/gateway"]`, or `["/usr/local/bin/audit"]`.

Runtime Compose references `${CARACAL_REGISTRY:-ghcr.io/garudex-labs/}<image>:v${CARACAL_VERSION}`.

## Published Package Names

| Area          | TypeScript              | Python                 | Go                                                       |
| ------------- | ----------------------- | ---------------------- | -------------------------------------------------------- |
| SDK           | `@caracalai/sdk`        | `caracalai-sdk`        | `github.com/garudex-labs/caracal/packages/sdk/go`        |
| Admin         | `@caracalai/admin`      | `caracalai-admin`      | `github.com/garudex-labs/caracal/packages/admin/go`      |
| Core          | `@caracalai/core`       | `caracalai-core`       | `github.com/garudex-labs/caracal/packages/core/go`       |
| Identity      | `@caracalai/identity`   | `caracalai-identity`   | `github.com/garudex-labs/caracal/packages/identity/go`   |
| OAuth         | `@caracalai/oauth`      | `caracalai-oauth`      | `github.com/garudex-labs/caracal/packages/oauth/go`      |
| Revocation    | `@caracalai/revocation` | `caracalai-revocation` | `github.com/garudex-labs/caracal/packages/revocation/go` |
| Verify engine | `@caracalai/verify`     | `caracalai-verify`     | `github.com/garudex-labs/caracal/packages/verify/go`     |

## Versioning Notes

* One product release stamps every package, image, binary, chart, and generated release record with the same SemVer.
* Every nested Go module uses `<module-directory>/vX.Y.Z[-rc.N]` at the same commit as the root product tag.
* Pin exact image tags in production values.
* Run migration and readiness validation after image or chart changes.
* Do not use product-management runtime CLI aliases as release surfaces; broad automation belongs to the Admin API and zone-scoped dispatch belongs to the Control API.

## Documentation Mapping

* Before stable `v0.2.0`, unversioned source is served at `/v0.2/`; no `v0.2` snapshot directory exists.
* Stable `v0.2.0` creates the writable `v0.2` snapshot.
* `v0.2.x` patches update that same current minor after release; they never create patch-specific documentation trees.
* A later stable minor archives unversioned source as the new current snapshot, exposes ongoing work at `/next/`, and locks the superseded minor with its SHA-256 digest.

## Next Step

Use [Wire Contracts](/v1.0/reference/interoperability-contracts/) when validating SDK, adapter, exporter, or connector compatibility.
