Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 21 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# Changelog

## Unreleased
## v0.10.0 - 2026-08-17

Source manifests are prepared as the coordinated `0.10.0-next.0` candidate.
This is local release-preparation evidence only: the candidate is not claimed
as published, the npm `next` channel must be verified independently, and the
documented public stable release remains `0.9.0` until registry evidence says
otherwise.
Source manifests are prepared as the coordinated `0.10.0` release for all 18
public packages, including the first publications of
`@opentag/control-protocol` and `@opentag/delivery-contract`. Source state is
release-preparation evidence only: npm registry metadata remains
authoritative, and `0.9.0` remains the published stable release until the
`0.10.0` publication and promotion complete on the registry.

OpenTag now applies a zero-config verified completion tier to GitHub-backed
runs. When a run ships a pull request and the repository has no explicit
Expand Down Expand Up @@ -36,6 +37,20 @@ executor-success semantics.
local runtime, the daemon config field `daemon.defaultGitHubCompletion`, and
the `OPENTAG_GITHUB_DEFAULT_COMPLETION` environment variable (`governed`
default, `compat` preserves legacy executor-success semantics).
- `@opentag/control-protocol`, a new public package carrying the canonical
Control V1 schemas, types, canonical-JSON digest helpers, completion
handling, and credential-safety utilities. Core keeps a compatibility
re-export, and Client depends on the protocol package directly.
- `@opentag/delivery-contract`, a new public package carrying the canonical
delivery-observation fixtures and receipt contracts for the unified
delivery vertical.
- An optional self-hosted Control Plane (private `@opentag/control-plane` OCI
image, not an npm package) with a Node/Hono/PostgreSQL runtime, a same-origin
React operator console, tenant-scoped identity with durable login throttling,
runner and target management, fenced hosted-run coordination, governed
permissions, GitHub ingress that stays disabled without an explicit master
secret, management audit, recurring jobs, and a Docker Compose self-hosting
profile.

### Compatibility and migration

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -326,8 +326,8 @@ opentag-dev setup

## Packages

Package source candidate: `v0.10.0-next.0`. This source state is prepared for
local release validation only; it is not evidence that the candidate was
Package source release: `v0.10.0`. This source state is prepared for
local release validation only; it is not evidence that the release was
published. npm dist-tags remain authoritative for public channel versions, and
`0.9.0` remains the documented stable release until registry evidence says
otherwise. The coordinated package family contains 18 public packages under
Expand Down
4 changes: 2 additions & 2 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -309,8 +309,8 @@ opentag-dev setup

## 软件包

当前源码候选版本:`v0.10.0-next.0`。此源码状态只表示已准备本地发布验证,
不代表候选版本已经发布;npm dist-tag 仍是公开通道版本的权威来源,在注册表
当前源码发布版本:`v0.10.0`。此源码状态只表示已准备本地发布验证,
不代表该版本已经发布;npm dist-tag 仍是公开通道版本的权威来源,在注册表
证据表明发生变化前,`0.9.0` 仍是文档所述的稳定版本。OpenTag 在
`@opentag` scope 下协调发布 18 个公开软件包。

Expand Down
2 changes: 1 addition & 1 deletion docs/live-e2e-smoke-harness.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ smoke_root="$(mktemp -d)"
set -euo pipefail
cd "$smoke_root"
npm init -y >/dev/null
npm install --no-audit --no-fund @opentag/cli@0.9.0
npm install --no-audit --no-fund @opentag/cli@0.10.0
./node_modules/.bin/opentag --version
)
```
Expand Down
18 changes: 11 additions & 7 deletions docs/npm-prerelease.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
# npm Prerelease Candidate Procedure

**Historical candidate-only procedure.** It does not authorize the next OpenTag
release. If a future release is explicitly approved to publish a stable version
directly to `latest`, do not use this document: assign the stable version and
update the stable release runbook in a separately authorized release change.

This document defines the release contract for the coordinated
**Historical candidate-only procedure, superseded.** It does not authorize the
next OpenTag release. If a future release is explicitly approved to publish a
stable version directly to `latest`, do not use this document: assign the
stable version and update the stable release runbook in a separately
authorized release change. That authorization happened for `0.10.0`: the
source family was reassigned to the stable `0.10.0` version and the release
procedure moved to [`npm-release.md`](npm-release.md). The `0.10.0-next.0`
candidate described here was never published.

This document defined the release contract for the coordinated
`0.10.0-next.0` package family. It prepares an operator-controlled candidate;
it does not authorize publication and it is not evidence that any npm or Git
operation has occurred.

The stable `0.9.0` procedure remains in [`npm-release.md`](npm-release.md).
The stable procedure remains in [`npm-release.md`](npm-release.md).
Registry metadata is authoritative for public availability. Source manifests,
local tarballs, passing tests, and this guide cannot establish that a candidate
is published.
Expand Down
Loading