Skip to content

v0.10.2 - #240

Merged
Brooooooklyn merged 1 commit into
mainfrom
release/v0.10.2
Jul 1, 2026
Merged

Brooooooklyn merged 1 commit into
mainfrom
release/v0.10.2

Conversation

@Brooooooklyn

@Brooooooklyn Brooooooklyn commented Jul 1, 2026 •

Copy link
Copy Markdown
Member

Release bump for v0.10.2.

Verification run locally:

  • vp run build:all
  • vp run check
  • vp check
  • vp test run (210 files passed, 2 skipped; 3023 tests passed, 8 skipped)

Notes:

  • v0.10.2 is the next patch after the published v0.10.1.
  • No v0.10.2 tag has been pushed yet. After this PR is merged, create/sign/push v0.10.2 on the resulting main commit to trigger .github/workflows/publish.yml.

Note

Low Risk
Version-only changes in package manifests; no application logic or security-sensitive code is modified.

Overview
Patch release prep: bumps the published version field from 0.10.1 to 0.10.2 across seven packages: void, create-void, @void/md, @void/react, @void/vue, @void/svelte, and @void/solid.

There are no runtime, API, or dependency changes in this diff—only metadata so npm publishes align on v0.10.2 after merge and tagging (per the PR notes, v0.10.2 tag triggers publish).

Reviewed by Cursor Bugbot for commit a104435. Bugbot is set up for automated code reviews on this repo. Configure here.

@Brooooooklyn
Brooooooklyn merged commit 475ae96 into main Jul 1, 2026
7 checks passed
@Brooooooklyn
Brooooooklyn deleted the release/v0.10.2 branch July 1, 2026 09:28
cpojer pushed a commit that referenced this pull request Sep 11, 2026
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
cpojer pushed a commit that referenced this pull request Sep 11, 2026
… 5xx (#239)

* fix(alerts): stamp the error window in 5xx alert emails; surface edge 5xx

ErrorAlertMonitor accumulated 5xx counts silently through its 24h cooldown and
could later fire with a days-old total labelled "recently". The email now
carries the concrete UTC window (firstErrorAt..lastErrorAt) plus a
`void project logs --level error --range <R>` hint sized to that window. Count
and window survive the cooldown (kept, then stamped); window fields backfill to
null on legacy DO state.

`--level error` log queries now also match a 5xx status (blob6 LIKE '5%'), so a
returned 500 with no throw/log is findable (paired with the CLI-side filter in
#281).

Adds `GET /projects/:id/requests` over the edge request-metering dataset
(void_requests) to surface 5xx that never reach a worker — edge-generated
errors and static/SPA requests — with an optional status-class/exact-code
filter.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011iZtc3xSUBc3NqapBXuYCH

* fix(alerts): point the alert email at request-level data; harden query params

Addresses review feedback on #239:

- The email hinted only at `void project logs --level error`, which by
  construction cannot show edge-generated or static/SPA 5xx: those never invoke
  a worker, so they produce no tail rows — yet they are counted by this very
  alert. It now leads with `void project requests --status 5xx` and keeps the
  logs command for worker logs and exceptions.
- `suggestRange` measured only the error window, so a send that retried for
  hours emitted a range excluding the errors it was reporting. It is now
  anchored at send time.
- `/requests` keys on `blob1`, matching the requests-dataset convention used by
  the billing and top-traffic queries (meta/lessons.md).
- `limit` is validated as a positive integer on both `/requests` and `/logs`; a
  negative previously reached the SQL `LIMIT` and surfaced an Analytics Engine
  rejection as a misleading 502. Exact `status` codes are bounded to 100-599.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011iZtc3xSUBc3NqapBXuYCH

* chore(fmt): reformat 0051-websockets.md for the oxfmt in vite-plus 0.2.6

The vite-plus 0.2.6 bump (#240) ships an oxfmt that wraps this doc's TS union
differently, which turned `lint-and-check` red on main and on every branch
rebased onto it. Purely mechanical — one code-fence line, no content change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011iZtc3xSUBc3NqapBXuYCH

* fix(alerts): stamp the 5xx window from edge enqueue times

Cloudflare stamps every queue message with its enqueue time — which is
when dispatch metered the response at the edge — and processUsageEventBatch
was dropping it on the floor at the `.body` map. The ErrorAlertMonitor then
stamped `Date.now()` at ingest, so a backlogged or retried batch reported a
window around drain time, and sized the emailed `--range` so it excluded the
very rows the command points at.

Carry per-project min/max enqueue times through `/record` instead. `firstAt`
and `lastAt` are optional with a Date.now() fallback, so in-flight calls keep
working; no dispatch-side change, so the api-before-dispatch deploy order is
not a factor. The timestamp read is instanceof-guarded because this is also
the billing path.

Legacy DO state (count > 0 written before the window fields existed) keeps a
null window on purpose: those errors have no known time, so the email falls
back to "recently" rather than claiming a window that excludes them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016ZzGBP6hyUQNVNZXfd3h5M

* chore(deps): point framework submodule at merged void#281

#281 squash-merged as 870b8c1, adding `void project
requests` and folding 5xx into `--level error` on the CLI side of this
change. The branch commit the submodule was pinned to (99dbe39) becomes
unreachable once the PR branch is deleted, which would break
`git submodule update --init` in CI.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016ZzGBP6hyUQNVNZXfd3h5M

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant