Skip to content

v2.0.2-beta

Pre-release
Pre-release

Choose a tag to compare

@HellFelix HellFelix released this 20 Mar 13:35
· 20 commits to stage since this release

Release Notes — v2.0.2-beta

Pre-release date: 2026-03-20
Built on top of v2.0.1-beta.
Status: pre-release — requires testing before promotion to v2.0.2.

Overview

v2.0.2-beta is a small patch release addressing two bugs discovered during testing of v2.0.1-beta — one a correctness issue in concurrent vote initialisation, the other a mobile layout regression. It also adds a contributor guide, an end-to-end load test, and minor housekeeping.

  • Fixed concurrency race condition in start-vote that could corrupt round keypairs
  • Fixed mobile navbar tabs pushing the theme toggle button off-screen
  • Fixed feature pills on the landing page overlapping the scroll cue
  • Added CONTRIBUTE.md contribution guide
  • Added end-to-end load test in the frontend
  • Removed TODO.md in favour of GitHub issues
  • Minor cleanup in start_vote.rs

Changes

Concurrency race condition in start-vote

Concurrent POST /api/host/start-vote requests could race to initialise the BLS12-381 keypair for a voting round. Because the keypair generation was not mutually exclusive, two callers could produce different RoundState values — leaving trustauth and the server with inconsistent keys and causing all vote proofs submitted in that round to fail verification.

A forced exclusive lock is now held for the duration of start-vote, serialising any concurrent calls so that exactly one keypair is generated per round.


Mobile layout issues on navbar and landing page

Two layout problems were present on portrait mobile viewports:

Element Problem Fix
Navbar tabs Pushed the theme toggle button off-screen to the right Hidden below the sm breakpoint (640 px)
Landing page scroll cue Obscured by the feature pills above it Hidden below the sm breakpoint (640 px)

Both elements are decorative at small screen sizes and are hidden rather than reflowed, keeping the mobile layout clean without restructuring the page.


CONTRIBUTE.md

A contribution guide has been added to the repository root. It covers the branching model, versioning rules, and release note format expected for all contributors.


End-to-end load test

A load test has been added to the frontend test suite. It exercises the full voting flow under concurrent load, and is intended to catch concurrency regressions (such as the start-vote race above) before they reach production.


Removed TODO.md

TODO.md has been removed. Outstanding tasks are now tracked as GitHub issues, which provides better visibility, assignability, and linkability from PRs and commits.


Minor cleanup in start_vote.rs

An unnecessary intermediate variable was removed and formatting was improved in rustsystem-server/src/api/host/start_vote.rs. No behaviour change.