Skip to content

Commit ba2d747

Browse files
author
Yogthos
committed
release: 0.21.5
1 parent e99cd3c commit ba2d747

3 files changed

Lines changed: 33 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,37 @@ All notable changes to dirge are documented here. The format follows
44
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project
55
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [0.21.5] - 2026-08-03
8+
9+
### Fixed
10+
- **The agent could never connect to nREPL on its own.** With no connection,
11+
`nrepl_eval` returned "Use `/nrepl-connect` first" — but slash commands are
12+
typed by the user, and no harness call or builtin tool lets the agent issue
13+
one. The plugin registered no connect tool either, so the model's only move
14+
was to ask you and wait, which is exactly where sessions stalled. Auto-connect
15+
compounded it: `on-init` reads `.nrepl-port` once at startup, so a REPL the
16+
agent started itself a few turns later was never picked up even though the
17+
port file was sitting right there.
18+
19+
`nrepl_eval` now re-reads `.nrepl-port` and connects on demand, and there's
20+
an `nrepl_connect` tool for a non-default host/port or a reconnect after a
21+
server restart. It accepts an unquoted port, which a model writes at least
22+
as often as it quotes one — the old string-only extractor dropped those
23+
silently. The error text and the injected skill prompt name the tools;
24+
slash commands remain for interactive use.
25+
26+
### Security
27+
- **A worktree writer no longer inherits the LLM auto-approver.**
28+
`for_working_dir` drops the parent's session allowlist on purpose — a grant
29+
made against the parent checkout doesn't mean the same thing under a
30+
worktree root — but it kept `approval_provider`'s evaluator. Together those
31+
invert the trust model: your own "allow always" decisions vanish while the
32+
thing that can auto-allow *without asking you* survives. Calls you had
33+
already settled came back as `Ask` and the evaluator answered on your
34+
behalf, so a background writer ran with a weaker human backstop than the
35+
session that spawned it. Worktree writers now prompt you. Prompt deny-lists
36+
still propagate — they're terminal and path-independent.
37+
738
## [0.21.4] - 2026-08-03
839

940
### Security

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
@@ -3,7 +3,7 @@
33
# taken on crates.io. The installed BINARY is still `dirge` (see [[bin]]),
44
# so users run: `cargo install dirge-agent` then the `dirge` command.
55
name = "dirge-agent"
6-
version = "0.21.4"
6+
version = "0.21.5"
77
edition = "2024"
88
# MSRV: edition 2024 needs 1.85, but the dependency tree (time, serde_with,
99
# darling, instability) requires 1.88 — pin there so older toolchains fail

0 commit comments

Comments
 (0)