Repository navigation
Adaptive Learner v2.15.0
Adaptive Learner v2.15.0
Exercises get deeper. A lesson can now declare variables whose values are drawn fresh for every attempt, with numeric free-text answers graded within a tolerance. Three new exercise types join the catalog: Hotspot, Parsons and Ordering, all authorable in the lesson creator. Exercises can also carry an explanation that appears after you answer. In the lesson creator you can write explanations by hand, or have the AI write them when you create a lesson from text. You can also mark the grammatical role of words so cloze exercises pick better blanks. In the browser version, you can apply the AI check's suggestions to your own sets.
The end of a lesson is calmer and tells you more. Unless you have customised the summary sections, a lesson now ends with a compact summary of result and XP that fits on one screen on most phones. Detailed evaluation opens a full review with key figures, mistakes per exercise type and your weak spots. Your place in a lesson is now saved from the first step change, and "Start learning" on a set opens the first lesson you have not finished yet. Continue learning shows the step you will actually reopen at and lets you hide rows you don't need.
Settings were reorganised. The Learning tab is grouped into labelled sections with a section bar and a compact Game Mode card, and the Data tab gets six sections with deep links. The desktop app also lists its installed plugins. Refresh in My content now applies every available set update in one go, except those that would affect your progress, and the Content hub has its own Create tab. A legal notice and privacy policy are available in German and English, and a round of phone fixes covers the iOS keyboard, crowded headers and the hub tab bars.
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
- Parametric exercises: a lesson can declare variables whose values are drawn fresh for each attempt and filled into the question, answers, hints and explanation. Numeric free-text answers are graded within the tolerance the lesson sets, and revisiting an attempt shows the values you originally saw.
- Three new exercise types: Hotspot (tap or click the correct area of an image), Parsons (put code lines in the right order and indentation) and Ordering (arrange steps in sequence). All three can be authored in the lesson creator, where you can draw hotspot zones on the image with the mouse or enter their coordinates.
- Exercise explanations: an authored explanation appears after you answer on every lesson surface (lesson, review, adaptive, endless, shuffle, error replay). It opens automatically after a wrong or partly wrong answer and sits behind a "Why?" toggle after a correct one. Exam mode keeps it hidden.
- Lesson creator, explanations: when you create a lesson from text with AI, an opt-in "Generate explanations" checkbox asks the AI to write them. It is off by default and not remembered between runs, because it uses more AI output. The core and extension exercise editors have an explanation field with a character counter, an "Insert template" skeleton and a 2000-character limit.
- Lesson creator, token roles: you can mark words on a card's front with their grammatical role (article, noun, verb, gender marker and so on), and the cloze exercises built from your mistakes (correction round, review sessions, adaptive lessons) use the roles to pick the word to blank. A marked word must appear on the front exactly as written. "Suggest roles" proposes only articles and prepositions, you can edit or remove every suggestion, and the add row stacks vertically on phones.
- AI check for your own sets: your own sets in My Lessons get a Check with AI button, which works in browser-storage mode with an AI key configured and is otherwise disabled with the reason. "Apply suggestions" then shows a review table of each suggested change to a card's front, back or notes. Only the rows you tick are written, in one step and without a new AI call, and "Undo the last apply" reverts them.
- Content hub: a Create tab now hosts the lesson creator, and existing links to the creator open that tab. My Lessons also has a Create button.
- My content: Refresh reloads the list and applies every available set update in one go. Updates that would affect your progress are held back. A notice names each of those sets and stays open until you close it, so you can confirm each one with its own Update button.
- Lesson summary: a Detailed evaluation button opens a full review of the lesson, with key figures, mistakes per exercise type, weak spots next to your own wrong answer and a link to practise those mistakes. For that view it also shows the sections switched off in Settings, all answers and every mistake explanation, and your saved summary settings stay unchanged.
- Continue learning: you can hide any row with an X. Progress, review cards and your content stay as they are, and the row comes back once you keep learning that set. The choice works in both storage modes and is included in backups.
- Settings > Learning: a section bar lets you jump between the sections, the active chip follows as you scroll, and links can open a specific section directly. For example, the Arcade's "Open settings" link lands on Motivation and routine.
- Settings > Data: a section bar with deep links takes you straight to backup or the danger zone, and on larger screens it stays pinned below the header.
- Settings > Plugins: a new Installed plugins card in the desktop app lists each active plugin with its version, where it came from and when it was activated. It also flags load errors, filtered plugins and config changes made after activation. The browser version shows a desktop-only notice instead.
- Settings > Diagnostics & Support: the tap and viewport probe's report now names the build it measured (version, build and branch), logs each time the app re-aligns the page or holds a re-align back, and records what each tap actually clicked or focused. A "Daneben!" button marks the tap that just landed in the wrong place.
- A legal notice (Impressum) and a privacy policy in German and English are now on the documentation site, linked from the app's start page, Settings > About and the landing page footer.
- Help: new pages in all eight help languages cover the Arcade (its four minigames, the XP three of them cost to unlock, and the optional tickets) and the review shown after you complete a set. The Greek, Spanish, Japanese, Portuguese and Turkish Settings pages now also cover the Learning tab and the housekeeping settings on the Data tab.
Changed
- Settings > Learning is grouped into five labelled sections: Basics, In the lesson, Reading aloud and dictation (shown only when the browser supports speech), After the lesson, and Motivation and routine. The spaced-repetition schedule now sits inside the Review card. The Gamification card (XP and badge notifications, badge gallery, weekend mode, daily goal, Reset progress) moved from the Plugins tab into the motivation section.
- Settings > Data is grouped into six labelled sections: Sources, Sync, Offline content, Backup and export, Housekeeping, and Danger zone.
- Game Mode is now a compact summary card with the main switch, the Game Mode sounds switch and a count of how many extras are on. The individual options sit in a collapsible "Game mode details" section that remembers whether you left it open. While Game Mode is off, those options are visible but disabled, with a note explaining why; before, they could be changed but had no effect.
- The Review setting "Show error explanations" is now called "Show explanations" and also controls the explanation shown after an answer.
- The maximum lesson size and paused-lesson retention settings moved from the Learning tab to the Data tab, next to the offline cache and the cleanup of orphaned data.
- Lesson summary: if you have never customised the summary sections, a lesson now ends with a compact view (result and XP plus the continue actions) that fits on one screen on most phones. Mistake explanations, the correction round, next-step suggestions and the other sections are behind Detailed evaluation, or you can switch them on in Settings > Learning. "Why you missed these" is now its own row there. Summary settings you saved earlier are kept, and that new row starts switched on for them.
- The "Create New Lesson" button is no longer in the Import tab's toolbar; the new Create tab replaces it.
- The Content, Progress and Dashboard hubs share one tab bar. It is more compact on phones, so the tabs fit on a single line at common phone widths.
- Under the hood: learn-content-engine moves from 0.23.0 to 0.26.0, bringing lesson schema 1.14 with the variables used by parametric exercises. The app does not use the engine's new QTI adapter or CLI commands. Dependency updates bring React and React DOM 19.3, React Router 8.4, Vite 8.3, Vitest 5 with coverage-v8 5, TipTap 3.31.3, SQLAlchemy 2.0.54, Alembic 1.20, google-genai 2.24, pytest-randomly 5 and patch and minor releases across the backend, plugins, launcher and documentation site. The Anthropic 1.x and OpenAI 3.x SDKs, websockets 17, TypeScript 7 and a few tooling majors are held back until they meet the release rules. The js-yaml pin in the frontend build tooling moves to 4.3.2 to clear a high-severity advisory; the package comes in through stylelint and is not part of the app. The release pipeline, dead-code and design-token checks, visual-regression baselines and documentation checks were hardened.
Fixed
- Lessons: your place is now saved from the first step change, not only after your first graded exercise. If you read theory steps and then close the tab, reload or press Pause, the lesson resumes at the right step. Leaving a lesson through the logo, a navigation link or the browser Back button now pauses it, and the dashboard cards show the pause right away.
- "Start learning" on a lesson set opens the first lesson you have not completed yet instead of always lesson 1, and completed lessons in the set's list show a checkmark.
- Continue learning shows the step the lesson will reopen at instead of the number of graded exercises. Before, it could say 1/8 while opening step 4; a lesson at its summary now shows 8/8, never 9/8. The German and Turkish labels now say step, like the other languages. A set you finish with no reviews due now appears below the open items with a completed tag instead of silently disappearing; only the most recently completed set is shown.
- Content updates: the header badge lowers its count as soon as you apply updates, and it opens the My content tab no matter how the content tabs are ordered. In list view, a set with a pending update now shows the Update available marker and its own Update button. On phones they sit on a separate line so the set title stays readable.
- In the correction round at the end of a lesson, a correct answer now stays on screen, marked correct, with a Next button instead of jumping straight to the next item. It still moves on by itself if auto-advance is on.
- Matching exercises no longer show a Solve button after a fully correct answer, both in review sessions and in endless, shuffle, adaptive and error-replay lessons.
- The "Play now" ticket banner in the lesson summary appears only when the Arcade switch is on as well, so it no longer leads to a locked Arcade page. No tickets are awarded while the Arcade is off.
- The error breakdown by exercise type in the set summary now shows translated labels instead of raw type names such as "vocabulary". Exercise-list summaries in the lesson creator, such as "4 options", now appear in the interface language instead of always in English.
- iPhone and touch devices: the screen no longer jumps while you type in a text field with the on-screen keyboard open. Focusing a text field now scrolls the app itself so the field sits above the keyboard, and tries again once the keyboard has made room. Safari no longer shifts the page, which is what made taps land in the wrong place. Moving from a long lesson step to a shorter one no longer leaves the lower half of the screen empty with the footer stuck mid-screen.
- Phones: the status badges no longer squeeze the menu button and logo out of the header. On narrow screens the badges show only their number and wrap to a second line when needed. The reorder lists for the lesson summary sections and the content tab order no longer break labels in the middle of words; the arrow buttons wrap below a full-width label instead.
- Settings: the sound volume slider in the Feedback card is now always shown. It used to disappear whenever general sounds were off, even with Game Mode sounds on. While Game Mode is on, the feedback-intensity options explain that Game Mode always uses enthusiastic feedback.
- The launcher install guide no longer promises a downloadable image archive for installing without a registry; that option is now marked as planned.
- Development: the backend test suite no longer deletes a developer's local content cache, and two test runs at the same time no longer clear each other's cache.
Full commit history: v2.14.0...v2.15.0.