ur-agent 1.80.2 → 1.80.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,48 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.80.4
4
+
5
+ - Stopped runaway WebFetch loops on permanent HTTP 4xx responses. Failures are
6
+ keyed by normalized URL rather than the hidden summarization prompt, so
7
+ changing prompts or alternating between two dead links cannot bypass the
8
+ circuit breaker. The first repeated URL is refused without another network
9
+ request; continued repetition stops the turn.
10
+ - WebFetch now distinguishes permanent client errors from transient timeouts,
11
+ conflicts, early-data responses, rate limits, and server failures. Permanent
12
+ errors direct the agent to WebSearch, a parent/index page, or another source;
13
+ transient failures remain retryable. URL identities are hashed, bounded,
14
+ scoped to the active query, and cleared when that query completes.
15
+ - Plan mode now explicitly creates visible implementation tasks with
16
+ `TaskCreate` before workspace changes. Task-gate recovery clarifies that
17
+ entering or updating a plan is not a substitute for the task list. Approve
18
+ All remains unchanged.
19
+ - Completed shell-command display hardening in the background-task detail
20
+ dialog. Tabs, control bytes, invisible characters, and bidirectional controls
21
+ are made explicit before width truncation, matching Bash and PowerShell.
22
+ - Unified prompt and standalone configuration assignments. `ur config set`
23
+ now supports accessibility, thinking, output, compaction, and Vim/editor
24
+ settings; `ur config get` and `ur config list` expose effective safe values
25
+ for automation without hand-editing JSON.
26
+ - Added `ur a2a card --v1` to preview the existing current A2A 1.0 Agent Card,
27
+ plus `ur session status [session-id]` to inspect an explicit conversation or
28
+ the latest resumable conversation for the current project.
29
+
30
+ ## 1.80.3
31
+
32
+ - Restored visible task planning with a strict-hybrid default. Atomic,
33
+ low-risk requests still execute directly; requests with multiple outcomes,
34
+ sequencing, plan mode, delegation, project-sized work, or release/security/
35
+ migration/production risk must create an actionable task before the first
36
+ mutation. Read-only investigation remains unrestricted.
37
+ - The task gate now uses deterministic user-turn classification instead of
38
+ treating conversation length as complexity. It fails closed when task state
39
+ is unreadable, rechecks permission-rewritten tool input, preserves active
40
+ interrupted boards, and never deadlocks a custom tool profile that omits
41
+ `TaskCreate`.
42
+ - Operators can keep task tracking advisory with
43
+ `tasks.requireBeforeChanges.enabled=false`, or set `freeReads=0` to require a
44
+ task before every mutation. Approve All remains unchanged.
45
+
3
46
  ## 1.80.2
4
47
 
5
48
  - Repaired repeated `AskUserQuestion` validation loops when a model emits one
package/README.md CHANGED
@@ -81,6 +81,13 @@ useful. Each task records id, order, title, description, status, dependencies,
81
81
  assigned logical agent role, input, expected output, verification criteria, file
82
82
  targets, risk level, and whether approval is required.
83
83
 
84
+ Inside the interactive agent, task tracking uses a strict-hybrid default:
85
+ atomic low-risk work stays direct, while multi-outcome, sequenced, planned,
86
+ delegated, project-sized, and high-risk lifecycle work must create a visible
87
+ task before the first mutation. Reads stay unrestricted. Configure the gate
88
+ with `tasks.requireBeforeChanges`; `enabled=false` makes it advisory and
89
+ `freeReads=0` requires a task before every mutation.
90
+
84
91
  During real `ur exec` runs the task board streams when a task status changes,
85
92
  then appears again in the final report. Quiet/non-interactive runs can suppress
86
93
  streaming while preserving the final board. Public status labels are
@@ -437,7 +444,7 @@ as first-class subcommands in the shipped CLI.
437
444
  | `ur auth claude` | Launch the official Claude Code login flow. |
438
445
  | `ur auth gemini` | Use the official Gemini CLI login flow where supported. |
439
446
  | `ur auth antigravity` | Use the official Antigravity CLI login flow where supported. |
440
- | `ur config set` | Persist safe non-secret provider settings such as provider, model, base URL, command path, and fallback. |
447
+ | `ur config set|get|list` | Set or inspect validated non-secret agent, accessibility, editor, and provider settings. |
441
448
  | `ur mcp` | Configure Model Context Protocol servers, expose fail-closed built-in tools over standard input/output, or run the secure stateless web server with Tasks and Apps. |
442
449
  | `ur skill` | Initialize, run, strictly verify, Ed25519-sign, and create trusted signing keys for portable skills. |
443
450
  | `ur ag-ui serve` | Start the secure AG-UI HTTP/SSE adapter for user-facing applications with truthful capability discovery. |
@@ -446,7 +453,7 @@ as first-class subcommands in the shipped CLI.
446
453
  | `ur acp` | Connect editors through the Agent Client Protocol, or manage the separate UR HTTP JSON-RPC server. |
447
454
  | `ur exec` | Run one or more prompts in non-interactive mode with optional concurrency. |
448
455
  | `ur ide diff` | Capture editor-readable inline diff bundles. |
449
- | `ur a2a card` | Print Agent-to-Agent discovery metadata. |
456
+ | `ur a2a card` | Print legacy Agent-to-Agent discovery metadata; add `--v1` to preview the current A2A 1.0 card. |
450
457
  | `ur a2a serve` | Start the negotiated Agent-to-Agent server with automatic client compatibility. |
451
458
  | `ur sdk` | Show programmatic headless usage and scaffold SDK examples. |
452
459
  | `ur trigger` | Parse a GitHub/Slack webhook payload and optionally launch a headless UR run. |