ur-agent 1.69.0 → 1.72.0

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,19 +1,82 @@
1
1
  # Changelog
2
2
 
3
- ## 1.69.0
3
+ ## 1.72.0
4
+
5
+ - `AskUserQuestion` no longer rejects a well-formed question because the model
6
+ named the array something else. The question text accepted eight aliases
7
+ while the options array accepted exactly one key, and the options check ran
8
+ first — so a model that sent `choices` was told that *both* `question` and
9
+ `options` were missing, which is what the error reported. `choices`,
10
+ `values`, `items`, `alternatives`, `candidates` and `selections` are now
11
+ accepted, and per-question options that arrive as a JSON string are parsed,
12
+ which previously only happened for the single-question form.
13
+ - Exiting plan mode no longer prints an error every time it is approved. The
14
+ tool stays advertised regardless of mode, so once the user accepts, the model
15
+ routinely calls it a second time against a session that is already out of
16
+ plan mode — and that was answered with "You are not in plan mode". The echo
17
+ is now a no-op that tells the model to continue, does not re-prompt for
18
+ approval, and does not rewrite the plan file with a stale copy. A call with
19
+ no approved exit behind it still fails, since that one is a real mistake.
20
+
21
+ ## 1.71.0
22
+
23
+ - Consolidated every UR-branded link onto `ur.com`. 259 references across 106
24
+ files moved off the retired `ur.ai` and `ur.dev` hostnames. Subdomains and
25
+ paths are preserved exactly, so `docs.ur.dev/docs/en/sandboxing` became
26
+ `docs.ur.com/docs/en/sandboxing` and `ur.ai/settings/billing` became
27
+ `ur.com/settings/billing`. Nothing was flattened to a landing page.
28
+ - Provider, registry and authentication endpoints are untouched, and the
29
+ rewrite asserts that rather than assuming it: `api.anthropic.com`,
30
+ `api.openai.com`, `platform.openai.com`, `developers.openai.com`,
31
+ `ollama.com`, `openrouter.ai`, `registry.npmjs.org`, `googleapis.com`,
32
+ `huggingface.co`, `modelcontextprotocol.io`, `json-schema.org` and
33
+ `github.com` all have identical occurrence counts before and after. Anyone
34
+ connecting to Claude, OpenAI, Ollama or any other provider reaches the same
35
+ host as before.
36
+ - The substitution is anchored so it cannot match more than it means: a
37
+ preceding letter, digit or hyphen blocks it, which is what keeps
38
+ `ur-ai.staging.ant.dev` and hostnames such as `go.dev` and `react.dev`
39
+ intact. A pattern that matched too broadly is what shipped 1.61.2 through
40
+ 1.64.0 uninstallable.
41
+ - `tipsAreReal` now bans the retired hostnames instead of `ur.com`. It was
42
+ written when every UR domain was dead, so leaving it would have forbidden
43
+ links to the current site.
44
+ - The auth token source discriminant follows the domain, from `ur.ai` to
45
+ `ur.com`. It is computed per session and never persisted, so no stored
46
+ credential carries the old value.
47
+
48
+ ## 1.70.0
4
49
 
5
50
  - Rolled the codebase back to the state shipped as 1.65.6. Everything released
6
51
  between 1.65.7 and 1.68.19 is withdrawn from this line. The version number
7
52
  moves forward rather than back so npm and existing installs upgrade cleanly.
8
- - No functional change relative to 1.65.6. Commit history for the withdrawn
9
- releases is retained and any part of it can be reintroduced in a later
10
- release.
53
+ Commit history for the withdrawn releases is retained and any part of it can
54
+ be reintroduced later. 1.69.0 was tagged as the rollback point and never
55
+ published.
56
+ - The task-list gate now ships disabled. It refused the first `Write` of
57
+ ordinary one-file work often enough that the friction cost more than the
58
+ plans it produced, and the refusal itself provoked the retry loops 1.65.4 was
59
+ written to stop. The mechanism is unchanged and returns with
60
+ `tasks.requireBeforeChanges.enabled=true`.
61
+ - The repeated-failure guard now ships disabled. It was introduced for a 4B
62
+ model that looped on an identical failing call; on a capable model it mostly
63
+ fires on legitimate retries and ends the turn. Callers that want loop
64
+ protection pass an enabled config.
65
+ - Raised the subagent fan-out limits from depth 3 / 20 concurrent to depth 10 /
66
+ 100, with hard ceilings of 64 and 1000. The governor now catches only a
67
+ runaway tree rather than ordinary fan-out; it is deliberately not removed,
68
+ because an unbounded tree wedges the host, which is the slowest possible
69
+ failure.
11
70
  - Fixed the packaged-CLI smoke check failing on npm 11 and later. It read the
12
71
  `npm pack --json` report as an array, but npm now returns an object keyed by
13
72
  package name, so a successful pack was reported as "npm pack did not report a
14
73
  tarball" and the release gate failed on every modern npm. Both shapes are now
15
74
  accepted. The check lives in `scripts/`, which is not published, so the
16
75
  released artifact is unaffected.
76
+ - Unchanged: tool-call validation at the execution boundary still fails closed
77
+ on unknown tools, duplicate IDs and malformed inputs. It rejects only calls
78
+ that could not have succeeded, so disabling it would trade clear errors for
79
+ undefined execution rather than unlocking any capability.
17
80
 
18
81
  ## 1.65.6
19
82