Skip to content

Commit 13dc422

Browse files
committed
release: v0.8.1
Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
1 parent 0ae213a commit 13dc422

7 files changed

Lines changed: 67 additions & 10 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,62 @@ listed under a **Changed** or **Removed** heading.
99

1010
## [Unreleased]
1111

12+
## [0.8.1] - 2026-09-08
13+
14+
A chart that was not moving stopped saying so twelve times a second, and the
15+
suite gained the check that tells it whether any of its other assertions can
16+
be trusted.
17+
18+
### Fixed
19+
20+
- **An idle chart repainted on a timer, whether or not anything had changed**
21+
(#102). `app.redraw` gated only the full clear, not the draw beneath it, so
22+
the loop bracketed and drew on every 80 ms tick for the life of the process:
23+
a DEC 2026 open/close pair on the wire about twelve and a half times a
24+
second for a picture nobody was changing. Measured at 244 repaints over a
25+
twenty-second idle wait, against 2 immediately after load; now 0.
26+
27+
It draws when something changed instead — input, the full-clear flag, or a
28+
fetch landing, which is the one model change no event announces and is
29+
detected by watching `Load::Loading` leave. The loading spinner is the
30+
exception that shapes the guard: it turns off the frame counter with no
31+
event behind it, so a fetch in flight keeps the loop painting.
32+
33+
Nothing on screen differs. The one accepted cost is that `today()` reads the
34+
clock when `--today` is absent, so a chart left open across midnight no
35+
longer corrects itself on the next tick — any key does it, and the
36+
alternative was a wakeup every 80 ms forever.
37+
38+
### Changed
39+
40+
- **The `termlens` dev-dependency moves to 0.9 → 0.10.1**, with the `regex`
41+
and `serde` features. The upgrade cost three call sites: `drag` now takes
42+
four column-first arguments instead of two coordinate pairs, so a transposed
43+
`find` result cannot be handed to it by mistake. Nothing that ships is
44+
touched.
45+
46+
- **`tests/emulation.rs` pins what the emulator drops**, which is the
47+
invariant every other test here rests on. Each of them asserts against a
48+
grid a VT emulator produced from mossaic's bytes, so a sequence that
49+
emulator does not implement makes the grid quietly wrong and every
50+
assertion in the repository a claim about a plausible-looking fiction.
51+
0.10 made it checkable, and the answer is the same in all three rendering
52+
modes — text cells, kitty and sixel: one `SGR 59`, underline colour, which
53+
changes no cell. Pinned exactly, because anything joining that list might
54+
change one.
55+
56+
- **`tests/cli.rs` drives `termlens-cli`** against mossaic's own screens —
57+
saved, rendered to SVG with every truecolour the chart chose still in it,
58+
and diffed. `#[ignore]`d, because a `cargo test` that installs a tool
59+
behind a contributor's back is a surprise this crate should not spring; CI
60+
runs it by name, as it already does for the tests needing `gh`.
61+
62+
- **The vendored termlens skill is refreshed to 0.10.1**, and
63+
`check-skill-version.sh` now fails when that copy and the dependency
64+
disagree on major.minor. Nothing can diff the copy against upstream — the
65+
published crate does not ship the skill — but the two versions agreeing is
66+
exactly the drift that happens.
67+
1268
## [0.8.0] - 2026-09-06
1369

1470
One finding, filed from the repository that consumes this one: the tracker
@@ -1114,7 +1170,8 @@ there was none.
11141170

11151171
[termlens]: https://github.com/vyncint/termlens
11161172

1117-
[Unreleased]: https://github.com/vyncint/mossaic/compare/v0.8.0...HEAD
1173+
[Unreleased]: https://github.com/vyncint/mossaic/compare/v0.8.1...HEAD
1174+
[0.8.1]: https://github.com/vyncint/mossaic/compare/v0.8.0...v0.8.1
11181175
[0.8.0]: https://github.com/vyncint/mossaic/compare/v0.7.0...v0.8.0
11191176
[0.7.0]: https://github.com/vyncint/mossaic/compare/v0.6.3...v0.7.0
11201177
[0.6.3]: https://github.com/vyncint/mossaic/compare/v0.6.2...v0.6.3

‎Cargo.lock‎

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mossaic"
3-
version = "0.8.0"
3+
version = "0.8.1"
44
edition = "2021"
55
# Minimum supported Rust version. Verified by the `msrv` CI job, which reads this
66
# field; bumping it is a minor (not patch) change.

‎action/README.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
runs-on: ubuntu-latest
1818
steps:
1919
- id: art
20-
uses: vyncint/mossaic/action@v0.8.0
20+
uses: vyncint/mossaic/action@v0.8.1
2121
with:
2222
text: VYNCINT
2323
year: "2027"
@@ -84,7 +84,7 @@ drawn. The rest are the same either way.
8484

8585
```yaml
8686
- id: art
87-
uses: vyncint/mossaic/action@v0.8.0
87+
uses: vyncint/mossaic/action@v0.8.1
8888
with:
8989
template: dragon
9090
year: "2027"
@@ -236,7 +236,7 @@ on 290 days of the year is a job nobody reads.
236236

237237
## Notes
238238

239-
- **Two knobs, two jobs.** The ref you pin (`@v0.8.0`, `@main`) chooses the
239+
- **Two knobs, two jobs.** The ref you pin (`@v0.8.1`, `@main`) chooses the
240240
*action's steps* — the glue that runs the tracker and shapes the outputs.
241241
The `version` input chooses the *tracker itself*, straight from crates.io.
242242
The default, `latest`, is fine for a daily report; pin a number when you

‎action/action.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ inputs:
118118
default: "true"
119119
version:
120120
description: >-
121-
Which mossaic release runs the tracking, e.g. "0.8.0". The default,
121+
Which mossaic release runs the tracking, e.g. "0.8.1". The default,
122122
`latest`, installs the newest release on crates.io each run — fine for
123123
tracking, since the report format is versioned with the crate. Pin a
124124
number if you want the tracker to change only when you say so.

‎action/track.example.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
runs-on: ubuntu-latest
3030
steps:
3131
- id: art
32-
uses: vyncint/mossaic/action@v0.8.0
32+
uses: vyncint/mossaic/action@v0.8.1
3333
with:
3434
text: VYNCINT
3535
year: "2027"
@@ -46,7 +46,7 @@ jobs:
4646
# the failure notification you already get does the reminding.
4747
fail-on: never
4848
# Which mossaic release does the tracking. The default, latest,
49-
# follows crates.io; pin a number ("0.8.0") to freeze it.
49+
# follows crates.io; pin a number ("0.8.1") to freeze it.
5050
# version: latest
5151

5252
# ----------------------------------------------------------------- issue

‎docs/ART.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,7 @@ arrive rather than be asked for:
552552

553553
```yaml
554554
- id: art
555-
uses: vyncint/mossaic/action@v0.8.0
555+
uses: vyncint/mossaic/action@v0.8.1
556556
with:
557557
text: VYNCINT
558558
year: "2027"

0 commit comments

Comments
 (0)