Release Notes: 0.1.0¶
The first versioned release. It fixes the nine security findings of the September 2026 independent assessment, adds versioned, signed container images alongside the VPS tarball, and makes every service report its version.
Summary¶
- Authorization. A person never grants more authority than they hold at that scope. Role assignments, Team membership sources, directory mappings and custom role definitions all require the granter's own permissions. The one exception: a Team's member managers may give its presets to other people when a preset goes beyond their own permissions only by content reading. See Roles and permissions.
- Enterprise sign-in. While enterprise sign-in is configured, directory-provisioned accounts sign in only through the identity provider. Magic links, GitHub, and GitHub accounts linked earlier no longer sign them in. They also stay within their own Organization: they cannot use another Organization's invitations, and SCIM cannot change the address of an account that belongs to another Organization.
- Stored credentials. The Console keeps no GitHub OAuth token; the database clears one written by any path. Any other provider token is encrypted at rest. Suspending or deactivating a person also deletes their own Connector OAuth tokens, grants and header values.
- Audit. Management and legacy audit events are append-only in the database. Management audit events form a hash chain per Organization, export as NDJSON through
GET /management/v1/audit-events, and verify withaudit:verify. Trace exports and audit exports are audited. - Configuration secrets. Organization YAML
env/NAMEreferences cannot name platform settings, cloud SDK identity variables or platform namespaces. See Names Organization YAML cannot reference. - Regular expressions. Tool-rule patterns, the built-in secret and PII shapes and model guardrails match in RE2, in linear time, within fixed per-decision limits that fail closed. Evaluation assertion patterns run in a separate RE2 instance. See Regular expressions.
- Telemetry. An Organization with standard OTLP disabled no longer causes other Organizations' gateway spans in the same export batch to be dropped.
- Versions and images. Services report their version. Releases publish signed images with SBOMs; see Container images and Versions and compatibility.
Migrations¶
| Migration | Effect |
|---|---|
0003_discard_github_oauth_tokens |
Clears the GitHub OAuth tokens earlier releases stored. |
0004_append_only_audit_events |
Refuses update, delete and truncate of audit events; removing an Organization still cascades. |
0005_end_directory_local_sessions |
Ends every Console session of a directory-provisioned account, once. |
0006_keep_no_github_tokens |
Clears GitHub tokens on every account write, and removes GitHub accounts linked to directory-provisioned people. |
0007_chain_management_audit |
Adds a hash chain to management audit events, chaining existing events once in seq order per Organization. New events draw seq after the chain lock, so seq values skip one per event. |
All five are additive in the sense of Versions and compatibility: the previous release runs against the migrated database, so a code-only rollback stays available.
Upgrade steps¶
- Back up the database (Backup and restore).
- From the new release's
platform/, in the gateway's environment, runpnpm --filter @mission-control/gateway config:checkagainst your configuration. Fix what it refuses:- a tool-rule
regexthat uses look-around, backreferences or a pattern too large for RE2 fails withRule <id> has an invalid regex; rewrite it; - an
env/NAMEreference to a reserved name fails withSecret reference names a reserved platform environment variable; move the value to an Organization-owned variable.
- a tool-rule
- Upgrade as usual (Upgrade and rollback).
- Tell directory-provisioned people that they will sign in again, through the identity provider.
Deprecations¶
None.
Breaking changes¶
- Tool-rule
regexpatterns are RE2 expressions, not JavaScript ones: look-around and backreferences are refused, and\d,\w,\sand\bmatch ASCII characters only. - On text longer than one search window, a custom
regexwith an unbounded repetition (*,+,{n,}) counts as matching unless a window finds a match:blockblocks andredactreplaces the rest of the text. Bound the repetition, for example{1,64}, to keep large texts searchable. - Directory-provisioned accounts can no longer use magic links or GitHub while enterprise sign-in is configured.
- Organization YAML can no longer reference platform environment variables.
Verification¶
After the upgrade:
Expected result: HTTP 200 with "version":"0.1.0", and each component in componentVersions reporting 0.1.0 except the Collector, which reports unknown. Verify published images as described in Verify an image.