Skip to content

Commit e80385c

Browse files
committed
chore(release): prepare v0.12.0
1 parent 63cea1d commit e80385c

7 files changed

Lines changed: 38 additions & 11 deletions

File tree

.github/workflows/release.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,7 @@ jobs:
217217
218218
if [ -z "${MINTLIFY_DEPLOY_COOKIE:-}" ]; then
219219
echo "MINTLIFY_DEPLOY_COOKIE is not configured; skipping Mintlify deployment trigger."
220+
echo "status=skipped" >> "$GITHUB_OUTPUT"
220221
exit 0
221222
fi
222223
@@ -227,6 +228,7 @@ jobs:
227228
-H "referer: https://app.mintlify.com/kagi-cli/kagi-cli" \
228229
-H "cookie: ${MINTLIFY_DEPLOY_COOKIE}" \
229230
https://app.mintlify.com/api/deployment/update/kagi-cli
231+
echo "status=triggered" >> "$GITHUB_OUTPUT"
230232
231233
- name: Sync Homebrew tap and Scoop bucket
232234
id: sync_package_indexes
@@ -238,6 +240,7 @@ jobs:
238240
239241
if [ -z "${REPO_SYNC_TOKEN:-}" ]; then
240242
echo "REPO_SYNC_TOKEN is not configured; skipping Homebrew/Scoop sync."
243+
echo "status=skipped" >> "$GITHUB_OUTPUT"
241244
exit 0
242245
fi
243246
@@ -373,6 +376,7 @@ jobs:
373376
git -C "$BUCKET_DIR" commit -m "chore: update kagi manifest for ${RELEASE_TAG}"
374377
push_with_token "$BUCKET_DIR"
375378
fi
379+
echo "status=synced" >> "$GITHUB_OUTPUT"
376380
377381
- name: Sync AUR package
378382
id: sync_aur_package
@@ -384,6 +388,7 @@ jobs:
384388
385389
if [ -z "${AUR_SSH_PRIVATE_KEY:-}" ]; then
386390
echo "AUR_SSH_PRIVATE_KEY is not configured; skipping AUR sync."
391+
echo "status=skipped" >> "$GITHUB_OUTPUT"
387392
exit 0
388393
fi
389394
@@ -505,18 +510,19 @@ jobs:
505510
git -C "$AUR_DIR" commit -m "chore: update kagi-cli for ${RELEASE_TAG}"
506511
git -C "$AUR_DIR" push origin master
507512
fi
513+
echo "status=synced" >> "$GITHUB_OUTPUT"
508514
509515
- name: Report package index sync warning
510-
if: steps.sync_package_indexes.outcome == 'failure'
516+
if: steps.sync_package_indexes.outcome == 'failure' || steps.sync_package_indexes.outputs.status == 'skipped'
511517
run: |
512-
echo "::warning title=Package index sync failed::GitHub release assets were published, but Homebrew/Scoop sync did not complete. Check the release job logs."
518+
echo "::warning title=Package index sync incomplete::GitHub release assets were published, but Homebrew/Scoop sync did not complete. Configure REPO_SYNC_TOKEN or update the package indexes manually."
513519
514520
- name: Report AUR package sync warning
515-
if: steps.sync_aur_package.outcome == 'failure'
521+
if: steps.sync_aur_package.outcome == 'failure' || steps.sync_aur_package.outputs.status == 'skipped'
516522
run: |
517-
echo "::warning title=AUR package sync failed::GitHub release assets were published, but the AUR package was not updated. Check the release job logs."
523+
echo "::warning title=AUR package sync incomplete::GitHub release assets were published, but the AUR package was not updated. Configure AUR_SSH_PRIVATE_KEY or update the AUR package manually."
518524
519525
- name: Report Mintlify deployment warning
520-
if: steps.trigger_mintlify_docs.outcome == 'failure'
526+
if: steps.trigger_mintlify_docs.outcome == 'failure' || steps.trigger_mintlify_docs.outputs.status == 'skipped'
521527
run: |
522-
echo "::warning title=Mintlify deployment trigger failed::GitHub release assets were published, but the private Mintlify deployment endpoint did not accept the configured cookie. Rotate MINTLIFY_DEPLOY_COOKIE or trigger the deployment from the Mintlify dashboard."
528+
echo "::warning title=Mintlify deployment incomplete::GitHub release assets were published, but docs deployment was not confirmed. Configure or rotate MINTLIFY_DEPLOY_COOKIE, or trigger the deployment from the Mintlify dashboard."

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,23 @@ Before `1.0.0`, breaking changes may still ship in minor releases.
77

88
## [Unreleased]
99

10+
## [0.12.0]
11+
12+
### Added
13+
14+
- `kagi assistant` now supports built-in and file-backed JSON contracts for prompt responses, validates the final Assistant output before printing it, and makes one repair attempt when the model returns invalid JSON.
15+
- CLI failures can opt into structured JSON error envelopes with `--error-format json` or `KAGI_ERROR_FORMAT=json`.
16+
- `kagi search --lens` now accepts exact enabled lens names as well as numeric lens positions.
17+
- `kagi extract --filter` now reads HTTPS URLs from stdin and emits ordered JSONL records for pipeline-friendly batch extraction.
18+
19+
### Changed
20+
21+
- Release automation now emits explicit warnings when optional Homebrew, Scoop, AUR, or Mintlify sync credentials are missing or stale.
22+
23+
### Fixed
24+
25+
- Updated `quinn-proto` to clear the current RustSec `cargo audit` gate.
26+
1027
## [0.11.0]
1128

1229
### Changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "kagi"
3-
version = "0.10.0"
3+
version = "0.12.0"
44
edition = "2024"
55
description = "Agent-native CLI for Kagi subscribers with JSON-first search output"
66
license = "MIT"

docs/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,4 +256,4 @@ The *kagi* CLI is open source and welcomes contributions. See the [Development G
256256

257257
---
258258

259-
*Last updated: June 2026 | kagi CLI v0.10.0*
259+
*Last updated: June 2026 | kagi CLI v0.12.0*

docs/release-runbook.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Ship one version across the Rust CLI, GitHub release assets, npm wrapper, Homebr
1717
- `REPO_SYNC_TOKEN` GitHub Actions secret for `Microck/homebrew-kagi` and `Microck/scoop-kagi`
1818
- `AUR_SSH_PRIVATE_KEY` GitHub Actions secret for `ssh://aur@aur.archlinux.org/kagi-cli.git`
1919
- `MINTLIFY_DEPLOY_COOKIE` GitHub Actions secret for the private Mintlify deployment trigger
20+
Missing or stale optional sync credentials do not block GitHub release asset publication, but the release workflow emits explicit warnings and the affected channel must be recovered manually.
2021
5. Confirm `CHANGELOG.md` has a complete user-facing entry ready to publish. The release workflow extracts notes from the `## [X.Y.Z]` section, so the heading must exist before the tag is pushed.
2122

2223
## Update release metadata
@@ -72,6 +73,7 @@ git push origin vX.Y.Z
7273
- calls Mintlify's private deployment update endpoint when `MINTLIFY_DEPLOY_COOKIE` is configured
7374
- syncs `Microck/homebrew-kagi` and `Microck/scoop-kagi`
7475
- syncs the `kagi-cli` AUR package when `AUR_SSH_PRIVATE_KEY` is configured
76+
- warns when optional package-index, AUR, or Mintlify sync work is skipped or fails after GitHub release publication
7577

7678
`.github/workflows/npm-publish.yml` runs after a successful `Release` workflow and publishes `npm/package.json` to npm when `NPM_PUBLISH_ENABLED=true`.
7779

@@ -103,7 +105,7 @@ Verify all public release surfaces after the workflows finish:
103105
7. Mintlify docs
104106
- confirm `https://kagi.micr.dev` reflects the committed docs changes from `docs/`
105107
- if the site still shows old content, inspect the `Trigger Mintlify docs deployment` release step
106-
- if Mintlify rejected the private deployment trigger, rotate `MINTLIFY_DEPLOY_COOKIE` or trigger the deployment from the Mintlify dashboard
108+
- if Mintlify rejected the private deployment trigger or the release emitted a Mintlify warning, rotate `MINTLIFY_DEPLOY_COOKIE` or trigger the deployment from the Mintlify dashboard
107109
- verify the changed command, guide, or reference pages render correctly
108110
8. Installers and scripts
109111
- `scripts/install.sh` and `scripts/install.ps1` resolve the latest GitHub release dynamically, so they need no per-release version bump
@@ -176,6 +178,8 @@ Configure `MINTLIFY_DEPLOY_COOKIE` as a GitHub Actions secret containing the com
176178

177179
This uses a private dashboard endpoint, not a stable public API. If the cookie expires, Mintlify changes the endpoint, or Cloudflare rejects the request, the release workflow emits a warning and continues. Rotate the secret or trigger the deployment from the Mintlify dashboard.
178180

181+
The public docs site can still return HTTP 200 while serving an old deployment. Compare visible docs content or response metadata such as `last-modified` against the release changes before treating Mintlify as complete.
182+
179183
### Cargo
180184

181185
There is no crates.io publish step. `cargo install` currently pulls from GitHub, so no separate registry release is required.

npm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "kagi-cli",
3-
"version": "0.10.0",
3+
"version": "0.12.0",
44
"description": "Node wrapper that installs the native kagi CLI binary",
55
"license": "MIT",
66
"repository": {

0 commit comments

Comments
 (0)