Skip to content

Commit e77ce92

Browse files
authored
release: prepare v0.13.0 (#1220)
1 parent 890f891 commit e77ce92

File tree

6 files changed

+44
-31
lines changed

6 files changed

+44
-31
lines changed

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
66

77
## [Unreleased]
88

9+
## [0.13.0] - 2026-03-05
10+
911
### Security
1012

1113
- SEC-M22-001: fix bearer token timing side-channel in `zeph-gateway` auth middleware — both the submitted token and the expected token are now hashed with BLAKE3 (32-byte fixed-length output) before comparison via `subtle::ConstantTimeEq`, preventing length leaks and timing attacks; expected token hash is pre-computed at startup to eliminate per-request rehashing (#1173)
@@ -1688,7 +1690,8 @@ let agent = Agent::new(provider, channel, &skills_prompt, executor);
16881690
- Agent calls channel.send_typing() before each LLM request
16891691
- Agent::run() uses tokio::select! to race channel messages against shutdown signal
16901692

1691-
[Unreleased]: https://github.com/bug-ops/zeph/compare/v0.12.6...HEAD
1693+
[Unreleased]: https://github.com/bug-ops/zeph/compare/v0.13.0...HEAD
1694+
[0.13.0]: https://github.com/bug-ops/zeph/compare/v0.12.6...v0.13.0
16921695
[0.12.6]: https://github.com/bug-ops/zeph/compare/v0.12.5...v0.12.6
16931696
[0.12.5]: https://github.com/bug-ops/zeph/compare/v0.12.4...v0.12.5
16941697
[0.12.4]: https://github.com/bug-ops/zeph/compare/v0.12.3...v0.12.4

Cargo.lock

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

Cargo.toml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ resolver = "3"
55
[workspace.package]
66
edition = "2024"
77
rust-version = "1.88"
8-
version = "0.12.6"
8+
version = "0.13.0"
99
authors = ["bug-ops"]
1010
license = "MIT"
1111
repository = "https://github.com/bug-ops/zeph"
@@ -112,19 +112,19 @@ url = "2.5"
112112
uuid = "1.21"
113113
wiremock = "0.6.5"
114114
zeroize = { version = "1", features = ["derive", "serde"] }
115-
zeph-a2a = { path = "crates/zeph-a2a", version = "0.12.5" }
116-
zeph-acp = { path = "crates/zeph-acp", version = "0.12.5" }
117-
zeph-channels = { path = "crates/zeph-channels", version = "0.12.5" }
118-
zeph-core = { path = "crates/zeph-core", version = "0.12.5" }
119-
zeph-gateway = { path = "crates/zeph-gateway", version = "0.12.5" }
120-
zeph-index = { path = "crates/zeph-index", version = "0.12.5" }
121-
zeph-llm = { path = "crates/zeph-llm", version = "0.12.5" }
122-
zeph-mcp = { path = "crates/zeph-mcp", version = "0.12.5" }
123-
zeph-memory = { path = "crates/zeph-memory", version = "0.12.5" }
124-
zeph-scheduler = { path = "crates/zeph-scheduler", version = "0.12.5" }
125-
zeph-skills = { path = "crates/zeph-skills", version = "0.12.5" }
126-
zeph-tools = { path = "crates/zeph-tools", version = "0.12.5" }
127-
zeph-tui = { path = "crates/zeph-tui", version = "0.12.5" }
115+
zeph-a2a = { path = "crates/zeph-a2a", version = "0.13.0" }
116+
zeph-acp = { path = "crates/zeph-acp", version = "0.13.0" }
117+
zeph-channels = { path = "crates/zeph-channels", version = "0.13.0" }
118+
zeph-core = { path = "crates/zeph-core", version = "0.13.0" }
119+
zeph-gateway = { path = "crates/zeph-gateway", version = "0.13.0" }
120+
zeph-index = { path = "crates/zeph-index", version = "0.13.0" }
121+
zeph-llm = { path = "crates/zeph-llm", version = "0.13.0" }
122+
zeph-mcp = { path = "crates/zeph-mcp", version = "0.13.0" }
123+
zeph-memory = { path = "crates/zeph-memory", version = "0.13.0" }
124+
zeph-scheduler = { path = "crates/zeph-scheduler", version = "0.13.0" }
125+
zeph-skills = { path = "crates/zeph-skills", version = "0.13.0" }
126+
zeph-tools = { path = "crates/zeph-tools", version = "0.13.0" }
127+
zeph-tui = { path = "crates/zeph-tui", version = "0.13.0" }
128128

129129
[workspace.lints.rust]
130130
unsafe_code = "deny"

crates/zeph-core/src/config/snapshots/zeph_core__config__types__tests__config_default_snapshot.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ show_source_labels = false
228228
[acp]
229229
enabled = false
230230
agent_name = "zeph"
231-
agent_version = "0.12.6"
231+
agent_version = "0.13.0"
232232
max_sessions = 4
233233
session_idle_timeout_secs = 1800
234234
available_models = []

crates/zeph-core/src/subagent/manager.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1400,6 +1400,8 @@ mod tests {
14001400
use zeph_tools::executor::{ErasedToolExecutor, ToolError, ToolOutput};
14011401
use zeph_tools::registry::ToolDef;
14021402

1403+
use serial_test::serial;
1404+
14031405
use crate::config::SubAgentConfig;
14041406
use crate::subagent::def::MemoryScope;
14051407

@@ -2567,6 +2569,7 @@ mod tests {
25672569
// ── Memory scope tests ────────────────────────────────────────────────────
25682570

25692571
#[tokio::test]
2572+
#[serial]
25702573
async fn spawn_with_memory_scope_project_creates_directory() {
25712574
let tmp = tempfile::tempdir().unwrap();
25722575
let orig_dir = std::env::current_dir().unwrap();
@@ -2614,6 +2617,7 @@ mod tests {
26142617
}
26152618

26162619
#[tokio::test]
2620+
#[serial]
26172621
async fn spawn_with_config_default_memory_scope_applies_when_def_has_none() {
26182622
let tmp = tempfile::tempdir().unwrap();
26192623
let orig_dir = std::env::current_dir().unwrap();
@@ -2663,6 +2667,7 @@ mod tests {
26632667
}
26642668

26652669
#[tokio::test]
2670+
#[serial]
26662671
async fn spawn_with_memory_blocked_by_disallowed_tools_skips_memory() {
26672672
let tmp = tempfile::tempdir().unwrap();
26682673
let orig_dir = std::env::current_dir().unwrap();
@@ -2715,6 +2720,7 @@ mod tests {
27152720
}
27162721

27172722
#[tokio::test]
2723+
#[serial]
27182724
async fn spawn_without_memory_scope_no_directory_created() {
27192725
let tmp = tempfile::tempdir().unwrap();
27202726
let orig_dir = std::env::current_dir().unwrap();
@@ -2757,6 +2763,7 @@ mod tests {
27572763
}
27582764

27592765
#[test]
2766+
#[serial]
27602767
fn build_prompt_injects_memory_block_after_behavioral_prompt() {
27612768
let tmp = tempfile::tempdir().unwrap();
27622769
let orig_dir = std::env::current_dir().unwrap();
@@ -2800,6 +2807,7 @@ mod tests {
28002807
}
28012808

28022809
#[test]
2810+
#[serial]
28032811
fn build_prompt_auto_enables_read_write_edit_for_allowlist() {
28042812
let tmp = tempfile::tempdir().unwrap();
28052813
let orig_dir = std::env::current_dir().unwrap();
@@ -2839,6 +2847,7 @@ mod tests {
28392847
}
28402848

28412849
#[tokio::test]
2850+
#[serial]
28422851
async fn spawn_with_explicit_def_memory_overrides_config_default() {
28432852
let tmp = tempfile::tempdir().unwrap();
28442853
let orig_dir = std::env::current_dir().unwrap();
@@ -2898,6 +2907,7 @@ mod tests {
28982907
}
28992908

29002909
#[tokio::test]
2910+
#[serial]
29012911
async fn spawn_memory_blocked_by_deny_list_policy() {
29022912
let tmp = tempfile::tempdir().unwrap();
29032913
let orig_dir = std::env::current_dir().unwrap();

crates/zeph-tui/src/widgets/snapshots/zeph_tui__widgets__splash__tests__splash_default.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ expression: output
1414
│ ███████╗███████╗██║ ██║ ██║ │
1515
│ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═╝ │
1616
│ │
17-
v0.12.6
17+
v0.13.0
1818
│ │
1919
Type a message to start. │
2020
│ │

0 commit comments

Comments
 (0)