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.
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
|