Releases
v0.8.4
Compare
Sorry, something went wrong.
No results found
Xevion
released this
17 Sep 17:42
0.8.4 (2026-09-17)
Features
admin: Add audit log for admin actions (00d2f82 )
admin: Add retryable error panel, harden instructor query binds (dd1418b )
instructors: Detect and merge duplicate instructor records (9b5bac7 )
instructors: Let duplicate review dismiss a pair as two people (14482aa )
instructors: Link between instructor, subject and admin views (d3998e0 )
Bug Fixes
admin-rmp: Make candidate fields non-nullable, switch to query! macro (db488d9 )
bindings: Rename TimeRange to TimelineRange and guard name clashes (424421f )
e2e: Return the Page envelope from the search stub (d962742 )
instructors: Make instructor merges survive the next scrape (fec3353 )
instructors: Show real source ratings and link names from cards (93be7f8 )
rmp-matching: Close auto-link gaps around placeholder departments and re-links (966c539 )
rmp-matching: Gate auto-linking on confirmed subject evidence (6e5ca17 )
rmp: Stop review fetches from failing on RMP's own data (2263c0d )
web: Handle the navigations the router abandons (6b95872 )
web: Update the stale search fixtures (e41fb64 )
Performance Improvements
tests: Replace sqlx::test with cloned-template pools (ad760e0 )
tooling: Cut backend check and dev-reload turnaround (1e2a5c8 )
Code Refactoring
admin-scraper: Make schedule state a typed enum end to end (0af262a )
admin: Return typed errors instead of matching on messages (7e6c67f )
data: Move the data layer onto compile-time checked queries (fa918fb )
instructors: Share one card and make name order explicit (cd4b4f9 )
lints: Adopt clippy pedantic with a burn-down allow-list (92b6274 )
lints: Burn down too_many_lines with targeted expects and splits (b7c27e9 )
lints: Enable clippy nursery and collapse table tests with rstest (9eadfcb )
rmp-matching: Derive instructor match status from a view (828509f )
rmp-matching: Split the matcher into a directory module (574607e )
runtime: Rename services module to runtime (ef7bf3b )
Split the longest functions into named helpers (067986b )
types: Carry Count and DurationMs through course enrollment and scrape results (69cb3e2 )
types: Let the type system carry what convention was carrying (977f45a )
web: Fold bespoke shapes into the shared ones (3575268 )
web: Read the router from the router, not from the load payload (2117ab5 )
Continuous Integration
Catch stale sqlx metadata and TypeScript bindings (62e6ff9 )
Build System
docker: Pin CI image builds to a portable target-cpu (8e945d3 )
Pin the Rust toolchain instead of tracking a floating stable (4e77a98 )
tempo: Prepare .sqlx against a migrations-only database (9476b71 )
Miscellaneous
lint: Enable clippy pedantic across the workspace (d77c9c6 )
Tidy the repository's public surface (c890397 )
web: Drop unused @internationalized/date and overlayscrollbars-svelte (56ee1c0 )
You can’t perform that action at this time.