Skip to content

v0.7.3

Latest

Choose a tag to compare

@github-actions github-actions released this 31 Aug 18:05
· 9 commits to main since this release
Immutable release. Only release title and notes can be modified.
cffd0f2

[0.7.3] - 2026-08-31

This is the security fix-forward for 0.7.0. The protected 0.7.1 and 0.7.2
tag workflows both stopped before creating a GitHub Release: 0.7.1 failed its
release-note contract, while 0.7.2 exposed and removed a non-hermetic proxy
unit test that depended on public httpbin.org. Publication remains gated on
protected-branch CI and the tag-triggered immutable-release workflow. The web
changes also require the included Supabase migration before deployment; source
publication does not imply that migration or the web application is active in
production.

Breaking security changes

  • phantom exec and phantom start accept only Phantom's exact built-in API
    routes. Repository-defined or altered proxy destinations now fail closed
    until a future trusted-terminal approval format can bind custom routes to a
    machine-local decision.
  • .phantom.toml keeps its committed project ID as the portable cloud/team
    identity, while local vault, shadow, and scheduler state are namespaced from
    the canonical checkout directory. A clone or move therefore keeps its remote
    identity but starts with isolated local state and cannot select another
    checkout's vault through repository config.
  • Protected connection strings such as DATABASE_URL are no longer injected
    into an agent child process. These now fail closed pending a protocol-aware
    database broker.
  • Runtime mock-rotation and alternate Stripe endpoint environment variables no
    longer activate in shipped binaries. Hermetic mock behavior is compiled only
    into unit tests.

Security

  • Pins Phantom Cloud authentication to https://phm.dev/api/v1; runtime API
    origin overrides are rejected before cloud network access.
  • Replaces secret-derived response labels with the constant
    [REDACTED:vault-secret], including short and Unicode values.
  • Disables upstream redirects, buffers and validates complete bounded request
    bodies before contacting an upstream, and bounds buffered upstream responses
    before redaction.
  • Rejects unsafe file-vault project IDs before creating any vault path.
  • Makes audit statistics verify the HMAC chain and treats unsigned records
    appended after a signed chain as tampering.
  • Makes GitHub login identity immutable to ordinary user updates, resolves team
    invites through a normalized unique identity, and moves device-code issuance
    plus per-client/global rate limiting into one database transaction.
  • Removes device codes from OAuth URLs and analytics page-view capture, strictly
    validates team X25519 public keys, and adds browser isolation headers.
  • Updates Rust and video dependency graphs to resolve actionable advisories.

Breaking changes and migration

  • Treat 0.7.0 and the unpublished 0.7.1 and 0.7.2 tags as superseded, and
    upgrade to 0.7.3 before using cloud, team,
    proxy, connection-string, provider-rotation, or agent execution workflows.
  • Local vault namespaces now use a domain-separated SHA-256 digest of the
    canonical checkout path. The former 64-bit path namespace is deliberately
    not opened automatically because collision compatibility would preserve a
    cross-vault selection risk. Before upgrading an offline-only 0.7.0
    checkout, create an encrypted backup with phantom export --output FILE from
    a trusted terminal; after upgrading, restore it with phantom import FILE.
    Cloud/team users can instead repopulate through a normal encrypted pull.
    Never copy plaintext secret values into a repository.

What's Changed

Full Changelog: v0.7.2...v0.7.3