Repository navigation
Adaptive Learner v2.16.0
A reliability release. Errors that used to vanish now say what went wrong: a failed tutor reply shows a message with a retry instead of an empty bubble, a session whose history could not load says so instead of looking deleted, and a page that crashes while rendering offers a way back and a report button. Settings actions, set exports, the share check and lesson progress no longer fail silently. When the backend cannot be reached, you now read "No connection to the server" instead of a browser message.
Lessons follow the content engine's rules everywhere. The lesson creator's exercise editor, the share check and repository validation now ask the engine (learn-content-engine 0.36.0) instead of keeping their own copies, so a lesson that passes one passes the others. A matching exercise needs one complete pair instead of two, and free-text answers are case-sensitive only where an exercise asks for it. In the desktop app, matchings built from cards now show their pairs, lessons inherit their set's language pair, and set ids with umlauts or other non-ASCII letters are accepted.
Backups, phones and the browser version got a round of fixes. Backups carry every stored field and restore cleanly across the desktop app and the browser version, browser backups never contain your API key, and "Delete all data" empties everything. The navigation switches to the compact menu below 1280 px, the screen stays on during a lesson, and the dashboard's activity views, spaced-practice cards and the learning-profile chart fit phones.
Before you install
AdaptiveLearner runs in Docker. You need Docker Desktop installed and running before starting the launcher.
- Docker installation guide (English) - includes a "Is Docker safe to install?" section
- Docker-Installationsanleitung (Deutsch) - mit Abschnitt "Ist Docker sicher zu installieren?"
The launcher detects Docker, downloads the ready-built AdaptiveLearner image from GitHub's registry (about 110-120 MB compressed, roughly 500 MB on disk - nothing is built on your machine), and opens the app in your browser. Later starts are fast and work offline.
Download
| Platform | File |
|---|---|
| Windows | adaptive-learner-launcher.exe |
| macOS (Apple silicon) | adaptive-learner-launcher-macos.zip |
| Linux | adaptive-learner-launcher (ELF binary) |
Each platform also ships a *.sha256 checksum next to the binary.
Verifying downloads
# macOS / Linux
shasum -a 256 adaptive-learner-launcher-<platform>
cat adaptive-learner-launcher-<platform>.sha256# Windows
Get-FileHash -Algorithm SHA256 .\adaptive-learner-launcher.exe
Get-Content .\adaptive-learner-launcher.exe.sha256The hashes must match.
macOS blocks the binary on first open and, depending on the macOS
version, offers only "Move to Trash" and "Done" - no Open button. The
program is not notarized by Apple (that needs a paid developer account).
Dismiss with Done, then open System Settings > Privacy & Security,
scroll down and click Open Anyway. Windows shows a SmartScreen notice
with a "More info" > "Run anyway" path. Full walkthrough per platform:
launcher guide.
Verify the checksum first. When the system cannot tell you where a file
came from, a matching checksum is the check you can still make yourself.
What's new
Added
- The arcade card on the dashboard stays visible when the arcade switch is off and names the switch, and the lesson summary says why no ticket was awarded.
- The matching exercise's pair counter is mirrored in the sticky footer next to Check on phones.
- Free-text exercises grade case only where the exercise declares it (learn-content-engine 0.36.0).
Changed
- The exercise editor in the lesson creator, the share check and repository validation use the content engine's rules instead of the app's own copies. A matching needs one complete pair instead of two, a matching built from cards can be edited, and duplicate terms, choice gaps without a distractor, invalid tile orders and references to deleted cards are caught while editing instead of when saving.
- The share check takes its quality minimums from the engine and reports every engine finding, not only duplicate terms.
- The navigation uses the compact menu below 1280 px.
- Error toasts show a localized message and keep the technical detail for the Report Issue dialog.
- Paused lessons on the dashboard are only hidden when they get old; none is abandoned.
Fixed
- Tutor chat: a failed reply shows "The reply could not be loaded." with Try again and a toast instead of an empty bubble; a history that could not load says so instead of showing the welcome screen; failed turns are classified with a localized message in both modes.
- A page that crashes while rendering says so, recovers when you navigate and offers Report Issue.
- When no response arrives from the backend, the app shows "No connection to the server", and an unexpected backend error no longer exposes internals.
- Settings, set export, the share check, lesson progress and the learner-data plan report a failure instead of failing silently.
- Desktop app (API mode): matchings built from cards show their pairs, lessons inherit their set's language pair and domain, set ids with non-ASCII letters are accepted, and the set list shows when a cached set was downloaded.
- Browser version: lessons carry every schema default, a lesson without cards loads, completed lessons count toward the streak, the step-evaluation insights and the method-switch recommendation work, and features that need the desktop app are disabled with a reason.
- Backups carry every stored field, restore across the desktop app and the browser version, survive the next app start, and browser backups never contain the API key. "Delete all data" empties every store, the app's local settings and the GitHub token.
- Lessons: the screen stays on during a lesson, also while reading, switching apps saves time and position, "Start over" asks first, shuffle, endless and adaptive runs survive a language switch, and a review started from a lesson offers Back to lesson.
- Exercises: a matching check with mistakes opens on Corrections, and the error-correction input no longer checks and advances on one Enter.
- Phones: the license card, header badges, lists, icons beside wrapping labels, the activity strip and heatmap, spaced-practice cards, the learning-profile radar, review reports, long headings in content and toasts during a lesson fit the screen.
- An AI import whose AI call fails is reported as a failed analysis.
- A set without a level exports level "none", and the repository export writes no origin marker into lesson files.
Security
- The AI model cache keys hold the API key redacted instead of a SHA-256 hash of it.
- virtualenv 21.14.1 for four pip-audit advisories.