26.09b1Pre-releaseDesktop
Changed 3
- Improve performance of reviewer initialization by lazy-loading MathJax
- Recompute FSRS data after changing deck
- Improve error reporting for the Tools>Check for Updates feature
Fixed 16
- Fix audio playback in macOS 27
- Fix HTML dropdowns/datepickers growing indefinitely with scaled UI on Windows
- Fix audio not being played automatically when attached in the editor
- Fix audio copy & paste handling in the experimental editor
- Hide ease when FSRS is enabled but there is no memory state
- Update FSRS memory state when card info opened
- Fix MSI install is blocked if uninstall.exe exists at a drive root
- Fix MathJax lazy loading causing flickering in some templates
- Fix Add/Edit screens not closing in the experimental editor on some systems
- Treat $ literally in non-regex find&replace replacements
- Fix experimental editor not playing pasted/dropped audio
- Fix calendar graph year navigation buttons position in RTL layouts
- Mirror help icon for Arabic script RTL languages
- Mirror toggle switches in RTL layouts
- Apply RTL direction for some languages such as Uyghur in webview pages
- Set webview font size to system font size in preferences menu
Removed 1
- Remove legacy modules anki.importing and anki.exporting
From Anki
What's Changed
Add-on Compatibility Note
The following legacy modules have been removed: anki.importing and anki.exporting. See the docs for alternatives.
This affects the AnkiConnect add-on.
Notable Changes
- Fix audio playback in macOS 27 by @abdnh in https://github.com/ankitects/anki/pull/5363
- Remove Python-based legacy importing/exporting handling by @chrislongros in https://github.com/ankitects/anki/pull/5153
- Improve performance of reviewer initialization by lazy-loading MathJax by @BrayanDSO in https://github.com/ankitects/anki/pull/5171
- Fix HTML dropdowns/datepickers growing indefinitely with scaled UI on Windows by @abdnh in https://github.com/ankitects/anki/pull/5396
- Fix audio not being played automatically when attached in the editor by @JaksonSouza in https://github.com/ankitects/anki/pull/5320
- Recompute FSRS data after changing deck by @user1823 in https://github.com/ankitects/anki/pull/5339
Fixes
- Fix audio copy & paste handling in the experimental editor by @iamllama in https://github.com/ankitects/anki/pull/5337
- Hide ease when fsrs is enabled but there is no memory state by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/5277
- Improve error reporting for the Tools>Check for Updates feature by @abdnh in https://github.com/ankitects/anki/pull/5295
- Update FSRS memory state when card info opened by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/5326
- Fix MSI install is blocked if uninstall.exe exists at a drive root by @abdnh in https://github.com/ankitects/anki/pull/5360
- Fix MathJax lazy loading causing flickering in some templates by @iamllama in https://github.com/ankitects/anki/pull/5254
- Fix Add/Edit screens not closing in the experimental editor on some systems by @iamllama in https://github.com/ankitects/anki/pull/5373
- Treat $ literally in non-regex find&replace replacements by @krMaynard in https://github.com/ankitects/anki/pull/5216
- Fix experimental editor not playing pasted/dropped audio by @abdnh in https://github.com/ankitects/anki/pull/5329
- Fix calendar graph year navigation buttons position in RTL layouts by @iDavi in https://github.com/ankitects/anki/pull/5103
- Mirror help icon for arabic script rtl langs by @iDavi in https://github.com/ankitects/anki/pull/5105
- Mirror toggle switches in RTL layouts by @iDavi in https://github.com/ankitects/anki/pull/5214
- Apply RTL direction for some languages such as Uyghur in webview pages by @abdnh in https://github.com/ankitects/anki/pull/5274
- Set webview font size to system font size in preferences menu by @GithubAnon0000 in https://github.com/ankitects/anki/pull/5174
- Preserve scroll position after collapsing/expanding decks by @abdnh in https://github.com/ankitects/anki/pull/5378
- Separate add-on entries in Tools menu with separator by @qais8r in https://github.com/ankitects/anki/pull/5124
- Update redirected Browse Add-ons URL by @schmidhauser in https://github.com/ankitects/anki/pull/5290
- Add a plural form for the tags field label in the editor by @Arthur-Milchior in https://github.com/ankitects/anki/pull/5305
- Ensure editor is initialized before triggering browser hooks by @abdnh in https://github.com/ankitects/anki/pull/5348
- Avoid KeyError on missing Content-type header in mediasrv by @fernandolins in https://github.com/ankitects/anki/pull/5366
- Replace asserts inside except clauses with explicit error handling by @fernandolins in https://github.com/ankitects/anki/pull/5365
- Use 'Add Media' string for the title of the media file picker in the editor by @abdnh in https://github.com/ankitects/anki/pull/5402
Documentation Changes
- Update Persian manual translation link by @MSadraShakouri in https://github.com/ankitects/anki/pull/5405
- Add tip to disable "check on save" in Rust analyzer on low-end machines by @user1823 in https://github.com/ankitects/anki/pull/4489
- Clarify docs license by @abdnh in https://github.com/ankitects/anki/pull/5292
- Exclude docs contributions from BSD license check by @SzilvasiPeter in https://github.com/ankitects/anki/pull/5267
- Fix typos in https://github.com/ankitects/anki/pull/5158
- Document the import_anki_package and export_anki_package APIs by @roostwp07 in https://github.com/ankitects/anki/pull/5328
- Sync post-migration manual updates by @MSadraShakouri in https://github.com/ankitects/anki/pull/5393
- Replace docs/ with symlinks by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/5031
Development Changes
- Reduce dependabot noise with quarterly schedule and major grouping by @fernandolins in https://github.com/ankitects/anki/pull/5280
- Document dependabot update process by @fernandolins in https://github.com/ankitects/anki/pull/5370
- Unhook AnkiWebView when destroyed by @iamllama in https://github.com/ankitects/anki/pull/5255
- Fix legacy editor's media buttons not using the legacy routines by @abdnh in https://github.com/ankitects/anki/pull/5330
- Update VS Code's settings.json by @abdnh in https://github.com/ankitects/anki/pull/5303
- Configure mypy extension for VS Code by @abdnh in https://github.com/ankitects/anki/pull/5317
- Add browse empty/error state i18n strings by @ianoff in https://github.com/ankitects/anki/pull/5263
- Set CARGO_TARGET_DIR for coverage-rust scripts by @abdnh in https://github.com/ankitects/anki/pull/5266
- Replace use of EmbarkStudios/cargo-deny-action by @iamllama in https://github.com/ankitects/anki/pull/5180
- Update Python test coverage threshold by @abdnh in https://github.com/ankitects/anki/pull/5299
- Replace prepare-release workflow with local script (closes #5273) by @roostwp07 in https://github.com/ankitects/anki/pull/5288
- Use cargo-nextest for Rust coverage tests (closes #5162) by @roostwp07 in https://github.com/ankitects/anki/pull/5169
- Add tests for FSRS simulator by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/5150
- Add tests for fixing incorrect last review time entries by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/5146
- Do not let ftl string copy/move land new strings in deprecated sections by @ianoff in https://github.com/ankitects/anki/pull/5332
- Add portability fixes for FreeBSD by @chrislongros in https://github.com/ankitects/anki/pull/5300
- Apply a consistent Cargo profile in CI by @abdnh in https://github.com/ankitects/anki/pull/5133
- Fix missing issue bot does not allow url in linked issues by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/5287
- Move .github/scripts/*.py to tools/ by @abdnh in https://github.com/ankitects/anki/pull/5375
- Get linked issues using the GitHub API by @abdnh in https://github.com/ankitects/anki/pull/5381
- Update e2e testing docs by @abdnh in https://github.com/ankitects/anki/pull/5331
- Fix minilints exclusion for docs changes is not working by @abdnh in https://github.com/ankitects/anki/pull/5315
- Add
rust-analyzercomponent to .rust-toolchain.toml by @abdnh in https://github.com/ankitects/anki/pull/5260 - Set
strict_optional = Truefor editor_legacy.py by @abdnh in https://github.com/ankitects/anki/pull/5367 - Add missing dependencies to ninja's cog actions by @abdnh in https://github.com/ankitects/anki/pull/5341
- Bump rust toolchain to 1.97.1 by @iamllama in https://github.com/ankitects/anki/pull/5316
- Bump the actions group across 1 directory with 14 updates by @dependabot[bot] in https://github.com/ankitects/anki/pull/5272
- Bump vitest from 3.2.4 to 3.2.6 by @dependabot[bot] in https://github.com/ankitects/anki/pull/4973
- Bump tar from 7.5.7 to 7.5.22 by @dependabot[bot] in https://github.com/ankitects/anki/pull/5239
- Drop vulnerable h2 0.3.x, update h2 to 0.4.17 (RUSTSEC-2026-0258) by @fernandolins in https://github.com/ankitects/anki/pull/5376
- Bump the python-minor-patch group across 1 directory with 14 updates by @dependabot[bot] in https://github.com/ankitects/anki/pull/5310
- Bump the actions group with 3 updates by @dependabot[bot] in https://github.com/ankitects/anki/pull/5311
- Bump anki-audio to 0.2.3 by @abdnh in https://github.com/ankitects/anki/pull/5409
New Contributors
- @qais8r made their first contribution in https://github.com/ankitects/anki/pull/5124
- @schmidhauser made their first contribution in https://github.com/ankitects/anki/pull/5290
- @SzilvasiPeter made their first contribution in https://github.com/ankitects/anki/pull/5267
- @JaksonSouza made their first contribution in https://github.com/ankitects/anki/pull/5320
- @MSadraShakouri made their first contribution in https://github.com/ankitects/anki/pull/5405
Full Changelog: https://github.com/ankitects/anki/compare/26.08.1...26.09b1