Skip to content

Commit cf114d8

Browse files
ndemiancclaude
andcommitted
docs: RELEASE-NOTES.md for v1.0.2 (UI polish — picker, plan card, footer)
v1.0.2 (tag b9c1289) contains #46 (name-only model picker) + #47 (finished-plan auto-collapse + dismiss, slimmer footer). The third PR in the range, #48, is just the v1.0.1 notes doc — not user-facing — so it isn't mentioned. Builds cleanly on the v1.0.1 notes already committed to develop. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent b9c1289 commit cf114d8

1 file changed

Lines changed: 13 additions & 22 deletions

File tree

RELEASE-NOTES.md

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,29 @@
1-
# LevelCode v1.0.1
1+
# LevelCode v1.0.2
22

3-
A reliability patch. A transient upstream hiccup now **retries and recovers** instead of killing your run, and when something does fail you get an **honest, readable** message rather than a wall of proxy HTML mislabeled "OpenAI".
3+
A UI-polish release. The model picker is **name-forward** instead of a wall of detail, a finished plan **folds away** on its own, and the footer shed a redundant chip.
44

55
## Highlights
66

7-
### Runs survive a transient upstream blip
7+
### A cleaner model picker
88

9-
When the model gateway briefly can't reach a healthy backend it returns a **502 / 503 / 504** — a momentary hiccup that used to end the whole run. LevelCode now **retries once, before anything has streamed**, so the common case (the backend is fine a second later) just recovers and your turn carries on. You'll see a brief `upstream busyretrying…` instead of a dead run.
9+
Picking a model used to mean reading three technical fields per row — the raw id (`anthropic/claude-opus-5`), the context size, and a `6.67× credits · 1000K ctx · ≈103 turns left` second line. Handy for debugging, noise for choosing. Each model is now a single, **name-forward** line: just the name, an active check, and a lock on "coming soon" modelsthe way Cursor and Claude Code present them.
1010

11-
It's deliberate about *when* it retries: only a **502, 503, or 504**, and only before any output has appeared — so a retry can never duplicate text or double-charge. It does **not** retry a rate-limit (429), a 500, any other 4xx, or an aborted request, and a 401 still refreshes your session as before. Hitting **Stop** during the wait stays instant.
11+
Your plan and remaining credits still sit in the picker's header, so the number that matters isn't lost; only the per-row debug detail is gone. Type to filter by model name.
1212

13-
### Honest error messages
13+
### A finished plan cleans up after itself
1414

15-
A gateway failure used to land in the chat verbatim, like this:
15+
When the agent works from a checklist, a completed plan used to sit fully expanded in the sticky bar — a large part of the panel — long after the run had ended. Now, matching how Claude Code and Cursor handle a finished plan:
1616

17-
```
18-
OpenAI API 502: <html><head><title>502 Bad Gateway</title></head><body>…
19-
```
17+
- **It auto-collapses** to its green header the moment every item is done: still there, still one click to expand, just no longer hogging the view.
18+
- **A dismiss (×)** closes it outright — and also clears a plan left **stranded by a run that was stopped or errored**. It's keyboard-operable (Tab to it, Enter / Space to close), like the other status-bar controls.
2019

21-
Two things were wrong: it was labelled **OpenAI** even for an Anthropic model on your LevelCode Cloud plan, and it pasted the raw nginx error page into the transcript. The same failure now reads:
20+
### A slimmer footer
2221

23-
```
24-
LevelCode Cloud API 502: Bad Gateway
25-
```
26-
27-
The route is named correctly — LevelCode Cloud, OpenRouter, or whichever provider actually handled it — and the body is parsed for a real message. An HTML proxy page carries none, so it falls back to the plain status reason instead of being dumped in.
28-
29-
## Under the hood
30-
31-
- The repository's `LICENSE` is now recognised as **MIT** by GitHub. The MIT text is kept verbatim so the detector matches it, the Code-OSS provenance + trademark notice moved to a dedicated `NOTICE` file, and the in-app license link points at a branch that exists (`HEAD`) rather than a `main` that never did (it had been a 404).
22+
Dropped the redundant home-icon **"LevelCode Cloud"** chip from the status bar. The mode-and-plan chip on the right (`Gateway · Pro+`, `BYO key`, `Direct · no key`) already tells you where your requests go.
3223

3324
## Test coverage
3425

3526
- **24 suites** across the bundled extensions, all green on every release.
36-
- `providers.test.js` grew to **28 cases**: the error sanitiser (a real nginx 502 page collapses to `Bad Gateway`, a JSON `{error:{message}}` is preserved, the label names the route — not the adapter) and the retry (recovers on a 502-then-200, gives up cleanly after one try, never retries a 4xx or an abort). The retry is also exercised end-to-end against a stubbed stream, so the whole router → adapter path is covered, not just the helper.
27+
- These are webview / picker UI changes, so they're verified by parsing the shipped `chat.html` — every script block, plus the `webviewCss` and `creditFormat` suites that read it — rather than by snapshot.
3728

38-
**Full changelog:** https://github.com/levelcodeai/levelcode/compare/v1.0.0...v1.0.1
29+
**Full changelog:** https://github.com/levelcodeai/levelcode/compare/v1.0.1...v1.0.2

0 commit comments

Comments
 (0)