| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| anki-26.05-win-x64.msi | 2026-06-15 | 201.8 MB | |
| anki-26.05-linux-aarch64.tar.zst | 2026-06-15 | 184.6 MB | |
| anki-26.05-linux-x86_64.tar.zst | 2026-06-15 | 191.1 MB | |
| anki-26.05-mac-apple.dmg | 2026-06-15 | 226.3 MB | |
| anki-26.05-mac-intel.dmg | 2026-06-15 | 245.7 MB | |
| anki-26.05-win-arm64.msi | 2026-06-15 | 164.3 MB | |
| 26.05 source code.tar.gz | 2026-06-15 | 5.7 MB | |
| 26.05 source code.zip | 2026-06-15 | 6.6 MB | |
| README.md | 2026-06-15 | 22.8 kB | |
| Totals: 9 Items | 1.2 GB | 17 | |
What's Changed
New Installer
This release replaces the terminal-based launcher introduced in 25.07 with a more standard installation process:
- Anki no longer shows a terminal on installation/update.
- Installation no longer requires network access.
- Updates can be installed using Tools>Check For Updates.
- A standard MSI installer is provided for Windows.
- A Windows ARM64 build is available.
- The macOS builds require macOS 13 or later.
- The Linux x86_64 build requires glibc 2.35+.
- The Linux aarch64 build requires glibc 2.39+.
- The minimum supported Python version is now 3.10 (The official builds still ship Python 3.13).
- Qt has been updated to 6.11
Note: The Tools>Upgrade/Downgrade option in 25.07+ cannot be used to upgrade to this version due to packaging changes.
By @abdnh @andrewsanchez @fernandolins @Luc-Mcgrady @iamllama in https://github.com/ankitects/anki/pull/4629
Documentation Improvements
- All user/developer documentation is now unified under a single website deployed from the main repo. The different docs repos will be archived and existing issues moved soon. By @andrewsanchez @Luc-Mcgrady @abdnh in https://github.com/ankitects/anki/pull/4882
- Python API docs can now be viewed in dev-docs.ankiweb.net. By @andrewsanchez in https://github.com/ankitects/anki/pull/4579
FSRS/Scheduling Changes
- Rework the efficiency ratio graph in FSRS Help Me Decide by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/4452
- Require three left-clicks to unlock FSRS parameter editing by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/4372
- Speed up FSRS memory state updates by batching calculations by @DanielPechersky in https://github.com/ankitects/anki/pull/4335
- Improve performance of
reviews_for_fsrsfunction by @L-M-Sherlock in https://github.com/ankitects/anki/pull/4339 - Fix/first and latest review dates should only consider entries with a rating. by @L-M-Sherlock in https://github.com/ankitects/anki/pull/4360
- Fix/Ensure fuzz doesn't go backward during rescheduling by @user1823 in https://github.com/ankitects/anki/pull/4364
- Fix/Per deck retention not used when card is moved to filtered deck by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/4413
- Restore retrievability SQL fix that was accidentally reverted by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/4424
- Fix/rounded corners on FSRS Simulator modal by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/4535
- Fix FSRS short-term schedule being ignored when using default parameters by @L-M-Sherlock in https://github.com/ankitects/anki/pull/4412
- Use quantiles for FSRS retrievability stat ranges by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/4425
- Make descending retrievability a pure R sort by @user1823 in https://github.com/ankitects/anki/pull/4400
- Don't reschedule suspended cards by @L-M-Sherlock in https://github.com/ankitects/anki/pull/4453
- Apply deck-specific load balancer settings to filtered deck study by @MoamenAbdelsattar in https://github.com/ankitects/anki/pull/4574
- Prioritize previously-attempted cards in the intraday learning queue by @user1823 in https://github.com/ankitects/anki/pull/4393
- Improve sibling dispersal in the load balancer, including across presets by @jakeprobst in https://github.com/ankitects/anki/pull/4640
- Fix desired retention not refreshing when switching deck option presets by @barisayyildiz in https://github.com/ankitects/anki/pull/4610
- Improve FSRS invalid parameters error message with FAQ link by @AmandaSternberg-creator in https://github.com/ankitects/anki/pull/4342
- Clarify ambiguous "this value" wording in desired retention tooltip by @Expertium in https://github.com/ankitects/anki/pull/4647
- Expose
setParameterUnlockClickTimeoutMsfor FSRS parameter unlock timeout by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/4810 - Export last_interval to Python by @user1823 in https://github.com/ankitects/anki/pull/4365
- Expose card decay and desired retention to the custom scheduler by @user1823 in https://github.com/ankitects/anki/pull/4880
- Remove broken retention rate help link in stats by @Hannanilsenn in https://github.com/ankitects/anki/pull/4329
Other Notable Changes
- Show saved custom colours in the image-occlusion fill tool colour picker on mobile by @iamllama in https://github.com/ankitects/anki/pull/4348
- Add support for
tag:nc:...(case-insensitive) tag searches by @iamllama in https://github.com/ankitects/anki/pull/4344 - Treat newlines as term breaks in search queries by @eliasjlara in https://github.com/ankitects/anki/pull/4336
- Add syntax for multi-card cloze deletions by @tfpgh in https://github.com/ankitects/anki/pull/4333
- Remember image-occlusion translucency toggle between sessions by @dspilleb in https://github.com/ankitects/anki/pull/4366
- Fix "Restore to Default" picking the wrong template for basic notetype variants by @arold0 in https://github.com/ankitects/anki/pull/4382
- Let the "Limit to" spin box grow with its content in the filtered deck dialog by @jcznk in https://github.com/ankitects/anki/pull/4398
- Fix unescaped HTML in correct type-in answers by @Eltaurus-Lt in https://github.com/ankitects/anki/pull/4407
- Always show text boxes on image-occlusion cards during review by @jariji in https://github.com/ankitects/anki/pull/4387
- Fix FindDuplicates dialog size exceeding screen bounds by @Nechaiter in https://github.com/ankitects/anki/pull/4426
- Fall back to Apple Samantha for TTS on macOS when no requested voice matches by @leedoughty in https://github.com/ankitects/anki/pull/4420
- Allow variable field counts per row when CSV import uses a notetype column by @iamllama in https://github.com/ankitects/anki/pull/4421
- Improve handling of media files differing only in letter case by @iamllama in #4355 #4851 #4860 #4861 #4852
- Keep non-breaking spaces outside cloze deletions when wrapping text by @leedoughty in https://github.com/ankitects/anki/pull/4446
- Start decoding images immediately by @SelfishPig in https://github.com/ankitects/anki/pull/4471
- Revert ForceDarkMode change that interfered with Anki's native dark theme by @GithubAnon0000 in https://github.com/ankitects/anki/pull/4483
- Apply the nightMode class to the editor in dark mode so custom HTML styles correctly by @leedoughty in https://github.com/ankitects/anki/pull/4473
- Auto-select the relevant note type in the Manage Note Types dialog after add/rename by @Arthur-Milchior in https://github.com/ankitects/anki/pull/4479
- Fix field rename by matching on the old name rather than field position by @Arthur-Milchior in https://github.com/ankitects/anki/pull/4488
- Allow horizontal scrolling on the deck options screen so AnkiDroid handles large font sizes by @defkorean in https://github.com/ankitects/anki/pull/4501
- Fix
{{#Tags}}conditional not triggering card generation by @Yuukidiv in https://github.com/ankitects/anki/pull/4533 - Silence console spam from image decoding errors during preload by @SelfishPig in https://github.com/ankitects/anki/pull/4534
- Add note type and GUID column headers to deleted.txt for easier reimport by @hnvy in https://github.com/ankitects/anki/pull/4454
- Apply Ctrl/Cmd+W window-closing shortcut globally to all dialogs by @beyondcompute in https://github.com/ankitects/anki/pull/4475
- Fix overlapping date ranges in graphs when "all history" is selected by @JMannervik in https://github.com/ankitects/anki/pull/4430
- Add a preference to disable the startup add-on update check by @SecretX33 in https://github.com/ankitects/anki/pull/4478
- Add
dir="auto"to cards so text direction no longer depends on the UI language by @MoamenAbdelsattar in https://github.com/ankitects/anki/pull/4428 - Accept images with capitalized extensions in the Browse "Attach" dialog by @miggazElquez in https://github.com/ankitects/anki/pull/4474
- Re-enable WindowsRT TTS player on Windows 11 by @abdnh in https://github.com/ankitects/anki/pull/4512
- Fix HTML editor collapsing after toggling sticky fields and adding a note by @Yuukidiv in https://github.com/ankitects/anki/pull/4566
- Fix image occlusion editor layout for right-to-left languages by @MoamenAbdelsattar in https://github.com/ankitects/anki/pull/4594
- Speed up tag autocomplete by using the Rust backend's complete_tag() by @user1823 in https://github.com/ankitects/anki/pull/4626
- Detect cloze fields nested inside conditionals during card generation by @maskady in https://github.com/ankitects/anki/pull/4651
- Prompt to save unsaved changes when closing or switching debug console scripts by @Arthur-Milchior in https://github.com/ankitects/anki/pull/4625
- Roll back the sidebar tag name when the backend rejects a rename by @chrislongros in https://github.com/ankitects/anki/pull/4718
- Improve word wrapping on the Deck Options screen for narrow viewports by @defkorean in https://github.com/ankitects/anki/pull/4558
- Update to mpv 0.41.0 by @abdnh in https://github.com/ankitects/anki/pull/4913
- Bundle Fcitx plugin on Linux by @abdnh in https://github.com/ankitects/anki/pull/4886
- Install required Linux system dependencies in install.sh by @abdnh in https://github.com/ankitects/anki/pull/4895
- Render sync server messages as rich text by @timarnoldev in https://github.com/ankitects/anki/pull/4560
Other Improvements
- Fix progress bar overflow crash when one-way uploads exceed 2 GB by @matbe766 in https://github.com/ankitects/anki/pull/4354
- Fix fatal error from rapidly double-clicking the Add button by @arold0 in https://github.com/ankitects/anki/pull/4377
- Use the native
crypto.randomUUID()instead of a custom UUID implementation by @leedoughty in https://github.com/ankitects/anki/pull/4384 - Credit Arabic translation contributor in the About window by @hnvy in https://github.com/ankitects/anki/pull/4720
- Tighten
Collection.add_notestype annotation so single-pass iterables aren't accepted by @jfly in https://github.com/ankitects/anki/pull/4758 - Set a friendly process job name for mpv on Windows by @abdnh in https://github.com/ankitects/anki/pull/4438
- Add Rust unit tests for the card-generation logic by @Yuukidiv in https://github.com/ankitects/anki/pull/4551
- Add punctuation, convert raw URLs to markdown links in READMEs by @oliolioli in https://github.com/ankitects/anki/pull/4570
- Reorder and comment .ftl files in UI order to help translators by @RolfMaster in https://github.com/ankitects/anki/pull/4514
- Show tooltips for truncated sidebar items in the Browse window by @nav1s in https://github.com/ankitects/anki/pull/4385
- Stop showing an error toast when saving an image-occlusion note twice on mobile by @iamllama in https://github.com/ankitects/anki/pull/4458
- Render
<br>as a line break in card template error messages instead of literal text by @leedoughty in https://github.com/ankitects/anki/pull/4451 - Use a true minus sign instead of a hyphen in the deck browser by @GithubAnon0000 in https://github.com/ankitects/anki/pull/4437
- Fix sync login dialog ignoring a freshly-set custom sync server URL by @ranjitodedra in https://github.com/ankitects/anki/pull/4396
- Add plural forms to unit labels next to spin boxes in the Custom Study dialog by @RolfMaster in https://github.com/ankitects/anki/pull/4520
- Don't expose collection.media.db2 over the API by @dae in https://github.com/ankitects/anki/pull/4653
- Update media sync progress dialog correctly after an error occurs in https://github.com/ankitects/anki/pull/4486
- Disable the Custom Study OK button when the selected deck is empty by @tunamayo04 in https://github.com/ankitects/anki/pull/4463
- Warn the user when renaming a profile would exceed the OS path length limit in https://github.com/ankitects/anki/pull/4552
- Fix regex error by @chiragjagga in https://github.com/ankitects/anki/pull/4837
- Preserve browser focus after note export by @Tfc538 in https://github.com/ankitects/anki/pull/4845
- Avoid loading unused cacert.pem by @abdnh in https://github.com/ankitects/anki/pull/4858
- Strip HTML from note type names in Empty Cards dialog by @abdnh in https://github.com/ankitects/anki/pull/4902
- Parameterize inputs of prop:cd* queries by @abdnh in https://github.com/ankitects/anki/pull/4905
- Validate add-on zip entries by @abdnh in https://github.com/ankitects/anki/pull/4901
- Repaint UI after answer reveal to reduce glitches on cards with images by @abdnh in https://github.com/ankitects/anki/pull/4970
Developer Improvements
- The release build process is now fully automated using GitHub Actions. By @andrewsanchez @abdnh @fernandolins in https://github.com/ankitects/anki/pull/4632
- Migrate CI from BuildKite to GitHub Actions. By @andrewsanchez @abdnh @fernandolins in https://github.com/ankitects/anki/pull/4593
- Update to Rust 1.92 by @abdnh in https://github.com/ankitects/anki/pull/4461
- Add Dependabot config with monthly grouped updates by @fernandolins in https://github.com/ankitects/anki/pull/4726
- Update PyCharm docs by @abdnh in https://github.com/ankitects/anki/pull/4389
- Update VS Code config by @abdnh in https://github.com/ankitects/anki/pull/4397
- Treat proto/i18n's implicit outputs as inputs by @iamllama in https://github.com/ankitects/anki/pull/4439
- Respect .python-version when generating pyenv by @iamllama in https://github.com/ankitects/anki/pull/4436
- Add more required packages to Linux build guide by @user1823 in https://github.com/ankitects/anki/pull/4432
- Only run cargo-deny if there are dependency changes by @abdnh in https://github.com/ankitects/anki/pull/4644
- Remove old GPG public key by @dae in https://github.com/ankitects/anki/pull/4707
- Raise dependabot open-pull-requests-limit to 3 by @fernandolins in https://github.com/ankitects/anki/pull/4746
- Add release-age controls for uv and Yarn dependencies by @fernandolins in https://github.com/ankitects/anki/pull/4761
- docs: add contributing guidelines for add-ons, linked issues, and AI-assisted PRs by @fernandolins in https://github.com/ankitects/anki/pull/4782
- Add pre-commit for automated pre-push checks by @fernandolins in https://github.com/ankitects/anki/pull/4660
- Add a standardized pull request template by @fernandolins in https://github.com/ankitects/anki/pull/4655
- Exclude BackendFrontendService from write_python_interface by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/4410
- Add regression test for [#1909] (media check long filenames) by @bds124 in https://github.com/ankitects/anki/pull/4476
- Update docker build command for syncserver by @CYPHER0041 in https://github.com/ankitects/anki/pull/4562
- Exclude more folders from build actions by @abdnh in https://github.com/ankitects/anki/pull/4561
- Add Windows quick start guide for new contributors by @DaniSilvaCodes in https://github.com/ankitects/anki/pull/4466
- Update Windows developer docs by @user1823 in https://github.com/ankitects/anki/pull/4662
- Ignore Fluent message errors in TypeScript by @abdnh in https://github.com/ankitects/anki/pull/4494
- Drop QDialog argument from grade_now() to make it add-on friendly by @abdnh in https://github.com/ankitects/anki/pull/4459
- Wrap previewer type field syntax replacement in separate method by @DaedalusIndigo in https://github.com/ankitects/anki/pull/4563
- Document that
add_deckrequires refetching the deck to see its new ID by @jfly in https://github.com/ankitects/anki/pull/4760 - Update security.md by @andrewsanchez in https://github.com/ankitects/anki/pull/4790
- Add missing PyPI metadata to anki package by @fernandolins in https://github.com/ankitects/anki/pull/4817
- Fix beta/rc suffix handling in int_version() by @abdnh in https://github.com/ankitects/anki/pull/4828
- Prevent Windows elevation errors when running ninja_gen's update binaries by @abdnh in https://github.com/ankitects/anki/pull/4848
- Fix
atomic_renameto work with single-component relative paths by @jfly in https://github.com/ankitects/anki/pull/4773 - Add Python test coverage by @fernandolins in https://github.com/ankitects/anki/pull/4841
- Add Rust test coverage by @fernandolins in https://github.com/ankitects/anki/pull/4842
- Add TypeScript test coverage by @fernandolins in https://github.com/ankitects/anki/pull/4843
- Add test coverage docs by @fernandolins in https://github.com/ankitects/anki/pull/4844
- Add tests for build_installer.py by @abdnh in https://github.com/ankitects/anki/pull/4868
- Add Playwright end-to-end test infrastructure by @fernandolins in https://github.com/ankitects/anki/pull/4864
- Cache coverage baseline from main for regression checks by @fernandolins in https://github.com/ankitects/anki/pull/4875
- Replace print() logging in pylib with Python logging by @davidsauerwein in https://github.com/ankitects/anki/pull/4666
- Avoid broad warnings filter by @abdnh in https://github.com/ankitects/anki/pull/4900
- Enforce linked issue requirement on PRs by @fernandolins in https://github.com/ankitects/anki/pull/4910
- Fail PR if line coverage regresses by @fernandolins in https://github.com/ankitects/anki/pull/4876
- Import some modules lazily by @abdnh in https://github.com/ankitects/anki/pull/4831
- Add hash script for GitHub Actions by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/4991
- Add unit tests for CSV export and import-export service layer by @fernandolins in https://github.com/ankitects/anki/pull/4976
- Add tests for attribute and tag stripping in HTML filter by @leedoughty in https://github.com/ankitects/anki/pull/4965
- Add unit tests for learning and relearning state transitions by @fernandolins in https://github.com/ankitects/anki/pull/4963
- Replace deprecated global map-get/map-merge with sass:map namespace by @fernandolins in https://github.com/ankitects/anki/pull/4955
- Remove unused Bootstrap imports from _button-mixins.scss by @fernandolins in https://github.com/ankitects/anki/pull/4953
- Integrate Complexipy for Python complexity analysis by @abdnh in https://github.com/ankitects/anki/pull/4942 and https://github.com/ankitects/anki/pull/4987
- Consolidated security dependency updates (Dependabot batch) by @fernandolins in https://github.com/ankitects/anki/pull/4934
- Add just recipes for run, web-watch, rebuild-web, and clean, and add AGENTS.md by @fernandolins in https://github.com/ankitects/anki/pull/4943
- Expand contributing guide with PR process and test requirements by @fernandolins in https://github.com/ankitects/anki/pull/4946
- Prevent duplicate 'missing linked issue' comments on PR edits by @fernandolins in https://github.com/ankitects/anki/pull/4937
- Use commit SHAs for GitHub Actions dependencies by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/4916
- Use PowerShell to run just commands on Windows by @abdnh in https://github.com/ankitects/anki/pull/4921
- Exclude github-actions[bot] from contributor check by @abdnh in https://github.com/ankitects/anki/pull/4923
New Contributors
- @Hannanilsenn made their first contribution in https://github.com/ankitects/anki/pull/4329
- @eliasjlara made their first contribution in https://github.com/ankitects/anki/pull/4336
- @tfpgh made their first contribution in https://github.com/ankitects/anki/pull/4333
- @dspilleb made their first contribution in https://github.com/ankitects/anki/pull/4366
- @matbe766 made their first contribution in https://github.com/ankitects/anki/pull/4354
- @AmandaSternberg-creator made their first contribution in https://github.com/ankitects/anki/pull/4342
- @arold0 made their first contribution in https://github.com/ankitects/anki/pull/4377
- @nav1s made their first contribution in https://github.com/ankitects/anki/pull/4385
- @ranjitodedra made their first contribution in https://github.com/ankitects/anki/pull/4396
- @Eltaurus-Lt made their first contribution in https://github.com/ankitects/anki/pull/4407
- @jariji made their first contribution in https://github.com/ankitects/anki/pull/4387
- @Nechaiter made their first contribution in https://github.com/ankitects/anki/pull/4426
- @SelfishPig made their first contribution in https://github.com/ankitects/anki/pull/4471
- @bds124 made their first contribution in https://github.com/ankitects/anki/pull/4476
- @tunamayo04 made their first contribution in https://github.com/ankitects/anki/pull/4463
- @defkorean made their first contribution in https://github.com/ankitects/anki/pull/4501
- @RolfMaster made their first contribution in https://github.com/ankitects/anki/pull/4514
- @Yuukidiv made their first contribution in https://github.com/ankitects/anki/pull/4533
- @JMannervik made their first contribution in https://github.com/ankitects/anki/pull/4430
- @SecretX33 made their first contribution in https://github.com/ankitects/anki/pull/4478
- @DanielPechersky made their first contribution in https://github.com/ankitects/anki/pull/4335
- @MoamenAbdelsattar made their first contribution in https://github.com/ankitects/anki/pull/4428
- @DaedalusIndigo made their first contribution in https://github.com/ankitects/anki/pull/4563
- @miggazElquez made their first contribution in https://github.com/ankitects/anki/pull/4474
- @oliolioli made their first contribution in https://github.com/ankitects/anki/pull/4570
- @DaniSilvaCodes made their first contribution in https://github.com/ankitects/anki/pull/4466
- @chrislongros made their first contribution in https://github.com/ankitects/anki/pull/4668
- @CYPHER0041 made their first contribution in https://github.com/ankitects/anki/pull/4562
- @maskady made their first contribution in https://github.com/ankitects/anki/pull/4651
- @jfly made their first contribution in https://github.com/ankitects/anki/pull/4758
- @barisayyildiz made their first contribution in https://github.com/ankitects/anki/pull/4610
- @chiragjagga made their first contribution in https://github.com/ankitects/anki/pull/4837
- @Tfc538 made their first contribution in https://github.com/ankitects/anki/pull/4845
- @davidsauerwein made their first contribution in https://github.com/ankitects/anki/pull/4666
- @timarnoldev made their first contribution in https://github.com/ankitects/anki/pull/4560
Full Changelog: https://github.com/ankitects/anki/compare/25.09.4...26.05