Repository navigation
Releases
QuizRadar v5.15.1 — Academic Radar & Exam Calendar
[5.15.1] — 2026-11-14
QuizRadar is a local-first, zero-server academic radar and calendar for university students.
It automatically detects quizzes, exams, and homework deadlines from university sources
(Gmail, Microsoft Teams, Moodle, and Google Classroom) and cross-references them against
your weekly timetable without requiring any central backend server or cloud relay.
Changes since v5.15.0:
🤝 Highlights
- [core, desktop, android, web] Fix post-sign-in OAuth connection state, profile hydration, and toast visibility across Android, core FFI, and Desktop. On Android, SettingsScreen, AppScaffold, SetupChecklistCard, and DashboardScreen subscribe reactively to StateFlow connection flags instead of non-reactive point-in-time reads; OAuthManager.handleRedirect persists expires_in and hydrates signed-in Google/Microsoft profile metadata; EncryptedTokenStore commits refresh tokens synchronously; QuizRadarViewModel.refreshState reloads profile and OAuth client ID state; and OnboardingWizardScreen and SettingsScreen mount SnackbarHost so OAuth feedback displays in place. Core FFI exchange_oauth_code formats provider errors via explain_oauth_error (with FFI OAuth, planner, and NativeStore unit tests lifting core coverage above the ratchet floor), and Desktop loopback listeners ignore empty preconnects and non-OAuth GET probes and hydrate Google userinfo on the fallback retry branch.
🐛 Fixes & Hardening
c452dcbfix(oauth): persist and reactively display post-signin connection state
🔒 Privacy, Secrets & Honesty Doctrine
- 100% Local Processing: Tokens, cached announcements, grades, and custom events stay strictly on the device.
- Zero Backend Server: Direct HTTPS requests via PKCE OAuth to Google and Microsoft APIs; no relay, no tracking.
- Honesty First: Missing rooms display as
"—"rather than invented hall numbers. Undated announcements stay in drafts. - BYOK Gemini Option: AI features use the user's Google AI Studio key via
x-goog-api-keyheader with explicit consent.
📦 Available Artifacts & Downloads
- 🪟 Desktop (Windows):
QuizRadar_5.15.1_x64-setup.exe(NSIS setup) &QuizRadar-Portable-win-x64.zip - 📱 Mobile (Android):
QuizRadar-v5.15.1.apk(Signed release APK with Glance 2x1 widget & notifications) - 🌐 Web PWA Companion: Hosted on GitHub Pages at https://thedragonsoft.github.io/QuizRadar/
- 🔐 Checksums & Signatures: Verified against
SHA256SUMS.txtand updaterlatest.json
👨💻 Maintainer Notes
- Release built automatically from tag
v5.15.1via GitHub Actions. - Desktop updates verified with minisign public key configured in
tauri.conf.json. - Android release signed with release keystore and verified with
apksigner.
QuizRadar v5.15.0 — Academic Radar & Exam Calendar
[5.15.0] — 2026-11-14
QuizRadar is a local-first, zero-server academic radar and calendar for university students.
It automatically detects quizzes, exams, and homework deadlines from university sources
(Gmail, Microsoft Teams, Moodle, and Google Classroom) and cross-references them against
your weekly timetable without requiring any central backend server or cloud relay.
Changes since v5.14.0:
🤝 Highlights
- [web, android, tooling, docs] Remediate cross-platform UX audit findings across Android Compose and Web, add dynamic empty-day calendar column filtering on both platforms, tune dynamic Android period grid lines, redesign Focus timer and Web TimelineHorizon cards, and add AuditRenderHarness plus Web component/capture test coverage.
🚀 New Features
9367853feat(ui): remediate UX audit findings and add dynamic empty-day calendar layout
🔒 Privacy, Secrets & Honesty Doctrine
- 100% Local Processing: Tokens, cached announcements, grades, and custom events stay strictly on the device.
- Zero Backend Server: Direct HTTPS requests via PKCE OAuth to Google and Microsoft APIs; no relay, no tracking.
- Honesty First: Missing rooms display as
"—"rather than invented hall numbers. Undated announcements stay in drafts. - BYOK Gemini Option: AI features use the user's Google AI Studio key via
x-goog-api-keyheader with explicit consent.
📦 Available Artifacts & Downloads
- 🪟 Desktop (Windows):
QuizRadar_5.15.0_x64-setup.exe(NSIS setup) &QuizRadar-Portable-win-x64.zip - 📱 Mobile (Android):
QuizRadar-v5.15.0.apk(Signed release APK with Glance 2x1 widget & notifications) - 🌐 Web PWA Companion: Hosted on GitHub Pages at https://thedragonsoft.github.io/QuizRadar/
- 🔐 Checksums & Signatures: Verified against
SHA256SUMS.txtand updaterlatest.json
👨💻 Maintainer Notes
- Release built automatically from tag
v5.15.0via GitHub Actions. - Desktop updates verified with minisign public key configured in
tauri.conf.json. - Android release signed with release keystore and verified with
apksigner.
QuizRadar v5.14.0 — Academic Radar & Exam Calendar
[5.14.0] — 2026-11-14
QuizRadar is a local-first, zero-server academic radar and calendar for university students.
It automatically detects quizzes, exams, and homework deadlines from university sources
(Gmail, Microsoft Teams, Moodle, and Google Classroom) and cross-references them against
your weekly timetable without requiring any central backend server or cloud relay.
Changes since v5.13.0:
🤝 Highlights
- [web, android, tooling] Workbench polish + the before/after UI-change workflow. (1) tooling/capture-workbench.mjs: committed capture tool (was a throwaway) - discovers every story from Ladle's generated module, captures desktop + full theme matrix on the views + 390x844 phone pass, writes /manifest.json; usage: node tooling/capture-workbench.mjs target/ui-before (before a UI change) and target/ui-after (after). (2) tooling/ui-compare.mjs: generates target/ui-compare/index.html pairing before/after shots side by side with synced scrolling, amber borders on shared screens, NEW/REMOVED badges. (3) AGENTS.md (web + android): the workflow is now documented so every agent produces a before/after diff for the maintainer around any UI change (android flow: copy public/android-ui to target/ui-before, re-run AndroidUiCaptureTest, compare). (4) Slug polish: Views/Study Roadmap (Tasks) and Views/Week Calendar renamed to Views/Tasks and Views/Calendar (the parenthesized titles produced ugly --- slugs). Capture verified live: 99 stories, 161 shots, 0 page errors; compare page generated 161 pairs.
🚀 New Features
4a83cc5feat(tooling): before/after UI capture and compare workflow for agents
🔒 Privacy, Secrets & Honesty Doctrine
- 100% Local Processing: Tokens, cached announcements, grades, and custom events stay strictly on the device.
- Zero Backend Server: Direct HTTPS requests via PKCE OAuth to Google and Microsoft APIs; no relay, no tracking.
- Honesty First: Missing rooms display as
"—"rather than invented hall numbers. Undated announcements stay in drafts. - BYOK Gemini Option: AI features use the user's Google AI Studio key via
x-goog-api-keyheader with explicit consent.
📦 Available Artifacts & Downloads
- 🪟 Desktop (Windows):
QuizRadar_5.14.0_x64-setup.exe(NSIS setup) &QuizRadar-Portable-win-x64.zip - 📱 Mobile (Android):
QuizRadar-v5.14.0.apk(Signed release APK with Glance 2x1 widget & notifications) - 🌐 Web PWA Companion: Hosted on GitHub Pages at https://thedragonsoft.github.io/QuizRadar/
- 🔐 Checksums & Signatures: Verified against
SHA256SUMS.txtand updaterlatest.json
👨💻 Maintainer Notes
- Release built automatically from tag
v5.14.0via GitHub Actions. - Desktop updates verified with minisign public key configured in
tauri.conf.json. - Android release signed with release keystore and verified with
apksigner.
QuizRadar v5.13.0 — Academic Radar & Exam Calendar
[5.13.0] — 2026-11-14
QuizRadar is a local-first, zero-server academic radar and calendar for university students.
It automatically detects quizzes, exams, and homework deadlines from university sources
(Gmail, Microsoft Teams, Moodle, and Google Classroom) and cross-references them against
your weekly timetable without requiring any central backend server or cloud relay.
Changes since v5.12.0:
🤝 Highlights
- [android, web] Real Android phone UI in the web workbench, rendered from code on the JVM (no emulator): AndroidUiCaptureTest renders the production Compose screens (Dashboard dark+light, Tasks, Calendar, Grades, Focus, Settings) with Robolectric native graphics over the REAL Rust-backed QuizRadarViewModel on an in-memory engine (QuizRadarEngine.createInMemory) seeded with relative dates - the same evergreen honesty contract as the web fixtures. Two Robolectric pitfalls solved and documented in the test: waitForIdle never settles under infinite animations (hero starfield) so the main clock is paused and data readiness is awaited via bounded waitUntil on visible text; compose-test captureToImage's forceRedraw handshake times out under Robolectric so the PNG is produced by drawing the window decor onto a canvas. Captures are written to apps/web/public/android-ui (gitignored, machine-local - AGENTS 3.8; CI never runs the capture test so release builds ship no PNGs) and the workbench Phone (Android app)/ section displays them in a device bezel; the web Phone section is renamed Phone (PWA web tier) so the two phone tiers are never confused.
🚀 New Features
3a96525feat(workbench): render production Compose screens on the JVM into the workbench
📚 Documentation & Parity
5fdd762docs(changes): record the Android UI capture handoff
🔒 Privacy, Secrets & Honesty Doctrine
- 100% Local Processing: Tokens, cached announcements, grades, and custom events stay strictly on the device.
- Zero Backend Server: Direct HTTPS requests via PKCE OAuth to Google and Microsoft APIs; no relay, no tracking.
- Honesty First: Missing rooms display as
"—"rather than invented hall numbers. Undated announcements stay in drafts. - BYOK Gemini Option: AI features use the user's Google AI Studio key via
x-goog-api-keyheader with explicit consent.
📦 Available Artifacts & Downloads
- 🪟 Desktop (Windows):
QuizRadar_5.13.0_x64-setup.exe(NSIS setup) &QuizRadar-Portable-win-x64.zip - 📱 Mobile (Android):
QuizRadar-v5.13.0.apk(Signed release APK with Glance 2x1 widget & notifications) - 🌐 Web PWA Companion: Hosted on GitHub Pages at https://thedragonsoft.github.io/QuizRadar/
- 🔐 Checksums & Signatures: Verified against
SHA256SUMS.txtand updaterlatest.json
👨💻 Maintainer Notes
- Release built automatically from tag
v5.13.0via GitHub Actions. - Desktop updates verified with minisign public key configured in
tauri.conf.json. - Android release signed with release keystore and verified with
apksigner.
QuizRadar v5.12.0 — Academic Radar & Exam Calendar
[5.12.0] — 2026-11-14
QuizRadar is a local-first, zero-server academic radar and calendar for university students.
It automatically detects quizzes, exams, and homework deadlines from university sources
(Gmail, Microsoft Teams, Moodle, and Google Classroom) and cross-references them against
your weekly timetable without requiring any central backend server or cloud relay.
Changes since v5.11.2:
🤝 Highlights
- [docs] Audit Android reliability, missing workflows and usability; document 15 evidence-backed findings and phased improvement roadmap without application source changes.
- [web, android, tooling] Web UI workbench final (Ladle 5): 92 stories covering every surface in every state. (1) Modal state matrix: all 13 registered modals x their meaningful states (assessment detail with-room/no-room/graded/with-warnings, onboarding fresh/populated, practice quiz ready-via-mocked-rpc/generating/error/no-assessment, pomodoro idle/running/paused/short-break, scan progress syncing/success/error, cloud sync never/last-backup, account profile signed-in/out, search palette matches/none/empty, app confirm destructive/non-destructive, create-edit assessment+event new/editing, add course populated/empty-schedule, schedule preview clean/dropped). Backend-bound states use the blessed setRpcMockHandler seam. (2) Phone section: views render inside PhoneAppShell (mirrored line-for-line from App.tsx: TopBar, self-hiding Sidebar, PullToRefresh main with px-4, MobileNav) - bare views overflow horizontally and read as desktop fragments, the shell absorbs the -mx-4 hero bleed; Phone/* stories mount them in live 390x844 iframes (real nested viewport, real breakpoints), verified 0 horizontal overflow at 390px. (3) Theme system fixed: Ladle banner button drives the story (theme-bridge.css teaches ladle.css the app's dark ids; observer only syncs Tailwind .dark, never rewrites the attribute; applyThemeToDocument must never run inside an observer - View Transitions wedge). (4) Assessment-detail stories render through the real ModalStack. (5) Per-surface AGENTS.md guides + housekeeping (audit docs committed, scratch deleted). Verified: tsc/eslint/prettier clean, pnpm -r test 472 passed, capture 118 shots 0 page errors, preflight version check.
🚀 New Features
06eef26feat(web): render phone stories inside the real app phone shell19c4a06feat(web): per-state modal matrix and live phone-frame section in the workbencha36804bfeat(web): expand workbench to all modals, chrome, cards, full theme surface and phone passes4e3462dfeat(web): add Ladle UI workbench seeded from real core fixtures
🐛 Fixes & Hardening
2c3bf08fix(web): make Ladle's theme button drive the workbench storyfddf85efix(web): render assessment-detail stories through the real ModalStack
📚 Documentation & Parity
52649c6docs(changes): record the final workbench handoff and gate results490312cdocs: record repo and android audit handoffs from the review swarmf968c8edocs(agents): add per-surface AGENTS.md guides for web, desktop and android
🔒 Privacy, Secrets & Honesty Doctrine
- 100% Local Processing: Tokens, cached announcements, grades, and custom events stay strictly on the device.
- Zero Backend Server: Direct HTTPS requests via PKCE OAuth to Google and Microsoft APIs; no relay, no tracking.
- Honesty First: Missing rooms display as
"—"rather than invented hall numbers. Undated announcements stay in drafts. - BYOK Gemini Option: AI features use the user's Google AI Studio key via
x-goog-api-keyheader with explicit consent.
📦 Available Artifacts & Downloads
- 🪟 Desktop (Windows):
QuizRadar_5.12.0_x64-setup.exe(NSIS setup) &QuizRadar-Portable-win-x64.zip - 📱 Mobile (Android):
QuizRadar-v5.12.0.apk(Signed release APK with Glance 2x1 widget & notifications) - 🌐 Web PWA Companion: Hosted on GitHub Pages at https://thedragonsoft.github.io/QuizRadar/
- 🔐 Checksums & Signatures: Verified against
SHA256SUMS.txtand updaterlatest.json
👨💻 Maintainer Notes
- Release built automatically from tag
v5.12.0via GitHub Actions. - Desktop updates verified with minisign public key configured in
tauri.conf.json. - Android release signed with release keystore and verified with
apksigner.
QuizRadar v5.11.2 — Academic Radar & Exam Calendar
[5.11.2] — 2026-11-13
QuizRadar is a local-first, zero-server academic radar and calendar for university students.
It automatically detects quizzes, exams, and homework deadlines from university sources
(Gmail, Microsoft Teams, Moodle, and Google Classroom) and cross-references them against
your weekly timetable without requiring any central backend server or cloud relay.
Changes since v5.11.1:
🤝 Highlights
- [core] Gmail scan no longer discards search-phase notes: a second shadowing notes declaration silently dropped per-query truncation warnings and the partial-query-failure warning; the partial-failure note now names every failed query with its error instead of only the first. Email cache ordering and CACHED_REFRESH_LIMIT selection no longer treat Gmail ids as a chronological contract (per-query newest-first concatenation is not globally newest-first); both rank by internalDate with id as deterministic tiebreak. Four regression tests added; GmailRunStats fields unchanged so no UniFFI/WASM contract regen.
🐛 Fixes & Hardening
9050a21fix(core): preserve gmail search warnings and order email cache by internal date
🔒 Privacy, Secrets & Honesty Doctrine
- 100% Local Processing: Tokens, cached announcements, grades, and custom events stay strictly on the device.
- Zero Backend Server: Direct HTTPS requests via PKCE OAuth to Google and Microsoft APIs; no relay, no tracking.
- Honesty First: Missing rooms display as
"—"rather than invented hall numbers. Undated announcements stay in drafts. - BYOK Gemini Option: AI features use the user's Google AI Studio key via
x-goog-api-keyheader with explicit consent.
📦 Available Artifacts & Downloads
- 🪟 Desktop (Windows):
QuizRadar_5.11.2_x64-setup.exe(NSIS setup) &QuizRadar-Portable-win-x64.zip - 📱 Mobile (Android):
QuizRadar-v5.11.2.apk(Signed release APK with Glance 2x1 widget & notifications) - 🌐 Web PWA Companion: Hosted on GitHub Pages at https://thedragonsoft.github.io/QuizRadar/
- 🔐 Checksums & Signatures: Verified against
SHA256SUMS.txtand updaterlatest.json
👨💻 Maintainer Notes
- Release built automatically from tag
v5.11.2via GitHub Actions. - Desktop updates verified with minisign public key configured in
tauri.conf.json. - Android release signed with release keystore and verified with
apksigner.
QuizRadar v5.10.0 — Academic Radar & Exam Calendar
[5.10.0] — 2026-11-10
QuizRadar is a local-first, zero-server academic radar and calendar for university students.
It automatically detects quizzes, exams, and homework deadlines from university sources
(Gmail, Microsoft Teams, Moodle, and Google Classroom) and cross-references them against
your weekly timetable without requiring any central backend server or cloud relay.
Changes since v5.9.0:
🤝 Highlights
- [android] fix(android): resolve Google OAuth 400 invalid_request error by using RFC 3986 package-path custom scheme (com.quizradar.app:/oauth/google)
🐛 Fixes & Hardening
e7f1cc3fix(android): resolve Google OAuth 400 invalid_request error with single-slash package scheme
🔒 Privacy, Secrets & Honesty Doctrine
- 100% Local Processing: Tokens, cached announcements, grades, and custom events stay strictly on the device.
- Zero Backend Server: Direct HTTPS requests via PKCE OAuth to Google and Microsoft APIs; no relay, no tracking.
- Honesty First: Missing rooms display as
"—"rather than invented hall numbers. Undated announcements stay in drafts. - BYOK Gemini Option: AI features use the user's Google AI Studio key via
x-goog-api-keyheader with explicit consent.
📦 Available Artifacts & Downloads
- 🪟 Desktop (Windows):
QuizRadar_5.10.0_x64-setup.exe(NSIS setup) &QuizRadar-Portable-win-x64.zip - 📱 Mobile (Android):
QuizRadar-v5.10.0.apk(Signed release APK with Glance 2x1 widget & notifications) - 🌐 Web PWA Companion: Hosted on GitHub Pages at https://thedragonsoft.github.io/QuizRadar/
- 🔐 Checksums & Signatures: Verified against
SHA256SUMS.txtand updaterlatest.json
👨💻 Maintainer Notes
- Release built automatically from tag
v5.10.0via GitHub Actions. - Desktop updates verified with minisign public key configured in
tauri.conf.json. - Android release signed with release keystore and verified with
apksigner.
QuizRadar v5.9.0 — Academic Radar & Exam Calendar
[5.9.0] — 2026-11-10
QuizRadar is a local-first, zero-server academic radar and calendar for university students.
It automatically detects quizzes, exams, and homework deadlines from university sources
(Gmail, Microsoft Teams, Moodle, and Google Classroom) and cross-references them against
your weekly timetable without requiring any central backend server or cloud relay.
Changes since v5.6.0:
🤝 Highlights
- [docs] Prune the stale multi-agent fleet: verified all 7 non-active worktrees are clean and content-merged (safety-net-ci 4a7b856, privacy-parity fdaa40c, backlog-trio d927202, sync-criticals 7ed0a63, improvement-plan-v5 e72354e, two detached e72354e scratch trees), removed them (dangling dirs force-deleted after registration), pruned, gc'd (62.18 MiB loose -> 46.22 MiB packed) and cleared the .git garbage-ref warning. Active fleet is now exactly 2 trees: main (here) and design/landing-student-clarity (peer in progress).
- [web, docs] Purge verified binary screenshot duplicates, disposable debug artifacts, and archive stale audit roadmaps:
- Removed duplicate screenshot directory
apps/web/docs/screenshots/(18 files mirror, now writing directly todocs/screenshots/without drift). - Purged 11 ephemeral debug/verify screenshots from
docs/screenshots/(debug-*.png,test-screen.png,verify-*.png). - Fixed hardcoded ephemeral agent brain directory in
apps/web/e2e/capture-showcase.spec.tsand updatedcapture-non-ai-suite.spec.tsto write directly todocs/screenshots/. - Archived completed audit documents
CORE-AUDIT-PLAN.md,UI-UX-AUDIT-AND-REDESIGN-PLAN.md, andwebsite-improvement-review.mdintodocs/archive/with explicit historical status banners. - [ci, tooling] Automate GitHub Releases on version changes: wire version-bump.yml to automatically tag and invoke release.yml reusable pipeline whenever SemVer bumps occur or untagged versions exist on main, add workflow_call support and ref checkout to release.yml, and add --tag flag to version-rollup.mjs
- [docs] Polish README.md with live website links, web companion launch URL, download center links, refreshed screenshots from the UI redesign, and updated feature showcase
- [tooling, web, ci] Move the meta-tests (agentCoordination.test.ts, versionPipeline.test.ts) out of apps/web/src into tooling/tests with a dedicated node-env vitest config wired as root pnpm test:tooling plus a CI web-job step; versionPipeline no longer imports the web app and asserts the generated version.ts file directly. Fixes the recurring 70s vitest-worker timeout that failed every full pnpm test run; web suite drops to ~34s. No behavior or application code changed.
- [web] De-monolithize �pps/web/src/views/DashboardView.tsx (reduced from 1,503 lines to 472 lines):
- Created �pps/web/src/views/dashboard/ directory with dedicated modular components:
- ormatters.ts: Date, schedule string, and emoji-stripping helpers (ormatShortDate, ormatCompactCardSchedule, stripRoomPrefix, stripLeadingEmoji, weekRangeLabels)
- NextUpHero.tsx: Dynamic parallax sky banner with day/night stars and solar glow animations (NextUpHero, NextUpHeroStars)
- StudyRecommendationCard.tsx: Interactive topic readiness card with collapsible checklist and inline Pomodoro / practice launcher
- TimelineRow.tsx: Timeline list item with assessment badges, grading chips, and rules display (TimelineRow, SourceIcon)
- DashboardEmptyStates.tsx: First-run, search empty, and all-clear states
- RemoteAnnouncementBanner.tsx: Remote announcement banner component wired to feature flags
- index.ts: Barrel exports
- Updated �pps/web/src/audit/antipatterns.test.ts allow-list to track coursePalette references in the new modular files.
- Preserved backward compatibility for TasksView.tsx by re-exporting TimelineRow and TimelineRowProps.
- [web] De-monolithize �pps/web/src/views/SettingsView.tsx (reduced from 1,738 lines to 151 lines):
- Created �pps/web/src/views/settings/ directory with dedicated modules:
- constants.ts: Shared section ID map (�ccount, courses, integrations)
- SettingsAccountSection.tsx: Profile banner, theme suite (Solar, Obsidian, AMOLED variants), academic rhythm preset selector, OAuth hub cards (Google, Microsoft), and BYOK Gemini configuration
- SettingsCoursesSection.tsx: Timetable vision import and course enrollment management grid
- SettingsIntegrationsSection.tsx: Google Calendar sync, University sources (Teams, Classroom), LMS setup guides (Moodle, Canvas, Blackboard), external ICS feeds, JSON backup/restore/reset, anonymous telemetry toggle, software updates, and custom OAuth override settings
- index.ts: Clean barrel exports
- Refactored SettingsView.tsx into a lightweight, readable coordinator shell managing layout and section anchor-scrolling.
- [web] De-monolithize �pps/web/src/state/store.ts:
- Extracted calendar-date arithmetic and OAuth error classification into �pps/web/src/state/dateUtils.ts (�ddDaysToIsoDate, getWeekStart, isClientIdSetupError).
- Extracted local-storage persistence and theme transitions into �pps/web/src/state/storage.ts (THEME_STORAGE_KEY, SIDEBAR_STORAGE_KEY, GRADING_SCALE_STORAGE_KEY, FLASHCARDS_STORAGE_KEY, QUIZ_HISTORY_STORAGE_KEY, MISTAKES_STORAGE_KEY, storage helpers, �pplyThemeToDocument, isDarkTheme).
- Extracted initial state payload into �pps/web/src/state/initialState.ts (initialFullState).
- Re-exported all extracted utilities and constants from �pps/web/src/state/store.ts for backward compatibility across all consumers.
- [core, desktop, web, android] Resolved Phase 1 backlog trio: wired Android deriveStudyTasks academic track passthrough, built manual standalone assessment creation/edit modal UI across desktop/web, and eliminated first-boot SWR cache flicker for legacy positional keys.
- [core, desktop, web] Implement DB encryption key management and non-destructive migration, prune/rotate Gemini AI cache per semester, add desktop system tray countdown and notification window, and demote Moodle REST tokens in favor of iCal.
- [core, web, ci] Phase 3 Safety Net & CI: SQLite and IndexedDB dual-store migration parity lock contract test and headless Android emulator CI workflow
🚀 New Features
c778f5cfeat(ci): automate github releases on new version changesa6ef6f5feat(desktop): system tray countdown and notification window341f022feat(web): prioritize moodle ical over rest tokens in settingsd927202feat: backlog trio - android track passthrough, manual assessment UI, swr cache flicker fixf5e1f70feat(core): prune and rotate gemini ai cache per semester8de8e54feat(core): scaffold db encryption key management and non-destructive migration281a9f4feat(landing): device notch, highlight swipe, and faq help card polish
🐛 Fixes & Hardening
5444586fix(tooling): move meta-tests out of web suite into isolated vitest lane25c44fdfix(contract): refresh repo.rs source hash after rustfmta36454afix(contract): regenerate wire map after backlog trio merge
📚 Documentation & Parity
0c26b93docs(readme): polish with live links, refreshed screenshots, and feature guidefdaa40cdocs: record privacy parity change fragment for multi-agent coordination4a7b856docs(changes): add safety-net-ci handoff note
🔒 Privacy, Secrets & Honesty Doctrine
- 100% Local Processing: Tokens, cached announcements, grades, and custom events stay strictly on the device.
- Zero Backend Server: Direct HTTPS requests via PKCE OAuth to Google and Microsoft APIs; no relay, no tracking.
- Honesty First: Missing rooms display as
"—"rather than invented hall numbers. Undated announcements stay in drafts. - BYOK Gemini Option: AI features use the user's Google AI Studio key via
x-goog-api-keyheader with explicit consent.
📦 Available Artifacts & Downloads
- 🪟 Desktop (Windows):
QuizRadar_5.9.0_x64-setup.exe(NSIS setup) &QuizRadar-Portable-win-x64.zip - 📱 Mobile (Android):
QuizRadar-v5.9.0.apk(Signed release APK with Glance 2x1 widget & notifications) - 🌐 Web PWA Companion: Hosted on GitHub Pages at https://thedragonsoft.github.io/QuizRadar/
- 🔐 Checksums & Signatures: Verified against
SHA256SUMS.txtand updaterlatest.json
👨💻 Maintainer Notes
- Release built automatically from tag
v5.9.0via GitHub Actions. - Desktop updates verified with minisign public key configured in
tauri.conf.json. - Android release signed with release keystore and verified with
apksigner.
QuizRadar v5.0.0 — Academic Radar & Exam Calendar
[5.0.0] — 2026-11-04
QuizRadar is a local-first, zero-server academic radar and calendar for university students.
It automatically detects quizzes, exams, and homework deadlines from university sources
(Gmail, Microsoft Teams, Moodle, and Google Classroom) and cross-references them against
your weekly timetable without requiring any central backend server or cloud relay.
🔒 Privacy, Secrets & Honesty Doctrine
- 100% Local Processing: Tokens, cached announcements, grades, and custom events stay strictly on the device.
- Zero Backend Server: Direct HTTPS requests via PKCE OAuth to Google and Microsoft APIs; no relay, no tracking.
- Honesty First: Missing rooms display as
"—"rather than invented hall numbers. Undated announcements stay in drafts. - BYOK Gemini Option: AI features use the user's Google AI Studio key via
x-goog-api-keyheader with explicit consent.
📦 Available Artifacts & Downloads
- 🪟 Desktop (Windows):
QuizRadar_5.0.0_x64-setup.exe(NSIS setup) &QuizRadar-Portable-win-x64.zip - 📱 Mobile (Android):
QuizRadar-v5.0.0.apk(Signed release APK with Glance 2x1 widget & notifications) - 🌐 Web PWA Companion: Hosted on GitHub Pages at https://thedragonsoft.github.io/QuizRadar/
- 🔐 Checksums & Signatures: Verified against
SHA256SUMS.txtand updaterlatest.json
👨💻 Maintainer Notes
- Release built automatically from tag
v5.0.0via GitHub Actions. - Desktop updates verified with minisign public key configured in
tauri.conf.json. - Android release signed with release keystore and verified with
apksigner.
QuizRadar v4.3.0 — Academic Dashboard & Multi-Source Exam Calendar
🚀 QuizRadar v4.3.0
QuizRadar is a privacy-first, local-first academic dashboard, weekly calendar, and mobile app that automatically detects quizzes, midterms, lab exams, and deadlines from your university announcements (Gmail, Microsoft Teams, Moodle, and Google Classroom) and cross-references them against your weekly class schedule.
📦 Downloads
- 📱 Android Mobile App:
QuizRadar-v4.3.0-Android.apk— Complete standalone native Android application with offline autonomous engine, pull-to-refresh, dynamic date sync, and tactile haptics. - 🪟 Windows Installer (Recommended):
QuizRadar-Setup-v4.3.0-x64.exe— Standard Windows setup wizard with Start Menu & Desktop shortcuts (no administrator privileges required). - 📁 Windows Portable ZIP:
QuizRadar-Portable-v4.3.0-win-x64.zip— Extract anywhere and runquizradar.exeorstart.bat. - 🍎 macOS Disk Image (Apple Silicon):
QuizRadar-v4.3.0-macos-arm64.dmg— Drag-and-drop installer for macOS with native.appbundle. - 🍎 macOS Tarball (Apple Silicon):
QuizRadar-v4.3.0-macos-arm64.tar.gz - 🐧 Linux Debian / Ubuntu Package:
QuizRadar-v4.3.0-linux-amd64.deb— Native Debian package with desktop menu entry and app icon. - 🐧 Linux Tarball (x64):
QuizRadar-v4.3.0-linux-x64.tar.gz
🔒 100% Local Privacy
All OAuth tokens, cached announcements, and study progress stay strictly on your own hardware.
Full Changelog: v4.2.2...v4.3.0