ur-agent 1.68.16 → 1.68.18
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 +246 -18
- package/dist/cli.js +1669 -896
- package/docs/VALIDATION.md +1 -1
- package/documentation/index.html +1 -1
- package/extensions/jetbrains-ur/build.gradle.kts +1 -1
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +1 -1
- package/technical/01-architecture.md +3 -1
- package/technical/04-tools.md +11 -0
- package/technical/README.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,53 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.68.18
|
|
4
|
+
|
|
5
|
+
- The shell is presentational and imports only ink and useTerminalSize. A first
|
|
6
|
+
version read live state itself (settings, provider registry, app state, git),
|
|
7
|
+
and importing it from REPL changed REPL's module graph enough to flip a
|
|
8
|
+
command from hidden to visible — caught by `commandRegistryIntegrity`, which
|
|
9
|
+
passed with the REPL edit stashed and failed with it applied. Loading a module
|
|
10
|
+
is not free here; some register on load. Session values now arrive as props
|
|
11
|
+
from a caller that already holds them.
|
|
12
|
+
|
|
13
|
+
- Reconstructed three more stub type files, clearing 177 further errors:
|
|
14
|
+
`keybindings/types.ts` (six empty interfaces), `ink/cursor.ts`, and
|
|
15
|
+
`commands/plugin/unifiedTypes.ts`. Same defect as the MCP types in 1.68.14 —
|
|
16
|
+
an empty interface means "has no members" to TypeScript, not "shape unknown",
|
|
17
|
+
so every property access on one was an error and the consuming files carried
|
|
18
|
+
`@ts-nocheck` as a result.
|
|
19
|
+
- `KeybindingBlock.bindings` is keyed by chord string, not an array. A first
|
|
20
|
+
attempt typed it `ParsedBinding[]`, which made every entry in the default
|
|
21
|
+
binding table an error — the declaration form (`'ctrl+d': 'app:exit'`) and the
|
|
22
|
+
parsed form (chord resolved into keystrokes) are different shapes, and
|
|
23
|
+
conflating them broke a file that had been fine.
|
|
24
|
+
- `KeybindingAction` is a string rather than a union of known actions:
|
|
25
|
+
`defaultBindings.ts` assembles entries conditionally from feature flags, so a
|
|
26
|
+
value missing from a union would turn a working binding into an error.
|
|
27
|
+
- Suppression list: 140 -> 132. Eight keybinding and ink files came off.
|
|
28
|
+
- Totals for the sweep so far: 223 -> 132 files, 868 -> 563 errors, and almost
|
|
29
|
+
none of it file-by-file. Four stub files accounted for 258 errors on their
|
|
30
|
+
own.
|
|
31
|
+
|
|
32
|
+
## 1.68.17
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
- Fixed false `TaskListRequired` failures for observational Bash capability
|
|
36
|
+
checks. Task tracking now has a classification distinct from permission
|
|
37
|
+
auto-approval, so an executable probe can remain permission- and
|
|
38
|
+
sandbox-sensitive without being mislabeled as a workspace change.
|
|
39
|
+
- The Bash classification is category-based rather than tailored to one
|
|
40
|
+
module: known reads, exact help/version checks, command-presence checks, and
|
|
41
|
+
import-only Python probes for any module can run without reopening a
|
|
42
|
+
completed task. Arbitrary interpreter code, output writes, background
|
|
43
|
+
execution, sandbox overrides, and unknown commands remain task-gated.
|
|
44
|
+
- Both the initial call and its final post-permission input are classified.
|
|
45
|
+
Hooks or permission handlers therefore cannot rewrite an observational probe
|
|
46
|
+
into an untracked mutation.
|
|
47
|
+
|
|
3
48
|
## 1.68.16
|
|
4
49
|
|
|
50
|
+
|
|
5
51
|
- First pieces of the UR Nexus visual identity, as terminal primitives rather
|
|
6
52
|
than artwork: `constants/urPalette.ts` (obsidian/bronze/electrum/lapis tokens
|
|
7
53
|
in true-colour, ANSI-256 and monochrome tiers, with depth detection),
|
|
@@ -27,27 +73,37 @@
|
|
|
27
73
|
|
|
28
74
|
## 1.68.15
|
|
29
75
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
76
|
+
|
|
77
|
+
- Redesigned the fixed top shell and bottom status area. The full-width bordered
|
|
78
|
+
banner is replaced by a three-column command deck: identity and version left,
|
|
79
|
+
workspace and branch centre, clock right, with a single graphite separator
|
|
80
|
+
beneath. The bright orange frame is gone, bronze is reserved for UR branding
|
|
81
|
+
and structural accents, and lapis blue carries focus, selection and context
|
|
82
|
+
usage. The house artwork is imported unchanged, character for character; the
|
|
83
|
+
UR wordmark is kept but rendered at normal weight rather than as the headline.
|
|
84
|
+
- The footer is now a two-row rail with no surrounding box. Items declare a
|
|
85
|
+
priority, two widths and three renderings, so the rail degrades before it
|
|
86
|
+
drops and never wraps — verified at 80x24, 100x30, 120x40 and 160x50.
|
|
87
|
+
Mode and context usage are the last things to go.
|
|
88
|
+
- System metrics render vertically with fixed-width labels and right-aligned
|
|
89
|
+
values, so the column does not shift when 9% becomes 71%. Miniature bars
|
|
90
|
+
appear only when the column affords them. CPU is sampled on a timer rather
|
|
91
|
+
than read per render: os.cpus() reports cumulative ticks, so a single reading
|
|
92
|
+
carries no rate, and the first reading reports `--` instead of a fabricated 0%.
|
|
93
|
+
- Wired by composing around FullscreenLayout rather than adding a slot to it.
|
|
94
|
+
That file is React-Compiler output with hand-numbered memo slots and
|
|
95
|
+
@ts-nocheck; inserting a slot means renumbering the sequence, and an
|
|
96
|
+
off-by-one there produces cached JSX rendered against changed props — a fault
|
|
97
|
+
that neither throws nor typechecks. REPL changes by ten lines.
|
|
98
|
+
- The deck is fullscreen-only. Inline mode writes to native scrollback, where
|
|
99
|
+
there is no fixed viewport and a "fixed" region would scroll away with
|
|
100
|
+
everything else. When the terminal is too short for deck, rail and a few
|
|
101
|
+
lines of conversation, the shell steps aside and renders content alone rather
|
|
102
|
+
than letting Ink silently shrink the fixed regions.
|
|
48
103
|
|
|
49
104
|
## 1.68.14
|
|
50
105
|
|
|
106
|
+
|
|
51
107
|
- Gave the MCP settings types their real shapes. `components/mcp/types.ts`
|
|
52
108
|
declared seven **empty** interfaces under a "Stub: not included in leaked
|
|
53
109
|
source" comment. An empty interface does not mean "unknown shape" to
|
|
@@ -66,6 +122,7 @@
|
|
|
66
122
|
|
|
67
123
|
## 1.68.13
|
|
68
124
|
|
|
125
|
+
|
|
69
126
|
- Eight more files came off `@ts-nocheck` (149 -> 141) from a single fix. The
|
|
70
127
|
compiled signature of `useRegisterOverlay(id, t0)` declared two required
|
|
71
128
|
parameters while its own first statement reads
|
|
@@ -79,6 +136,7 @@
|
|
|
79
136
|
|
|
80
137
|
## 1.68.12
|
|
81
138
|
|
|
139
|
+
|
|
82
140
|
- The Ollama request path now reports where a request's bytes actually go —
|
|
83
141
|
tool definitions, system prompt, conversation — once per session in the debug
|
|
84
142
|
log. The fixed cost of tools plus system prompt is what decides whether a
|
|
@@ -93,6 +151,7 @@
|
|
|
93
151
|
|
|
94
152
|
## 1.68.11
|
|
95
153
|
|
|
154
|
+
|
|
96
155
|
- Investigated turning the task-list gate advisory by default and did not do
|
|
97
156
|
it. The friction it causes is real, but the gate is also the final
|
|
98
157
|
revalidation before a tool executes, and defaulting it off removes two
|
|
@@ -113,6 +172,7 @@
|
|
|
113
172
|
|
|
114
173
|
## 1.68.10
|
|
115
174
|
|
|
175
|
+
|
|
116
176
|
- `ToolSearchTool` no longer registers on runtimes where it cannot work. Its
|
|
117
177
|
purpose is fetching schemas for tools whose definitions were deferred, and
|
|
118
178
|
deferral needs the runtime to expand `tool_reference` blocks — an
|
|
@@ -130,6 +190,7 @@
|
|
|
130
190
|
|
|
131
191
|
## 1.68.9
|
|
132
192
|
|
|
193
|
+
|
|
133
194
|
- Narrowed that allowlist entry from `ur.com` to `ur.com/docs`. Replacing a
|
|
134
195
|
docs-only host with a bare domain widened what WebFetch retrieves without
|
|
135
196
|
asking, on a list whose own header warns that broad entries are dangerous
|
|
@@ -140,6 +201,7 @@
|
|
|
140
201
|
|
|
141
202
|
## 1.68.8
|
|
142
203
|
|
|
204
|
+
|
|
143
205
|
- The bundled `ur-guide` agent no longer answers UR questions out of another
|
|
144
206
|
product's documentation. It instructed the model to fetch
|
|
145
207
|
`https://docs.claude.com/llms.txt` and present it to users as "UR SDK docs"
|
|
@@ -163,6 +225,7 @@
|
|
|
163
225
|
|
|
164
226
|
## 1.68.7
|
|
165
227
|
|
|
228
|
+
|
|
166
229
|
- Corrected the ur.ai -> ur.com replacement, which had rewritten identifiers as
|
|
167
230
|
well as URLs. `'ur.ai'` served two roles in this codebase: a domain in links
|
|
168
231
|
such as `https://ur.ai/settings/billing`, and a discriminant value in
|
|
@@ -176,6 +239,7 @@
|
|
|
176
239
|
|
|
177
240
|
## 1.68.6
|
|
178
241
|
|
|
242
|
+
|
|
179
243
|
- An oversized Ollama request now recovers instead of only explaining itself.
|
|
180
244
|
1.68.3 reported "this request was 19.6 MB" clearly and then left the user to
|
|
181
245
|
run /compact by hand. UR already had both halves of the fix — `isMediaSizeError`
|
|
@@ -195,6 +259,7 @@
|
|
|
195
259
|
|
|
196
260
|
## 1.68.5
|
|
197
261
|
|
|
262
|
+
|
|
198
263
|
- Replaced every `ur.ai` reference in `src/` with `ur.com` (202 sites, 0 left).
|
|
199
264
|
Note what these are: most are upstream URL structures carried into the fork —
|
|
200
265
|
`/settings/billing`, `/settings/connectors`, `/upgrade/max`, `/chrome`,
|
|
@@ -210,6 +275,7 @@
|
|
|
210
275
|
|
|
211
276
|
## 1.68.4
|
|
212
277
|
|
|
278
|
+
|
|
213
279
|
- The status line now reports subagents running in the current turn:
|
|
214
280
|
`agents: 2 running`, separate from the existing background `tasks:` count.
|
|
215
281
|
`isBackgroundTask()` excludes foreground entries on purpose — it was narrowed
|
|
@@ -227,6 +293,7 @@
|
|
|
227
293
|
|
|
228
294
|
## 1.68.3
|
|
229
295
|
|
|
296
|
+
|
|
230
297
|
- `Ollama request failed (400): http: request body too large` now explains
|
|
231
298
|
itself. That string comes from Go's `net/http` MaxBytesReader rejecting the
|
|
232
299
|
payload on **byte size**, which is a different limit from the model's context
|
|
@@ -244,6 +311,7 @@
|
|
|
244
311
|
|
|
245
312
|
## 1.68.2
|
|
246
313
|
|
|
314
|
+
|
|
247
315
|
- **Security: explicit file deny rules were not enforced.** `matchingRuleForInput`
|
|
248
316
|
resolved which permission rule matched a path by reading `igResult.rule.pattern`
|
|
249
317
|
from `ignore().test()`. That property does not exist — `TestResult` is
|
|
@@ -268,6 +336,7 @@
|
|
|
268
336
|
|
|
269
337
|
## 1.68.1
|
|
270
338
|
|
|
339
|
+
|
|
271
340
|
- A detected prompt-injection attempt is now reported to the user instead of
|
|
272
341
|
being refused in silence. Consolidating the scattered prompt guidance into the
|
|
273
342
|
execution contract was a genuine improvement, but one clause did not survive:
|
|
@@ -280,6 +349,7 @@
|
|
|
280
349
|
|
|
281
350
|
## 1.68.0
|
|
282
351
|
|
|
352
|
+
|
|
283
353
|
- Removed `@ts-nocheck` from 73 files, putting 21,503 previously unchecked lines
|
|
284
354
|
under `tsc`. Every one of those files produced **zero** errors once the
|
|
285
355
|
suppression was lifted — they were not suppressed because they were broken,
|
|
@@ -344,6 +414,7 @@
|
|
|
344
414
|
|
|
345
415
|
## 1.66.2
|
|
346
416
|
|
|
417
|
+
|
|
347
418
|
- A long session on Ollama now says when it has run out of context instead of
|
|
348
419
|
quietly getting worse. Ollama truncates an oversized prompt from the front
|
|
349
420
|
rather than returning an error, and the front of the prompt is the system
|
|
@@ -359,6 +430,7 @@
|
|
|
359
430
|
|
|
360
431
|
## 1.66.1
|
|
361
432
|
|
|
433
|
+
|
|
362
434
|
- Corrected the warning-state result used by reactive compaction and context
|
|
363
435
|
collapse when a custom proactive threshold is configured. Their
|
|
364
436
|
effective-window override can no longer report that the separate proactive
|
|
@@ -366,6 +438,7 @@
|
|
|
366
438
|
|
|
367
439
|
## 1.66.0
|
|
368
440
|
|
|
441
|
+
|
|
369
442
|
- Unified proactive compaction around one model-aware threshold and one live
|
|
370
443
|
token estimator. Small context windows now retain positive warning, error,
|
|
371
444
|
and trigger thresholds; configured 50–95% thresholds are honored; prompt
|
|
@@ -397,6 +470,7 @@
|
|
|
397
470
|
|
|
398
471
|
## 1.65.14
|
|
399
472
|
|
|
473
|
+
|
|
400
474
|
- Restored the proactive task-first behavior that was present in v1.65.0 and
|
|
401
475
|
removed a prompt/gate contradiction introduced later. For any non-trivial
|
|
402
476
|
state change, including a feature-rich single-file build, the model is now
|
|
@@ -424,6 +498,7 @@
|
|
|
424
498
|
|
|
425
499
|
## 1.65.13
|
|
426
500
|
|
|
501
|
+
|
|
427
502
|
- Recovered otherwise valid `AskUserQuestion` calls whose UI header exceeds
|
|
428
503
|
the 12-character chip width. Native structured calls, bare/wrapped JSON, and
|
|
429
504
|
explicit-choice recovery now compact only that bounded presentation field;
|
|
@@ -439,6 +514,7 @@
|
|
|
439
514
|
|
|
440
515
|
## 1.65.12
|
|
441
516
|
|
|
517
|
+
|
|
442
518
|
- Forced explicit weak-model decision menus through the real
|
|
443
519
|
`AskUserQuestion` UI. A provider-neutral end-turn guard accepts only one
|
|
444
520
|
canonical Ask object from explicit reasoning or one complete rigid Markdown
|
|
@@ -460,6 +536,7 @@
|
|
|
460
536
|
|
|
461
537
|
## 1.65.11
|
|
462
538
|
|
|
539
|
+
|
|
463
540
|
- Hardened `AskUserQuestion` for weaker models without inventing user intent.
|
|
464
541
|
Its model schema now exposes only a strict 1–4-question request shape with
|
|
465
542
|
2–8 nested choices, compact validation explains malformed flat arrays, and
|
|
@@ -487,6 +564,7 @@
|
|
|
487
564
|
|
|
488
565
|
## 1.65.10
|
|
489
566
|
|
|
567
|
+
|
|
490
568
|
- Reworked approved-plan execution into a capability-aware task graph. Plans
|
|
491
569
|
now split separately completable outcomes, keep genuinely atomic work whole,
|
|
492
570
|
express review-to-fix and verification dependencies, and launch only ready,
|
|
@@ -508,6 +586,7 @@
|
|
|
508
586
|
|
|
509
587
|
## 1.65.9
|
|
510
588
|
|
|
589
|
+
|
|
511
590
|
- Fixed the plan-file/task-list deadlock. While plan mode is active, the exact
|
|
512
591
|
normalized session plan file can be written before actionable tasks exist;
|
|
513
592
|
ordinary workspace mutations still require `TaskCreate`/`TodoWrite`, and
|
|
@@ -524,6 +603,7 @@
|
|
|
524
603
|
|
|
525
604
|
## 1.65.8
|
|
526
605
|
|
|
606
|
+
|
|
527
607
|
- Fixed provider API-key entry in `/model`: the masked input now uses the
|
|
528
608
|
available terminal width, explicit cursor/focus state, and a one-line secret
|
|
529
609
|
viewport instead of rendering one masked character per row. Narrow and
|
|
@@ -531,6 +611,7 @@
|
|
|
531
611
|
|
|
532
612
|
## 1.65.7
|
|
533
613
|
|
|
614
|
+
|
|
534
615
|
- Audited all 14 technical chapters against the shipped source and generated
|
|
535
616
|
CLI. The manual now distinguishes public runtime behavior from compile-time
|
|
536
617
|
flags, compatibility-only state, and source helpers; it is included in the
|
|
@@ -583,6 +664,7 @@
|
|
|
583
664
|
|
|
584
665
|
## 1.65.6
|
|
585
666
|
|
|
667
|
+
|
|
586
668
|
- Remote sessions no longer reconnect forever when the server repeatedly
|
|
587
669
|
accepts a WebSocket upgrade and then reports that the session is missing.
|
|
588
670
|
Repeated `connect()` calls reuse the live client, malformed permission and
|
|
@@ -643,6 +725,7 @@
|
|
|
643
725
|
|
|
644
726
|
## 1.65.5
|
|
645
727
|
|
|
728
|
+
|
|
646
729
|
- Syntax highlighting works again — in assistant messages, code previews and
|
|
647
730
|
question dialogs. `cli-highlight` was imported by four rendering surfaces and
|
|
648
731
|
declared in `package.json` by none of them, so the import threw on every run
|
|
@@ -669,6 +752,7 @@
|
|
|
669
752
|
could leave a stale value on screen after a switch.
|
|
670
753
|
## 1.65.4
|
|
671
754
|
|
|
755
|
+
|
|
672
756
|
- A tool call that keeps failing identically is now stopped. A 4B model refused
|
|
673
757
|
once by the task-list gate answered by emitting `Write` with no arguments
|
|
674
758
|
repeatedly, and nothing intervened — the trajectory grader names this pattern
|
|
@@ -684,6 +768,7 @@
|
|
|
684
768
|
|
|
685
769
|
## 1.65.3
|
|
686
770
|
|
|
771
|
+
|
|
687
772
|
- Removed two tips for things that do not exist: `/mobile to use UR from the
|
|
688
773
|
UR app on your phone` (no such command, no such app) and a pointer to
|
|
689
774
|
`ur.ai/web` (no DNS record, same dead domain class as the `ur.com` links
|
|
@@ -701,6 +786,7 @@
|
|
|
701
786
|
|
|
702
787
|
## 1.65.2
|
|
703
788
|
|
|
789
|
+
|
|
704
790
|
- Fixed `--discover-ollama` having no effect on model discovery or requests.
|
|
705
791
|
`getOllamaBaseUrl` resolves the session host correctly, but three callers
|
|
706
792
|
read a persisted `provider.baseUrl` *before* consulting it, so a value
|
|
@@ -739,6 +825,7 @@
|
|
|
739
825
|
|
|
740
826
|
## 1.65.1
|
|
741
827
|
|
|
828
|
+
|
|
742
829
|
- Fixed `ur selftest run` reporting 0/5 anywhere but the UR repo. The drill
|
|
743
830
|
runner spawned `./bin/ur.js`, a path relative to the current directory, so
|
|
744
831
|
every drill failed instantly with an empty detail — which reads as five
|
|
@@ -752,6 +839,7 @@
|
|
|
752
839
|
|
|
753
840
|
## 1.65.0
|
|
754
841
|
|
|
842
|
+
|
|
755
843
|
- The release gate now asks the registry whether the packed dependency ranges
|
|
756
844
|
can actually be installed. This is the check that was missing when 1.61.2
|
|
757
845
|
through 1.64.0 shipped uninstallable: the tarball built, the CLI started,
|
|
@@ -767,6 +855,7 @@
|
|
|
767
855
|
|
|
768
856
|
## 1.64.1
|
|
769
857
|
|
|
858
|
+
|
|
770
859
|
- Fixed `npm install -g ur-agent` failing with
|
|
771
860
|
`No matching version found for playwright-core@^1.64.0`. Releases 1.61.2,
|
|
772
861
|
1.62.0, 1.63.0 and 1.64.0 were uninstallable: the version bump was a
|
|
@@ -784,6 +873,7 @@
|
|
|
784
873
|
|
|
785
874
|
## 1.64.0
|
|
786
875
|
|
|
876
|
+
|
|
787
877
|
- Tool-result pruning now announces itself. It changed context silently, so
|
|
788
878
|
there was no way to confirm it fired or to attribute a missing detail to it —
|
|
789
879
|
the same defect memory suggestions had when they went to stderr. A prune now
|
|
@@ -808,6 +898,7 @@
|
|
|
808
898
|
|
|
809
899
|
## 1.63.0
|
|
810
900
|
|
|
901
|
+
|
|
811
902
|
- Added size-triggered pruning of superseded tool results
|
|
812
903
|
(`context.pruneToolResults`). UR already had the clearing machinery, but
|
|
813
904
|
nothing external could reach it: cached microcompact is internal-only and
|
|
@@ -827,6 +918,7 @@
|
|
|
827
918
|
|
|
828
919
|
## 1.62.0
|
|
829
920
|
|
|
921
|
+
|
|
830
922
|
- `ur agent-inspect --costs` now labels each row with what the agent was
|
|
831
923
|
actually doing. A real 62-agent fan-out reported opaque hex ids, so you could
|
|
832
924
|
see that one agent burned 810k input tokens — 14% of the session — without
|
|
@@ -838,6 +930,7 @@
|
|
|
838
930
|
|
|
839
931
|
## 1.61.2
|
|
840
932
|
|
|
933
|
+
|
|
841
934
|
- Fixed `ur agent-inspect --costs` reporting nothing, always. It resolved the
|
|
842
935
|
*live* session, but every `ur` invocation mints a new session id, so bare it
|
|
843
936
|
pointed at a session created milliseconds earlier that had by definition
|
|
@@ -851,6 +944,7 @@
|
|
|
851
944
|
|
|
852
945
|
## 1.61.1
|
|
853
946
|
|
|
947
|
+
|
|
854
948
|
- Fixed secondary model queries failing on any Ollama setup whose session model
|
|
855
949
|
is not `qwen2.5-coder:7b`. `getSmallFastModel()` fell back to the compiled
|
|
856
950
|
default when auto-routing was off or no model list had been discovered, so a
|
|
@@ -867,6 +961,7 @@
|
|
|
867
961
|
|
|
868
962
|
## 1.61.0
|
|
869
963
|
|
|
964
|
+
|
|
870
965
|
- Added `ur selftest`, end-to-end drills for the gap that produced every
|
|
871
966
|
serious defect in recent releases: a module that is correct while something
|
|
872
967
|
between it and the user is not — a wire format, a CLI registration, an exit
|
|
@@ -886,6 +981,7 @@
|
|
|
886
981
|
|
|
887
982
|
## 1.60.1
|
|
888
983
|
|
|
984
|
+
|
|
889
985
|
- `ur memory-integrity verify` no longer reports an empty or missing store as
|
|
890
986
|
verified. It printed "verified — 0 file(s) match the recorded digests" for an
|
|
891
987
|
empty directory, and that identical reassurance would have appeared for a
|
|
@@ -901,6 +997,7 @@
|
|
|
901
997
|
|
|
902
998
|
## 1.60.0
|
|
903
999
|
|
|
1000
|
+
|
|
904
1001
|
- Added `ur memory-integrity`, tamper-evidence for the file-backed memory
|
|
905
1002
|
stores. Project task memory was hash-chained and could prove tampering; the
|
|
906
1003
|
auto-memory and team-memory directories had nothing, and their contents are
|
|
@@ -928,6 +1025,7 @@
|
|
|
928
1025
|
|
|
929
1026
|
## 1.59.0
|
|
930
1027
|
|
|
1028
|
+
|
|
931
1029
|
- Added `ur sources`, a claim-to-source ledger. `wrapUntrusted` already stamped
|
|
932
1030
|
every untrusted block with a nonce and a source label, but discarded both the
|
|
933
1031
|
moment the block reached the model, so there was no way to audit what web or
|
|
@@ -954,6 +1052,7 @@
|
|
|
954
1052
|
|
|
955
1053
|
## 1.58.1
|
|
956
1054
|
|
|
1055
|
+
|
|
957
1056
|
- Unified vision-capability detection behind
|
|
958
1057
|
`src/utils/model/visionCapability.ts`. Three implementations disagreed: the
|
|
959
1058
|
Ollama adapter's `modelCapabilityEnabled` returned `has(x) ?? true`, so a
|
|
@@ -976,6 +1075,7 @@
|
|
|
976
1075
|
|
|
977
1076
|
## 1.58.0
|
|
978
1077
|
|
|
1078
|
+
|
|
979
1079
|
- Added per-agent cost and token attribution: `ur agent-inspect --costs`.
|
|
980
1080
|
`stats.ts` already read every `{sessionId}/subagents/agent-{agentId}.jsonl`
|
|
981
1081
|
transcript, but only to fold those tokens into a single total, so a fan-out
|
|
@@ -990,6 +1090,7 @@
|
|
|
990
1090
|
|
|
991
1091
|
## 1.57.5
|
|
992
1092
|
|
|
1093
|
+
|
|
993
1094
|
- Fixed the release gate failing on `repoEditImports`. The gate runs
|
|
994
1095
|
`bun test --timeout 120000`, but a per-test budget silently overrides that
|
|
995
1096
|
global, and this test declared 15s while its body — which builds a
|
|
@@ -1001,6 +1102,7 @@
|
|
|
1001
1102
|
|
|
1002
1103
|
## 1.57.4
|
|
1003
1104
|
|
|
1105
|
+
|
|
1004
1106
|
- Fixed slash command arguments being silently truncated. `parseArguments`
|
|
1005
1107
|
kept only the string tokens shell-quote returned, but shell-quote classifies
|
|
1006
1108
|
`left?` and `src/*.ts` as globs and `&`, `>`, `(` as operators — so
|
|
@@ -1024,6 +1126,7 @@
|
|
|
1024
1126
|
|
|
1025
1127
|
## 1.57.3
|
|
1026
1128
|
|
|
1129
|
+
|
|
1027
1130
|
- Stopped a false diagnosis on failed tool calls. When a tool call failed
|
|
1028
1131
|
schema validation, UR appended "this tool's schema was not sent to the API"
|
|
1029
1132
|
and told the model to load it via `ToolSearch`. Both claims were wrong on
|
|
@@ -1040,6 +1143,7 @@
|
|
|
1040
1143
|
|
|
1041
1144
|
## 1.57.2
|
|
1042
1145
|
|
|
1146
|
+
|
|
1043
1147
|
- Fixed the Ollama adapter discarding images returned by tools. A tool result
|
|
1044
1148
|
containing an image was flattened with `contentBlockToText`, which renders an
|
|
1045
1149
|
image block as the literal string `[Image output omitted]` — so a `Computer`
|
|
@@ -1054,6 +1158,7 @@
|
|
|
1054
1158
|
|
|
1055
1159
|
## 1.57.1
|
|
1056
1160
|
|
|
1161
|
+
|
|
1057
1162
|
- Fixed the `Computer` tool returning a byte count instead of the screenshot.
|
|
1058
1163
|
`mapToolResultToToolResultBlockParam` dropped the captured image, so the
|
|
1059
1164
|
model saw only "Captured 5164460 bytes" and had to ask the user where to save
|
|
@@ -1065,6 +1170,7 @@
|
|
|
1065
1170
|
|
|
1066
1171
|
## 1.57.0
|
|
1067
1172
|
|
|
1173
|
+
|
|
1068
1174
|
- Connected four features that were built, tested and then left unreachable.
|
|
1069
1175
|
Each had passing unit tests while contributing nothing to a real session.
|
|
1070
1176
|
- `wrapUntrusted()` now runs on WebFetch and WebSearch results, at the
|
|
@@ -1093,6 +1199,7 @@
|
|
|
1093
1199
|
|
|
1094
1200
|
## 1.56.1
|
|
1095
1201
|
|
|
1202
|
+
|
|
1096
1203
|
- Documented the 1.52.0–1.56.0 features, which had reached `technical/03` as
|
|
1097
1204
|
command rows but nowhere else. Doc 09 now covers the fan-out limits and how
|
|
1098
1205
|
to run several workers at once; doc 12 covers the prompt-injection module and
|
|
@@ -1103,6 +1210,7 @@
|
|
|
1103
1210
|
|
|
1104
1211
|
## 1.56.0
|
|
1105
1212
|
|
|
1213
|
+
|
|
1106
1214
|
- Added a subagent fan-out governor. Agents could spawn agents with no depth or
|
|
1107
1215
|
concurrency bound, and `/crew`, `/arena`, `/bg fanout` and `/pattern` all
|
|
1108
1216
|
spawn several at once, so a single prompt could expand into an unbounded tree
|
|
@@ -1131,6 +1239,7 @@
|
|
|
1131
1239
|
|
|
1132
1240
|
## 1.55.0
|
|
1133
1241
|
|
|
1242
|
+
|
|
1134
1243
|
- Narrowed `APIProvider` to the two values `getAPIProvider()` can actually
|
|
1135
1244
|
return, `'foundry' | 'ollama'`, and let the compiler find every dead branch.
|
|
1136
1245
|
It surfaced 66 errors across 25 files; all are now resolved and the
|
|
@@ -1157,6 +1266,7 @@
|
|
|
1157
1266
|
|
|
1158
1267
|
## 1.54.1
|
|
1159
1268
|
|
|
1269
|
+
|
|
1160
1270
|
- Fixed `/speak`, `/computer`, `/memory-suggest`, `/import-session` and
|
|
1161
1271
|
`/permission-profile` being unreachable from the shell. They were registered
|
|
1162
1272
|
as slash commands but never wired into the Commander tree in `main.tsx`, so
|
|
@@ -1172,6 +1282,7 @@
|
|
|
1172
1282
|
|
|
1173
1283
|
## 1.54.0
|
|
1174
1284
|
|
|
1285
|
+
|
|
1175
1286
|
- Wired the 1.53.0 capability libraries into runnable commands. They were
|
|
1176
1287
|
verified modules but nothing invoked them; these are the execution paths.
|
|
1177
1288
|
- Added `/speak <text>` (alias `/say`), which drives the platform speech
|
|
@@ -1191,6 +1302,7 @@
|
|
|
1191
1302
|
|
|
1192
1303
|
## 1.53.0
|
|
1193
1304
|
|
|
1305
|
+
|
|
1194
1306
|
- Added automatic memory extraction (`src/memdir/extractFacts.ts`). Durable
|
|
1195
1307
|
preferences and project conventions are proposed from user messages, deduped
|
|
1196
1308
|
against stored memory by normalized key and containment, and ranked by
|
|
@@ -1221,6 +1333,7 @@
|
|
|
1221
1333
|
|
|
1222
1334
|
## 1.52.0
|
|
1223
1335
|
|
|
1336
|
+
|
|
1224
1337
|
- Implemented Ollama Cloud authentication. The Ollama client sent no
|
|
1225
1338
|
`Authorization` header at all, so the hosted API was unreachable: local
|
|
1226
1339
|
sessions only worked because the signed-in daemon proxies `:cloud` models on
|
|
@@ -1241,6 +1354,7 @@
|
|
|
1241
1354
|
|
|
1242
1355
|
## 1.51.0
|
|
1243
1356
|
|
|
1357
|
+
|
|
1244
1358
|
- Added named permission profiles. `settings.permissions.profiles` holds named
|
|
1245
1359
|
rule sets (allow/deny/ask plus a description) and
|
|
1246
1360
|
`settings.permissions.activeProfile` selects one; its rules are appended to
|
|
@@ -1259,6 +1373,7 @@
|
|
|
1259
1373
|
|
|
1260
1374
|
## 1.50.6
|
|
1261
1375
|
|
|
1376
|
+
|
|
1262
1377
|
- Implemented `--effort` on Ollama. The support predicate compared
|
|
1263
1378
|
`getAPIProvider()` against `'firstParty'` — a value it can never return — so
|
|
1264
1379
|
the advertised flag was silently dropped everywhere. Effort is now advertised
|
|
@@ -1294,6 +1409,7 @@
|
|
|
1294
1409
|
|
|
1295
1410
|
## 1.50.5
|
|
1296
1411
|
|
|
1412
|
+
|
|
1297
1413
|
- Added `.github/workflows/release.yml`. The repository had only a test
|
|
1298
1414
|
workflow, so tags never became production releases: 18 tags existed with no
|
|
1299
1415
|
GitHub Release and no automated publish. Pushing a `v*` tag now runs the full
|
|
@@ -1308,6 +1424,7 @@
|
|
|
1308
1424
|
|
|
1309
1425
|
## 1.50.4
|
|
1310
1426
|
|
|
1427
|
+
|
|
1311
1428
|
- Removed the `/install-github-app` command and its GitHub App setup flow,
|
|
1312
1429
|
along with the startup tip suggesting `@ur` be tagged from issues and pull
|
|
1313
1430
|
requests. The composite action at the repository root is removed with it.
|
|
@@ -1318,6 +1435,7 @@
|
|
|
1318
1435
|
|
|
1319
1436
|
## 1.50.3
|
|
1320
1437
|
|
|
1438
|
+
|
|
1321
1439
|
- Removed the GitHub App installation step from `/install-github-app`. UR
|
|
1322
1440
|
authenticates in CI with the workflow's built-in `GITHUB_TOKEN` and a
|
|
1323
1441
|
repository secret, so there is no app to install and no bot identity to
|
|
@@ -1333,6 +1451,7 @@
|
|
|
1333
1451
|
|
|
1334
1452
|
## 1.50.2
|
|
1335
1453
|
|
|
1454
|
+
|
|
1336
1455
|
- Fixed local-provider sessions showing "Not logged in · Run /login" with no
|
|
1337
1456
|
account to log in to, introduced in 1.50.1. Credential ownership and URHQ
|
|
1338
1457
|
auth applicability are separate questions: an Ollama session uses the user's
|
|
@@ -1347,6 +1466,7 @@
|
|
|
1347
1466
|
|
|
1348
1467
|
## 1.50.1
|
|
1349
1468
|
|
|
1469
|
+
|
|
1350
1470
|
- Fixed an always-true provider test that silently disabled a large part of the
|
|
1351
1471
|
command surface. `isUsing3PServices()` was derived from `getAPIProvider()`,
|
|
1352
1472
|
a request-shaping enum that never returns `'firstParty'`, so the comparison
|
|
@@ -1365,6 +1485,7 @@
|
|
|
1365
1485
|
|
|
1366
1486
|
## 1.50.0
|
|
1367
1487
|
|
|
1488
|
+
|
|
1368
1489
|
- Completed `/install-github-app` so `@ur <task>` works from GitHub. The
|
|
1369
1490
|
mention now triggers on issue comments, pull-request comments, inline review
|
|
1370
1491
|
comments, submitted reviews, and new issues; `/ur` remains accepted. Matching
|
|
@@ -1397,6 +1518,7 @@
|
|
|
1397
1518
|
|
|
1398
1519
|
## 1.49.0
|
|
1399
1520
|
|
|
1521
|
+
|
|
1400
1522
|
- Added cryptographically signed A2A Agent Cards: RFC 7515 detached JWS over
|
|
1401
1523
|
the RFC 8785 canonical form of the card, using Ed25519 (`alg: "EdDSA"`).
|
|
1402
1524
|
Verification recomputes the payload with `signatures` excluded, so a card can
|
|
@@ -1413,6 +1535,7 @@
|
|
|
1413
1535
|
|
|
1414
1536
|
## 1.48.0
|
|
1415
1537
|
|
|
1538
|
+
|
|
1416
1539
|
- Added managed cloud fan-out with durable, idempotent steering, owner-scoped
|
|
1417
1540
|
mobile/A2A control, explicit PASS plus safe-branch selection, and
|
|
1418
1541
|
cancellation-safe task transitions.
|
|
@@ -1431,6 +1554,7 @@
|
|
|
1431
1554
|
|
|
1432
1555
|
## 1.47.1
|
|
1433
1556
|
|
|
1557
|
+
|
|
1434
1558
|
- Hardened file downloads, filesystem permission checks, and signed skill
|
|
1435
1559
|
trees against traversal and chained-symlink escapes.
|
|
1436
1560
|
- Fixed task-memory integrity validation, prompt-plan file locking and change
|
|
@@ -1444,6 +1568,7 @@
|
|
|
1444
1568
|
|
|
1445
1569
|
## 1.47.0
|
|
1446
1570
|
|
|
1571
|
+
|
|
1447
1572
|
- Added a secure, opt-in AG-UI HTTP/SSE adapter with official schema/encoder
|
|
1448
1573
|
integration, truthful capability discovery, ordered text/tool/state events,
|
|
1449
1574
|
cancellation, exact CORS, bearer protection for network exposure, resource
|
|
@@ -1482,6 +1607,7 @@
|
|
|
1482
1607
|
|
|
1483
1608
|
## 1.46.0
|
|
1484
1609
|
|
|
1610
|
+
|
|
1485
1611
|
- Added a stable, official-SDK ACP v1 stdio agent with resumable sessions,
|
|
1486
1612
|
client MCP transports and additional roots, streamed updates, native
|
|
1487
1613
|
permission requests, cancellation, and private persisted session identity.
|
|
@@ -1513,6 +1639,7 @@
|
|
|
1513
1639
|
|
|
1514
1640
|
## 1.45.6
|
|
1515
1641
|
|
|
1642
|
+
|
|
1516
1643
|
- Deduplicated project verification approval so compile/test/lint commands are
|
|
1517
1644
|
offered at most once per user turn. The approval marker is cleared for the
|
|
1518
1645
|
next user task, preserving one explicit decision per task.
|
|
@@ -1522,6 +1649,7 @@
|
|
|
1522
1649
|
|
|
1523
1650
|
## 1.45.5
|
|
1524
1651
|
|
|
1652
|
+
|
|
1525
1653
|
- Bounded Ollama Cloud response-header and streaming phases to 120 seconds by
|
|
1526
1654
|
default while preserving the five-minute allowance for local Ollama models.
|
|
1527
1655
|
`API_TIMEOUT_MS` and per-request timeouts still take precedence.
|
|
@@ -1537,6 +1665,7 @@
|
|
|
1537
1665
|
|
|
1538
1666
|
## 1.45.4
|
|
1539
1667
|
|
|
1668
|
+
|
|
1540
1669
|
- Added mandatory provider-first model selection for the first interactive run
|
|
1541
1670
|
in every workspace that has no project-local model. The validated provider
|
|
1542
1671
|
and model pair is saved to `.ur/settings.local.json` before the REPL starts.
|
|
@@ -1549,6 +1678,7 @@
|
|
|
1549
1678
|
|
|
1550
1679
|
## 1.45.3
|
|
1551
1680
|
|
|
1681
|
+
|
|
1552
1682
|
- Made slash-command resolution deterministic across bundled skills, plugins,
|
|
1553
1683
|
project skills, workflows, and built-ins. Duplicate canonical tokens are
|
|
1554
1684
|
rejected by source priority and conflicting aliases are removed; registry
|
|
@@ -1569,6 +1699,7 @@
|
|
|
1569
1699
|
|
|
1570
1700
|
## 1.45.2
|
|
1571
1701
|
|
|
1702
|
+
|
|
1572
1703
|
Correctness and containment release completing the runtime audit.
|
|
1573
1704
|
|
|
1574
1705
|
- Made sandbox, security-scope, WebFetch, API, browser, database, test-runner,
|
|
@@ -1601,6 +1732,7 @@ Correctness and containment release completing the runtime audit.
|
|
|
1601
1732
|
|
|
1602
1733
|
## 1.45.1
|
|
1603
1734
|
|
|
1735
|
+
|
|
1604
1736
|
Completes the three partially-delivered 1.45.0 items to 100%.
|
|
1605
1737
|
|
|
1606
1738
|
- Semantic code search is now zero-config: the CodeSearch tool auto-enables
|
|
@@ -1617,6 +1749,7 @@ Completes the three partially-delivered 1.45.0 items to 100%.
|
|
|
1617
1749
|
|
|
1618
1750
|
## 1.45.0
|
|
1619
1751
|
|
|
1752
|
+
|
|
1620
1753
|
Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
1621
1754
|
|
|
1622
1755
|
- `ur cloud` — detached best-of-N tasks (the local-first codex-cloud
|
|
@@ -1661,6 +1794,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1661
1794
|
|
|
1662
1795
|
## 1.44.10
|
|
1663
1796
|
|
|
1797
|
+
|
|
1664
1798
|
- Render `AskUserQuestion` permission requests inside a `PermissionDialog` so
|
|
1665
1799
|
multiple-choice options appear as a bordered dialog box rather than a plain
|
|
1666
1800
|
list.
|
|
@@ -1673,6 +1807,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1673
1807
|
|
|
1674
1808
|
## 1.44.9
|
|
1675
1809
|
|
|
1810
|
+
|
|
1676
1811
|
- Fix recurring "String to replace not found in file" Edit errors by adding
|
|
1677
1812
|
whitespace-tolerant matching (trailing whitespace, tab/space indentation).
|
|
1678
1813
|
- Fix AskUserQuestion "questions type expected as array" validation errors by
|
|
@@ -1680,6 +1815,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1680
1815
|
|
|
1681
1816
|
## 1.44.8
|
|
1682
1817
|
|
|
1818
|
+
|
|
1683
1819
|
- Keep auto-memory and automatic learning on by default with explicit opt-outs.
|
|
1684
1820
|
Automatic learning can now be disabled with `automaticLearningEnabled: false`
|
|
1685
1821
|
or `UR_CODE_DISABLE_AUTO_LEARNING=1`.
|
|
@@ -1690,6 +1826,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1690
1826
|
|
|
1691
1827
|
## 1.44.7
|
|
1692
1828
|
|
|
1829
|
+
|
|
1693
1830
|
- Add `autoApprove` permission mode for command/tool approval prompts. It
|
|
1694
1831
|
auto-approves operations that would otherwise require permission approval,
|
|
1695
1832
|
while preserving user-input dialogs and explicit denials.
|
|
@@ -1697,14 +1834,17 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1697
1834
|
|
|
1698
1835
|
## 1.44.6
|
|
1699
1836
|
|
|
1837
|
+
|
|
1700
1838
|
- Internal permission-mode iteration superseded by `1.44.7`.
|
|
1701
1839
|
|
|
1702
1840
|
## 1.44.5
|
|
1703
1841
|
|
|
1842
|
+
|
|
1704
1843
|
- Internal permission-mode iteration superseded by `1.44.6`.
|
|
1705
1844
|
|
|
1706
1845
|
## 1.44.4
|
|
1707
1846
|
|
|
1847
|
+
|
|
1708
1848
|
- The agent now learns from every run automatically — no `/learn run` needed.
|
|
1709
1849
|
ci-loop, arena, escalation, and test-first completions fold their pass/fail
|
|
1710
1850
|
outcome (per task category and model) into `.ur/learning/stats.json` as a
|
|
@@ -1726,6 +1866,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1726
1866
|
|
|
1727
1867
|
## 1.44.3
|
|
1728
1868
|
|
|
1869
|
+
|
|
1729
1870
|
- Make thinking visually distinct from answers: thinking blocks are labeled
|
|
1730
1871
|
"model reasoning to itself — not the answer" (dim italic, left-bordered when
|
|
1731
1872
|
expanded); answer text carries an accent-colored ⏺ marker.
|
|
@@ -1759,6 +1900,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1759
1900
|
|
|
1760
1901
|
## 1.44.2
|
|
1761
1902
|
|
|
1903
|
+
|
|
1762
1904
|
- Fix Ollama streamed tool-call accumulation: Ollama streams each completed
|
|
1763
1905
|
tool call in its own chunk, but the merge logic overwrote call N-1 with
|
|
1764
1906
|
call N, collapsing multi-call turns (e.g. several `Write` calls scaffolding
|
|
@@ -1783,6 +1925,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1783
1925
|
|
|
1784
1926
|
## 1.44.1
|
|
1785
1927
|
|
|
1928
|
+
|
|
1786
1929
|
- Fix task board rendering: finished, failed, and skipped tasks now render as
|
|
1787
1930
|
checked instead of unchecked.
|
|
1788
1931
|
- Deduplicate consecutive task board emissions and keep final boards clean
|
|
@@ -1790,6 +1933,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1790
1933
|
|
|
1791
1934
|
## 1.44.0
|
|
1792
1935
|
|
|
1936
|
+
|
|
1793
1937
|
- Add `verifier.askBeforeGates` setting (default `false`). When enabled, UR asks
|
|
1794
1938
|
via `AskUserQuestion` whether to run project verification commands after a
|
|
1795
1939
|
task, instead of auto-running tests/typecheck/lint gates. Available in
|
|
@@ -1800,6 +1944,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1800
1944
|
|
|
1801
1945
|
## 1.43.6
|
|
1802
1946
|
|
|
1947
|
+
|
|
1803
1948
|
- Render output from reasoning models on OpenAI-compatible providers (LM Studio,
|
|
1804
1949
|
vLLM). The streaming and non-streaming parsers now read `reasoning_content`
|
|
1805
1950
|
(and `reasoning`) deltas and surface them as thinking blocks. Models that emit
|
|
@@ -1808,6 +1953,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1808
1953
|
|
|
1809
1954
|
## 1.43.5
|
|
1810
1955
|
|
|
1956
|
+
|
|
1811
1957
|
- Fix model discovery for OpenAI-compatible providers (LM Studio, llama.cpp,
|
|
1812
1958
|
vLLM) when base_url omits the API version segment. Discovery and `ur provider
|
|
1813
1959
|
doctor` now also try `/v1/models` when base_url is just `host:port`, so
|
|
@@ -1817,6 +1963,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1817
1963
|
|
|
1818
1964
|
## 1.43.4
|
|
1819
1965
|
|
|
1966
|
+
|
|
1820
1967
|
- Tolerate hallucinated extra parameters on tool calls: when input validation
|
|
1821
1968
|
fails only because of unrecognized keys (e.g. `title`/`description` on a
|
|
1822
1969
|
`Write` call), those keys are stripped and the call is re-validated instead
|
|
@@ -1825,6 +1972,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1825
1972
|
|
|
1826
1973
|
## 1.43.3
|
|
1827
1974
|
|
|
1975
|
+
|
|
1828
1976
|
- Bias the assistant toward the interactive arrow-key select menu: the
|
|
1829
1977
|
AskUserQuestion tool guidance now instructs the model to use the selectable
|
|
1830
1978
|
menu whenever it offers the user a choice, instead of asking a free-form
|
|
@@ -1832,6 +1980,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1832
1980
|
|
|
1833
1981
|
## 1.43.2
|
|
1834
1982
|
|
|
1983
|
+
|
|
1835
1984
|
- Fix artifact pages hanging blank: diff viewer assets (diff2html,
|
|
1836
1985
|
highlight.js theme) are now served locally from `/assets` via the new
|
|
1837
1986
|
`diff2html` dependency instead of render-blocking CDN tags, and the viewer
|
|
@@ -1842,6 +1991,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1842
1991
|
|
|
1843
1992
|
## 1.43.1
|
|
1844
1993
|
|
|
1994
|
+
|
|
1845
1995
|
- Artifacts page renders diffs VS Code-style: side-by-side/inline views with
|
|
1846
1996
|
syntax highlighting via diff2html (plain-text fallback when offline). New
|
|
1847
1997
|
live view `/diff` shows current working-tree changes without manual capture,
|
|
@@ -1853,6 +2003,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1853
2003
|
|
|
1854
2004
|
## 1.43.0
|
|
1855
2005
|
|
|
2006
|
+
|
|
1856
2007
|
- Add `ur artifacts serve [--port 4180]`: a local web page for artifacts.
|
|
1857
2008
|
`GET /artifacts/<id>` renders one artifact (status, summary, feedback,
|
|
1858
2009
|
content), `/` lists all, with `/artifacts/<id>/raw` and `/api/artifacts[/<id>]`
|
|
@@ -1860,6 +2011,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1860
2011
|
|
|
1861
2012
|
## 1.42.0
|
|
1862
2013
|
|
|
2014
|
+
|
|
1863
2015
|
- Project safety policy no longer hard-blocks commands. Risky or deny-matched
|
|
1864
2016
|
commands (package installs, destructive git operations, secret access,
|
|
1865
2017
|
sandbox-required commands when the sandbox is unavailable) now surface as
|
|
@@ -1868,6 +2020,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1868
2020
|
|
|
1869
2021
|
## 1.41.1
|
|
1870
2022
|
|
|
2023
|
+
|
|
1871
2024
|
- Harden provider tests against stored API keys in the local secure storage.
|
|
1872
2025
|
- Revert sandbox default to disabled; expose `sandbox.enabled`,
|
|
1873
2026
|
`sandbox.failIfUnavailable`, and `sandbox.allowUnsandboxedCommands` through
|
|
@@ -1875,6 +2028,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1875
2028
|
|
|
1876
2029
|
## 1.41.0
|
|
1877
2030
|
|
|
2031
|
+
|
|
1878
2032
|
- Persist the model chosen through the interactive `/model` picker to settings
|
|
1879
2033
|
and clear saved model state when `/model default` is used.
|
|
1880
2034
|
- Enable the sandbox by default when no explicit `sandbox.enabled` setting is
|
|
@@ -1882,6 +2036,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1882
2036
|
|
|
1883
2037
|
## 1.40.1
|
|
1884
2038
|
|
|
2039
|
+
|
|
1885
2040
|
- Pin `diff` to ^7 and OpenTelemetry packages to 2.6.1/0.214.0 to match the
|
|
1886
2041
|
source API, fixing type errors from accidental dependency bumps, and rebuild
|
|
1887
2042
|
the shipped bundle against these versions.
|
|
@@ -1889,11 +2044,13 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1889
2044
|
|
|
1890
2045
|
## 1.40.0
|
|
1891
2046
|
|
|
2047
|
+
|
|
1892
2048
|
- Version bump: align package, build macro, VS Code extension, docs eyebrow, and
|
|
1893
2049
|
changelog for the 1.40.0 release.
|
|
1894
2050
|
|
|
1895
2051
|
## 1.37.5
|
|
1896
2052
|
|
|
2053
|
+
|
|
1897
2054
|
- Version bump: align package, build macro, VS Code extension, docs eyebrow, and
|
|
1898
2055
|
changelog for the 1.37.5 patch release.
|
|
1899
2056
|
- Rename user-facing product/package branding to UR-Nexus while preserving the
|
|
@@ -1914,11 +2071,13 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1914
2071
|
|
|
1915
2072
|
## 1.37.3
|
|
1916
2073
|
|
|
2074
|
+
|
|
1917
2075
|
- Version bump: align package, build macro, VS Code extension, docs eyebrow, and
|
|
1918
2076
|
changelog for the 1.37.3 patch release.
|
|
1919
2077
|
|
|
1920
2078
|
## 1.37.2
|
|
1921
2079
|
|
|
2080
|
+
|
|
1922
2081
|
- Tightened provider reliability: API-provider calls now use a finite default
|
|
1923
2082
|
timeout, consistent retry handling for transient network/provider failures,
|
|
1924
2083
|
and safer OpenAI-compatible base URL normalization without changing streaming,
|
|
@@ -1940,6 +2099,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1940
2099
|
|
|
1941
2100
|
## 1.35.1
|
|
1942
2101
|
|
|
2102
|
+
|
|
1943
2103
|
- Polished the bundled VS Code inline-diffs view with native toolbar icons,
|
|
1944
2104
|
useful empty-state rows, clearer diff labels, and a cleaner review webview.
|
|
1945
2105
|
- Fixed `ur ide status` routing so the IDE extension status action reports
|
|
@@ -1949,6 +2109,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1949
2109
|
|
|
1950
2110
|
## 1.35.0
|
|
1951
2111
|
|
|
2112
|
+
|
|
1952
2113
|
- New `ur connect` CLI command (same implementation as the `/connect` slash
|
|
1953
2114
|
command): `ur connect status`, `ur connect <provider>`,
|
|
1954
2115
|
`ur connect <provider> --key <KEY>`, and `ur connect logout <provider>`.
|
|
@@ -1973,6 +2134,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1973
2134
|
|
|
1974
2135
|
## 1.34.0
|
|
1975
2136
|
|
|
2137
|
+
|
|
1976
2138
|
- Restore the 1.30.3 subscription approach: Codex CLI, Claude Code, Gemini CLI
|
|
1977
2139
|
and Antigravity are first-class in `/model` again — shown by default and
|
|
1978
2140
|
usable directly (no `UR_ENABLE_EXTERNAL_APP_PROVIDERS` opt-in and no runtime
|
|
@@ -1984,6 +2146,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1984
2146
|
|
|
1985
2147
|
## 1.33.0
|
|
1986
2148
|
|
|
2149
|
+
|
|
1987
2150
|
- Add API keys from inside UR while it is running: in `/model`, selecting an
|
|
1988
2151
|
API provider (OpenAI, Anthropic, Gemini, OpenRouter) that isn't connected now
|
|
1989
2152
|
shows a masked key-entry step. The key is stored in the OS keychain, then the
|
|
@@ -1994,6 +2157,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1994
2157
|
|
|
1995
2158
|
## 1.32.0
|
|
1996
2159
|
|
|
2160
|
+
|
|
1997
2161
|
- `/model` now shows the subscription providers (Codex CLI, Claude Code, Gemini
|
|
1998
2162
|
CLI, Antigravity) again. They are enabled the moment you `ur connect` them
|
|
1999
2163
|
(persisted per-account opt-in) — no `UR_ENABLE_EXTERNAL_APP_PROVIDERS` env var
|
|
@@ -2009,6 +2173,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2009
2173
|
|
|
2010
2174
|
## 1.31.0
|
|
2011
2175
|
|
|
2176
|
+
|
|
2012
2177
|
- Add in-app provider connection: `ur connect` / `/connect` connects a provider
|
|
2013
2178
|
once and persists it. Subscription providers (Codex, Claude Code, Gemini,
|
|
2014
2179
|
Antigravity) launch their official CLI login using your own account; API
|
|
@@ -2025,6 +2190,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2025
2190
|
|
|
2026
2191
|
## 1.30.6
|
|
2027
2192
|
|
|
2193
|
+
|
|
2028
2194
|
- Restore a visible `subscription` access entry in provider lists without
|
|
2029
2195
|
exposing provider app bridges as normal runtimes.
|
|
2030
2196
|
- Keep subscription selection honest: no fake UR model IDs are listed, and the
|
|
@@ -2033,6 +2199,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2033
2199
|
|
|
2034
2200
|
## 1.30.5
|
|
2035
2201
|
|
|
2202
|
+
|
|
2036
2203
|
- Hide external app bridge providers from normal `/model`, `/provider`, and
|
|
2037
2204
|
`ur provider list` output. The default provider UX now shows only UR-native
|
|
2038
2205
|
API, local, and OpenAI-compatible server runtimes.
|
|
@@ -2042,6 +2209,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2042
2209
|
|
|
2043
2210
|
## 1.30.4
|
|
2044
2211
|
|
|
2212
|
+
|
|
2045
2213
|
- Make the default provider runtime independent of provider apps. Codex CLI,
|
|
2046
2214
|
Claude Code, Gemini CLI, and Antigravity are now treated as explicit external
|
|
2047
2215
|
app bridges and are blocked from normal `/model`, config save, and runtime
|
|
@@ -2052,6 +2220,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2052
2220
|
|
|
2053
2221
|
## 1.30.3
|
|
2054
2222
|
|
|
2223
|
+
|
|
2055
2224
|
- Fix Codex CLI dispatch for real interactive terminals by inheriting terminal
|
|
2056
2225
|
stdin for `codex exec`. Codex treats both `/dev/null` and closed pipes as
|
|
2057
2226
|
piped stdin, so the previous `1.30.2` EOF approach still triggered
|
|
@@ -2059,6 +2228,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2059
2228
|
|
|
2060
2229
|
## 1.30.2
|
|
2061
2230
|
|
|
2231
|
+
|
|
2062
2232
|
- Fix Codex subscription dispatch failing with `exited 1 ... Reading additional
|
|
2063
2233
|
input from stdin`. `codex exec` reads stdin even when the prompt is an
|
|
2064
2234
|
argument; UR now gives it a closed, empty stdin pipe (EOF) instead of
|
|
@@ -2067,6 +2237,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2067
2237
|
|
|
2068
2238
|
## 1.30.1
|
|
2069
2239
|
|
|
2240
|
+
|
|
2070
2241
|
- Fix Codex CLI runtime dispatch by ignoring stdin when UR already passes the
|
|
2071
2242
|
prompt as a command argument. This prevents `codex exec` from treating UR's
|
|
2072
2243
|
closed pipe as extra stdin and exiting after `Reading additional input from
|
|
@@ -2074,6 +2245,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2074
2245
|
|
|
2075
2246
|
## 1.30.0
|
|
2076
2247
|
|
|
2248
|
+
|
|
2077
2249
|
- IDE integration commands: `ur ide status`, `ur ide doctor`, and `ur ide config
|
|
2078
2250
|
<editor>` for VS Code, Cursor, Windsurf, Zed, JetBrains, Neovim, and generic
|
|
2079
2251
|
ACP clients. Status shows workspace, ACP server, provider/model, plugin count,
|
|
@@ -2094,6 +2266,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2094
2266
|
|
|
2095
2267
|
## 1.29.1
|
|
2096
2268
|
|
|
2269
|
+
|
|
2097
2270
|
- Replace fabricated Claude Code and Gemini CLI static model names with
|
|
2098
2271
|
provider-scoped CLI model aliases/names that the official CLIs can receive.
|
|
2099
2272
|
- Reject stale subscription CLI selections such as `claude-code/sonnet-5` before
|
|
@@ -2103,6 +2276,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2103
2276
|
|
|
2104
2277
|
## 1.29.0
|
|
2105
2278
|
|
|
2279
|
+
|
|
2106
2280
|
- Customer release consolidating the multi-provider selection and runtime
|
|
2107
2281
|
dispatch work (1.27.5–1.28.1) into a single production line.
|
|
2108
2282
|
- System-prompt identity now reflects the selected provider and runtime backend
|
|
@@ -2114,6 +2288,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2114
2288
|
|
|
2115
2289
|
## 1.28.1
|
|
2116
2290
|
|
|
2291
|
+
|
|
2117
2292
|
- Keep the status bar synchronized with in-session provider/model changes from
|
|
2118
2293
|
`/model`, `/model <model>`, and `/provider`, instead of waiting for persisted
|
|
2119
2294
|
settings to reload.
|
|
@@ -2122,6 +2297,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2122
2297
|
|
|
2123
2298
|
## 1.28.0
|
|
2124
2299
|
|
|
2300
|
+
|
|
2125
2301
|
- Subscription CLI providers (Codex, Claude Code, Gemini, Antigravity) now
|
|
2126
2302
|
perform real dispatch: the official CLI is spawned in non-interactive mode with
|
|
2127
2303
|
the scoped model and prompt, and its stdout becomes the response. Non-zero exit
|
|
@@ -2143,6 +2319,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2143
2319
|
|
|
2144
2320
|
## 1.27.6
|
|
2145
2321
|
|
|
2322
|
+
|
|
2146
2323
|
- Route runtime requests through the selected provider/model pair instead of
|
|
2147
2324
|
allowing stale Ollama/default-provider paths to handle non-Ollama requests.
|
|
2148
2325
|
- Add runtime dispatch validation, backend labels, and focused mocked dispatch
|
|
@@ -2152,6 +2329,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2152
2329
|
|
|
2153
2330
|
## 1.27.5
|
|
2154
2331
|
|
|
2332
|
+
|
|
2155
2333
|
- Make `/model` provider-first and provider-scoped, with clear subscription,
|
|
2156
2334
|
API-key, local runtime, and OpenAI-compatible server labels.
|
|
2157
2335
|
- Keep model discovery, validation, fallback, and saved config scoped to the
|
|
@@ -2162,6 +2340,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2162
2340
|
|
|
2163
2341
|
## 1.25.3
|
|
2164
2342
|
|
|
2343
|
+
|
|
2165
2344
|
- Add provider alias resolution so `ur config set provider claude`,
|
|
2166
2345
|
`ur config set provider "Claude Code"`, and `ur provider doctor agy`
|
|
2167
2346
|
resolve to canonical provider IDs.
|
|
@@ -2170,6 +2349,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2170
2349
|
|
|
2171
2350
|
## 1.25.2
|
|
2172
2351
|
|
|
2352
|
+
|
|
2173
2353
|
- Refresh public documentation so README, docs, static site, validation runbook,
|
|
2174
2354
|
and code inventory all describe the current UR-Nexus feature set.
|
|
2175
2355
|
- Document the recent provider auth, status bar, bundled VS Code extension,
|
|
@@ -2180,17 +2360,20 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2180
2360
|
|
|
2181
2361
|
## 1.25.1
|
|
2182
2362
|
|
|
2363
|
+
|
|
2183
2364
|
- Fix VS Code extension installation to use the bundled UR-Nexus inline-diffs extension instead of the stale unpublished `urhq.ur` marketplace ID.
|
|
2184
2365
|
- Harden AskUserQuestion normalization for description-only option objects and keep the eight-option schema in the production bundle.
|
|
2185
2366
|
|
|
2186
2367
|
## 1.25.0
|
|
2187
2368
|
|
|
2369
|
+
|
|
2188
2370
|
- Add legal multi-provider auth/provider management for subscription CLI, API-key, and local runtime access paths.
|
|
2189
2371
|
- Add provider doctor/status/config commands, provider-aware status bar display, and explicit no-token-scraping safety policy.
|
|
2190
2372
|
- Relax plan-mode clarification choices so professional redesign prompts do not fail when more than four options are supplied.
|
|
2191
2373
|
|
|
2192
2374
|
## 1.24.0
|
|
2193
2375
|
|
|
2376
|
+
|
|
2194
2377
|
### Added
|
|
2195
2378
|
- Plugin marketplace capability metadata for MCP tools, executable skills,
|
|
2196
2379
|
templates, validators, language adapters, LSP servers, hooks, agents, and
|
|
@@ -2209,11 +2392,13 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2209
2392
|
|
|
2210
2393
|
## 1.23.3
|
|
2211
2394
|
|
|
2395
|
+
|
|
2212
2396
|
### Fixed
|
|
2213
2397
|
- `repoIndex` tests failing in CI because `listIndexableFiles` silently returned `[]` when ripgrep (`rg`) was unavailable. Added a Node.js recursive file walker fallback that applies the same extension and skip-segment filters.
|
|
2214
2398
|
|
|
2215
2399
|
## 1.23.2
|
|
2216
2400
|
|
|
2401
|
+
|
|
2217
2402
|
### Added
|
|
2218
2403
|
- **CI failure diagnostics** in `.github/workflows/test.yml`: environment-info step, verbose test reporter, captured `test-output.log`, and artifact upload on failure so the production test runner exposes which test fails without requiring admin log access.
|
|
2219
2404
|
|
|
@@ -2222,6 +2407,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2222
2407
|
|
|
2223
2408
|
## 1.23.1
|
|
2224
2409
|
|
|
2410
|
+
|
|
2225
2411
|
### Added
|
|
2226
2412
|
- **CI agent (`ur ci-loop`)** with agent constitution: hard rules against hiding failures, deleting without approval, editing generated/vendor files, claiming tests passed without execution, and changing public API without warning.
|
|
2227
2413
|
- **Plugin marketplace extensibility** for `templates`, `validators`, and `languageAdapters` alongside existing MCP tools and skills.
|
|
@@ -2231,6 +2417,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2231
2417
|
|
|
2232
2418
|
## 1.22.8
|
|
2233
2419
|
|
|
2420
|
+
|
|
2234
2421
|
### Added
|
|
2235
2422
|
-
|
|
2236
2423
|
|
|
@@ -2242,6 +2429,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2242
2429
|
|
|
2243
2430
|
## 1.22.7
|
|
2244
2431
|
|
|
2432
|
+
|
|
2245
2433
|
### Added
|
|
2246
2434
|
- **Benchmark mode (`ur eval`).**
|
|
2247
2435
|
- `ur eval run <suite> [--model <m>] [--metrics]` runs eval suites with explicit model overrides and per-case metrics files.
|
|
@@ -2286,6 +2474,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2286
2474
|
|
|
2287
2475
|
## 1.22.6
|
|
2288
2476
|
|
|
2477
|
+
|
|
2289
2478
|
### Fixed
|
|
2290
2479
|
- Fixed Bash tool runtime execution failing every command with
|
|
2291
2480
|
`timeoutMs is not defined` by keeping the command hook timeout value in scope
|
|
@@ -2301,6 +2490,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2301
2490
|
|
|
2302
2491
|
## 1.22.5
|
|
2303
2492
|
|
|
2493
|
+
|
|
2304
2494
|
### Added
|
|
2305
2495
|
- **Real sandbox core architecture (`ur sandbox`).** New first-class command to inspect sandbox status, run dependency checks, initialize `.ur/safety-policy.json`, and evaluate shell-command approval levels.
|
|
2306
2496
|
- **Worktree-per-task (`ur task`).** New command surface to start, run, list, and hand off agent tasks in isolated git branches/worktrees: `task start <name> [--worktree]`, `task run <id>`, `task pr <id> [--create]`, `task list`, `task status <id>`.
|
|
@@ -2316,6 +2506,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2316
2506
|
|
|
2317
2507
|
## 1.22.4
|
|
2318
2508
|
|
|
2509
|
+
|
|
2319
2510
|
### Added
|
|
2320
2511
|
- **AST-aware `ur repo-edit` (P7).** Added
|
|
2321
2512
|
`src/services/repoEditing/ast/types.ts`,
|
|
@@ -2355,6 +2546,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2355
2546
|
|
|
2356
2547
|
## 1.22.3
|
|
2357
2548
|
|
|
2549
|
+
|
|
2358
2550
|
### Added
|
|
2359
2551
|
- **Executable skill directories.** A `.ur/skills/<name>/` directory containing
|
|
2360
2552
|
`skill.yaml` is now an executable skill that compiles into a `WorkflowSpec`.
|
|
@@ -2385,6 +2577,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2385
2577
|
|
|
2386
2578
|
## 1.22.2
|
|
2387
2579
|
|
|
2580
|
+
|
|
2388
2581
|
### Added
|
|
2389
2582
|
- **Lifecycle hooks.** Added six new hook events in `src/entrypoints/sdk/coreTypes.ts`
|
|
2390
2583
|
and `src/entrypoints/sdk/coreSchemas.ts`: `BeforeEdit`, `AfterEdit`,
|
|
@@ -2411,6 +2604,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2411
2604
|
|
|
2412
2605
|
## 1.22.1
|
|
2413
2606
|
|
|
2607
|
+
|
|
2414
2608
|
### Added
|
|
2415
2609
|
- **Rich task decomposition.** `src/services/agents/decomposer.ts` splits large
|
|
2416
2610
|
goals into atomic subtasks with `goal`, `filesTouched`, `risk` (low/medium/high),
|
|
@@ -2443,6 +2637,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2443
2637
|
|
|
2444
2638
|
## 1.22.0
|
|
2445
2639
|
|
|
2640
|
+
|
|
2446
2641
|
### Added
|
|
2447
2642
|
- **Agent execution metrics in `ur eval`.** `ur eval run` now captures
|
|
2448
2643
|
cost, input/output tokens, model used, API duration, files changed,
|
|
@@ -2506,6 +2701,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2506
2701
|
|
|
2507
2702
|
## 1.21.0
|
|
2508
2703
|
|
|
2704
|
+
|
|
2509
2705
|
### Added
|
|
2510
2706
|
- **Agent skill runner (`agentSkillRunner.ts`).** Reusable helper that wraps
|
|
2511
2707
|
`startBackgroundTask({ worktree: true, pr: true })`, polls the background
|
|
@@ -2535,6 +2731,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2535
2731
|
|
|
2536
2732
|
## 1.20.0
|
|
2537
2733
|
|
|
2734
|
+
|
|
2538
2735
|
### Added
|
|
2539
2736
|
- **ACP server (`ur acp`).** Added an HTTP+JSON-RPC Agent Communication
|
|
2540
2737
|
Protocol server for IDE extensions. Supports `initialize`, `tools/list`,
|
|
@@ -2570,6 +2767,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2570
2767
|
|
|
2571
2768
|
## 1.19.0
|
|
2572
2769
|
|
|
2770
|
+
|
|
2573
2771
|
### Added
|
|
2574
2772
|
- **Permission and safety policy (`ur safety`).** Added a project shell safety
|
|
2575
2773
|
evaluator that separates read, write, execute, and network command classes;
|
|
@@ -2597,6 +2795,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2597
2795
|
|
|
2598
2796
|
## 1.18.0
|
|
2599
2797
|
|
|
2798
|
+
|
|
2600
2799
|
### Added
|
|
2601
2800
|
- **Test-first execution loop (`ur test-first`).** Added a P0 quality loop that
|
|
2602
2801
|
detects the project stack, orders compile/test/lint commands, runs them as
|
|
@@ -2621,6 +2820,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2621
2820
|
|
|
2622
2821
|
## 1.17.0
|
|
2623
2822
|
|
|
2823
|
+
|
|
2624
2824
|
### Added
|
|
2625
2825
|
- **Reliable repo editing (`ur repo-edit`).** Added a P0 repo-editing workflow
|
|
2626
2826
|
with dependency-free file/symbol indexing, indexed search, AST-aware
|
|
@@ -2637,6 +2837,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2637
2837
|
|
|
2638
2838
|
## 1.16.0
|
|
2639
2839
|
|
|
2840
|
+
|
|
2640
2841
|
### Added
|
|
2641
2842
|
- **Network Ollama discovery.** `ur --discover-ollama` scans active local subnets
|
|
2642
2843
|
for Ollama servers on port 11434, verifies each via `/api/tags`, and shows an
|
|
@@ -2659,6 +2860,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2659
2860
|
|
|
2660
2861
|
## 1.15.0
|
|
2661
2862
|
|
|
2863
|
+
|
|
2662
2864
|
### Changed
|
|
2663
2865
|
- **Version bump.** Updated from 1.14.0 to 1.15.0 across `package.json`, `bunfig.toml`, and bundled CLI.
|
|
2664
2866
|
|
|
@@ -2667,6 +2869,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2667
2869
|
|
|
2668
2870
|
## 1.14.1
|
|
2669
2871
|
|
|
2872
|
+
|
|
2670
2873
|
### Changed
|
|
2671
2874
|
- Removed the `desktop-app` startup tip pointing to the legacy desktop URL.
|
|
2672
2875
|
|
|
@@ -2675,6 +2878,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2675
2878
|
|
|
2676
2879
|
## 1.14.0
|
|
2677
2880
|
|
|
2881
|
+
|
|
2678
2882
|
### Changed
|
|
2679
2883
|
- **Version bump.** Updated from 1.13.9 to 1.14.0 across `package.json`, `bunfig.toml`, and bundled CLI.
|
|
2680
2884
|
|
|
@@ -2683,6 +2887,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2683
2887
|
|
|
2684
2888
|
## 1.13.9
|
|
2685
2889
|
|
|
2890
|
+
|
|
2686
2891
|
### Added
|
|
2687
2892
|
- **Spec-driven development (`ur spec`).** Scaffolds `requirements.md ->
|
|
2688
2893
|
design.md -> tasks.md` plus a phase/approval `spec.json` under `.ur/specs/`,
|
|
@@ -2718,6 +2923,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2718
2923
|
|
|
2719
2924
|
## 1.13.8
|
|
2720
2925
|
|
|
2926
|
+
|
|
2721
2927
|
### Fixed
|
|
2722
2928
|
- **Image paste resize fallback.** Clipboard image paste now falls back to
|
|
2723
2929
|
macOS `sips` when the normal Sharp/native resize path cannot process an
|
|
@@ -2733,6 +2939,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2733
2939
|
|
|
2734
2940
|
## 1.13.7
|
|
2735
2941
|
|
|
2942
|
+
|
|
2736
2943
|
### Added
|
|
2737
2944
|
- **Explicit update notice.** Interactive sessions now show
|
|
2738
2945
|
`Update available: <current> -> <latest>` when a newer published package is
|
|
@@ -2749,6 +2956,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2749
2956
|
|
|
2750
2957
|
## 1.13.6
|
|
2751
2958
|
|
|
2959
|
+
|
|
2752
2960
|
### Added
|
|
2753
2961
|
- **Professional static documentation site.** Added `documentation/` with a
|
|
2754
2962
|
full HTML/CSS/JS documentation project covering installation, architecture,
|
|
@@ -2763,6 +2971,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2763
2971
|
|
|
2764
2972
|
## 1.13.5
|
|
2765
2973
|
|
|
2974
|
+
|
|
2766
2975
|
### Added
|
|
2767
2976
|
- **Headless agent crews.** Added `ur crew` for lead/worker task boards that
|
|
2768
2977
|
split a goal into subtasks, let worker subagents claim work, and support
|
|
@@ -2787,6 +2996,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2787
2996
|
|
|
2788
2997
|
## 1.13.4
|
|
2789
2998
|
|
|
2999
|
+
|
|
2790
3000
|
### Added
|
|
2791
3001
|
- **Parallel workflow execution.** The declarative workflow executor now runs
|
|
2792
3002
|
independent ready steps concurrently. `ur workflow run --concurrency <n>`
|
|
@@ -2819,6 +3029,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2819
3029
|
|
|
2820
3030
|
## 1.13.3
|
|
2821
3031
|
|
|
3032
|
+
|
|
2822
3033
|
### Added
|
|
2823
3034
|
- **Checkpointed agent workflows.** Added `ur workflow` for declaring,
|
|
2824
3035
|
validating, graphing, planning, resuming, and dry-running multi-step agent
|
|
@@ -2843,6 +3054,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2843
3054
|
|
|
2844
3055
|
## 1.13.2
|
|
2845
3056
|
|
|
3057
|
+
|
|
2846
3058
|
### Added
|
|
2847
3059
|
- **Top-level code-index and role-mode commands.** `ur code-index` and
|
|
2848
3060
|
`ur role-mode` are now registered in the main CLI, matching the shipped
|
|
@@ -2865,6 +3077,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2865
3077
|
|
|
2866
3078
|
## 1.13.1
|
|
2867
3079
|
|
|
3080
|
+
|
|
2868
3081
|
### Added
|
|
2869
3082
|
- **AGENTS.md as runtime context.** UR now loads `AGENTS.md` (the cross-tool
|
|
2870
3083
|
standard) from project roots at runtime, alongside `UR.md` and `.ur/rules/`.
|
|
@@ -2898,6 +3111,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2898
3111
|
|
|
2899
3112
|
## 1.12.3
|
|
2900
3113
|
|
|
3114
|
+
|
|
2901
3115
|
### Added
|
|
2902
3116
|
- **Agent feature expansion commands.** Added `ur agent-features`,
|
|
2903
3117
|
`ur agent-templates`, `ur automation`, `ur agent-task`, `ur model-doctor`,
|
|
@@ -2926,6 +3140,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2926
3140
|
|
|
2927
3141
|
## 1.12.2
|
|
2928
3142
|
|
|
3143
|
+
|
|
2929
3144
|
### Changed
|
|
2930
3145
|
- **Ziggurat of Ur spinner.** Replaced the canoe spinner with the Ziggurat of
|
|
2931
3146
|
Ur catching light: an up-pyramid whose lit face sweeps across (`△ ◭ ▲ ◮`)
|
|
@@ -2937,6 +3152,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2937
3152
|
|
|
2938
3153
|
## 1.12.1
|
|
2939
3154
|
|
|
3155
|
+
|
|
2940
3156
|
### Changed
|
|
2941
3157
|
- **Mashoof spinner.** The activity spinner is now a Mashoof (مشحوف) — the
|
|
2942
3158
|
marsh canoe — bobbing on the water. It cycles boat-hull arcs (`⌣ ⏝ ‿`) into
|
|
@@ -2945,6 +3161,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2945
3161
|
|
|
2946
3162
|
## 1.12.0
|
|
2947
3163
|
|
|
3164
|
+
|
|
2948
3165
|
### Added
|
|
2949
3166
|
- **Agent trend coverage.** New `ur agent-trends` CLI command and
|
|
2950
3167
|
`/agent-trends` slash command report how UR maps to current agent trends:
|
|
@@ -2964,6 +3181,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2964
3181
|
|
|
2965
3182
|
## 1.11.3
|
|
2966
3183
|
|
|
3184
|
+
|
|
2967
3185
|
### Changed
|
|
2968
3186
|
- **Read-only web browsing.** `WebSearch` and `WebFetch` now run without
|
|
2969
3187
|
prompting by default, while still respecting explicit deny or ask rules.
|
|
@@ -2972,6 +3190,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2972
3190
|
|
|
2973
3191
|
## 1.11.2
|
|
2974
3192
|
|
|
3193
|
+
|
|
2975
3194
|
### Fixed
|
|
2976
3195
|
- **Clarification dialogs.** `AskUserQuestion` is now loaded without a
|
|
2977
3196
|
`ToolSearch` round trip and accepts common question text aliases such as
|
|
@@ -2980,6 +3199,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2980
3199
|
|
|
2981
3200
|
## 1.11.1
|
|
2982
3201
|
|
|
3202
|
+
|
|
2983
3203
|
### Changed
|
|
2984
3204
|
- **Npm publication docs.** README installation guidance now reflects that
|
|
2985
3205
|
`ur-nexus` is published on npm, while keeping the GitHub install path for
|
|
@@ -2987,6 +3207,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2987
3207
|
|
|
2988
3208
|
## 1.11.0
|
|
2989
3209
|
|
|
3210
|
+
|
|
2990
3211
|
### Changed
|
|
2991
3212
|
- **Ollama model selection now lets routing work by default.** The launcher no
|
|
2992
3213
|
longer forces `OLLAMA_MODEL` when neither `OLLAMA_MODEL` nor `UR_MODEL` is
|
|
@@ -3017,11 +3238,13 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
3017
3238
|
|
|
3018
3239
|
## 1.10.2
|
|
3019
3240
|
|
|
3241
|
+
|
|
3020
3242
|
### Fixed
|
|
3021
3243
|
- **Clipboard image paste — the fix that actually ships.** The 1.10.1 change edited the native NSPasteboard branch, which is dead-code-eliminated from the bundle (its feature gate compiles out), so it never ran. The live path is osascript, whose `saveImage` reused a fixed temp file (`ur_cli_latest_screenshot.png`) opened `with write permission` but never truncated — so a smaller image pasted over a previously larger one kept the old trailing bytes, producing a corrupt PNG ("found in clipboard but not attached"). Added `set eof fp to 0` to truncate before writing.
|
|
3022
3244
|
|
|
3023
3245
|
## 1.10.1
|
|
3024
3246
|
|
|
3247
|
+
|
|
3025
3248
|
### Fixed
|
|
3026
3249
|
- **Clipboard image paste.** An image the clipboard reported as present but the native reader couldn't decode was silently dropped — "found in clipboard but not attached." `getImageFromClipboard` now falls back to the osascript path instead of treating a native `null` as authoritative.
|
|
3027
3250
|
- **Token truncation on Ollama Cloud models.** Cloud models (the `-cloud` / `:cloud` suffix) now default to a 128K-token context floor for both `num_ctx` and auto-compaction, instead of the small or missing value `/api/show` reports for them — so prompts are no longer silently truncated, with no env vars required. The reported value is still used when it is larger, and `UR_OLLAMA_NUM_CTX` (no longer capped to the detected value) / `OLLAMA_CONTEXT_TOKENS` still override.
|
|
@@ -3032,6 +3255,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
3032
3255
|
|
|
3033
3256
|
## 1.10.0
|
|
3034
3257
|
|
|
3258
|
+
|
|
3035
3259
|
### Added
|
|
3036
3260
|
- **`skill-forge` plugin** in the `ur-plugins-official` marketplace — have the agent author skills for you. `/forge-skill <description>` runs on the active session model: it designs the skill (name, `when_to_use` triggers, arguments, minimal `allowed-tools`, inline vs fork, and steps that each carry a success criterion), shows the `SKILL.md` for a single confirmation, then saves it to `~/.ur/skills/<name>/` (or `./.ur/skills/` with `--project`) without clobbering an existing one. `/skill-refine <name> : <change>` improves an existing skill, and a bundled `skill-authoring` skill encodes the conventions. Complements the built-in `/create-skill`, which only scaffolds an empty template.
|
|
3037
3261
|
|
|
@@ -3040,6 +3264,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
3040
3264
|
|
|
3041
3265
|
## 1.9.0
|
|
3042
3266
|
|
|
3267
|
+
|
|
3043
3268
|
### Added
|
|
3044
3269
|
- **Seven first-party integration plugins** in the `ur-plugins-official` marketplace. Each bundles an official MCP server, curated slash commands, and a methodology skill, and falls back to a CLI or local library so the commands still work before any token is configured:
|
|
3045
3270
|
- **`obsidian`** — operate a vault as a second brain: `/second-brain`, `/daily-note`, `/moc`, `/backlinks`, `/vault-search`. Direct vault file edits or the Obsidian Local REST API MCP server, plus a Zettelkasten/PARA/MOC skill.
|
|
@@ -3056,6 +3281,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
3056
3281
|
|
|
3057
3282
|
## 1.8.0
|
|
3058
3283
|
|
|
3284
|
+
|
|
3059
3285
|
### Added
|
|
3060
3286
|
- **`/create-skill` command.** Scaffold a new skill without leaving the REPL: `/create-skill <name> [: <description>] [--project]` writes a ready-to-edit `SKILL.md` (with frontmatter) to `~/.ur/skills/<name>/` — or `.ur/skills/` with `--project` — refuses to clobber an existing skill, and clears caches so it shows up immediately (alias `/new-skill`).
|
|
3061
3287
|
- **Game Designer mode.** A new built-in output style (`/output-style`) that makes UR reason like a game designer — core loops, player fantasy, game feel, and tunable balance constants — while it writes working code.
|
|
@@ -3066,6 +3292,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
3066
3292
|
|
|
3067
3293
|
## 1.7.0
|
|
3068
3294
|
|
|
3295
|
+
|
|
3069
3296
|
### Added
|
|
3070
3297
|
- **Adaptive model routing (Ollama).** The agent auto-selects the best installed model per tier — the strongest coder model for the main loop, the smallest fast model for light internal work (titles, classification, session search, hooks). Honors `OLLAMA_MODEL` / `OLLAMA_SMALL_FAST_MODEL`; gated by `UR_OLLAMA_AUTO_ROUTE`.
|
|
3071
3298
|
- **Per-model context auto-tuning.** Each request sets `num_ctx` from the model's real context window and the prompt size (floored at 32K for agent work, bucketed so the KV cache stays warm), fixing silent truncation at Ollama's 4096 default. Override with `UR_OLLAMA_NUM_CTX`.
|
|
@@ -3077,6 +3304,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
3077
3304
|
|
|
3078
3305
|
## 1.6.0
|
|
3079
3306
|
|
|
3307
|
+
|
|
3080
3308
|
### Added
|
|
3081
3309
|
- **Proactive clarification & planning prompts.** The agent now uses the `AskUserQuestion` multiple-choice popup before significant or ambiguous work and at key planning decisions. Options are navigated with arrow keys and submitted; the last "Other" entry always lets you type a custom answer.
|
|
3082
3310
|
- **Smarter prompt handling.** New always-on guidance makes the agent resolve ambiguity before acting, work in verifiable steps and check each step's output against the request before continuing, verify work actually runs before reporting done, report outcomes faithfully, and keep changes precisely scoped and professional.
|