Skip to content

Releases: ankitects/anki

26.05b1

11 May 07:43

Choose a tag to compare

26.05b1 Pre-release
Pre-release

What's Changed

New Installer

This release replaces the UV-based launcher introduced in 25.07 with a more standard installation process using Briefcase for packaging:

  • Anki no longer shows a terminal on install/update.
  • Installation no longer requires network access.
  • You can install updates using Tools>Check For Updates.
  • A standard MSI installer is provided for Windows.
  • A native Windows ARM64 build is now available. Audio playback/recording doesn't work, but this will be fixed in the next release.
  • The minimum supported Python version is now 3.10 (The official builds still ship Python 3.13).
  • Anki now ships with Qt 6.11
  • The Linux aarch64 build should work on glibc 2.35 or later.

FSRS/Scheduling changes

Other Notable Changes

  • Briefcase Installer by @andrewsanchez in #4629
  • Show saved custom colours in the image-occlusion fill tool colour picker on mobile by @iamllama in #4348
  • Add support for tag:nc:... (case-insensitive) tag searches by @iamllama in #4344
  • Treat newlines as term breaks in search queries by @eliasjlara in #4336
  • Add syntax for multi-card cloze deletions by @tfpgh in #4333
  • Remember image-occlusion translucency toggle between sessions by @dspilleb in #4366
  • Fix "Restore to Default" picking the wrong template for basic notetype variants by @arold0 in #4382
  • Let the "Limit to" spin box grow with its content in the filtered deck dialog by @jcznk in #4398
  • Fix unescaped HTML in correct type-in answers by @Eltaurus-Lt in #4407
  • Always show text boxes on image-occlusion cards during review by @jariji in #4387
  • Fix FindDuplicates dialog size exceeding screen bounds by @Nechaiter in #4426
  • Fall back to Apple Samantha for TTS on macOS when no requested voice matches by @leedoughty in #4420
  • Allow variable field counts per row when CSV import uses a notetype column by @iamllama in #4421
  • fix(Import): case-fold media filenames when checking uniqueness by @iamllama in #4435
  • Keep non-breaking spaces outside cloze deletions when wrapping text by @leedoughty in #4446
  • Start decoding images immediately by @SelfishPig in #4471
  • Revert ForceDarkMode change that interfered with Anki's native dark theme by @GithubAnon0000 in #4483
  • Apply the nightMode class to the editor in dark mode so custom HTML styles correctly by @leedoughty in #4473
  • Auto-select the relevant note type in the Manage Note Types dialog after add/rename by @Arthur-Milchior in #4479
  • Fix field rename by matching on the old name rather than field position by @Arthur-Milchior in #4488
  • Allow horizontal scrolling on the deck options screen so AnkiDroid handles large font sizes by @defkorean in #4501
  • Fix {{#Tags}} conditional not triggering card generation by @Yuukidiv in #4533
  • Silence console spam from image decoding errors during preload by @SelfishPig in #4534
  • Add note type and GUID column headers to deleted.txt for easier reimport by @hnvy in #4454
  • Apply Ctrl/Cmd+W window-closing shortcut globally to all dialogs by @beyondcompute in #4475
  • Fix overlapping date ranges in graphs when "all history" is selected by @JMannervik in #4430
  • Add a preference to disable the startup add-on update check by @SecretX33 in #4478
  • Add dir="auto" to cards so text direction no longer depends on the UI language by @MoamenAbdelsattar in #4428
  • Accept images with capitalized extensions in the Browse "Attach" dialog by @miggazElquez in #4474
  • Re-enable WindowsRT TTS file player on Windows 11 by @abdnh in #4512
  • Fix HTML editor collapsing after toggling sticky fields and adding a note by @Yuukidiv in #4566
  • Fix image occlusion editor layout for right-to-left languages by @MoamenAbdelsattar in #4594
  • Speed up tag autocomplete by using the Rust backend's complete_tag() by @user1823 in #4626
  • Detect cloze fields nested inside conditionals during card generation by @maskady in #4651
  • Prompt to save unsaved changes when closing or switching debug console scripts by @Arthur-Milchior in #4625
  • Roll back the sidebar tag name when the backend rejects a rename by @chrislongros in #4718
  • Improve word wrapping on the Deck Options screen for narrow viewports by @defkorean in #4558

Developer Improvements

Read more

25.09.4

08 May 19:01

Choose a tag to compare

What's Changed

This is a security release. Please upgrade as soon as possible using Tools > Upgrade/Downgrade.

Importing untrusted decks (.apkg files) had the ability to read local files. This has now been fixed.

Other fixes and new features will follow in the next beta release.

Many thanks to @Bankde for the excellent report and to @abdnh, @dae, and @fernandolins for the fix! 🙏🏻

Installing

  • If you're a new user, please grab the latest launcher from https://apps.ankiweb.net
  • If you already have the 25.09 launcher, you can use Tools>Upgrade/Downgrade inside Anki.
  • If you have an older launcher/Anki, please grab the latest launcher first, as the older one may or may not work.

25.09.3

07 May 01:13

Choose a tag to compare

What's Changed

This is a security release. Please upgrade as soon as possible using Tools > Upgrade/Downgrade.

Anki's local media server did not sufficiently validate requests, which could allow a malicious website to read local files while Anki was running. This had the potential to affect mostly Firefox and Safari users. Chrome already restricts local network access. Thanks to the great Tavis Ormandy (@taviso) for the report.

All other fixes and new features since 25.09.2 will follow in a separate beta release.

Installing

  • If you're a new user, please grab the latest launcher from https://apps.ankiweb.net
  • If you already have the 25.09 launcher, you can use Tools>Upgrade/Downgrade inside Anki.
  • If you have an older launcher/Anki, please grab the latest launcher first, as the older one may or may not work.

25.09.2

17 Sep 07:12
@dae dae
25.09.2

Choose a tag to compare

Installing

  • If you're a new user, please grab the latest launcher from https://apps.ankiweb.net
  • If you already have the 25.09 launcher, you can use Tools>Upgrade/Downgrade inside Anki.
  • If you have an older launcher/Anki, please grab the latest launcher first, as the older one may or may not work.

What's Changed

  • Fix custom colors not saving by @iamllama in #4326
  • Decode images asynchronously during review. Please let us know if images in the review screen load faster or slower for you. By @abdnh in #4320
  • Prevent clipping for QPushButton:default:hover by @jcznk in #4323
  • Updated Dockerfile to use Ninja build system by @e-hamrin in #4321
  • Fix/Add lower review limit to health check. by @Luc-Mcgrady in #4334
  • Make timebox message translatable with flexible variable order by @snowtimeglass in #4338
  • (UI polish) Improved margins in Card Browser's "Previewer" by @jcznk in #4337

New Contributors

Full Changelog: 25.09...25.09.2

25.09.1

17 Sep 07:16
@dae dae
25.09.1

Choose a tag to compare

This release was skipped due to a packaging error.

25.09

06 Sep 12:08
@dae dae
25.09

Choose a tag to compare

Installing

  • Install the latest launcher from below
  • Run Anki. If you already had it installed, use Tools>Upgrade/Downgrade

What's Changed

New Features

Launcher Updates

Windows

macOS

  • New users will no longer see pop-ups prompting you to install developer tools, or warnings about install_name_tool.
  • Fix install failures on systems with the wrong Xcode arch installed.
  • Fix the launcher sometimes respawning terminals repeatedly.

Linux

All platforms

  • The launcher now has a download mirror option for users in China, and no longer auto-downloads on first run. The version check should now also work with SOCKS proxies.
  • Fix mirror configuration not working during launcher download by @aldlss in #4280
  • Fix install problems on some systems with UV_* env vars defined.

Other Improvements

New Contributors

Full Changelog: 25.07.5...25.09

25.07.5

25 Jul 17:07
@dae dae
25.07.5

Choose a tag to compare

What's Changed

In 25.07

There have been major changes to the way Anki is packaged, and to FSRS. Please see the previous release announcement for more info:

https://github.com/ankitects/anki/releases/tag/25.07

In 25.07.5

  • Fix launcher failing to work after installing older Anki version.
  • Various other minor launcher fixes.
  • Fix a link in the deck options to the manual.

25.07.4

24 Jul 15:49
@dae dae
25.07.4

Choose a tag to compare

What's Changed

In 25.07

There have been major changes to the way Anki is packaged, and to FSRS. Please see the previous release announcement for more info:

https://github.com/ankitects/anki/releases/tag/25.07

In 25.07.4

  • Installation should no longer fail when anaconda is installed.
  • Increase default network timeout in launcher.
  • Provide better output when downloading versions fails.
  • Fix errors recording voice (thanks to @abdnh)
  • Prioritise prefix matches in tag autocomplete results by @iamllama in #4212
  • Add last_review_time to _to_backend_card by @user1823 in #4218
  • Add IO mask rotation snapping by @iamllama in #4214
  • Bump form-data from 4.0.1 to 4.0.4 by @dependabot[bot] in #4219
  • Set min size for card info dialog by @iamllama in #4221

Full Changelog: 25.07.3...25.07.4

25.07.3

21 Jul 08:29
@dae dae
25.07.3

Choose a tag to compare

What's Changed

In 25.07

There have been major changes to the way Anki is packaged, and to FSRS. Please see the previous release announcement for more info:

https://github.com/ankitects/anki/releases/tag/25.07

In 25.07.3

  • Update to Qt 6.9, which should address crashes on macOS.
  • Fixed 'same cloze' shortcut on macOS.
  • Show Chromium version in about screen
  • Allow creating deck via #deck:... if non-existent when importing by @iamllama in #4154
  • Add last_review_time to card data for performance and accuracy by @L-M-Sherlock in #4124
  • Use system font for webviews instead of bootstrap font stack and add exception for note editor by @GithubAnon0000 in #4163
  • Debounce mathjax rendering via cooldown instead by @iamllama in #4173
  • Re-order terminals, again, for better UX. by @Grinkers in #4186
  • Skip unnecessary computations when the load balancer is disabled by @L-M-Sherlock in #4184
  • Fix/FSRS simulator fallback to memory_state_from_sm2 when converting cards by @L-M-Sherlock in #4189
  • set UV_PYTHON_DOWNLOADS=auto when doing uv sync by @Grinkers in #4191
  • FIX Graph Tooltip uses wrong font by @GithubAnon0000 in #4193
  • Add margin to QPushButton to prevent clipping by @jcznk in #4201
  • fix: set cursor to pointer when on range by @bradleyszoke in #4197
  • Minor string change by @brishtibheja in #4196
  • Fix default-coloured IO masks not following css var by @iamllama in #4202
  • Minor tweak in simulator string by @user1823 in #4204
  • Add translator to about.py by @Danika-Dakika in #4211
  • Fix wrong tab order in preferences by @abdnh in #4210

New Contributors

Full Changelog: 25.07.2...25.07.3

25.07.2

07 Jul 17:14
@dae dae
25.07.2

Choose a tag to compare

What's Changed

  • The first run of the launcher now installs the latest version automatically.
  • When choosing a specific version, recent versions are shown.
  • Feat/Confirmation box for save options to preset by @Luc-Mcgrady in #4172
  • Respect env var UV_BINARY with OFFLINE_BUILD being set by @AlexBocken in #4170
  • [A11Y] FIX: revert button is visible for screenreaders by @GithubAnon0000 in #4174
  • Try unix terminals in roughly most specific to least specific. by @Grinkers in #4177
  • Feat/Replace easy day table with display:grid by @Luc-Mcgrady in #4179
  • Fix/Help modal appears behind simulator modal by @Luc-Mcgrady in #4171
  • Aqt wheel: fix unintended inclusion of qt/aqt/data by @pHlt7 in #4180

Full Changelog: 25.07.1...25.07.2