Skip to content

Releases

QuizRadar v5.15.1 — Academic Radar & Exam Calendar

Choose a tag to compare

@github-actions github-actions released this 14 Nov 15:41

[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

  • c452dcb fix(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-key header 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.txt and updater latest.json

👨‍💻 Maintainer Notes

  • Release built automatically from tag v5.15.1 via 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

Choose a tag to compare

@github-actions github-actions released this 14 Nov 13:16

[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

  • 9367853 feat(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-key header 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.txt and updater latest.json

👨‍💻 Maintainer Notes

  • Release built automatically from tag v5.15.0 via 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

Choose a tag to compare

@github-actions github-actions released this 14 Nov 08:11

[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

  • 4a83cc5 feat(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-key header 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.txt and updater latest.json

👨‍💻 Maintainer Notes

  • Release built automatically from tag v5.14.0 via 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

Choose a tag to compare

@github-actions github-actions released this 14 Nov 07:58

[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

  • 3a96525 feat(workbench): render production Compose screens on the JVM into the workbench

📚 Documentation & Parity

  • 5fdd762 docs(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-key header 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.txt and updater latest.json

👨‍💻 Maintainer Notes

  • Release built automatically from tag v5.13.0 via 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

Choose a tag to compare

@github-actions github-actions released this 14 Nov 07:12

[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

  • 06eef26 feat(web): render phone stories inside the real app phone shell
  • 19c4a06 feat(web): per-state modal matrix and live phone-frame section in the workbench
  • a36804b feat(web): expand workbench to all modals, chrome, cards, full theme surface and phone passes
  • 4e3462d feat(web): add Ladle UI workbench seeded from real core fixtures

🐛 Fixes & Hardening

  • 2c3bf08 fix(web): make Ladle's theme button drive the workbench story
  • fddf85e fix(web): render assessment-detail stories through the real ModalStack

📚 Documentation & Parity

  • 52649c6 docs(changes): record the final workbench handoff and gate results
  • 490312c docs: record repo and android audit handoffs from the review swarm
  • f968c8e docs(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-key header 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.txt and updater latest.json

👨‍💻 Maintainer Notes

  • Release built automatically from tag v5.12.0 via 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

Choose a tag to compare

@github-actions github-actions released this 13 Nov 16:49

[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

  • 9050a21 fix(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-key header 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.txt and updater latest.json

👨‍💻 Maintainer Notes

  • Release built automatically from tag v5.11.2 via 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

Choose a tag to compare

@github-actions github-actions released this 10 Nov 09:33

[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

  • e7f1cc3 fix(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-key header 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.txt and updater latest.json

👨‍💻 Maintainer Notes

  • Release built automatically from tag v5.10.0 via 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

Choose a tag to compare

@github-actions github-actions released this 10 Nov 07:52

[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 to docs/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.ts and updated capture-non-ai-suite.spec.ts to write directly to docs/screenshots/.
  • Archived completed audit documents CORE-AUDIT-PLAN.md, UI-UX-AUDIT-AND-REDESIGN-PLAN.md, and website-improvement-review.md into docs/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

  • c778f5c feat(ci): automate github releases on new version changes
  • a6ef6f5 feat(desktop): system tray countdown and notification window
  • 341f022 feat(web): prioritize moodle ical over rest tokens in settings
  • d927202 feat: backlog trio - android track passthrough, manual assessment UI, swr cache flicker fix
  • f5e1f70 feat(core): prune and rotate gemini ai cache per semester
  • 8de8e54 feat(core): scaffold db encryption key management and non-destructive migration
  • 281a9f4 feat(landing): device notch, highlight swipe, and faq help card polish

🐛 Fixes & Hardening

  • 5444586 fix(tooling): move meta-tests out of web suite into isolated vitest lane
  • 25c44fd fix(contract): refresh repo.rs source hash after rustfmt
  • a36454a fix(contract): regenerate wire map after backlog trio merge

📚 Documentation & Parity

  • 0c26b93 docs(readme): polish with live links, refreshed screenshots, and feature guide
  • fdaa40c docs: record privacy parity change fragment for multi-agent coordination
  • 4a7b856 docs(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-key header 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.txt and updater latest.json

👨‍💻 Maintainer Notes

  • Release built automatically from tag v5.9.0 via 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

Choose a tag to compare

@github-actions github-actions released this 04 Nov 00:16

[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-key header 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.txt and updater latest.json

👨‍💻 Maintainer Notes

  • Release built automatically from tag v5.0.0 via 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

Choose a tag to compare

@github-actions github-actions released this 21 Oct 23:49

🚀 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 run quizradar.exe or start.bat.
  • 🍎 macOS Disk Image (Apple Silicon): QuizRadar-v4.3.0-macos-arm64.dmg — Drag-and-drop installer for macOS with native .app bundle.
  • 🍎 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