v1.1.28 build 31
Visible home notification banners under dark theme
SchoolLMS 1.1.28 — Visible home notification banners
- Notification contrast: Teacher "ready to mark" and parent "learner assessment activity" banners use solid pastel cards with dark text and accent borders so they stay readable under Android dark theme.
- Feature cards: Titles and descriptions on white home cards use explicit dark ink (no more pale text on white).
v1.1.27 build 30
Marking canvas paper fix, learner parent reply, results visibility
SchoolLMS 1.1.27 — Marking canvas, parent replies, results
- Teacher marking canvas: Cream paper background + forced light theme so black learner ink and red pen marks are visible (fixes pure black canvas under dark mode).
- Learner → parent reply: Forces internet when available, mesh relay, clears parent message banner after reply (including duplicate synced message ids).
- Results for learner & parent: Flush pending answers before mark, re-resolve cloud submission id, publish mark over mesh; parent conversation pull includes learner replies; learning tab shows marked work with remarks.
v1.1.26 build 29
Offline ATP, free-access fix, parent handwritten Q&A, mesh soft-fail, Businessite subscription activate API.
SchoolLMS 1.1.26 — Offline ATP, access sync, parent Q&A, Businessite activate
- Free access: Admin free grant is no longer overwritten; learners get open access after expired→free.
- Access status: Cached on device; refreshed on app resume so server changes apply sooner.
- Teacher ATP offline: Catalog cached on disk; custom topics can be created offline; placeholder when empty.
- Parent learning tab: Handwritten questions show correctly (strokes_json); activity cached offline.
- Mesh/Bluetooth: BT permission failures no longer block WiFi LAN/internet sync.
- Businessite subscription:
POST /api/v1/subscriptions/activateafter parent payment.
v1.1.25 build 28
Fix parent QR live camera NPE; add photograph-QR fallback; ProGuard keep for ML Kit/CameraX.
SchoolLMS 1.1.25 — Parent QR camera fix (native NPE)
- Fixed live-scan crash:
Attempt to invoke virtual method … on a null object reference - Added R8/ProGuard keep rules for ML Kit + CameraX used by the scanner
- Removed aggressive camera stop/start lifecycle that raced with CameraX
- New fallback: Photograph QR code (still image decode) if live preview fails
- Manual paste of learner QR / user ID still supported
v1.1.24 build 27
Fix parent QR scanner camera not opening during registration.
SchoolLMS 1.1.24 — Parent QR camera fix
- Fixed parent registration scanner failing to open the camera
- Requests camera permission before creating the scanner
- Recovers from sticky permission-denied state and app resume
- Clearer errors and retry; manual learner ID paste still available
v1.1.23 build 26
Stable rollback: removed background-notification plugins that crashed launch.
SchoolLMS 1.1.23 — Stable rollback
Full revert of the background-notification stack that caused launch crashes in 1.1.20–1.1.22.
- Removed WorkManager, Firebase, and flutter_local_notifications from the app
- Restored simple cold-start (Isar + UI only)
- Keeps parent QR, hybrid sync, and in-app update checker
If a previous build still crashes on open, uninstall it first, then install this APK.
v1.1.22 build 25
Fix launch crash: remove unconfigured Firebase; harden WorkManager bootstrap.
SchoolLMS 1.1.22 — Launch crash fix
- Fixed cold-start crash caused by Firebase packages without google-services.json.
- Background notifications remain available via WorkManager poll (no Firebase required).
- Hardened startup so notification plugin failures cannot block app launch.
v1.1.21 build 24
Fix update-popup loop: reject stale catalog APKs; respect installed versionCode and Later snooze.
SchoolLMS 1.1.21 — Update-check fix
- Stops the looping “Update available” popup when you already installed the latest build.
- Compares against the real installed Android versionCode (not only compile-time constants).
- Rejects stale catalog APKs whose file size does not match the SchoolLMS hub release.
- Respects “Later” snooze on cold start; short snooze after opening the system installer.
v1.1.19 build 22
Stable rollback: last known non-crashing build (pre background-notification plugins).
SchoolLMS 1.1.19 — Stable rollback
Reverted to last known stable build after 1.1.20–1.1.22 launch crashes related to background notification plugins.
- No WorkManager / Firebase / local-notification cold-start path
- Parent QR, hybrid sync, and auto-update retained as in 1.1.19
v1.1.20 build 23
Background notifications (WorkManager poll + optional FCM) for closed-app Android alerts.
SchoolLMS 1.1.20 — Background notifications
- Closed-app Android alerts: WorkManager polls the server every ~15 minutes and shows system notifications even when the app is killed.
- Optional FCM: Firebase Cloud Messaging path when enabled with google-services.json + ENABLE_FCM.
- Role-aware updates: new questions, work to mark, marked results, messages, broadcasts, and parent location requests.
- First poll baselines quietly (no spam of historical items); later deltas notify only.
Requires SchoolLMS Odoo module with /api/v1/notifications/poll.
v1.1.18 build 21
Release 1.1.18 build 21
SchoolLMS 1.1.18 (build 21) — July 2026
- Correct version label: Home screen now shows the real package version (
v1.1.18+21), not a stale constant. - Auto update check: The app periodically checks the SchoolLMS release API for a newer build (on open, on resume, and every 30 minutes while open).
- In-app download & install: When an update is available, teachers/learners can download the APK and open the Android installer (user confirmation required by Android).
- Businessite catalog fix: Download APK / Scan QR must serve the binary that matches the advertised version (metadata/binary mismatch fixed for 1.1.17+).
- Teacher marking (from 1.1.17): Blind marking list, canvas red-pen, stroke replay, voice/handwritten feedback, parent audit tabs.
Designed by MOADEfy (moade.online) | Powered by Odoo & Grok
v1.1.17 build 20
Release 1.1.17 build 20 — forced binary replace after metadata/binary mismatch
SchoolLMS 1.1.17 (build 20) — July 2026
- Teacher marking list: Shows question text (not learner UUID), queue numbers (#1, #2…), and View question / Replay links. Learner identity is hidden for blind marking.
- Canvas marking: Full paper-like workspace — red pen on learner answer, pinch-zoom, full-screen mode, custom score (points earned / total).
- Feedback: Type, handwrite, or record voice remarks for learners.
- Stroke replay: Optional replay shows how the learner built their answer stroke by stroke (play, pause, scrub, speed).
- First teacher wins: Duplicate marks are archived; other teachers are notified if a submission was already marked.
- Learner results: Full marked-work viewer with teacher strokes, handwritten remarks, and voice playback.
- Parent audit: Learning activity and subscription payment tabs on learner detail.
Designed by MOADEfy (moade.online) | Powered by Odoo & Grok
v1.1.14 build 17
Fix syncStatus LateInitializationError on first save
SchoolLMS 1.1.14 (build 17) — July 2026
- Save fix: First-time answers no longer crash with "syncStatus has not been initialized" when tapping Yes, save.
- I'm Done flow: Confirmation dialog and back-button guard (from 1.1.13).
Designed by MOADEfy (moade.online) | Powered by Odoo & Grok
v1.1.13 build 16
I'm Done save flow; no mesh auto-save on learner; back-button confirmation
SchoolLMS 1.1.13 (build 16) — July 2026
- Save flow redesigned: "I'm Done" button with confirmation — save only when the learner confirms they have finished.
- Back button guard: Leaving the canvas asks "Finished answering?" and can save before exit.
- No mesh auto-save: Learner devices no longer ingest relayed answers that could block the save button.
- Already submitted: Re-opening an answered question shows your saved work instead of a broken save state.
Designed by MOADEfy (moade.online) | Powered by Odoo & Grok
v1.1.12 build 15
Fix learner Save Answer on canvas; immediate local save feedback
SchoolLMS 1.1.12 (build 15) — July 2026
- Save Answer fix: Learner canvas Save button now enables as soon as ink is detected and saves locally with immediate feedback.
- Faster save: Mesh/network relay runs in the background — no more silent 5+ second wait after tapping Save.
- Answered questions: Mesh inbox and home notifications clear once a question is saved (from 1.1.11).
- Registration: Form state survives camera/identity photo capture (from 1.1.10).
Designed by MOADEfy (moade.online) | Powered by Odoo & Grok
v1.1.11 build 14
Hide answered questions from home screen and mesh inbox
1.1.11+14
- Answered questions no longer show on home screen
- Mesh inbox and notifications clear after saving an answer
- Stale prompts removed on app restart
v1.1.10 build 13
Registration: save draft before camera, recover photo after activity restart
1.1.10+13
- Registration form saved before opening camera
- Photo and fields restored after Android kills the app
- Grade dropdown keeps value after recovery
v1.1.9 build 12
Fix registration screen reset after camera photo
1.1.9+12
- Registration form survives taking identity photo
- Recovers camera result if Android restarts the app
- Draft auto-saved while registering
v1.1.8 build 11
Fix sync API, handwritten question strokes, hide answered questions, phone safe area
1.1.8+11
- Handwritten teacher questions show in popup
- Answer sync to Odoo fixed
- Answered questions removed from list
- All screens respect Android nav bar
- Sync URL shows full host:port
v1.1.7 build 10
Canvas UX: save in portrait, question viewer, background answer sync
1.1.7+10
- Save Answer enabled in portrait after drawing
- Tap question for full scrollable/zoomable view
- High-contrast question banner
- Background auto-sync for learner answers
v1.1.6 build 9
Learner home: My Marked Work, Assessment Hub, no demo questions
1.1.6+9
- My Marked Work card on learner home
- Assessment Hub with subject chips
- Removed demo questions
v1.1.5 build 8
Release 1.1.5 build 8
SchoolLMS 1.1.5 (build 8) — Learner Assessment Hub (verified)
July 2026 release — confirms learner assessment flow and fixes question filtering.
- Start Assessment: Opens the Learner Assessment Hub (subject chips + grade-filtered questions). The old demo algebra question (
demo-q-001) is removed — uninstall any older APK first, then install this build. - Version label: Home screen and Assessment Hub show
v1.1.5+8so you can confirm the correct app is installed. - Question filtering fix: Questions with missing grade metadata are no longer hidden; subject matching is case-insensitive.
- Subject chips: Built from your registered profile subjects plus posted questions from cloud/mesh.
- My Marked Work: View teacher scores, feedback, and handwriting replay.
- Notifications: In-app cards for learners, teachers, and parents on sync events.
Designed by MOADEfy (moade.online) | Powered by Odoo & Grok
v1.1.4 build 7
Release 1.1.4 build 7
SchoolLMS 1.1.4 (build 7) — Learner Assessment Hub
July 2026 release focused on the learner assessment experience and role notifications.
- Start Assessment fixed: Learners now see their registered profile subjects and grade. Pick a subject to view posted questions filtered for their grade.
- Assigned questions: Fetches from Odoo
/api/v1/assessments/assignedplus mesh-synced questions with subject/grade metadata. - My Marked Work: New screen for learners to view teacher scores, feedback, and handwriting replay on synced submissions.
- Teacher marking: Cloud + local submissions; marks persist to Odoo with score and feedback.
- In-app notifications: Learners notified when questions sync; teachers when submissions arrive; parents on learner activity and marked work.
- Mesh filtering: Questions relayed over Bluetooth/LAN are filtered to match each learner's subjects and grade.
Designed by MOADEfy (moade.online) | Powered by Odoo & Grok
v1.1.3 build 6
Fresh rebuild: teacher CAPS phases, DBE subjects from Odoo
SchoolLMS 1.1.3 (build 6) — July 2026
- Fresh rebuild: Correct ~74MB APK with teacher CAPS phases and DBE subjects.
- Teacher registration: ECD, Foundation, Intermediate, Senior, FET phase picker.
- DBE subjects: Loaded from SchoolLMS Odoo when online.
v1.1.3 build 5
ATP topic selection fix for Post & Handwritten questions; Cloud Dev publish pipeline
SchoolLMS 1.1.3 (build 5) — July 2026
- ATP topic selection fix: Post Question and Handwritten Question now load DBE topics after you pick subject and grade.
- Grade picker: Grades load from your profile or from the ATP catalog when profile grades are missing.
- Custom topics: Teachers can still add a topic when none exists — synced to Odoo for all teachers (internet required).
- Businessite publish pipeline: Releases publish to Cloud Dev first; promote to QA/Prod from SchoolLMS Settings when ready.
Designed by MOADEfy (moade.online) | Powered by Odoo & Grok
v1.1.2 build 4
Question cloud+mesh sync, shared ATP topic selector, custom teacher topics synced to Odoo
No release notes for this version.
Download this buildv1.1.1 build 3
ATP subject-first flow, phase-filtered registration, searchable subjects, canvas safe-area, valid APK downloads
Teacher registration & handwriting canvas improvements; Businessite hosted APK fix.
v1.1.0 build 2
Teacher CAPS phases, WiFi LAN sync, canvas fixes, registration retries
SchoolLMS 1.1.0 (build 2) — July 2026
- Teacher registration: Choose CAPS phases (ECD, Foundation, Intermediate, Senior, FET) or pick grades per subject — no need to match learner grade.
- WiFi LAN relay: Same-room teacher/learner sync over WiFi even when both devices have internet.
- Canvas fixes: Clear button, stroke listener recovery, reduced lag during save.
- Registration: Server sync retries with visible warnings if Odoo is unreachable.
Previous releases remain available via /api/v1/mobile/releases/history.