@unotest/viewer 0.26.1 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,72 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.27.0] - 2026-08-31
4
+
5
+ ### Minor Changes
6
+
7
+ - The server boots quietly: Nest's per-module / per-route boot log is
8
+ gone from normal runs — the launcher's one useful line is the URL.
9
+ `UNOTEST_DEBUG` brings the full boot map back.
10
+
11
+ - The LOCAL schedule registry now shows the EFFECTIVE merged set too:
12
+ both store flavours read through one `EffectiveSchedulesReader`
13
+ (`schedules --json` across a process boundary), so config-declared
14
+ entries appear locally, stamped `source: "config"` and opened as a
15
+ read-only card ("declared in `unotest.config` — edit it there");
16
+ yaml entries stay editable. A PUT carries only the file half and
17
+ answers with the re-merged whole (`SchedulesView` for both verbs);
18
+ the envelope gains `driftedFromPush` — on a box, true when the set
19
+ read there hashes differently from the fingerprint recorded at push,
20
+ shown as a warning line in Home schedule mode. The local schedule
21
+ mode gets its own caption: "declared here — a box runs what you
22
+ push". Runners without a schedules command fall back to the yaml
23
+ half, unchanged.
24
+
25
+ - The schedule registry on a deployed tree (a box environment) is now
26
+ the EFFECTIVE merged set, read-only. `GET /api/schedules` returns
27
+ `{ schedules, readOnly }`; on a box the entries come from the
28
+ project's own CLI (`schedules --json` via the runner adapter's new
29
+ `schedulesArgs()`), so config-declared schedules are no longer
30
+ invisible in the UI. The Schedule popup becomes a read-only card with
31
+ a provenance note ("declared in the repo — edit there and push"), the
32
+ Home schedule mode shows a matching badge, and `PUT /api/schedules`
33
+ is refused with 403: on a box that write used to land in a disposable
34
+ bundle copy nothing ever re-read. Local viewers are unchanged —
35
+ editing the file is still the workflow there.
36
+
37
+ - c843d21: Schedules from the viewer — for collections and single tests.
38
+
39
+ Right-click a test or a collection in the viewer → **Schedule…**: a
40
+ human schedule builder (frequency select — every 5/15 min, hourly,
41
+ every 2/4/6/12 h, daily, weekly — plus toggle badges for minutes,
42
+ hours and weekdays; multi-select, so `04` + `16` × `00` + `30` runs
43
+ four times a day). Saved to `unotest/schedules.yaml`, versioned next
44
+ to the tests; a box applies it after commit & sync. The Home screen
45
+ gains a `last run | schedule` toggle: in schedule mode tiles are
46
+ tinted by how often a test runs (grey = not scheduled), with an
47
+ upcoming list and per-tile next-run times in your browser's clock.
48
+
49
+ Under the hood:
50
+
51
+ - `unotest/schedules.yaml` is a new schedule registry; `unotest-web
52
+ schedules [--json]` prints it merged with the config's `schedules`
53
+ (the file wins on a duplicate target), so boxes pick both up
54
+ unchanged.
55
+ - A schedule entry may now target a single test: `scenario:
56
+ <ref>` instead of `collection: <name>`.
57
+ - `unotest-web e2e <name> --scheduled[=index]` runs a test the way its
58
+ entry says (env + prepare, exit 94 when prepare fails) — the
59
+ per-test mirror of `collection --scheduled`.
60
+ - Viewer server: `GET/PUT /api/schedules` (validated by the same
61
+ parser the CLI reads the file with).
62
+
63
+ ### Patch Changes
64
+
65
+ - Updated dependencies [c843d21]
66
+ - @unotest/protocol@0.27.0
67
+ - @unotest/core@0.27.0
68
+ - @unotest/dsl@0.27.0
69
+
3
70
  ## [0.26.1] - 2026-08-30
4
71
 
5
72
  ### Patch Changes