ur-agent 1.68.17 → 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 +231 -18
- package/dist/cli.js +1598 -894
- 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/README.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,37 @@
|
|
|
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
|
+
|
|
3
32
|
## 1.68.17
|
|
4
33
|
|
|
34
|
+
|
|
5
35
|
- Fixed false `TaskListRequired` failures for observational Bash capability
|
|
6
36
|
checks. Task tracking now has a classification distinct from permission
|
|
7
37
|
auto-approval, so an executable probe can remain permission- and
|
|
@@ -17,6 +47,7 @@
|
|
|
17
47
|
|
|
18
48
|
## 1.68.16
|
|
19
49
|
|
|
50
|
+
|
|
20
51
|
- First pieces of the UR Nexus visual identity, as terminal primitives rather
|
|
21
52
|
than artwork: `constants/urPalette.ts` (obsidian/bronze/electrum/lapis tokens
|
|
22
53
|
in true-colour, ANSI-256 and monochrome tiers, with depth detection),
|
|
@@ -42,27 +73,37 @@
|
|
|
42
73
|
|
|
43
74
|
## 1.68.15
|
|
44
75
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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.
|
|
63
103
|
|
|
64
104
|
## 1.68.14
|
|
65
105
|
|
|
106
|
+
|
|
66
107
|
- Gave the MCP settings types their real shapes. `components/mcp/types.ts`
|
|
67
108
|
declared seven **empty** interfaces under a "Stub: not included in leaked
|
|
68
109
|
source" comment. An empty interface does not mean "unknown shape" to
|
|
@@ -81,6 +122,7 @@
|
|
|
81
122
|
|
|
82
123
|
## 1.68.13
|
|
83
124
|
|
|
125
|
+
|
|
84
126
|
- Eight more files came off `@ts-nocheck` (149 -> 141) from a single fix. The
|
|
85
127
|
compiled signature of `useRegisterOverlay(id, t0)` declared two required
|
|
86
128
|
parameters while its own first statement reads
|
|
@@ -94,6 +136,7 @@
|
|
|
94
136
|
|
|
95
137
|
## 1.68.12
|
|
96
138
|
|
|
139
|
+
|
|
97
140
|
- The Ollama request path now reports where a request's bytes actually go —
|
|
98
141
|
tool definitions, system prompt, conversation — once per session in the debug
|
|
99
142
|
log. The fixed cost of tools plus system prompt is what decides whether a
|
|
@@ -108,6 +151,7 @@
|
|
|
108
151
|
|
|
109
152
|
## 1.68.11
|
|
110
153
|
|
|
154
|
+
|
|
111
155
|
- Investigated turning the task-list gate advisory by default and did not do
|
|
112
156
|
it. The friction it causes is real, but the gate is also the final
|
|
113
157
|
revalidation before a tool executes, and defaulting it off removes two
|
|
@@ -128,6 +172,7 @@
|
|
|
128
172
|
|
|
129
173
|
## 1.68.10
|
|
130
174
|
|
|
175
|
+
|
|
131
176
|
- `ToolSearchTool` no longer registers on runtimes where it cannot work. Its
|
|
132
177
|
purpose is fetching schemas for tools whose definitions were deferred, and
|
|
133
178
|
deferral needs the runtime to expand `tool_reference` blocks — an
|
|
@@ -145,6 +190,7 @@
|
|
|
145
190
|
|
|
146
191
|
## 1.68.9
|
|
147
192
|
|
|
193
|
+
|
|
148
194
|
- Narrowed that allowlist entry from `ur.com` to `ur.com/docs`. Replacing a
|
|
149
195
|
docs-only host with a bare domain widened what WebFetch retrieves without
|
|
150
196
|
asking, on a list whose own header warns that broad entries are dangerous
|
|
@@ -155,6 +201,7 @@
|
|
|
155
201
|
|
|
156
202
|
## 1.68.8
|
|
157
203
|
|
|
204
|
+
|
|
158
205
|
- The bundled `ur-guide` agent no longer answers UR questions out of another
|
|
159
206
|
product's documentation. It instructed the model to fetch
|
|
160
207
|
`https://docs.claude.com/llms.txt` and present it to users as "UR SDK docs"
|
|
@@ -178,6 +225,7 @@
|
|
|
178
225
|
|
|
179
226
|
## 1.68.7
|
|
180
227
|
|
|
228
|
+
|
|
181
229
|
- Corrected the ur.ai -> ur.com replacement, which had rewritten identifiers as
|
|
182
230
|
well as URLs. `'ur.ai'` served two roles in this codebase: a domain in links
|
|
183
231
|
such as `https://ur.ai/settings/billing`, and a discriminant value in
|
|
@@ -191,6 +239,7 @@
|
|
|
191
239
|
|
|
192
240
|
## 1.68.6
|
|
193
241
|
|
|
242
|
+
|
|
194
243
|
- An oversized Ollama request now recovers instead of only explaining itself.
|
|
195
244
|
1.68.3 reported "this request was 19.6 MB" clearly and then left the user to
|
|
196
245
|
run /compact by hand. UR already had both halves of the fix — `isMediaSizeError`
|
|
@@ -210,6 +259,7 @@
|
|
|
210
259
|
|
|
211
260
|
## 1.68.5
|
|
212
261
|
|
|
262
|
+
|
|
213
263
|
- Replaced every `ur.ai` reference in `src/` with `ur.com` (202 sites, 0 left).
|
|
214
264
|
Note what these are: most are upstream URL structures carried into the fork —
|
|
215
265
|
`/settings/billing`, `/settings/connectors`, `/upgrade/max`, `/chrome`,
|
|
@@ -225,6 +275,7 @@
|
|
|
225
275
|
|
|
226
276
|
## 1.68.4
|
|
227
277
|
|
|
278
|
+
|
|
228
279
|
- The status line now reports subagents running in the current turn:
|
|
229
280
|
`agents: 2 running`, separate from the existing background `tasks:` count.
|
|
230
281
|
`isBackgroundTask()` excludes foreground entries on purpose — it was narrowed
|
|
@@ -242,6 +293,7 @@
|
|
|
242
293
|
|
|
243
294
|
## 1.68.3
|
|
244
295
|
|
|
296
|
+
|
|
245
297
|
- `Ollama request failed (400): http: request body too large` now explains
|
|
246
298
|
itself. That string comes from Go's `net/http` MaxBytesReader rejecting the
|
|
247
299
|
payload on **byte size**, which is a different limit from the model's context
|
|
@@ -259,6 +311,7 @@
|
|
|
259
311
|
|
|
260
312
|
## 1.68.2
|
|
261
313
|
|
|
314
|
+
|
|
262
315
|
- **Security: explicit file deny rules were not enforced.** `matchingRuleForInput`
|
|
263
316
|
resolved which permission rule matched a path by reading `igResult.rule.pattern`
|
|
264
317
|
from `ignore().test()`. That property does not exist — `TestResult` is
|
|
@@ -283,6 +336,7 @@
|
|
|
283
336
|
|
|
284
337
|
## 1.68.1
|
|
285
338
|
|
|
339
|
+
|
|
286
340
|
- A detected prompt-injection attempt is now reported to the user instead of
|
|
287
341
|
being refused in silence. Consolidating the scattered prompt guidance into the
|
|
288
342
|
execution contract was a genuine improvement, but one clause did not survive:
|
|
@@ -295,6 +349,7 @@
|
|
|
295
349
|
|
|
296
350
|
## 1.68.0
|
|
297
351
|
|
|
352
|
+
|
|
298
353
|
- Removed `@ts-nocheck` from 73 files, putting 21,503 previously unchecked lines
|
|
299
354
|
under `tsc`. Every one of those files produced **zero** errors once the
|
|
300
355
|
suppression was lifted — they were not suppressed because they were broken,
|
|
@@ -359,6 +414,7 @@
|
|
|
359
414
|
|
|
360
415
|
## 1.66.2
|
|
361
416
|
|
|
417
|
+
|
|
362
418
|
- A long session on Ollama now says when it has run out of context instead of
|
|
363
419
|
quietly getting worse. Ollama truncates an oversized prompt from the front
|
|
364
420
|
rather than returning an error, and the front of the prompt is the system
|
|
@@ -374,6 +430,7 @@
|
|
|
374
430
|
|
|
375
431
|
## 1.66.1
|
|
376
432
|
|
|
433
|
+
|
|
377
434
|
- Corrected the warning-state result used by reactive compaction and context
|
|
378
435
|
collapse when a custom proactive threshold is configured. Their
|
|
379
436
|
effective-window override can no longer report that the separate proactive
|
|
@@ -381,6 +438,7 @@
|
|
|
381
438
|
|
|
382
439
|
## 1.66.0
|
|
383
440
|
|
|
441
|
+
|
|
384
442
|
- Unified proactive compaction around one model-aware threshold and one live
|
|
385
443
|
token estimator. Small context windows now retain positive warning, error,
|
|
386
444
|
and trigger thresholds; configured 50–95% thresholds are honored; prompt
|
|
@@ -412,6 +470,7 @@
|
|
|
412
470
|
|
|
413
471
|
## 1.65.14
|
|
414
472
|
|
|
473
|
+
|
|
415
474
|
- Restored the proactive task-first behavior that was present in v1.65.0 and
|
|
416
475
|
removed a prompt/gate contradiction introduced later. For any non-trivial
|
|
417
476
|
state change, including a feature-rich single-file build, the model is now
|
|
@@ -439,6 +498,7 @@
|
|
|
439
498
|
|
|
440
499
|
## 1.65.13
|
|
441
500
|
|
|
501
|
+
|
|
442
502
|
- Recovered otherwise valid `AskUserQuestion` calls whose UI header exceeds
|
|
443
503
|
the 12-character chip width. Native structured calls, bare/wrapped JSON, and
|
|
444
504
|
explicit-choice recovery now compact only that bounded presentation field;
|
|
@@ -454,6 +514,7 @@
|
|
|
454
514
|
|
|
455
515
|
## 1.65.12
|
|
456
516
|
|
|
517
|
+
|
|
457
518
|
- Forced explicit weak-model decision menus through the real
|
|
458
519
|
`AskUserQuestion` UI. A provider-neutral end-turn guard accepts only one
|
|
459
520
|
canonical Ask object from explicit reasoning or one complete rigid Markdown
|
|
@@ -475,6 +536,7 @@
|
|
|
475
536
|
|
|
476
537
|
## 1.65.11
|
|
477
538
|
|
|
539
|
+
|
|
478
540
|
- Hardened `AskUserQuestion` for weaker models without inventing user intent.
|
|
479
541
|
Its model schema now exposes only a strict 1–4-question request shape with
|
|
480
542
|
2–8 nested choices, compact validation explains malformed flat arrays, and
|
|
@@ -502,6 +564,7 @@
|
|
|
502
564
|
|
|
503
565
|
## 1.65.10
|
|
504
566
|
|
|
567
|
+
|
|
505
568
|
- Reworked approved-plan execution into a capability-aware task graph. Plans
|
|
506
569
|
now split separately completable outcomes, keep genuinely atomic work whole,
|
|
507
570
|
express review-to-fix and verification dependencies, and launch only ready,
|
|
@@ -523,6 +586,7 @@
|
|
|
523
586
|
|
|
524
587
|
## 1.65.9
|
|
525
588
|
|
|
589
|
+
|
|
526
590
|
- Fixed the plan-file/task-list deadlock. While plan mode is active, the exact
|
|
527
591
|
normalized session plan file can be written before actionable tasks exist;
|
|
528
592
|
ordinary workspace mutations still require `TaskCreate`/`TodoWrite`, and
|
|
@@ -539,6 +603,7 @@
|
|
|
539
603
|
|
|
540
604
|
## 1.65.8
|
|
541
605
|
|
|
606
|
+
|
|
542
607
|
- Fixed provider API-key entry in `/model`: the masked input now uses the
|
|
543
608
|
available terminal width, explicit cursor/focus state, and a one-line secret
|
|
544
609
|
viewport instead of rendering one masked character per row. Narrow and
|
|
@@ -546,6 +611,7 @@
|
|
|
546
611
|
|
|
547
612
|
## 1.65.7
|
|
548
613
|
|
|
614
|
+
|
|
549
615
|
- Audited all 14 technical chapters against the shipped source and generated
|
|
550
616
|
CLI. The manual now distinguishes public runtime behavior from compile-time
|
|
551
617
|
flags, compatibility-only state, and source helpers; it is included in the
|
|
@@ -598,6 +664,7 @@
|
|
|
598
664
|
|
|
599
665
|
## 1.65.6
|
|
600
666
|
|
|
667
|
+
|
|
601
668
|
- Remote sessions no longer reconnect forever when the server repeatedly
|
|
602
669
|
accepts a WebSocket upgrade and then reports that the session is missing.
|
|
603
670
|
Repeated `connect()` calls reuse the live client, malformed permission and
|
|
@@ -658,6 +725,7 @@
|
|
|
658
725
|
|
|
659
726
|
## 1.65.5
|
|
660
727
|
|
|
728
|
+
|
|
661
729
|
- Syntax highlighting works again — in assistant messages, code previews and
|
|
662
730
|
question dialogs. `cli-highlight` was imported by four rendering surfaces and
|
|
663
731
|
declared in `package.json` by none of them, so the import threw on every run
|
|
@@ -684,6 +752,7 @@
|
|
|
684
752
|
could leave a stale value on screen after a switch.
|
|
685
753
|
## 1.65.4
|
|
686
754
|
|
|
755
|
+
|
|
687
756
|
- A tool call that keeps failing identically is now stopped. A 4B model refused
|
|
688
757
|
once by the task-list gate answered by emitting `Write` with no arguments
|
|
689
758
|
repeatedly, and nothing intervened — the trajectory grader names this pattern
|
|
@@ -699,6 +768,7 @@
|
|
|
699
768
|
|
|
700
769
|
## 1.65.3
|
|
701
770
|
|
|
771
|
+
|
|
702
772
|
- Removed two tips for things that do not exist: `/mobile to use UR from the
|
|
703
773
|
UR app on your phone` (no such command, no such app) and a pointer to
|
|
704
774
|
`ur.ai/web` (no DNS record, same dead domain class as the `ur.com` links
|
|
@@ -716,6 +786,7 @@
|
|
|
716
786
|
|
|
717
787
|
## 1.65.2
|
|
718
788
|
|
|
789
|
+
|
|
719
790
|
- Fixed `--discover-ollama` having no effect on model discovery or requests.
|
|
720
791
|
`getOllamaBaseUrl` resolves the session host correctly, but three callers
|
|
721
792
|
read a persisted `provider.baseUrl` *before* consulting it, so a value
|
|
@@ -754,6 +825,7 @@
|
|
|
754
825
|
|
|
755
826
|
## 1.65.1
|
|
756
827
|
|
|
828
|
+
|
|
757
829
|
- Fixed `ur selftest run` reporting 0/5 anywhere but the UR repo. The drill
|
|
758
830
|
runner spawned `./bin/ur.js`, a path relative to the current directory, so
|
|
759
831
|
every drill failed instantly with an empty detail — which reads as five
|
|
@@ -767,6 +839,7 @@
|
|
|
767
839
|
|
|
768
840
|
## 1.65.0
|
|
769
841
|
|
|
842
|
+
|
|
770
843
|
- The release gate now asks the registry whether the packed dependency ranges
|
|
771
844
|
can actually be installed. This is the check that was missing when 1.61.2
|
|
772
845
|
through 1.64.0 shipped uninstallable: the tarball built, the CLI started,
|
|
@@ -782,6 +855,7 @@
|
|
|
782
855
|
|
|
783
856
|
## 1.64.1
|
|
784
857
|
|
|
858
|
+
|
|
785
859
|
- Fixed `npm install -g ur-agent` failing with
|
|
786
860
|
`No matching version found for playwright-core@^1.64.0`. Releases 1.61.2,
|
|
787
861
|
1.62.0, 1.63.0 and 1.64.0 were uninstallable: the version bump was a
|
|
@@ -799,6 +873,7 @@
|
|
|
799
873
|
|
|
800
874
|
## 1.64.0
|
|
801
875
|
|
|
876
|
+
|
|
802
877
|
- Tool-result pruning now announces itself. It changed context silently, so
|
|
803
878
|
there was no way to confirm it fired or to attribute a missing detail to it —
|
|
804
879
|
the same defect memory suggestions had when they went to stderr. A prune now
|
|
@@ -823,6 +898,7 @@
|
|
|
823
898
|
|
|
824
899
|
## 1.63.0
|
|
825
900
|
|
|
901
|
+
|
|
826
902
|
- Added size-triggered pruning of superseded tool results
|
|
827
903
|
(`context.pruneToolResults`). UR already had the clearing machinery, but
|
|
828
904
|
nothing external could reach it: cached microcompact is internal-only and
|
|
@@ -842,6 +918,7 @@
|
|
|
842
918
|
|
|
843
919
|
## 1.62.0
|
|
844
920
|
|
|
921
|
+
|
|
845
922
|
- `ur agent-inspect --costs` now labels each row with what the agent was
|
|
846
923
|
actually doing. A real 62-agent fan-out reported opaque hex ids, so you could
|
|
847
924
|
see that one agent burned 810k input tokens — 14% of the session — without
|
|
@@ -853,6 +930,7 @@
|
|
|
853
930
|
|
|
854
931
|
## 1.61.2
|
|
855
932
|
|
|
933
|
+
|
|
856
934
|
- Fixed `ur agent-inspect --costs` reporting nothing, always. It resolved the
|
|
857
935
|
*live* session, but every `ur` invocation mints a new session id, so bare it
|
|
858
936
|
pointed at a session created milliseconds earlier that had by definition
|
|
@@ -866,6 +944,7 @@
|
|
|
866
944
|
|
|
867
945
|
## 1.61.1
|
|
868
946
|
|
|
947
|
+
|
|
869
948
|
- Fixed secondary model queries failing on any Ollama setup whose session model
|
|
870
949
|
is not `qwen2.5-coder:7b`. `getSmallFastModel()` fell back to the compiled
|
|
871
950
|
default when auto-routing was off or no model list had been discovered, so a
|
|
@@ -882,6 +961,7 @@
|
|
|
882
961
|
|
|
883
962
|
## 1.61.0
|
|
884
963
|
|
|
964
|
+
|
|
885
965
|
- Added `ur selftest`, end-to-end drills for the gap that produced every
|
|
886
966
|
serious defect in recent releases: a module that is correct while something
|
|
887
967
|
between it and the user is not — a wire format, a CLI registration, an exit
|
|
@@ -901,6 +981,7 @@
|
|
|
901
981
|
|
|
902
982
|
## 1.60.1
|
|
903
983
|
|
|
984
|
+
|
|
904
985
|
- `ur memory-integrity verify` no longer reports an empty or missing store as
|
|
905
986
|
verified. It printed "verified — 0 file(s) match the recorded digests" for an
|
|
906
987
|
empty directory, and that identical reassurance would have appeared for a
|
|
@@ -916,6 +997,7 @@
|
|
|
916
997
|
|
|
917
998
|
## 1.60.0
|
|
918
999
|
|
|
1000
|
+
|
|
919
1001
|
- Added `ur memory-integrity`, tamper-evidence for the file-backed memory
|
|
920
1002
|
stores. Project task memory was hash-chained and could prove tampering; the
|
|
921
1003
|
auto-memory and team-memory directories had nothing, and their contents are
|
|
@@ -943,6 +1025,7 @@
|
|
|
943
1025
|
|
|
944
1026
|
## 1.59.0
|
|
945
1027
|
|
|
1028
|
+
|
|
946
1029
|
- Added `ur sources`, a claim-to-source ledger. `wrapUntrusted` already stamped
|
|
947
1030
|
every untrusted block with a nonce and a source label, but discarded both the
|
|
948
1031
|
moment the block reached the model, so there was no way to audit what web or
|
|
@@ -969,6 +1052,7 @@
|
|
|
969
1052
|
|
|
970
1053
|
## 1.58.1
|
|
971
1054
|
|
|
1055
|
+
|
|
972
1056
|
- Unified vision-capability detection behind
|
|
973
1057
|
`src/utils/model/visionCapability.ts`. Three implementations disagreed: the
|
|
974
1058
|
Ollama adapter's `modelCapabilityEnabled` returned `has(x) ?? true`, so a
|
|
@@ -991,6 +1075,7 @@
|
|
|
991
1075
|
|
|
992
1076
|
## 1.58.0
|
|
993
1077
|
|
|
1078
|
+
|
|
994
1079
|
- Added per-agent cost and token attribution: `ur agent-inspect --costs`.
|
|
995
1080
|
`stats.ts` already read every `{sessionId}/subagents/agent-{agentId}.jsonl`
|
|
996
1081
|
transcript, but only to fold those tokens into a single total, so a fan-out
|
|
@@ -1005,6 +1090,7 @@
|
|
|
1005
1090
|
|
|
1006
1091
|
## 1.57.5
|
|
1007
1092
|
|
|
1093
|
+
|
|
1008
1094
|
- Fixed the release gate failing on `repoEditImports`. The gate runs
|
|
1009
1095
|
`bun test --timeout 120000`, but a per-test budget silently overrides that
|
|
1010
1096
|
global, and this test declared 15s while its body — which builds a
|
|
@@ -1016,6 +1102,7 @@
|
|
|
1016
1102
|
|
|
1017
1103
|
## 1.57.4
|
|
1018
1104
|
|
|
1105
|
+
|
|
1019
1106
|
- Fixed slash command arguments being silently truncated. `parseArguments`
|
|
1020
1107
|
kept only the string tokens shell-quote returned, but shell-quote classifies
|
|
1021
1108
|
`left?` and `src/*.ts` as globs and `&`, `>`, `(` as operators — so
|
|
@@ -1039,6 +1126,7 @@
|
|
|
1039
1126
|
|
|
1040
1127
|
## 1.57.3
|
|
1041
1128
|
|
|
1129
|
+
|
|
1042
1130
|
- Stopped a false diagnosis on failed tool calls. When a tool call failed
|
|
1043
1131
|
schema validation, UR appended "this tool's schema was not sent to the API"
|
|
1044
1132
|
and told the model to load it via `ToolSearch`. Both claims were wrong on
|
|
@@ -1055,6 +1143,7 @@
|
|
|
1055
1143
|
|
|
1056
1144
|
## 1.57.2
|
|
1057
1145
|
|
|
1146
|
+
|
|
1058
1147
|
- Fixed the Ollama adapter discarding images returned by tools. A tool result
|
|
1059
1148
|
containing an image was flattened with `contentBlockToText`, which renders an
|
|
1060
1149
|
image block as the literal string `[Image output omitted]` — so a `Computer`
|
|
@@ -1069,6 +1158,7 @@
|
|
|
1069
1158
|
|
|
1070
1159
|
## 1.57.1
|
|
1071
1160
|
|
|
1161
|
+
|
|
1072
1162
|
- Fixed the `Computer` tool returning a byte count instead of the screenshot.
|
|
1073
1163
|
`mapToolResultToToolResultBlockParam` dropped the captured image, so the
|
|
1074
1164
|
model saw only "Captured 5164460 bytes" and had to ask the user where to save
|
|
@@ -1080,6 +1170,7 @@
|
|
|
1080
1170
|
|
|
1081
1171
|
## 1.57.0
|
|
1082
1172
|
|
|
1173
|
+
|
|
1083
1174
|
- Connected four features that were built, tested and then left unreachable.
|
|
1084
1175
|
Each had passing unit tests while contributing nothing to a real session.
|
|
1085
1176
|
- `wrapUntrusted()` now runs on WebFetch and WebSearch results, at the
|
|
@@ -1108,6 +1199,7 @@
|
|
|
1108
1199
|
|
|
1109
1200
|
## 1.56.1
|
|
1110
1201
|
|
|
1202
|
+
|
|
1111
1203
|
- Documented the 1.52.0–1.56.0 features, which had reached `technical/03` as
|
|
1112
1204
|
command rows but nowhere else. Doc 09 now covers the fan-out limits and how
|
|
1113
1205
|
to run several workers at once; doc 12 covers the prompt-injection module and
|
|
@@ -1118,6 +1210,7 @@
|
|
|
1118
1210
|
|
|
1119
1211
|
## 1.56.0
|
|
1120
1212
|
|
|
1213
|
+
|
|
1121
1214
|
- Added a subagent fan-out governor. Agents could spawn agents with no depth or
|
|
1122
1215
|
concurrency bound, and `/crew`, `/arena`, `/bg fanout` and `/pattern` all
|
|
1123
1216
|
spawn several at once, so a single prompt could expand into an unbounded tree
|
|
@@ -1146,6 +1239,7 @@
|
|
|
1146
1239
|
|
|
1147
1240
|
## 1.55.0
|
|
1148
1241
|
|
|
1242
|
+
|
|
1149
1243
|
- Narrowed `APIProvider` to the two values `getAPIProvider()` can actually
|
|
1150
1244
|
return, `'foundry' | 'ollama'`, and let the compiler find every dead branch.
|
|
1151
1245
|
It surfaced 66 errors across 25 files; all are now resolved and the
|
|
@@ -1172,6 +1266,7 @@
|
|
|
1172
1266
|
|
|
1173
1267
|
## 1.54.1
|
|
1174
1268
|
|
|
1269
|
+
|
|
1175
1270
|
- Fixed `/speak`, `/computer`, `/memory-suggest`, `/import-session` and
|
|
1176
1271
|
`/permission-profile` being unreachable from the shell. They were registered
|
|
1177
1272
|
as slash commands but never wired into the Commander tree in `main.tsx`, so
|
|
@@ -1187,6 +1282,7 @@
|
|
|
1187
1282
|
|
|
1188
1283
|
## 1.54.0
|
|
1189
1284
|
|
|
1285
|
+
|
|
1190
1286
|
- Wired the 1.53.0 capability libraries into runnable commands. They were
|
|
1191
1287
|
verified modules but nothing invoked them; these are the execution paths.
|
|
1192
1288
|
- Added `/speak <text>` (alias `/say`), which drives the platform speech
|
|
@@ -1206,6 +1302,7 @@
|
|
|
1206
1302
|
|
|
1207
1303
|
## 1.53.0
|
|
1208
1304
|
|
|
1305
|
+
|
|
1209
1306
|
- Added automatic memory extraction (`src/memdir/extractFacts.ts`). Durable
|
|
1210
1307
|
preferences and project conventions are proposed from user messages, deduped
|
|
1211
1308
|
against stored memory by normalized key and containment, and ranked by
|
|
@@ -1236,6 +1333,7 @@
|
|
|
1236
1333
|
|
|
1237
1334
|
## 1.52.0
|
|
1238
1335
|
|
|
1336
|
+
|
|
1239
1337
|
- Implemented Ollama Cloud authentication. The Ollama client sent no
|
|
1240
1338
|
`Authorization` header at all, so the hosted API was unreachable: local
|
|
1241
1339
|
sessions only worked because the signed-in daemon proxies `:cloud` models on
|
|
@@ -1256,6 +1354,7 @@
|
|
|
1256
1354
|
|
|
1257
1355
|
## 1.51.0
|
|
1258
1356
|
|
|
1357
|
+
|
|
1259
1358
|
- Added named permission profiles. `settings.permissions.profiles` holds named
|
|
1260
1359
|
rule sets (allow/deny/ask plus a description) and
|
|
1261
1360
|
`settings.permissions.activeProfile` selects one; its rules are appended to
|
|
@@ -1274,6 +1373,7 @@
|
|
|
1274
1373
|
|
|
1275
1374
|
## 1.50.6
|
|
1276
1375
|
|
|
1376
|
+
|
|
1277
1377
|
- Implemented `--effort` on Ollama. The support predicate compared
|
|
1278
1378
|
`getAPIProvider()` against `'firstParty'` — a value it can never return — so
|
|
1279
1379
|
the advertised flag was silently dropped everywhere. Effort is now advertised
|
|
@@ -1309,6 +1409,7 @@
|
|
|
1309
1409
|
|
|
1310
1410
|
## 1.50.5
|
|
1311
1411
|
|
|
1412
|
+
|
|
1312
1413
|
- Added `.github/workflows/release.yml`. The repository had only a test
|
|
1313
1414
|
workflow, so tags never became production releases: 18 tags existed with no
|
|
1314
1415
|
GitHub Release and no automated publish. Pushing a `v*` tag now runs the full
|
|
@@ -1323,6 +1424,7 @@
|
|
|
1323
1424
|
|
|
1324
1425
|
## 1.50.4
|
|
1325
1426
|
|
|
1427
|
+
|
|
1326
1428
|
- Removed the `/install-github-app` command and its GitHub App setup flow,
|
|
1327
1429
|
along with the startup tip suggesting `@ur` be tagged from issues and pull
|
|
1328
1430
|
requests. The composite action at the repository root is removed with it.
|
|
@@ -1333,6 +1435,7 @@
|
|
|
1333
1435
|
|
|
1334
1436
|
## 1.50.3
|
|
1335
1437
|
|
|
1438
|
+
|
|
1336
1439
|
- Removed the GitHub App installation step from `/install-github-app`. UR
|
|
1337
1440
|
authenticates in CI with the workflow's built-in `GITHUB_TOKEN` and a
|
|
1338
1441
|
repository secret, so there is no app to install and no bot identity to
|
|
@@ -1348,6 +1451,7 @@
|
|
|
1348
1451
|
|
|
1349
1452
|
## 1.50.2
|
|
1350
1453
|
|
|
1454
|
+
|
|
1351
1455
|
- Fixed local-provider sessions showing "Not logged in · Run /login" with no
|
|
1352
1456
|
account to log in to, introduced in 1.50.1. Credential ownership and URHQ
|
|
1353
1457
|
auth applicability are separate questions: an Ollama session uses the user's
|
|
@@ -1362,6 +1466,7 @@
|
|
|
1362
1466
|
|
|
1363
1467
|
## 1.50.1
|
|
1364
1468
|
|
|
1469
|
+
|
|
1365
1470
|
- Fixed an always-true provider test that silently disabled a large part of the
|
|
1366
1471
|
command surface. `isUsing3PServices()` was derived from `getAPIProvider()`,
|
|
1367
1472
|
a request-shaping enum that never returns `'firstParty'`, so the comparison
|
|
@@ -1380,6 +1485,7 @@
|
|
|
1380
1485
|
|
|
1381
1486
|
## 1.50.0
|
|
1382
1487
|
|
|
1488
|
+
|
|
1383
1489
|
- Completed `/install-github-app` so `@ur <task>` works from GitHub. The
|
|
1384
1490
|
mention now triggers on issue comments, pull-request comments, inline review
|
|
1385
1491
|
comments, submitted reviews, and new issues; `/ur` remains accepted. Matching
|
|
@@ -1412,6 +1518,7 @@
|
|
|
1412
1518
|
|
|
1413
1519
|
## 1.49.0
|
|
1414
1520
|
|
|
1521
|
+
|
|
1415
1522
|
- Added cryptographically signed A2A Agent Cards: RFC 7515 detached JWS over
|
|
1416
1523
|
the RFC 8785 canonical form of the card, using Ed25519 (`alg: "EdDSA"`).
|
|
1417
1524
|
Verification recomputes the payload with `signatures` excluded, so a card can
|
|
@@ -1428,6 +1535,7 @@
|
|
|
1428
1535
|
|
|
1429
1536
|
## 1.48.0
|
|
1430
1537
|
|
|
1538
|
+
|
|
1431
1539
|
- Added managed cloud fan-out with durable, idempotent steering, owner-scoped
|
|
1432
1540
|
mobile/A2A control, explicit PASS plus safe-branch selection, and
|
|
1433
1541
|
cancellation-safe task transitions.
|
|
@@ -1446,6 +1554,7 @@
|
|
|
1446
1554
|
|
|
1447
1555
|
## 1.47.1
|
|
1448
1556
|
|
|
1557
|
+
|
|
1449
1558
|
- Hardened file downloads, filesystem permission checks, and signed skill
|
|
1450
1559
|
trees against traversal and chained-symlink escapes.
|
|
1451
1560
|
- Fixed task-memory integrity validation, prompt-plan file locking and change
|
|
@@ -1459,6 +1568,7 @@
|
|
|
1459
1568
|
|
|
1460
1569
|
## 1.47.0
|
|
1461
1570
|
|
|
1571
|
+
|
|
1462
1572
|
- Added a secure, opt-in AG-UI HTTP/SSE adapter with official schema/encoder
|
|
1463
1573
|
integration, truthful capability discovery, ordered text/tool/state events,
|
|
1464
1574
|
cancellation, exact CORS, bearer protection for network exposure, resource
|
|
@@ -1497,6 +1607,7 @@
|
|
|
1497
1607
|
|
|
1498
1608
|
## 1.46.0
|
|
1499
1609
|
|
|
1610
|
+
|
|
1500
1611
|
- Added a stable, official-SDK ACP v1 stdio agent with resumable sessions,
|
|
1501
1612
|
client MCP transports and additional roots, streamed updates, native
|
|
1502
1613
|
permission requests, cancellation, and private persisted session identity.
|
|
@@ -1528,6 +1639,7 @@
|
|
|
1528
1639
|
|
|
1529
1640
|
## 1.45.6
|
|
1530
1641
|
|
|
1642
|
+
|
|
1531
1643
|
- Deduplicated project verification approval so compile/test/lint commands are
|
|
1532
1644
|
offered at most once per user turn. The approval marker is cleared for the
|
|
1533
1645
|
next user task, preserving one explicit decision per task.
|
|
@@ -1537,6 +1649,7 @@
|
|
|
1537
1649
|
|
|
1538
1650
|
## 1.45.5
|
|
1539
1651
|
|
|
1652
|
+
|
|
1540
1653
|
- Bounded Ollama Cloud response-header and streaming phases to 120 seconds by
|
|
1541
1654
|
default while preserving the five-minute allowance for local Ollama models.
|
|
1542
1655
|
`API_TIMEOUT_MS` and per-request timeouts still take precedence.
|
|
@@ -1552,6 +1665,7 @@
|
|
|
1552
1665
|
|
|
1553
1666
|
## 1.45.4
|
|
1554
1667
|
|
|
1668
|
+
|
|
1555
1669
|
- Added mandatory provider-first model selection for the first interactive run
|
|
1556
1670
|
in every workspace that has no project-local model. The validated provider
|
|
1557
1671
|
and model pair is saved to `.ur/settings.local.json` before the REPL starts.
|
|
@@ -1564,6 +1678,7 @@
|
|
|
1564
1678
|
|
|
1565
1679
|
## 1.45.3
|
|
1566
1680
|
|
|
1681
|
+
|
|
1567
1682
|
- Made slash-command resolution deterministic across bundled skills, plugins,
|
|
1568
1683
|
project skills, workflows, and built-ins. Duplicate canonical tokens are
|
|
1569
1684
|
rejected by source priority and conflicting aliases are removed; registry
|
|
@@ -1584,6 +1699,7 @@
|
|
|
1584
1699
|
|
|
1585
1700
|
## 1.45.2
|
|
1586
1701
|
|
|
1702
|
+
|
|
1587
1703
|
Correctness and containment release completing the runtime audit.
|
|
1588
1704
|
|
|
1589
1705
|
- Made sandbox, security-scope, WebFetch, API, browser, database, test-runner,
|
|
@@ -1616,6 +1732,7 @@ Correctness and containment release completing the runtime audit.
|
|
|
1616
1732
|
|
|
1617
1733
|
## 1.45.1
|
|
1618
1734
|
|
|
1735
|
+
|
|
1619
1736
|
Completes the three partially-delivered 1.45.0 items to 100%.
|
|
1620
1737
|
|
|
1621
1738
|
- Semantic code search is now zero-config: the CodeSearch tool auto-enables
|
|
@@ -1632,6 +1749,7 @@ Completes the three partially-delivered 1.45.0 items to 100%.
|
|
|
1632
1749
|
|
|
1633
1750
|
## 1.45.0
|
|
1634
1751
|
|
|
1752
|
+
|
|
1635
1753
|
Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
1636
1754
|
|
|
1637
1755
|
- `ur cloud` — detached best-of-N tasks (the local-first codex-cloud
|
|
@@ -1676,6 +1794,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1676
1794
|
|
|
1677
1795
|
## 1.44.10
|
|
1678
1796
|
|
|
1797
|
+
|
|
1679
1798
|
- Render `AskUserQuestion` permission requests inside a `PermissionDialog` so
|
|
1680
1799
|
multiple-choice options appear as a bordered dialog box rather than a plain
|
|
1681
1800
|
list.
|
|
@@ -1688,6 +1807,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1688
1807
|
|
|
1689
1808
|
## 1.44.9
|
|
1690
1809
|
|
|
1810
|
+
|
|
1691
1811
|
- Fix recurring "String to replace not found in file" Edit errors by adding
|
|
1692
1812
|
whitespace-tolerant matching (trailing whitespace, tab/space indentation).
|
|
1693
1813
|
- Fix AskUserQuestion "questions type expected as array" validation errors by
|
|
@@ -1695,6 +1815,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1695
1815
|
|
|
1696
1816
|
## 1.44.8
|
|
1697
1817
|
|
|
1818
|
+
|
|
1698
1819
|
- Keep auto-memory and automatic learning on by default with explicit opt-outs.
|
|
1699
1820
|
Automatic learning can now be disabled with `automaticLearningEnabled: false`
|
|
1700
1821
|
or `UR_CODE_DISABLE_AUTO_LEARNING=1`.
|
|
@@ -1705,6 +1826,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1705
1826
|
|
|
1706
1827
|
## 1.44.7
|
|
1707
1828
|
|
|
1829
|
+
|
|
1708
1830
|
- Add `autoApprove` permission mode for command/tool approval prompts. It
|
|
1709
1831
|
auto-approves operations that would otherwise require permission approval,
|
|
1710
1832
|
while preserving user-input dialogs and explicit denials.
|
|
@@ -1712,14 +1834,17 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1712
1834
|
|
|
1713
1835
|
## 1.44.6
|
|
1714
1836
|
|
|
1837
|
+
|
|
1715
1838
|
- Internal permission-mode iteration superseded by `1.44.7`.
|
|
1716
1839
|
|
|
1717
1840
|
## 1.44.5
|
|
1718
1841
|
|
|
1842
|
+
|
|
1719
1843
|
- Internal permission-mode iteration superseded by `1.44.6`.
|
|
1720
1844
|
|
|
1721
1845
|
## 1.44.4
|
|
1722
1846
|
|
|
1847
|
+
|
|
1723
1848
|
- The agent now learns from every run automatically — no `/learn run` needed.
|
|
1724
1849
|
ci-loop, arena, escalation, and test-first completions fold their pass/fail
|
|
1725
1850
|
outcome (per task category and model) into `.ur/learning/stats.json` as a
|
|
@@ -1741,6 +1866,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1741
1866
|
|
|
1742
1867
|
## 1.44.3
|
|
1743
1868
|
|
|
1869
|
+
|
|
1744
1870
|
- Make thinking visually distinct from answers: thinking blocks are labeled
|
|
1745
1871
|
"model reasoning to itself — not the answer" (dim italic, left-bordered when
|
|
1746
1872
|
expanded); answer text carries an accent-colored ⏺ marker.
|
|
@@ -1774,6 +1900,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1774
1900
|
|
|
1775
1901
|
## 1.44.2
|
|
1776
1902
|
|
|
1903
|
+
|
|
1777
1904
|
- Fix Ollama streamed tool-call accumulation: Ollama streams each completed
|
|
1778
1905
|
tool call in its own chunk, but the merge logic overwrote call N-1 with
|
|
1779
1906
|
call N, collapsing multi-call turns (e.g. several `Write` calls scaffolding
|
|
@@ -1798,6 +1925,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1798
1925
|
|
|
1799
1926
|
## 1.44.1
|
|
1800
1927
|
|
|
1928
|
+
|
|
1801
1929
|
- Fix task board rendering: finished, failed, and skipped tasks now render as
|
|
1802
1930
|
checked instead of unchecked.
|
|
1803
1931
|
- Deduplicate consecutive task board emissions and keep final boards clean
|
|
@@ -1805,6 +1933,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1805
1933
|
|
|
1806
1934
|
## 1.44.0
|
|
1807
1935
|
|
|
1936
|
+
|
|
1808
1937
|
- Add `verifier.askBeforeGates` setting (default `false`). When enabled, UR asks
|
|
1809
1938
|
via `AskUserQuestion` whether to run project verification commands after a
|
|
1810
1939
|
task, instead of auto-running tests/typecheck/lint gates. Available in
|
|
@@ -1815,6 +1944,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1815
1944
|
|
|
1816
1945
|
## 1.43.6
|
|
1817
1946
|
|
|
1947
|
+
|
|
1818
1948
|
- Render output from reasoning models on OpenAI-compatible providers (LM Studio,
|
|
1819
1949
|
vLLM). The streaming and non-streaming parsers now read `reasoning_content`
|
|
1820
1950
|
(and `reasoning`) deltas and surface them as thinking blocks. Models that emit
|
|
@@ -1823,6 +1953,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1823
1953
|
|
|
1824
1954
|
## 1.43.5
|
|
1825
1955
|
|
|
1956
|
+
|
|
1826
1957
|
- Fix model discovery for OpenAI-compatible providers (LM Studio, llama.cpp,
|
|
1827
1958
|
vLLM) when base_url omits the API version segment. Discovery and `ur provider
|
|
1828
1959
|
doctor` now also try `/v1/models` when base_url is just `host:port`, so
|
|
@@ -1832,6 +1963,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1832
1963
|
|
|
1833
1964
|
## 1.43.4
|
|
1834
1965
|
|
|
1966
|
+
|
|
1835
1967
|
- Tolerate hallucinated extra parameters on tool calls: when input validation
|
|
1836
1968
|
fails only because of unrecognized keys (e.g. `title`/`description` on a
|
|
1837
1969
|
`Write` call), those keys are stripped and the call is re-validated instead
|
|
@@ -1840,6 +1972,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1840
1972
|
|
|
1841
1973
|
## 1.43.3
|
|
1842
1974
|
|
|
1975
|
+
|
|
1843
1976
|
- Bias the assistant toward the interactive arrow-key select menu: the
|
|
1844
1977
|
AskUserQuestion tool guidance now instructs the model to use the selectable
|
|
1845
1978
|
menu whenever it offers the user a choice, instead of asking a free-form
|
|
@@ -1847,6 +1980,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1847
1980
|
|
|
1848
1981
|
## 1.43.2
|
|
1849
1982
|
|
|
1983
|
+
|
|
1850
1984
|
- Fix artifact pages hanging blank: diff viewer assets (diff2html,
|
|
1851
1985
|
highlight.js theme) are now served locally from `/assets` via the new
|
|
1852
1986
|
`diff2html` dependency instead of render-blocking CDN tags, and the viewer
|
|
@@ -1857,6 +1991,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1857
1991
|
|
|
1858
1992
|
## 1.43.1
|
|
1859
1993
|
|
|
1994
|
+
|
|
1860
1995
|
- Artifacts page renders diffs VS Code-style: side-by-side/inline views with
|
|
1861
1996
|
syntax highlighting via diff2html (plain-text fallback when offline). New
|
|
1862
1997
|
live view `/diff` shows current working-tree changes without manual capture,
|
|
@@ -1868,6 +2003,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1868
2003
|
|
|
1869
2004
|
## 1.43.0
|
|
1870
2005
|
|
|
2006
|
+
|
|
1871
2007
|
- Add `ur artifacts serve [--port 4180]`: a local web page for artifacts.
|
|
1872
2008
|
`GET /artifacts/<id>` renders one artifact (status, summary, feedback,
|
|
1873
2009
|
content), `/` lists all, with `/artifacts/<id>/raw` and `/api/artifacts[/<id>]`
|
|
@@ -1875,6 +2011,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1875
2011
|
|
|
1876
2012
|
## 1.42.0
|
|
1877
2013
|
|
|
2014
|
+
|
|
1878
2015
|
- Project safety policy no longer hard-blocks commands. Risky or deny-matched
|
|
1879
2016
|
commands (package installs, destructive git operations, secret access,
|
|
1880
2017
|
sandbox-required commands when the sandbox is unavailable) now surface as
|
|
@@ -1883,6 +2020,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1883
2020
|
|
|
1884
2021
|
## 1.41.1
|
|
1885
2022
|
|
|
2023
|
+
|
|
1886
2024
|
- Harden provider tests against stored API keys in the local secure storage.
|
|
1887
2025
|
- Revert sandbox default to disabled; expose `sandbox.enabled`,
|
|
1888
2026
|
`sandbox.failIfUnavailable`, and `sandbox.allowUnsandboxedCommands` through
|
|
@@ -1890,6 +2028,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1890
2028
|
|
|
1891
2029
|
## 1.41.0
|
|
1892
2030
|
|
|
2031
|
+
|
|
1893
2032
|
- Persist the model chosen through the interactive `/model` picker to settings
|
|
1894
2033
|
and clear saved model state when `/model default` is used.
|
|
1895
2034
|
- Enable the sandbox by default when no explicit `sandbox.enabled` setting is
|
|
@@ -1897,6 +2036,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1897
2036
|
|
|
1898
2037
|
## 1.40.1
|
|
1899
2038
|
|
|
2039
|
+
|
|
1900
2040
|
- Pin `diff` to ^7 and OpenTelemetry packages to 2.6.1/0.214.0 to match the
|
|
1901
2041
|
source API, fixing type errors from accidental dependency bumps, and rebuild
|
|
1902
2042
|
the shipped bundle against these versions.
|
|
@@ -1904,11 +2044,13 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1904
2044
|
|
|
1905
2045
|
## 1.40.0
|
|
1906
2046
|
|
|
2047
|
+
|
|
1907
2048
|
- Version bump: align package, build macro, VS Code extension, docs eyebrow, and
|
|
1908
2049
|
changelog for the 1.40.0 release.
|
|
1909
2050
|
|
|
1910
2051
|
## 1.37.5
|
|
1911
2052
|
|
|
2053
|
+
|
|
1912
2054
|
- Version bump: align package, build macro, VS Code extension, docs eyebrow, and
|
|
1913
2055
|
changelog for the 1.37.5 patch release.
|
|
1914
2056
|
- Rename user-facing product/package branding to UR-Nexus while preserving the
|
|
@@ -1929,11 +2071,13 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1929
2071
|
|
|
1930
2072
|
## 1.37.3
|
|
1931
2073
|
|
|
2074
|
+
|
|
1932
2075
|
- Version bump: align package, build macro, VS Code extension, docs eyebrow, and
|
|
1933
2076
|
changelog for the 1.37.3 patch release.
|
|
1934
2077
|
|
|
1935
2078
|
## 1.37.2
|
|
1936
2079
|
|
|
2080
|
+
|
|
1937
2081
|
- Tightened provider reliability: API-provider calls now use a finite default
|
|
1938
2082
|
timeout, consistent retry handling for transient network/provider failures,
|
|
1939
2083
|
and safer OpenAI-compatible base URL normalization without changing streaming,
|
|
@@ -1955,6 +2099,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1955
2099
|
|
|
1956
2100
|
## 1.35.1
|
|
1957
2101
|
|
|
2102
|
+
|
|
1958
2103
|
- Polished the bundled VS Code inline-diffs view with native toolbar icons,
|
|
1959
2104
|
useful empty-state rows, clearer diff labels, and a cleaner review webview.
|
|
1960
2105
|
- Fixed `ur ide status` routing so the IDE extension status action reports
|
|
@@ -1964,6 +2109,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1964
2109
|
|
|
1965
2110
|
## 1.35.0
|
|
1966
2111
|
|
|
2112
|
+
|
|
1967
2113
|
- New `ur connect` CLI command (same implementation as the `/connect` slash
|
|
1968
2114
|
command): `ur connect status`, `ur connect <provider>`,
|
|
1969
2115
|
`ur connect <provider> --key <KEY>`, and `ur connect logout <provider>`.
|
|
@@ -1988,6 +2134,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1988
2134
|
|
|
1989
2135
|
## 1.34.0
|
|
1990
2136
|
|
|
2137
|
+
|
|
1991
2138
|
- Restore the 1.30.3 subscription approach: Codex CLI, Claude Code, Gemini CLI
|
|
1992
2139
|
and Antigravity are first-class in `/model` again — shown by default and
|
|
1993
2140
|
usable directly (no `UR_ENABLE_EXTERNAL_APP_PROVIDERS` opt-in and no runtime
|
|
@@ -1999,6 +2146,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
1999
2146
|
|
|
2000
2147
|
## 1.33.0
|
|
2001
2148
|
|
|
2149
|
+
|
|
2002
2150
|
- Add API keys from inside UR while it is running: in `/model`, selecting an
|
|
2003
2151
|
API provider (OpenAI, Anthropic, Gemini, OpenRouter) that isn't connected now
|
|
2004
2152
|
shows a masked key-entry step. The key is stored in the OS keychain, then the
|
|
@@ -2009,6 +2157,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2009
2157
|
|
|
2010
2158
|
## 1.32.0
|
|
2011
2159
|
|
|
2160
|
+
|
|
2012
2161
|
- `/model` now shows the subscription providers (Codex CLI, Claude Code, Gemini
|
|
2013
2162
|
CLI, Antigravity) again. They are enabled the moment you `ur connect` them
|
|
2014
2163
|
(persisted per-account opt-in) — no `UR_ENABLE_EXTERNAL_APP_PROVIDERS` env var
|
|
@@ -2024,6 +2173,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2024
2173
|
|
|
2025
2174
|
## 1.31.0
|
|
2026
2175
|
|
|
2176
|
+
|
|
2027
2177
|
- Add in-app provider connection: `ur connect` / `/connect` connects a provider
|
|
2028
2178
|
once and persists it. Subscription providers (Codex, Claude Code, Gemini,
|
|
2029
2179
|
Antigravity) launch their official CLI login using your own account; API
|
|
@@ -2040,6 +2190,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2040
2190
|
|
|
2041
2191
|
## 1.30.6
|
|
2042
2192
|
|
|
2193
|
+
|
|
2043
2194
|
- Restore a visible `subscription` access entry in provider lists without
|
|
2044
2195
|
exposing provider app bridges as normal runtimes.
|
|
2045
2196
|
- Keep subscription selection honest: no fake UR model IDs are listed, and the
|
|
@@ -2048,6 +2199,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2048
2199
|
|
|
2049
2200
|
## 1.30.5
|
|
2050
2201
|
|
|
2202
|
+
|
|
2051
2203
|
- Hide external app bridge providers from normal `/model`, `/provider`, and
|
|
2052
2204
|
`ur provider list` output. The default provider UX now shows only UR-native
|
|
2053
2205
|
API, local, and OpenAI-compatible server runtimes.
|
|
@@ -2057,6 +2209,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2057
2209
|
|
|
2058
2210
|
## 1.30.4
|
|
2059
2211
|
|
|
2212
|
+
|
|
2060
2213
|
- Make the default provider runtime independent of provider apps. Codex CLI,
|
|
2061
2214
|
Claude Code, Gemini CLI, and Antigravity are now treated as explicit external
|
|
2062
2215
|
app bridges and are blocked from normal `/model`, config save, and runtime
|
|
@@ -2067,6 +2220,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2067
2220
|
|
|
2068
2221
|
## 1.30.3
|
|
2069
2222
|
|
|
2223
|
+
|
|
2070
2224
|
- Fix Codex CLI dispatch for real interactive terminals by inheriting terminal
|
|
2071
2225
|
stdin for `codex exec`. Codex treats both `/dev/null` and closed pipes as
|
|
2072
2226
|
piped stdin, so the previous `1.30.2` EOF approach still triggered
|
|
@@ -2074,6 +2228,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2074
2228
|
|
|
2075
2229
|
## 1.30.2
|
|
2076
2230
|
|
|
2231
|
+
|
|
2077
2232
|
- Fix Codex subscription dispatch failing with `exited 1 ... Reading additional
|
|
2078
2233
|
input from stdin`. `codex exec` reads stdin even when the prompt is an
|
|
2079
2234
|
argument; UR now gives it a closed, empty stdin pipe (EOF) instead of
|
|
@@ -2082,6 +2237,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2082
2237
|
|
|
2083
2238
|
## 1.30.1
|
|
2084
2239
|
|
|
2240
|
+
|
|
2085
2241
|
- Fix Codex CLI runtime dispatch by ignoring stdin when UR already passes the
|
|
2086
2242
|
prompt as a command argument. This prevents `codex exec` from treating UR's
|
|
2087
2243
|
closed pipe as extra stdin and exiting after `Reading additional input from
|
|
@@ -2089,6 +2245,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2089
2245
|
|
|
2090
2246
|
## 1.30.0
|
|
2091
2247
|
|
|
2248
|
+
|
|
2092
2249
|
- IDE integration commands: `ur ide status`, `ur ide doctor`, and `ur ide config
|
|
2093
2250
|
<editor>` for VS Code, Cursor, Windsurf, Zed, JetBrains, Neovim, and generic
|
|
2094
2251
|
ACP clients. Status shows workspace, ACP server, provider/model, plugin count,
|
|
@@ -2109,6 +2266,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2109
2266
|
|
|
2110
2267
|
## 1.29.1
|
|
2111
2268
|
|
|
2269
|
+
|
|
2112
2270
|
- Replace fabricated Claude Code and Gemini CLI static model names with
|
|
2113
2271
|
provider-scoped CLI model aliases/names that the official CLIs can receive.
|
|
2114
2272
|
- Reject stale subscription CLI selections such as `claude-code/sonnet-5` before
|
|
@@ -2118,6 +2276,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2118
2276
|
|
|
2119
2277
|
## 1.29.0
|
|
2120
2278
|
|
|
2279
|
+
|
|
2121
2280
|
- Customer release consolidating the multi-provider selection and runtime
|
|
2122
2281
|
dispatch work (1.27.5–1.28.1) into a single production line.
|
|
2123
2282
|
- System-prompt identity now reflects the selected provider and runtime backend
|
|
@@ -2129,6 +2288,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2129
2288
|
|
|
2130
2289
|
## 1.28.1
|
|
2131
2290
|
|
|
2291
|
+
|
|
2132
2292
|
- Keep the status bar synchronized with in-session provider/model changes from
|
|
2133
2293
|
`/model`, `/model <model>`, and `/provider`, instead of waiting for persisted
|
|
2134
2294
|
settings to reload.
|
|
@@ -2137,6 +2297,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2137
2297
|
|
|
2138
2298
|
## 1.28.0
|
|
2139
2299
|
|
|
2300
|
+
|
|
2140
2301
|
- Subscription CLI providers (Codex, Claude Code, Gemini, Antigravity) now
|
|
2141
2302
|
perform real dispatch: the official CLI is spawned in non-interactive mode with
|
|
2142
2303
|
the scoped model and prompt, and its stdout becomes the response. Non-zero exit
|
|
@@ -2158,6 +2319,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2158
2319
|
|
|
2159
2320
|
## 1.27.6
|
|
2160
2321
|
|
|
2322
|
+
|
|
2161
2323
|
- Route runtime requests through the selected provider/model pair instead of
|
|
2162
2324
|
allowing stale Ollama/default-provider paths to handle non-Ollama requests.
|
|
2163
2325
|
- Add runtime dispatch validation, backend labels, and focused mocked dispatch
|
|
@@ -2167,6 +2329,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2167
2329
|
|
|
2168
2330
|
## 1.27.5
|
|
2169
2331
|
|
|
2332
|
+
|
|
2170
2333
|
- Make `/model` provider-first and provider-scoped, with clear subscription,
|
|
2171
2334
|
API-key, local runtime, and OpenAI-compatible server labels.
|
|
2172
2335
|
- Keep model discovery, validation, fallback, and saved config scoped to the
|
|
@@ -2177,6 +2340,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2177
2340
|
|
|
2178
2341
|
## 1.25.3
|
|
2179
2342
|
|
|
2343
|
+
|
|
2180
2344
|
- Add provider alias resolution so `ur config set provider claude`,
|
|
2181
2345
|
`ur config set provider "Claude Code"`, and `ur provider doctor agy`
|
|
2182
2346
|
resolve to canonical provider IDs.
|
|
@@ -2185,6 +2349,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2185
2349
|
|
|
2186
2350
|
## 1.25.2
|
|
2187
2351
|
|
|
2352
|
+
|
|
2188
2353
|
- Refresh public documentation so README, docs, static site, validation runbook,
|
|
2189
2354
|
and code inventory all describe the current UR-Nexus feature set.
|
|
2190
2355
|
- Document the recent provider auth, status bar, bundled VS Code extension,
|
|
@@ -2195,17 +2360,20 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2195
2360
|
|
|
2196
2361
|
## 1.25.1
|
|
2197
2362
|
|
|
2363
|
+
|
|
2198
2364
|
- Fix VS Code extension installation to use the bundled UR-Nexus inline-diffs extension instead of the stale unpublished `urhq.ur` marketplace ID.
|
|
2199
2365
|
- Harden AskUserQuestion normalization for description-only option objects and keep the eight-option schema in the production bundle.
|
|
2200
2366
|
|
|
2201
2367
|
## 1.25.0
|
|
2202
2368
|
|
|
2369
|
+
|
|
2203
2370
|
- Add legal multi-provider auth/provider management for subscription CLI, API-key, and local runtime access paths.
|
|
2204
2371
|
- Add provider doctor/status/config commands, provider-aware status bar display, and explicit no-token-scraping safety policy.
|
|
2205
2372
|
- Relax plan-mode clarification choices so professional redesign prompts do not fail when more than four options are supplied.
|
|
2206
2373
|
|
|
2207
2374
|
## 1.24.0
|
|
2208
2375
|
|
|
2376
|
+
|
|
2209
2377
|
### Added
|
|
2210
2378
|
- Plugin marketplace capability metadata for MCP tools, executable skills,
|
|
2211
2379
|
templates, validators, language adapters, LSP servers, hooks, agents, and
|
|
@@ -2224,11 +2392,13 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2224
2392
|
|
|
2225
2393
|
## 1.23.3
|
|
2226
2394
|
|
|
2395
|
+
|
|
2227
2396
|
### Fixed
|
|
2228
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.
|
|
2229
2398
|
|
|
2230
2399
|
## 1.23.2
|
|
2231
2400
|
|
|
2401
|
+
|
|
2232
2402
|
### Added
|
|
2233
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.
|
|
2234
2404
|
|
|
@@ -2237,6 +2407,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2237
2407
|
|
|
2238
2408
|
## 1.23.1
|
|
2239
2409
|
|
|
2410
|
+
|
|
2240
2411
|
### Added
|
|
2241
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.
|
|
2242
2413
|
- **Plugin marketplace extensibility** for `templates`, `validators`, and `languageAdapters` alongside existing MCP tools and skills.
|
|
@@ -2246,6 +2417,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2246
2417
|
|
|
2247
2418
|
## 1.22.8
|
|
2248
2419
|
|
|
2420
|
+
|
|
2249
2421
|
### Added
|
|
2250
2422
|
-
|
|
2251
2423
|
|
|
@@ -2257,6 +2429,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2257
2429
|
|
|
2258
2430
|
## 1.22.7
|
|
2259
2431
|
|
|
2432
|
+
|
|
2260
2433
|
### Added
|
|
2261
2434
|
- **Benchmark mode (`ur eval`).**
|
|
2262
2435
|
- `ur eval run <suite> [--model <m>] [--metrics]` runs eval suites with explicit model overrides and per-case metrics files.
|
|
@@ -2301,6 +2474,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2301
2474
|
|
|
2302
2475
|
## 1.22.6
|
|
2303
2476
|
|
|
2477
|
+
|
|
2304
2478
|
### Fixed
|
|
2305
2479
|
- Fixed Bash tool runtime execution failing every command with
|
|
2306
2480
|
`timeoutMs is not defined` by keeping the command hook timeout value in scope
|
|
@@ -2316,6 +2490,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2316
2490
|
|
|
2317
2491
|
## 1.22.5
|
|
2318
2492
|
|
|
2493
|
+
|
|
2319
2494
|
### Added
|
|
2320
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.
|
|
2321
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>`.
|
|
@@ -2331,6 +2506,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2331
2506
|
|
|
2332
2507
|
## 1.22.4
|
|
2333
2508
|
|
|
2509
|
+
|
|
2334
2510
|
### Added
|
|
2335
2511
|
- **AST-aware `ur repo-edit` (P7).** Added
|
|
2336
2512
|
`src/services/repoEditing/ast/types.ts`,
|
|
@@ -2370,6 +2546,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2370
2546
|
|
|
2371
2547
|
## 1.22.3
|
|
2372
2548
|
|
|
2549
|
+
|
|
2373
2550
|
### Added
|
|
2374
2551
|
- **Executable skill directories.** A `.ur/skills/<name>/` directory containing
|
|
2375
2552
|
`skill.yaml` is now an executable skill that compiles into a `WorkflowSpec`.
|
|
@@ -2400,6 +2577,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2400
2577
|
|
|
2401
2578
|
## 1.22.2
|
|
2402
2579
|
|
|
2580
|
+
|
|
2403
2581
|
### Added
|
|
2404
2582
|
- **Lifecycle hooks.** Added six new hook events in `src/entrypoints/sdk/coreTypes.ts`
|
|
2405
2583
|
and `src/entrypoints/sdk/coreSchemas.ts`: `BeforeEdit`, `AfterEdit`,
|
|
@@ -2426,6 +2604,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2426
2604
|
|
|
2427
2605
|
## 1.22.1
|
|
2428
2606
|
|
|
2607
|
+
|
|
2429
2608
|
### Added
|
|
2430
2609
|
- **Rich task decomposition.** `src/services/agents/decomposer.ts` splits large
|
|
2431
2610
|
goals into atomic subtasks with `goal`, `filesTouched`, `risk` (low/medium/high),
|
|
@@ -2458,6 +2637,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2458
2637
|
|
|
2459
2638
|
## 1.22.0
|
|
2460
2639
|
|
|
2640
|
+
|
|
2461
2641
|
### Added
|
|
2462
2642
|
- **Agent execution metrics in `ur eval`.** `ur eval run` now captures
|
|
2463
2643
|
cost, input/output tokens, model used, API duration, files changed,
|
|
@@ -2521,6 +2701,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2521
2701
|
|
|
2522
2702
|
## 1.21.0
|
|
2523
2703
|
|
|
2704
|
+
|
|
2524
2705
|
### Added
|
|
2525
2706
|
- **Agent skill runner (`agentSkillRunner.ts`).** Reusable helper that wraps
|
|
2526
2707
|
`startBackgroundTask({ worktree: true, pr: true })`, polls the background
|
|
@@ -2550,6 +2731,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2550
2731
|
|
|
2551
2732
|
## 1.20.0
|
|
2552
2733
|
|
|
2734
|
+
|
|
2553
2735
|
### Added
|
|
2554
2736
|
- **ACP server (`ur acp`).** Added an HTTP+JSON-RPC Agent Communication
|
|
2555
2737
|
Protocol server for IDE extensions. Supports `initialize`, `tools/list`,
|
|
@@ -2585,6 +2767,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2585
2767
|
|
|
2586
2768
|
## 1.19.0
|
|
2587
2769
|
|
|
2770
|
+
|
|
2588
2771
|
### Added
|
|
2589
2772
|
- **Permission and safety policy (`ur safety`).** Added a project shell safety
|
|
2590
2773
|
evaluator that separates read, write, execute, and network command classes;
|
|
@@ -2612,6 +2795,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2612
2795
|
|
|
2613
2796
|
## 1.18.0
|
|
2614
2797
|
|
|
2798
|
+
|
|
2615
2799
|
### Added
|
|
2616
2800
|
- **Test-first execution loop (`ur test-first`).** Added a P0 quality loop that
|
|
2617
2801
|
detects the project stack, orders compile/test/lint commands, runs them as
|
|
@@ -2636,6 +2820,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2636
2820
|
|
|
2637
2821
|
## 1.17.0
|
|
2638
2822
|
|
|
2823
|
+
|
|
2639
2824
|
### Added
|
|
2640
2825
|
- **Reliable repo editing (`ur repo-edit`).** Added a P0 repo-editing workflow
|
|
2641
2826
|
with dependency-free file/symbol indexing, indexed search, AST-aware
|
|
@@ -2652,6 +2837,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2652
2837
|
|
|
2653
2838
|
## 1.16.0
|
|
2654
2839
|
|
|
2840
|
+
|
|
2655
2841
|
### Added
|
|
2656
2842
|
- **Network Ollama discovery.** `ur --discover-ollama` scans active local subnets
|
|
2657
2843
|
for Ollama servers on port 11434, verifies each via `/api/tags`, and shows an
|
|
@@ -2674,6 +2860,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2674
2860
|
|
|
2675
2861
|
## 1.15.0
|
|
2676
2862
|
|
|
2863
|
+
|
|
2677
2864
|
### Changed
|
|
2678
2865
|
- **Version bump.** Updated from 1.14.0 to 1.15.0 across `package.json`, `bunfig.toml`, and bundled CLI.
|
|
2679
2866
|
|
|
@@ -2682,6 +2869,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2682
2869
|
|
|
2683
2870
|
## 1.14.1
|
|
2684
2871
|
|
|
2872
|
+
|
|
2685
2873
|
### Changed
|
|
2686
2874
|
- Removed the `desktop-app` startup tip pointing to the legacy desktop URL.
|
|
2687
2875
|
|
|
@@ -2690,6 +2878,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2690
2878
|
|
|
2691
2879
|
## 1.14.0
|
|
2692
2880
|
|
|
2881
|
+
|
|
2693
2882
|
### Changed
|
|
2694
2883
|
- **Version bump.** Updated from 1.13.9 to 1.14.0 across `package.json`, `bunfig.toml`, and bundled CLI.
|
|
2695
2884
|
|
|
@@ -2698,6 +2887,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2698
2887
|
|
|
2699
2888
|
## 1.13.9
|
|
2700
2889
|
|
|
2890
|
+
|
|
2701
2891
|
### Added
|
|
2702
2892
|
- **Spec-driven development (`ur spec`).** Scaffolds `requirements.md ->
|
|
2703
2893
|
design.md -> tasks.md` plus a phase/approval `spec.json` under `.ur/specs/`,
|
|
@@ -2733,6 +2923,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2733
2923
|
|
|
2734
2924
|
## 1.13.8
|
|
2735
2925
|
|
|
2926
|
+
|
|
2736
2927
|
### Fixed
|
|
2737
2928
|
- **Image paste resize fallback.** Clipboard image paste now falls back to
|
|
2738
2929
|
macOS `sips` when the normal Sharp/native resize path cannot process an
|
|
@@ -2748,6 +2939,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2748
2939
|
|
|
2749
2940
|
## 1.13.7
|
|
2750
2941
|
|
|
2942
|
+
|
|
2751
2943
|
### Added
|
|
2752
2944
|
- **Explicit update notice.** Interactive sessions now show
|
|
2753
2945
|
`Update available: <current> -> <latest>` when a newer published package is
|
|
@@ -2764,6 +2956,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2764
2956
|
|
|
2765
2957
|
## 1.13.6
|
|
2766
2958
|
|
|
2959
|
+
|
|
2767
2960
|
### Added
|
|
2768
2961
|
- **Professional static documentation site.** Added `documentation/` with a
|
|
2769
2962
|
full HTML/CSS/JS documentation project covering installation, architecture,
|
|
@@ -2778,6 +2971,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2778
2971
|
|
|
2779
2972
|
## 1.13.5
|
|
2780
2973
|
|
|
2974
|
+
|
|
2781
2975
|
### Added
|
|
2782
2976
|
- **Headless agent crews.** Added `ur crew` for lead/worker task boards that
|
|
2783
2977
|
split a goal into subtasks, let worker subagents claim work, and support
|
|
@@ -2802,6 +2996,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2802
2996
|
|
|
2803
2997
|
## 1.13.4
|
|
2804
2998
|
|
|
2999
|
+
|
|
2805
3000
|
### Added
|
|
2806
3001
|
- **Parallel workflow execution.** The declarative workflow executor now runs
|
|
2807
3002
|
independent ready steps concurrently. `ur workflow run --concurrency <n>`
|
|
@@ -2834,6 +3029,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2834
3029
|
|
|
2835
3030
|
## 1.13.3
|
|
2836
3031
|
|
|
3032
|
+
|
|
2837
3033
|
### Added
|
|
2838
3034
|
- **Checkpointed agent workflows.** Added `ur workflow` for declaring,
|
|
2839
3035
|
validating, graphing, planning, resuming, and dry-running multi-step agent
|
|
@@ -2858,6 +3054,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2858
3054
|
|
|
2859
3055
|
## 1.13.2
|
|
2860
3056
|
|
|
3057
|
+
|
|
2861
3058
|
### Added
|
|
2862
3059
|
- **Top-level code-index and role-mode commands.** `ur code-index` and
|
|
2863
3060
|
`ur role-mode` are now registered in the main CLI, matching the shipped
|
|
@@ -2880,6 +3077,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2880
3077
|
|
|
2881
3078
|
## 1.13.1
|
|
2882
3079
|
|
|
3080
|
+
|
|
2883
3081
|
### Added
|
|
2884
3082
|
- **AGENTS.md as runtime context.** UR now loads `AGENTS.md` (the cross-tool
|
|
2885
3083
|
standard) from project roots at runtime, alongside `UR.md` and `.ur/rules/`.
|
|
@@ -2913,6 +3111,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2913
3111
|
|
|
2914
3112
|
## 1.12.3
|
|
2915
3113
|
|
|
3114
|
+
|
|
2916
3115
|
### Added
|
|
2917
3116
|
- **Agent feature expansion commands.** Added `ur agent-features`,
|
|
2918
3117
|
`ur agent-templates`, `ur automation`, `ur agent-task`, `ur model-doctor`,
|
|
@@ -2941,6 +3140,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2941
3140
|
|
|
2942
3141
|
## 1.12.2
|
|
2943
3142
|
|
|
3143
|
+
|
|
2944
3144
|
### Changed
|
|
2945
3145
|
- **Ziggurat of Ur spinner.** Replaced the canoe spinner with the Ziggurat of
|
|
2946
3146
|
Ur catching light: an up-pyramid whose lit face sweeps across (`△ ◭ ▲ ◮`)
|
|
@@ -2952,6 +3152,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2952
3152
|
|
|
2953
3153
|
## 1.12.1
|
|
2954
3154
|
|
|
3155
|
+
|
|
2955
3156
|
### Changed
|
|
2956
3157
|
- **Mashoof spinner.** The activity spinner is now a Mashoof (مشحوف) — the
|
|
2957
3158
|
marsh canoe — bobbing on the water. It cycles boat-hull arcs (`⌣ ⏝ ‿`) into
|
|
@@ -2960,6 +3161,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2960
3161
|
|
|
2961
3162
|
## 1.12.0
|
|
2962
3163
|
|
|
3164
|
+
|
|
2963
3165
|
### Added
|
|
2964
3166
|
- **Agent trend coverage.** New `ur agent-trends` CLI command and
|
|
2965
3167
|
`/agent-trends` slash command report how UR maps to current agent trends:
|
|
@@ -2979,6 +3181,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2979
3181
|
|
|
2980
3182
|
## 1.11.3
|
|
2981
3183
|
|
|
3184
|
+
|
|
2982
3185
|
### Changed
|
|
2983
3186
|
- **Read-only web browsing.** `WebSearch` and `WebFetch` now run without
|
|
2984
3187
|
prompting by default, while still respecting explicit deny or ask rules.
|
|
@@ -2987,6 +3190,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2987
3190
|
|
|
2988
3191
|
## 1.11.2
|
|
2989
3192
|
|
|
3193
|
+
|
|
2990
3194
|
### Fixed
|
|
2991
3195
|
- **Clarification dialogs.** `AskUserQuestion` is now loaded without a
|
|
2992
3196
|
`ToolSearch` round trip and accepts common question text aliases such as
|
|
@@ -2995,6 +3199,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
2995
3199
|
|
|
2996
3200
|
## 1.11.1
|
|
2997
3201
|
|
|
3202
|
+
|
|
2998
3203
|
### Changed
|
|
2999
3204
|
- **Npm publication docs.** README installation guidance now reflects that
|
|
3000
3205
|
`ur-nexus` is published on npm, while keeping the GitHub install path for
|
|
@@ -3002,6 +3207,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
3002
3207
|
|
|
3003
3208
|
## 1.11.0
|
|
3004
3209
|
|
|
3210
|
+
|
|
3005
3211
|
### Changed
|
|
3006
3212
|
- **Ollama model selection now lets routing work by default.** The launcher no
|
|
3007
3213
|
longer forces `OLLAMA_MODEL` when neither `OLLAMA_MODEL` nor `UR_MODEL` is
|
|
@@ -3032,11 +3238,13 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
3032
3238
|
|
|
3033
3239
|
## 1.10.2
|
|
3034
3240
|
|
|
3241
|
+
|
|
3035
3242
|
### Fixed
|
|
3036
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.
|
|
3037
3244
|
|
|
3038
3245
|
## 1.10.1
|
|
3039
3246
|
|
|
3247
|
+
|
|
3040
3248
|
### Fixed
|
|
3041
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.
|
|
3042
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.
|
|
@@ -3047,6 +3255,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
3047
3255
|
|
|
3048
3256
|
## 1.10.0
|
|
3049
3257
|
|
|
3258
|
+
|
|
3050
3259
|
### Added
|
|
3051
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.
|
|
3052
3261
|
|
|
@@ -3055,6 +3264,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
3055
3264
|
|
|
3056
3265
|
## 1.9.0
|
|
3057
3266
|
|
|
3267
|
+
|
|
3058
3268
|
### Added
|
|
3059
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:
|
|
3060
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.
|
|
@@ -3071,6 +3281,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
3071
3281
|
|
|
3072
3282
|
## 1.8.0
|
|
3073
3283
|
|
|
3284
|
+
|
|
3074
3285
|
### Added
|
|
3075
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`).
|
|
3076
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.
|
|
@@ -3081,6 +3292,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
3081
3292
|
|
|
3082
3293
|
## 1.7.0
|
|
3083
3294
|
|
|
3295
|
+
|
|
3084
3296
|
### Added
|
|
3085
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`.
|
|
3086
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`.
|
|
@@ -3092,6 +3304,7 @@ Top-tier feature release — closes the gaps against 2026's leading agents.
|
|
|
3092
3304
|
|
|
3093
3305
|
## 1.6.0
|
|
3094
3306
|
|
|
3307
|
+
|
|
3095
3308
|
### Added
|
|
3096
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.
|
|
3097
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.
|