Skip to content

Commit 435bd4b

Browse files
chore: bump version to 0.7.1, revert tag workflow to --target, update changelog
- Bump workspace version 0.7.0 → 0.7.1 in root Cargo.toml - Revert release workflow to gh release create --target for workflow_dispatch (the git-push approach from zeroclaw-labs#5860 is blocked by the org Restrict creations rule; --target uses the Releases API which bypasses it, and v0.7.1 has no immutable release lock so the previous blocker does not apply) - Update CHANGELOG-next.md: retitle to v0.6.9 → v0.7.1, restore full comprehensive notes from the upstream draft, and add entries that were missing from the original v0.7.0 draft: - feat(observability): otel_headers for authenticated OTLP exporters (zeroclaw-labs#5700) - feat: GitHub Copilot provider onboarding (zeroclaw-labs#5321) - fix(channels/telegram): inline_keyboard for tool approval requests (zeroclaw-labs#5790) - fix(provider): strip tool_stream for non-Z.AI providers (zeroclaw-labs#5806) - fix(agent): normalize empty successful tool output (zeroclaw-labs#5565) - fix(web): theme mode switch not applying correctly (zeroclaw-labs#5724) - fix(web): add visual preview swatches to theme selector (zeroclaw-labs#5767) - fix: cron_run tool output not delivered to configured channels
1 parent 0f8bd00 commit 435bd4b

4 files changed

Lines changed: 78 additions & 48 deletions

File tree

.github/workflows/release-stable-manual.yml

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -444,22 +444,23 @@ jobs:
444444
EVENT_NAME: ${{ github.event_name }}
445445
COMMIT_SHA: ${{ github.sha }}
446446
run: |
447-
# For manual dispatch, push the tag explicitly via git first using
448-
# the RELEASE_TOKEN checkout (admin PAT bypasses tag protection rules),
449-
# then create the release for the existing tag. This avoids the GitHub
450-
# "tag_name was used by an immutable release" API error that --target
451-
# triggers when a same-named tag was previously used by a deleted
452-
# immutable release.
453-
# For tag push, the tag already exists — skip straight to release creation.
447+
# For manual dispatch, use --target to create tag + release atomically
448+
# via RELEASE_TOKEN (admin PAT) which bypasses tag protection rules.
449+
# For tag push, the tag already exists — just create the release.
454450
if [[ "$EVENT_NAME" == "workflow_dispatch" ]]; then
455-
git tag "$TAG" "$COMMIT_SHA"
456-
git push origin "$TAG"
451+
gh release create "$TAG" release-assets/* \
452+
--repo "$GITHUB_REPOSITORY" \
453+
--title "$TAG" \
454+
--notes-file release-notes.md \
455+
--target "$COMMIT_SHA" \
456+
--latest
457+
else
458+
gh release create "$TAG" release-assets/* \
459+
--repo "$GITHUB_REPOSITORY" \
460+
--title "$TAG" \
461+
--notes-file release-notes.md \
462+
--latest
457463
fi
458-
gh release create "$TAG" release-assets/* \
459-
--repo "$GITHUB_REPOSITORY" \
460-
--title "$TAG" \
461-
--notes-file release-notes.md \
462-
--latest
463464
464465
- name: Remove CHANGELOG-next.md after stable release
465466
shell: bash

CHANGELOG-next.md

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Changelog — v0.6.9 → v0.7.0
1+
# Changelog — v0.6.9 → v0.7.1
22

33
> Changes since the **v0.6.9** stable release. This release represents the largest
44
> structural overhaul in ZeroClaw's history: the entire codebase has been split into a
@@ -35,6 +35,12 @@
3535
mentioned), encrypted media download restored, outbound attachment support added, and
3636
onboarding wizard preservation.
3737

38+
- **GitHub Copilot onboarding** — GitHub Copilot is now selectable as a provider
39+
through the onboarding wizard and `zeroclaw config` flow (#5321).
40+
41+
- **Authenticated OTLP exporters** — New `otel_headers` config key lets you pass
42+
custom headers (e.g. `Authorization: Bearer …`) to protected OTLP endpoints (#5700).
43+
3844
---
3945

4046
## What's New
@@ -63,8 +69,12 @@
6369

6470
- **OpenRouterProvider** now supports streaming (#5717). Responses appear token-by-token
6571
instead of arriving all at once.
72+
- **GitHub Copilot** is now available as a selectable provider in the onboarding wizard
73+
and `zeroclaw config` interactive flow (#5321).
6674
- Fixed: native tool-call messages are now stripped before sending to providers that
6775
have `native_tool_calling = false`, preventing provider errors (#5762).
76+
- Fixed: `tool_stream` events are no longer forwarded to non-Z.AI providers in the
77+
streaming path, preventing unexpected provider errors (#5806).
6878
- Fixed: DeepSeek V3.2 system prompt escaping and token estimation corrected (#5454).
6979

7080
### Channels
@@ -73,6 +83,8 @@
7383
- **Matrix**: mention-only filtering — the agent can be configured to respond only when
7484
directly mentioned. Encrypted media download restored. Outbound attachment support
7585
added. Onboarding wizard settings now preserved across restarts (#5166, #5727).
86+
- **Telegram**: tool approval requests now include `inline_keyboard` markup, giving
87+
users interactive approve/deny buttons instead of plain text (#5790).
7688
- Sender user ID is now propagated into the channel system prompt, giving the agent
7789
context about who it is talking to (#5526).
7890
- Email and VoiceCall channels now have an `enabled` field and are correctly wired into
@@ -102,26 +114,37 @@
102114
- Nostr, WhatsApp Web, and hardware wizard sections wired into the onboarding flow
103115
(#5640).
104116

117+
### Observability
118+
119+
- **`otel_headers`** — new config key for passing arbitrary HTTP headers to OTLP
120+
endpoints. Enables authenticated exporters (e.g. Grafana Cloud, Honeycomb) without
121+
environment variable workarounds (#5700).
122+
105123
### Web Dashboard
106124

107125
- Voice mode added to the dashboard.
108126
- Plugins management page added.
127+
- Theme mode switch fixed — light/dark selection now applies correctly on load (#5724).
128+
- Visual preview swatches added to the theme mode selector (#5767).
109129
- Dashboard is now decoupled from the main binary — built separately and embedded at
110-
release time. Included in binary releases, AUR, Homebrew, and `cargo install` (#5675,
111-
#5665).
130+
release time. Included in binary releases, AUR, Homebrew, and `cargo install`
131+
(#5675, #5665).
112132
- Web build logic moved into the gateway crate; no-op recompiles (previously ~1 minute)
113-
eliminated (#5ec5f2a6).
133+
eliminated.
114134

115135
### Agent & Runtime
116136

117137
- CLI channel factory now registered for interactive mode — `zeroclaw` interactive
118138
sessions work again after the workspace split (#5802).
119139
- Duplicate `ToolCall` events in `turn_streamed` deduplicated; clients no longer see the
120140
same tool call reported twice (#5746).
141+
- Empty successful tool output is now normalised before being returned to the provider,
142+
preventing downstream parse errors on blank responses (#5565).
121143
- Session integrity improvements: streaming refactor and history pruning for long
122144
conversations (#5167).
123145
- Cron agent jobs no longer trigger `auto_save`, preventing runaway memory consolidation
124146
on scheduled tasks (#5664).
147+
- Fixed: `cron_run` tool output was not being delivered to configured channels.
125148
- Windows: the shell console window is now hidden when running as a background process
126149
(#5563).
127150

@@ -157,12 +180,16 @@
157180
| Area | Fix |
158181
|------|-----|
159182
| Provider | Strip native tool messages for non-native-tool-calling providers |
183+
| Provider | `tool_stream` events forwarded to non-Z.AI providers in streaming path |
160184
| Provider | DeepSeek V3.2 system prompt escaping and token estimation |
161185
| Agent | CLI channel factory missing in interactive mode |
162186
| Agent | Duplicate ToolCall events in streaming turns |
187+
| Agent | Normalize empty successful tool output |
163188
| Matrix | Encrypted media download; outbound attachments |
164189
| Channels | Missing Arc Provider forwarding methods |
165190
| Channels | `<think>` tag leaking into streaming draft updates |
191+
| Telegram | `inline_keyboard` missing from tool approval requests |
192+
| Cron | `cron_run` tool output not delivered to configured channels |
166193
| Config | False "Unknown config key" warnings on Option fields |
167194
| Config | Temperature validation missing from providers loop |
168195
| Config | Fallback key references nonexistent provider — now warns |
@@ -172,6 +199,8 @@
172199
| Install | install.sh broken after workspace split |
173200
| Runtime | Windows console window visible in background mode |
174201
| Distribution | Web dashboard missing from AUR and cargo install builds |
202+
| Web | Theme mode switch not applying light/dark correctly |
203+
| Web | Theme mode selector missing visual preview swatches |
175204

176205
---
177206

Cargo.lock

Lines changed: 15 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,27 @@ members = [".", "crates/zeroclaw-api", "crates/zeroclaw-infra", "crates/zeroclaw
33
resolver = "2"
44

55
[workspace.package]
6-
version = "0.7.0"
6+
version = "0.7.1"
77
edition = "2024"
88
license = "MIT OR Apache-2.0"
99
repository = "https://github.com/zeroclaw-labs/zeroclaw"
1010
rust-version = "1.87"
1111

1212
[workspace.dependencies]
13-
zeroclaw-api = { path = "crates/zeroclaw-api", version = "0.7.0" }
14-
zeroclaw-infra = { path = "crates/zeroclaw-infra", version = "0.7.0" }
15-
zeroclaw-config = { path = "crates/zeroclaw-config", version = "0.7.0", default-features = false }
16-
zeroclaw-providers = { path = "crates/zeroclaw-providers", version = "0.7.0" }
17-
zeroclaw-memory = { path = "crates/zeroclaw-memory", version = "0.7.0" }
18-
zeroclaw-channels = { path = "crates/zeroclaw-channels", version = "0.7.0", default-features = false }
19-
zeroclaw-tools = { path = "crates/zeroclaw-tools", version = "0.7.0" }
20-
zeroclaw-runtime = { path = "crates/zeroclaw-runtime", version = "0.7.0", default-features = false }
21-
zeroclaw-tui = { path = "crates/zeroclaw-tui", version = "0.7.0" }
22-
zeroclaw-plugins = { path = "crates/zeroclaw-plugins", version = "0.7.0" }
23-
zeroclaw-gateway = { path = "crates/zeroclaw-gateway", version = "0.7.0" }
24-
zeroclaw-hardware = { path = "crates/zeroclaw-hardware", version = "0.7.0" }
25-
zeroclaw-tool-call-parser = { path = "crates/zeroclaw-tool-call-parser", version = "0.7.0" }
26-
zeroclaw-macros = { path = "crates/zeroclaw-macros", version = "0.7.0" }
13+
zeroclaw-api = { path = "crates/zeroclaw-api", version = "0.7.1" }
14+
zeroclaw-infra = { path = "crates/zeroclaw-infra", version = "0.7.1" }
15+
zeroclaw-config = { path = "crates/zeroclaw-config", version = "0.7.1", default-features = false }
16+
zeroclaw-providers = { path = "crates/zeroclaw-providers", version = "0.7.1" }
17+
zeroclaw-memory = { path = "crates/zeroclaw-memory", version = "0.7.1" }
18+
zeroclaw-channels = { path = "crates/zeroclaw-channels", version = "0.7.1", default-features = false }
19+
zeroclaw-tools = { path = "crates/zeroclaw-tools", version = "0.7.1" }
20+
zeroclaw-runtime = { path = "crates/zeroclaw-runtime", version = "0.7.1", default-features = false }
21+
zeroclaw-tui = { path = "crates/zeroclaw-tui", version = "0.7.1" }
22+
zeroclaw-plugins = { path = "crates/zeroclaw-plugins", version = "0.7.1" }
23+
zeroclaw-gateway = { path = "crates/zeroclaw-gateway", version = "0.7.1" }
24+
zeroclaw-hardware = { path = "crates/zeroclaw-hardware", version = "0.7.1" }
25+
zeroclaw-tool-call-parser = { path = "crates/zeroclaw-tool-call-parser", version = "0.7.1" }
26+
zeroclaw-macros = { path = "crates/zeroclaw-macros", version = "0.7.1" }
2727
aardvark-sys = { path = "crates/aardvark-sys", version = "0.1.0" }
2828

2929
[package]

0 commit comments

Comments
 (0)