Intro & Downloads


Beta versions may sometimes change your collection in a way that is not compatible with older Anki versions. If you wish to switch back to an older version, please go to the File>Switch Profile menu item, and click on Downgrade & Quit in the current version first.


If you run into any issues, please let us know on the beta testing section of the user forums.

Packaged Builds

You can get the latest packaged beta from AnkiWeb.

Via PyPI/pip

If you have a local Python 3.9+ installation, you can also install beta builds directly with pip.

Anki will be installed in a local Python folder called 'pyenv'.

Mac (both Intel/Apple), and Linux (x86_64)
$ python3.9 -m venv pyenv
$ pyenv/bin/pip install --upgrade pip
$ pyenv/bin/pip install --upgrade --pre 'aqt[qt6]'
$ pyenv/bin/anki
  • Repeat the last step if you wish to start the same Anki version again.
  • Repeat the last two steps to update to the latest beta and start it.
Linux (ARM)

As there are no PyQt packages on PyPI for Linux/ARM, you will need to have your distro's PyQt5 packages already installed. Eg on Debian 11:

$ sudo apt install python3-pyqt5.{qtwebengine,qtmultimedia}

Or on Fedora:

$ sudo dnf install python3-qt5-webengine

Then run the following:

$ python3.9 -m venv --system-site-packages pyenv
$ pyenv/bin/pip install --upgrade pip
$ pyenv/bin/pip install --upgrade --pre aqt
$ pyenv/bin/anki
  • Repeat the last step if you wish to start the same Anki version again.
  • Repeat the last two steps to update to the latest beta and start it.
c:\> python -m venv \pyenv
c:\> pyenv\scripts\pip install --upgrade pip
c:\> pyenv\scripts\pip install --upgrade --pre aqt[qt6]
c:\> pyenv\scripts\anki

Repeat the last step if you wish to start the same Anki version again. Repeat the last two steps to update to the latest beta and start it.

2021 Scheduler

Please see the FAQ page.

Changes in 2.1.66

Release Candidate 1

Build 70506aeb / 2023-08-20.

  • The v3 scheduler is now the default for new users.
  • When imports complete, a summary window is now shown (thanks to Abdo).
  • Media check now automatically extracts images that have been embedded in fields.
  • Handle importing of legacy AnkiDroid backups.
  • Fixed a sporadic error in the review screen (thanks to mjuhanne).
  • Fixed an error that could occur when syncing between newer and older clients.
  • Fixed tab order in find&replace screen (thanks to Gabriel).

Beta 1

Build 46915605 / 2023-07-26.

  • Windows and Mac builds have been updated to the latest toolkit version, which will hopefully fix some crashes/bugs. Please report any improvements or regressions you notice.
  • Use a different approach for detecting copy+paste from Anki fields, which may fix some crashes.
  • The minimalist/reduce motion toggles should no longer affect card content.
  • The built-in sync server can now be built without Python if you prefer.
  • Add keyboard shortcut for legacy stats (thanks to Luc).
  • Accessibility improvements (thanks to Derek and Kenny).
  • Fix addon update dialog showing twice (thanks to Rumo).
  • Fix bold toggle not working in certain circumstances (thanks to mmjang).
  • Align code blocks to left (thanks to shunlog).
  • Make weekday font smaller for Chinese locale (thanks to mmjang).
  • Improve performance of invalid ID fix in DB check.
  • Fix main window geometry/state not being restored in some cases (thanks to Abdo).
  • Handle invalid float mtimes in DB check.
  • Fix total note count not being logged in apkg import.
  • Report actual error when DbError occurs.
  • Fix two issues with MathJax editor (thanks to Hikaru).
  • Don't fail silently when an empty csv is imported.
  • Fix two issues that can cause editor fields to behave incorrectly (thanks to Hikaru).
  • When cards are in intraday learning queue, don't use original due.
  • Fix "Add-ons possibly involved" message never appearing on Windows (thanks to Abdo).
  • Add partial support for Hangul keyboard shortcuts during review (thanks to Christopher).
  • Disable add-on buttons when no field is focused by default (thanks to Abdo).
  • Fix toggleable editor button styles (thanks to Abdo).
  • Various other minor fixes and behind-the-scenes changes.

Dev related:

  • Fix incorrect handling of locals in debug console (thanks to Rumo).
  • Add did-add-field-hook analogous to did-delete-field (thanks to 3ter).
  • Fix run-qt5.15.bat (thanks to Hikaru).
  • Support more mime types for add_extension_based_on_mime (thanks to BenYip).
  • Make set_config_help_action work with submodules (thanks to Abdo).
  • Exclude Fabric's large canvas dependency (thanks to Kavel).

Changes in 2.1.62

Release Candidate 1

Build fd509efc / 2023-04-28.

  • Revert Windows build to Qt 6.4, due to the reports of slowdowns on 6.5. Upgrade from 6.4.2 to 6.4.3.
  • Add a new option to the card templates screen to restore a notetype to the default fields/templates/styling.
  • Add clearer tooltip to hourly breakdown graph (thanks to Rumo).
  • Fix focus loss when closing HTML editor (thanks to Hikaru).
  • Prevent MathJax editor from closing when you selected text with the mouse and released the mouse button outside the window (thanks to Hikaru).
  • Pass original deck name to custom scheduling code, instead of filtered deck name.
  • When importing an .apkg where notetypes have changed, display a clearer message, and only if the notes in the incoming collection are newer.

Beta 1

Build b5fa47e3 or bf05fae9 / 2023-04-12.

This build updates Qt6 on all platforms to the recently-released Qt6.5. Please report any regressions or improvements you notice.

  • The minimum macOS version for the Qt6 build is now macOS 11.

  • If you are on Linux and don't have ANKI_WAYLAND set, you may need to install libxcb-cursor or Anki will fail to start. Eg on Debian/Ubuntu:

    sudo apt install libxcb-cursor0

Other changes:

  • Fix MathJax editor not being sized correctly (thanks to Hikaru).
  • Fix a flicker when dropdowns shown with reduce motion on (thanks to Hikaru).
  • Add an option to fully randomize reviews in the V3 scheduler.

Changes in 2.1.61

Release Candidate 1

Build 5613113f / 2023-03-28.

  • Add time of date to browser date.
  • Allow Shift+Tab to move focus from tag area to last field (thanks to Hikaru).
  • Ensure sync spinner spins when reduce motion is enabled.
  • Fix new ignore review limit help (thanks to Rumo).
  • Fix stats calendar incorrect due to daylight savings time (thanks to Kieran).
  • Prevent the top bar from hiding in the stats page as you scroll down (thanks to Fabricio).
  • Start debug console with text area focused.

Beta 2

Build d0ab7acb / 2023-03-20.

  • You can now exclude certain fields from unqualified searches via the Fields screen (thanks to Abdo).
  • You can now import decks with broken timestamps - they'll automatically be fixed on import (thanks to Rumo).
  • A DB check will now fix broken timestamps (thanks to Rumo).
  • Reduce motion is now on by default, as it fixes an issue with the bottom bar failing to appear for some users.
  • Fix new limit in v3 decreasing more than it should (thanks to Rumo).
  • Fix current tag text not being saved when changing note via shortcut key (thanks to Hikaru).
  • Fix tags popover becoming separated from the tags field (thanks to Fabricio).
  • Custom schedulers now have the deck name and random seed passed in to them, so they don't need to extract the info from the DOM (thanks to Rumo).
  • Ensure the bottom buttons aren't displayed until the custom scheduling code has finished running (thanks to Rumo).
  • Refresh study screen if the user toggles the v3 scheduler (thanks to Rumo).
  • Fix notetypes screen not being closable after adding a notetype on Mac.
  • Improve debug console (thanks to Rumo).
  • Check for division by zero when calculating browser aspect ratio, which fixes an issue with i3 (thanks to Ben).
  • Fallback to Wayland if X11 is not available (thanks to Ingemar).
  • Tweaks to the build scripts to make packaging in distros easier (thanks to Euan).

Beta 1

Build 5ad29c37 / 2023-03-11.

Improvements to the V3 scheduler:

  • Added a global option to stop the review limit from limiting new cards (thanks to Rumo).
  • You can now enable review burying without new burying again (thanks to Rumo). There are some caveats - please see the bury tooltips in the deck options.
  • Ensure good is at least previous+1 even if low hard factor set.

Other improvements:

  • The tag area in the editor is now shown with a dropdown instead of a splitter (thanks to Matthias).
  • Add a button in the preferences to reset window sizes (thanks to Abdo).
  • Passing an invalid profile name on the commandline will now show profile picker instead of an error.
  • You can shift-click on a deck to select it as the current deck (thanks to Tobias).


  • Fix silent file save failures and bad default save path in Flatpak (thanks to Jack).
  • Fix HTML editor sometimes not properly sized when opening editor (thanks to Hikaru).
  • Fix error showing if user clicks in sidebar before it's rendered.
  • Fix backup creation for collections > 1 GiB (thanks to Rumo).
  • Fix black on grey minimalist buttons in Qt5 (thanks to Daniel).
  • Fix black on grey deck options on Qt5 (thanks to Daniel).
  • Export static references from sound tags (thanks to Rumo).
  • Fix packaged audio tools path on Windows (thanks to Abdo).
  • Fix a case where 'reduce motion' and 'minimalist mode' were switched (thanks to Daniel).
  • Fix panic with invalid sync server URL with port (thanks to Daniel).
  • Fix double scrollbars in deck options (thanks to Fabricio).
  • Fix images with non-Latin text and commas failing to display.
  • Fix editor text possibly being transfer to different notetypes (thanks to Fabricio).
  • Improve hover appearance of buttons (thanks to Matthias).
  • Fix inability to activate search in graphs screen on Android (thanks to yellowjello).

Changes in 2.1.57

Release Candidate 1

Build 14189a91 / 2023-01-26.

  • Fix non-Latin text wrapping in deck options dropdown (thanks to Fabricio).
  • Fix outer whitespace not being trimmed in type answer.
  • Fix style label being shown in preferences on Windows (thanks to Matthias).
  • Fix the future due graph counting learning cards on the wrong day.
  • HTML is now escaped in the deck list.
  • Improve styling of boxes in template editor (thanks to Matthias).
  • Fix 'View Files' not working with a relative base folder (thanks to Abdo).

Dev related:

  • Make it easier to override node/protoc binaries during a build (thanks to Mani)

Beta 1

Build 5cdfa7a6 / 2023-01-18.

More UI improvements/fixes thanks to Matthias, including:

  • The top toolbar area can now take on the color/background of the main window.
  • The top toolbar appears more subtle during review.
  • A new option in the preferences to automatically hide the top and bottom bar during review.
  • A new option in the preferences to enable a "minimalist" mode that makes the UI more compact/less fancy.
  • A new option in the preferences to switch between native styling and the Anki theme (on Mac/Linux).
  • The preferences screen has been redesigned to be easier to navigate.

Syncing has also been updated:

  • Tweaks to the sync protocol that should be transparent when syncing with AnkiWeb, but that will break syncing with third-party servers that haven't been updated yet.
  • The sync server bundled with Anki has been updated, and now supports syncing media as well. More information is available on

Other changes:

  • Switch to a different library for handling type-in-the-answer comparisons, which should give more reliable results, and not crash with certain inputs (thanks to Rumo).
  • Fix introduced:x not working correctly when negated (thanks to Rumo).
  • Fix ctrl+enter not working when importing screen first opened.
  • Fix image dimensions not being correctly constrained (thanks to Hikaru).
  • Fix incorrect total/average in added graph.
  • Fix newlines not appearing when importing a csv file with HTML disabled.
  • Fix quotes preventing field descriptions from showing.
  • Fix spaces not handled properly when entering text around MathJax (thanks to Hikaru).
  • Fix toolbar add-on breakages and introduce toolbar tray layout & API (thanks to Aristotelis).
  • Fix type-in-the-answer not supported nested cloze deletions.
  • Increase delay when adjusting clipboard, which may improve compatibility on some systems.
  • Update Windows/Linux builds to Qt 6.4.2.

Changes in 2.1.56

Release Candidate 1

Build bc697597 / 2023-01-04.

New features/improvements:

  • Cloze deletions can now be nested inside other cloze deletions (thanks to TRIAEIOU).
  • Inactive cloze deletions can now be styled with .cloze-inactive (thanks to TRIAEIOU).
  • Graphs in large collections now load approximately twice as quickly.
  • Add-on config help is now shown in a webview (thanks to Abdo).


  • Fix error popping up 12 hours after starting Anki on macOS and some Linux machines.
  • Fix unreadable text when searching in sidebar.
  • Fix fcitx not working on Linux Qt6 package.
  • Fix old graphs failing to appear.
  • Fix dark mode display issues on macOS/Qt5.
  • Fix images not being constrained to window width when image shrinking disabled.
  • Fix incorrect macOS minimum version in Qt5 build.
  • Fix lack of highlight for marked cards in day mode.
  • Fix pop-up menu in editor sometimes flashing (thanks to Hikaru).
  • Fix some issues entering text via IME around MathJax area (thanks to Hikaru).
  • Fix some regressions with the graphs when saving to a PDF.
  • Fix truncated text on some buttons.
  • Fix two mpv issues on Windows (thanks to Kelciour).
  • Tweak focus highlight of some widgets (thanks to Abdo).

For devs:

  • Improve web building/reloading experience (thanks to Aristotelis).
  • Fix an issue building the code with the latest git version.
  • Fix aqt type completion not working with PyPI wheel.

Changes in 2.1.55

Release Candidate 2

Build e0c4ba4b / 2022-12-14.

  • Better hover feedback on top menu (thanks to Matthias).
  • Fix cursor moving to field start when closing MathJax editor.
  • Fix disabled state not being conveyed in dropdowns (thanks to Matthias).
  • Fix inability to choose black in editor.
  • Fix MathJax popup not appearing when activated via mouse (thanks to Hikaru).
  • Fix RTL issues on first run.
  • Hide description button for filtered decks (thanks to Matthias).
  • Improve dropdown arrow appearance (thanks to Matthias).
  • Revert to Qt 6.3 on macOS, which fixes a flickering issue.

Release Candidate 1

Build f38c4e2f / 2022-12-09.

  • Close MathJax editor when Esc is pressed (thanks to Abdo).
  • Field collapse state and HTML editor no longer resets when card added (thanks to Matthias).
  • Fixed 'change notetype' starting with the wrong notetype selected.
  • Fixed MathJax editor not hiding as you select a different note.
  • Fixed more RTL issues (thanks to Matthias).
  • Fixed some dialogs failing to appear on new installs.
  • Fixed stuck animation when MathJax editor near edge of window (thanks to Matthias).
  • Fixed text color button not applying colors in some cases (thanks to Henrik).
  • Improve dropdown appearance and tweak change notetypes screen (thanks to Matthias).
  • Increased initial add-on dialog size.
  • Make up/down buttons in deck options more subtle (thanks to Matthias).
  • Pages like deck options now have a larger default size.
  • Possible fix for slow TTS on Windows.


  • Fixed a 'git failed' message that could occur when building.
  • Fixes to work with the latest timing library (thanks to Rumo).
  • Make it easier to replace hooks (thanks to zjosua).

Beta 7

Build fad1ff74 / 2022-12-04.

  • Fixed 'remove formatting' not handling formatting in the middle of a selection.
  • Fixed (or at least reduced) crashes on exit.
  • Fixed alternate table row color on macOS dark mode.
  • Fixed audio not playing on macOS.
  • Fixed glitchy animation of floating elements (thanks to Matthias).
  • Fixed incorrect field mapping in the change notetype screen.
  • Fixed interface being reversed on first run with RTL language.
  • Fixed some regressions in the tag editor. If you notice this causes empty tags to be added again, please let us know.
  • Fixed the current text input not being saved when clicking on the Save button without leaving the field first.
  • Fixed TTS throwing errors on Windows.
  • Give containers a brighter color than canvas (thanks to Matthias).
  • Improve button color/hover gradients (thanks to Matthias).
  • Improve the appearance of dropdowns, and fix layout in CSV import screen (thanks to Matthias).
  • MathJax preview is no longer subject to image shrinking.
  • Reduce flicker when showing congrats screen.
  • Slightly reduce padding in deck list (thanks to Matthias).
  • The Hard button on the first step is now capped to a maximum of 1 day greater than Again (thanks to Rumo).
  • The zoom level is no longer reset when moving between screens.
  • Tweak scrollbar colors for better visibility in dark theme (thanks to Matthias).
  • Tweak the appearance/behaviour of the increment/decrement buttons in deck options.
  • Use third grid column in graphs layout on wide screens (thanks to Matthias).
  • Added an option to force Windows/Linux-style appearance on Macs (thanks to Matthias). Enable with in the debug console, then restart.

Beta 6

Build ca116699 / 2022-11-28.

  • Fixed a number of issues with the tag editor (thanks to Matthias).
  • Fixed shortcuts to select all/delete tags not working (thanks to Hikaru).
  • Fixed non-native scrollbar and rubber-band scrolling in some screens on macOS (thanks to Matthias).
  • Reduce size of dropdown text (thanks to Matthias).
  • Tweak default styling to avoid overriding some shared deck styling (thanks to Matthias).
  • Tweak button styling to improve restyle add-on behavior (thanks to BlueGreenMagick).

For developers:

  • The build system has been switched from Bazel to Ninja.
  • Wheels are available on PyPI again.
  • Thanks to Stefan for a bunch of spelling/typo fixes to the code.

Beta 5

Build b88a7394 / 2022-11-23.

This beta is built with the new build system in PR #2022. The packages should behave as before, but if you notice any issues, please let us know. The wheels for this beta are missing from PyPi.

More UI tweaks thanks to Matthias:

  • Fixed the editor freezing when expanding/collapsing images.
  • Fixed the double border when 'reduce motion' is on.
  • Don't show/hide the field icons on hover when 'reduce motion' is on.
  • Move the options button in the editor to the left.
  • Fixed some issues with field descriptions not updating.
  • Fixed bad answer button display when answer times disabled.
  • UI size tweaks.

Other fixes:

  • Fixed inverted ctrl+right/left handling in RTL fields again (thanks to Abdo).
  • Add tooltip to More button (thanks to Hikaru).
  • Fixed incorrect location of tag completion pop-up (thanks to Hikaru).
  • Fixed a regression in some add-ons in the browser (thanks to Abdo).
  • Fixed an issue with the night theme class (thanks to BlueGreenMagick).
  • Improve handling of invalid UTF-8 in DB check.
  • Suppress the "Unknown error" message that the web toolkit can output on Windows.
  • Improve an add-on hook (thanks to zjosua).

Beta 4

Build e3c3405f / 2022-11-05.

Lots of UI fixes thanks to Matthias:

  • Add back thick field focus border.
  • Add margin to buttons in reviewer.
  • Duplicate outline in editor no longer gets hidden when field not active.
  • Fix a lack of styling in the review area.
  • Fix colors on things like flags changing unintentionally.
  • Fix dropdowns wrapping to the top.
  • Fix fields not showing with reduce motion active.
  • Fix HTML editor not showing content initially.
  • Fix issues with the reviewer answer button area.
  • Fix short deck options' help text appearing next to the title.
  • Fix some issues with displaying on the Qt5 build.
  • Fix various RTL issues.
  • Flatten buttons to match macOS style (thanks also to Hikaru).
  • Increasingly increment/decrement SpinBox value on long press.
  • Prevent deck options switches from toggling on label click.
  • Set same font size for all platforms and make editor UI a bit smaller.
  • Tweaks to browser column headers.
  • Use circle icon for radio box.
  • Use custom scrollbar in stats screen, use grid layout, and tweak styling.

Other fixes/improvements:

  • Fixed Apple Silicon macOS build failing to start.
  • Double-click on browse panes to split evenly (thanks to Aristotelis).
  • Fix browser sidebars appearing in wrong order in RTL mode (thanks to Abdo).
  • Fix headers in importing screen overlapping section content.
  • Fix MathJax pop-up appearing at bottom of screen.
  • Fix wrong deck preset being selected by default in some cases.
  • Improve the appearance of hte note/card switch toggle (thanks to Aristotelis).
  • Preload images on the front side of a card to reduce pop-in (thanks to Kelciour).
  • Remove untranslated 'see old deck options for add-ons' notice.

Beta 3

Build e5c4ccf0 / 2022-10-29.

More UI work, thanks to Matthias. The styling is not set in stone, so we'd appreciate you letting us know what you like better now, and anything you don't like.

  • Reworked the appearance of the main window.
  • Changes to the theming of things like buttons, particularly on Windows/Linux.
  • Improvements to the deck options screen.
  • Fixed field names appearing on top of field content, by finishing the work Henrik had previously done.
  • Improved appearance of add-on buttons in editor.
  • The tag area separator in the editor now snaps into place.
  • Improved the tag completion pop-up.
  • Lay some of the groundwork for custom color themes in the future.

Known issues in this beta:

  • The 'reduce motion' option in the preferences breaks the editing window.


  • Fixed indent/outdent shortcuts not working properly.
  • Fixed maximized browser window not being restored (thanks to Hikaru).
  • Fixed some issues with dragging tags/decks onto other tags/decks (thanks to Abdo).
  • Improve Anki's error handling, including some more informative error messages (thanks to Rumo).
  • Preserve background color when copy+pasting between fields.

Beta 2

Build e14f87ba / 2022-10-12.

More UI improvements thanks to Matthias:

  • Improve visibility/appearance of duplicate warning.
  • Fix selected tag not being highlighted.
  • HTML tag auto-close can now be toggled via settings button in editor.
  • Move MathJax preview toggle to settings button.
  • When MathJax preview disabled, newly added equations no longer pop-up the preview.
  • Cards/notes selector now uses full label.
  • Improve layout for RTL languages.
  • Add left/right padding to buttons.
  • Ensure dropdowns are shown within window margins.
  • Fix vertical misalignment of bottom toolbar buttons.
  • Fix misaligned settings button.
  • Fix unreadable tooltips in dark mode on Windows.
  • Fix daily limits in deck options incorrectly starting from 1.
  • Tweak border color in dark mode.
  • Tweak appearance of menus on Windows/Linux.

Other improvements/fixes:

  • Update Qt to 6.4, which performs better under Wayland. Please let us know of any improvements/regressions it brings.
  • Fix MathJax editor not being hidden when note added or switched.
  • Fix scrolling with keys/keyboard event listeners not working on answer side (thanks to Hikaru).
  • Fix styling of pop-over arrows (thanks to BlueGreekMagick).
  • Make it easier to read add-on errors (thanks to Abdo).
  • Fix type answer warning making text bold.
  • Fix font size not being removed when pasting between fields.

Beta 1

Build f72570c or 6944210 / 2022-09-28.

Various UI changes, thanks to Matthias:

  • The tags area can now be collapsed/expanded (thanks also to Henrik).
  • The editor in the browse screen can now be shown on the right.
  • Redesigned editor field appearance.
  • Fields can now be collapsed/expanded. The animation can be disabled in the preferences.
  • Added an option for fields to show the HTML editor by default.
  • Tweaks to the light and dark themes.
  • Tweaks to widget styling on Windows/Linux.
  • Ensure long words wrap in the editor.
  • Fix not being able to scroll when hovering over HTML editor.

V3 scheduler improvements, thanks to Rumo:

  • Custom scheduling now supports per-card data, enabling things like FSRS.
  • Decks can now specify daily limits independently of the deck preset. You can either specify a permanent override, or one that will reset when the next day comes around.

Import/export improvements, thanks to Rumo:

  • The new import/export code is now the default.
  • When scheduling is included, filtered decks are no longer converted to normal decks.
  • When a deck is specified in a CSV import, it's now created if missing.
  • Various other fixes.

Other improvements:

  • You can now control whether images are automatically shrunk or not in the editor.
  • Improvements to the MathJax editor (thanks to Henrik).
  • The MathJax preview can now be turned off.
  • You no longer need to add or remove a file to the media folder for file changes to be picked up.
  • The way your typed text is compared with the correct answer has been tweaked.
  • Anki now opens to the previously-active profile (thanks to Sam).
  • Remember previous choices in reposition dialog (thanks to Sam).
  • Card info now refreshes as a card is reviewed (thanks to Rumo).
  • Make dvipng use transparent background by default (thanks to gnnoh).
  • introduced:x now ignores manual reschedulings (thanks to Rumo).
  • Updated to Qt 6.3.2
  • The maximum answer time can now be set below 30 seconds.


  • You should no longer see strange behaviour when changing learning steps while cards are in learning (thanks to Rumo).
  • Cmd+Shift+C cloze shortcut should be more responsive on macOS now.
  • Fix sidebar appearing as small window in some cases (thanks to Hikaru).
  • Add screen can be closed with Cmd+W on macOS (thanks to Sam).
  • Fix {{CardFlags}} not working with flags 5-7
  • Fix an error showing when making network connections on macOS after leaving Anki open for a few days.
  • Fix certain installed TTS voices on Windows causing errors.
  • Fix daily counts being included in apkg import.
  • Fix fields sticking in add screen when they shouldn't (thanks to Henrik).
  • Fix flicker when remapping imported notetype field (thanks to Rumo).
  • Fix incorrect header text alignment in Qt 6.3.1 (thanks to Rumo).
  • Fix non-admin users having trouble with Anki on macOS.
  • Fix reviewer shortcuts being inaccessible due to IME
  • Fix scheduler change not reflected after normal sync.
  • Fix slow field pin/unpin with large notetype (thanks to Rumo).
  • Fix the UI getting stuck at startup when multiple pop-ups appear (thanks to Sam).
  • Keep content of unmapped fields when importing CSV (thanks to Rumo).
  • Possible fix for error when copying text in editor
  • Preserve background-color when pasting external content in light mode.
  • The HTML editor no longer automatically closes tags.

Changes in 2.1.54

Release Candidate 3

Build a8e34ce4 / 2022-06-22.

  • Fixed fields sticking in add screen when they shouldn't (thanks to Henrik).
  • Fixed incorrect header text alignment in Qt 6.3.1 (thanks to Rumo).
  • Automatically map tags field in new import screen (thanks to Rumo).

Release Candidate 2

Build 30c6bd58 / 2022-06-21.

  • Fixed broken column headers in Browse screen. You'll need to reconfigure your columns after updating.
  • Fixed undo history being cleared and error showing when double-tapping delete in Browse screen.
  • Fixed field descriptions appearing underneath field text (thanks to Hikaru).
  • Changing field delimiter in new import screen rebuilds field map.
  • Editor API improvements (thanks to Henrik).
  • Add ellipsis to Forget action.

Release Candidate 1

Build 595c9273 / 2022-06-18.

A new CSV importer & exporter, thanks to Rumo:

  • Shows a preview based on the selected field separator.
  • Column mapping includes field text for reference.
  • Multiple decks and notetypes can now be imported/exported at once, as columns can be mapped to deck or notetype name.
  • Supports exporting and importing a unique identifier for a note, to use instead of a matching first field. This removes the need for the 'add note id' add-on.
  • Extends the header syntax so that files can specify metadata such as the desired field separator, and the mapping of fields.
  • The new functionality is not enabled by default, and can be enabled with a checkbox in the preferences screen. This also enables the new apkg import/export code introduced in 2.1.52. If you use the Special Fields add-on, you will need to disable this option in order to use the add-on.

Update to Qt 6.3.1:

  • Fixes complex-language input (eg Japanese, Hindi, etc) on macOS being flaky.
  • Fixes unwanted text when copying from the review screen on Windows.
  • Fixes a startup failure with certain Linux keyboard configurations.

Other changes:

  • Accept .zip extension when importing add-ons (thanks to Abdo).
  • Add support for getting light/dark mode status with latest freedesktop standard (thanks to Bart).
  • Field descriptions in the editor are now shown inline, instead of in a tooltip (thanks to Matthias).
  • Fixed a rounding issue when describing time intervals of a year or more.
  • Fixed an error that occurred after a one-way download fetched a collection with a different scheduler version enabled.
  • Fixed desktop hanging when attempting to add a new notetype in KDE (kwin).
  • Fixed flag names not updating after sync until Anki restarted.
  • Fixed inability to enter underscore in tags area on some keyboard layouts (thanks to Henrik).
  • Provide a way for the review screen to support drop events (thanks to Abdo).
  • Other minor fixes and improvements.

Changes in 2.1.53

Release Candidate 2

Build 96bacf79 / 2022-05-26.

  • Possible fix for crashes on some machines when closing windows.
  • Fix automatic backups popping up progress window when Anki minimized.
  • Fix cards not being generated after template edits.
  • Fix deck options top bar disappearing as you scroll down.
  • Fix duplicate Anki icons appearing in dock on macOS.
  • Fix duplicate first character in certain ibus configurations (thanks to wisherhxl).
  • Fix some MathJax directives failing to render in editor.

Release Candidate 1

Build f6ecddef / 2022-05-20.

Editor changes:

  • Rework image resizing (thanks to Henrik). Images expand to the editor width by default now, and images that are resized for the editor will remain that way if you switch fields, or navigate to a different note and back.
  • Existing height constraints on images are stripped when resizing (thanks to BlueGreenMagick).
  • The MathJax editor now provides buttons/shortcuts to cloze-delete selected text (thanks to Henrik).
  • MathJax preview now hides cloze markers.
  • Style tags are no longer stripped when editing (thanks to Henrik).
  • <br> tags in MathJax are now handled correctly (thanks to Henrik).
  • MathJax in the review screen now supports mathtools, and available packages in editor and review screen match (thanks to Henrik).
  • Move focus into HTML editor when hiding normal editor (thanks to Henrik).
  • Image tags now have the alt property preserved when pasting.

Other changes:

  • Fixed future due graph incorrectly including new cards.
  • Custom study reports counts of child decks separately in v3 scheduler.
  • Fixed initially-incorrect tooltip position in graphs (thanks to BlueGreenMagick).
  • Fixed an error sometimes appearing in the browser when deleting notes (thanks to Rumo).

Changes in 2.1.52

Release Candidate 3

Build ab1c2395 / 2022-05-10.

The Qt 6.3.1 release we were waiting on has been delayed by a month, so 2.1.52 is now expected to release as stable within the next week, if no important issues come up.

Editor improvements:

  • Ctrl/Cmd+A in tag editing area now selects all tags (thanks to BlueGreenMagick).
  • Pressing tab on the last field now moves focus to tag area (thanks to Henrik).
  • Reduce size of editor buttons on Windows/Linux (thanks to Henrik).
  • Tags copied from the tag editor are no longer joined together when pasted into the add tags/remove tags dialogs (thanks to Henrik).
  • Fixed &amp; showing up when using & in MathJax (thanks in part to Henrik).
  • Fixed various issues with tag editing (thanks to BlueGreenMagick and Henrik).

Other fixes:

  • Fixed scrollbars showing in bottom area of review screen (thanks to Matthias).
  • Fixed v3 scheduler allowing one extra card when review limit reached (thanks to Rumo).
  • Fixed Anki needing to close when invalid modification times encountered by the browser on Windows.
  • Fixed new importer failing to import a subdeck export (thanks to Rumo).
  • Improve progress feedback when using the new importing and exporting code.
  • New import code supports .zip filenames, and runs on drag/drop + file double-click cases as well.

For developers:

  • The field_filter hook can now check if it's running for the question or answer side (thanks to Abdo).
  • Added a av_player_will_play_tags hook (thanks to Abdo).

Release Candidate 2

Build 63f05b2b / 2022-05-02.


  • The Qt5 Mac build now caps tag autocomplete matches to 10, as showing more is extremely slow in the old toolkit version.
  • Fix custom study applying the previously-input limit, instead of the current one.
  • Fix an error when previewing cards and selecting multiple cards (thanks to Rumo).
  • Removed the highlight on the Show Answer and Good buttons.
  • Make it easier to search in fields programmatically (thanks to Abdo).

This build also includes a new implementation of apkg importing and exporting, thanks to Rumo. Some advantages:

  • Undo/redo is now supported.
  • Faster imports (especially for decks with a lot of note content).
  • Support for older clients can be optionally disabled, which results in smaller apkg files, and faster imports.
  • Flags are removed when scheduling is excluded.

The new functionality is hidden behind a feature flag, and not active by default. You can try it out by using in the debug console. To revert to the old behaviour, replace True with False.

Things to note:

  • This is new code that has received limited testing so far, so please use File>Create Backup before trying it out. Any testing/feedback you can provide would be appreciated.
  • While active, it is not currently possible to export files other than apkg/colpkg.
  • The Special Fields add-on will not work while this functionality is enabled.

Release Candidate 1

Build a989e508 / 2022-04-25.

  • Update Qt to 6.3, which fixes slow loading of large images, and inertial scrolling on macOS.
  • List text is now aligned to the left by default (thanks to Matthias).
  • Reset page zoom when moving between different screens.
  • Fixed backspace sometimes removing multiple images at once (thanks to Henrik).
  • Fixed colpkg imports not being cancellable (thanks to Rumo).
  • Fixed copying and pasting MathJax on Windows (Qt6).
  • Fixed current working directory changing on apkg export.
  • Fixed custom browser font not being honored (Qt6).
  • Fixed due graph showing wrong date for review cards in a filtered deck with rescheduling disabled.
  • Fixed some formatting being lost when copying between fields on Windows (Qt6).
  • Fixed grey background in type answer text + dark mode (thanks to Matthias).
  • Fixed handling of < and > symbols in MathJax (thanks to Henrik).
  • Fixed intermittent editor loading failures when add-ons have injected a large amount of code.
  • Fixed pasting of local files of unsupported types that contain spaces (thanks to Abdo).
  • The Qt6 Linux build now defaults to X11/XWayland instead of Wayland due to some remaining issues; you can force-enable Wayland with ANKI_WAYLAND=1.

Changes in 2.1.51

Release Candidate 2

Build a7cb5e21 / 2022-04-19.

  • Fixed compatibility with older macOS versions.
  • Fixed formatting being turned off when pressing shift (thanks to Henrik).
  • Remember original card position when using 'set due date' on a card (thanks to Rumo).
  • Fixed compatibility with 'card info during review' and similar add-ons.
  • Fixed illegible calendar buttons in dark mode on Mac/Linux.
  • Fixed stats PDF being illegible when saving in dark mode after scrolling down (thanks to Luka).
  • Use <b> and <i> formatting tags, instead of <strong> and <em>.
  • Fixed an issue with the search history when clicking on items in the sidebar (thanks to Rumo).
  • Anki now closes the Browse screen before full sync or colpkg import/export, so it doesn't show errors.

Release Candidate 1

Build 51a0641b / 2022-04-10.

  • Reviews in the V3 scheduler can now optionally be sorted by relative overdueness (thanks to Abdo).
  • Improve editor startup time, especially with many fields (thanks to Henrik).
  • Automatically re-enable disabled add-ons when user explicitly reinstalls them, and improve conflict handling (thanks to Aristotelis).
  • Fixed an issue that was breaking some add-ons when running on Windows without using anki-console.bat
  • Fixed card layout screen opening too wide if card template name was long (thanks to Sam).
  • Fixed full sync not being triggered when changing sort field.

Changes in 2.1.50

Release Candidate 4

Build 26d40c3a / 2022-04-06.

  • The editing speedup change has been pushed back to 2.1.51 due to a bug.
  • For Qt6, the video driver now defaults to OpenGL on Windows/Linux, like earlier betas. The option in the preferences has been hidden again, and a new file introduced for adjusting behaviour:

Release Candidate 3

Build c96ef8cd / 2022-04-05.

  • The editor loads faster now, especially with lots of fields (thanks to Henrik).
  • It is now possible to choose between OpenGL and software video drivers in the preferences on Qt6.
  • Fixed background color mismatch in the editing screen.
  • Fixed highlight color button using text color (thanks to Henrik).
  • Fixed invisible tag input in Qt5 (thanks to Hikaru).
  • Set caret inside chemical expression in MathJax (thanks to Henrik).
  • Minor change to prevent the Advanced Browser add-on breaking.

Release Candidate 2

Build 6718e678 / 2022-03-31.

  • Added a separate cloze button to repeat the current cloze (thanks to Henrik).
  • Fixed an error when importing some colpkg files from older Anki versions that contained media.
  • Fixed an issue with adding items to the editor toolbar from an add-on (thanks to Henrik).
  • Fixed cloze shortcut on Windows.
  • Fixed invalid HTML in field causing Anki to hang (thanks to Henrik).
  • Force decimal separator to be a period in the deck options, to work around blank boxes in the Qt6 build.
  • New cards no longer have their position changed by the Forget action when "restore position" is enabled, and the cards don't have an original position (thanks to Rumo).

Release Candidate 1

Build ebe33a99 / 2022-03-29.

  • Fixed a serious issue with repositioning/removing card templates in the card layout screen, that was present since beta 3 (thanks to Rumo for the fix).
  • Fixed "create cloze with same number" shortcut on Qt6/macOS (thanks to Henrik).
  • Fixed cursor sometimes not moving into MathJax editor, leading to accidental deletion (thanks to Henrik).
  • Colpkg imports now always require a full sync.
  • Fall back on regular file deletion when no recycling bin/trash folder is available on Linux.
  • Randomized card positions now start at 1, which avoids a corner case in filtered deck scheduling.
  • Rows with database inconsistencies in the browse screen now prompt you to use "check database" instead of saying they were deleted (thanks to Rumo).
  • The 'future due' graph no longer shows learning cards in a filtered deck as being due a long time ago.
  • When Anki encounters an issue with a card template, it now provides a link to a help page with more information (thanks to Rumo).

Beta 9

Build 4515c41d / 2022-03-21.

  • Fixed a serious issue with changing card numbers in Change Notetype that was present since beta 3. (thanks to Arthur for the reproduction steps).
  • Anki can now create backups periodically, instead of only on close. The default is every 30 minutes; you can adjust this in the preferences screen.
  • The File menu now has an option to create a backup immediately.
  • When using Custom Study to extend deck limits in the V3 scheduler, parent/child limits of the selected deck are no longer adjusted (thanks to Rumo).
  • Fixed an error that could occur in the browser when switching profiles (thanks to Hikaru).
  • Improvements and optimizations to colpkg exports/imports (thanks to Rumo).

Beta 8

Build 02c580e4 / 2022-03-17.

  • Various fixes for .colpkg importing and exporting. We're reasonably confident the bugs have been ironed out at this point, but would appreciate you giving them a try and confirming the new code works well for you.
  • .colpkg files created with the previous beta will not be importable into this build. If you created a .colpkg file with beta 7 and need to recover data from it, please get in touch and we can help you out.
  • Fixed addMedia() call used by some add-ons (thanks to Henrik).

Beta 7

Build 02ba50f2 / 2022-03-15.

This release has been yanked due to bugs in colpkg imports. Please wait for the next beta.

  • Reworked .colpkg import/export (thanks to Rumo):
    • When exporting, you can optionally target Anki 2.1.50+. When doing so, imports and exports are faster, and media files will be compressed, but the resulting .colpkg will not be readable by older Anki clients.
    • Collections are now checked for corruption when importing.
  • Various fixes for the editor (thanks to Henrik):
  • Allow longer maximum answer times in the deck settings (thanks to Bruce).
  • The custom study screen no longer (sometimes incorrectly) limits the amount you can extend the daily limits by.
  • Fix an intermittent error when building on Windows.

Beta 6

Build a495fbaa / 2022-03-09.

  • Reworked backup handling (thanks to Rumo):
    • Backups are created much faster than they were previously, which allows Anki to close faster when you have a large collection, while still compressing the backups.
    • There are new options in the preferences to control the number of daily, weekly and monthly backups you'd like to retain. Anki will keep all backups made in the last 48 hours, but avoids making more than one every 5 minutes when you're rapidly opening and closing your profile.
    • Because the backup storage format has changed, backups created with 2.1.50 will not be importable into older Anki versions. Manually-exported colpkg files are still compatible with older Anki versions.
  • When exporting a shared deck with scheduling disabled, the original card position will be restored if it is available (thanks to Rumo).
  • The Forget action now gives you options to restore the original card position, and to reset the card's lapse and repetition counters (thanks to Rumo).
  • You can now search for tags by regular expression (thanks to Rumo). One use for this is locating notes that are tagged with a parent tag, while not matching ones tagged with parent::child: tag:re:^parent$.
  • Added a silent option (/s) for the Windows uninstaller (thanks to Patric).
  • Fixed add-on config screen failing to show in bundled build.
  • Fixed buried counts being shown when v2 scheduler enabled.
  • Fixed MathJax sometimes being deleted when it wasn't visibly selected (thanks to Henrik).
  • Fixed newline shortcut in MathJax editor (thanks to Henrik).
  • Fixed shortcut/button to add a new tag (thanks to Henrik).
  • Fixed some parts of the media handling code matching more HTML tags than it should have (thanks to Brayan).
  • Fixes for the bury count on the overview screen (thanks to Rumo).

Beta 5

Build 3564ece6 / 2022-02-25.

Editor fixes, thanks to Henrik:

  • Fixed < and > not working correctly in the MathJax editor.
  • Fixed media files not being inserted at cursor position on Windows.
  • Cloze shortcut correctly positions cursor.
  • Adjust color picker shortcut, and apply color when different color selected.
  • Make it easy for add-ons to adjust the HTML editor theme.

Other changes:

  • Fixed the errors when using the preview button in the browser, and more work on memory leaks (thanks to Rumo).
  • Truncate deck names in the deck list if they are too long (thanks to Sachin).
  • Flags are undoable again, and should update correctly in the browser.
  • Hide the 'bury interday siblings' options when the V2 scheduler enabled.

Beta 4

Build 4ed499fb / 2022-02-23.

V3 scheduler changes, thanks to Rumo:

  • When new cards are answered for the first time, Anki will remember their original position, and it can be seen in the card info. An option to restore cards to their original position manually and on export will likely come in the next beta.
  • The overview screen now shows how many cards will be buried. Please report any inaccuricies, as it is possible a different approach will be needed.
  • Added a separate option to control burying of interday learning siblings. This is currently incorrectly shown when the V2 scheduler is enabled as well.
  • When a Hard learning step exceeds a day, it is now rounded to a full day, so the delay does not vary depending on the time of day you answer.

Other new features:

  • The way bold/italics/etc is applied in the editor has been reworked to be more robust, thanks to Henrik. This has resulted in tweaks to the formatting button order, and the clear formatting button now lets you configure what formatting should be removed.
  • An option to ignore accents in searches by default has been added to preferences screen (thanks to Abdo).
  • Added a View menu to the main window and browse window (thanks to Rumo).


  • Added a "Learn" label to the learning counts in the deck list.
  • Fixed an error loading the old deck options screen when using Python 3.10.
  • Fixed an error when an installed TTS voice on Windows supported multiple languages (thanks to Rumo).
  • Fixed an error when exporting a collection with media files in it with very old modification dates (thanks to gnnoh).
  • Fixed junk appearing in the clipboard when copy/pasting on Windows, by rolling Qt back to the previous version.
  • Fixed newly-added deck not being selected in the Add screen (thanks to Hikaru).
  • Fixed sound failing to play after exporting a collection (thanks to Rumo and Kelciour).
  • Fixed various memory leaks (thanks to Rumo and Hikaru).
  • Flag changes no longer add an undo entry, which fixes some potential errors and unpredictable undo behaviour.
  • Reduced flicker when opening browser in night mode (thanks to Rumo).
  • Some behind-the-scenes code improvements (thanks to Sam).

For developers:

  • mw.progress.timer() should now be passed a parent argument, as the previous default of using mw prevents the timers from being freed after they are no longer active.
  • Improved Python code completion/type handling in VS Code (thanks to Rumo).

Beta 3

Build 95dbf30f / 2022-02-10.

V3 scheduler changes, thanks to Rumo:

  • Intermediate limits are now respected. For example, if you have a deck tree of A>B>C>D, and click on B, then deck C is limited by deck B, and deck D is limited by both deck B and deck C. This is similar to the way the previous schedulers behaved, except the decks above the one you click on do not contribute to the limit.
  • The gathering and sorting of new cards has been reworked, trading a little performance for more intuitive behaviour:
    • It is now possible to sort notes or cards randomly at gather time, ensuring a random selection is taken from all available new cards.
    • The gather order and sort order options have been simplified, but should offer the same functionality as before. Please check your deck options after upgrading, as some users may need to adjust their display order settings to match what they were using before.
  • If you have more than 2 learning steps, after the first step, Hard repeats the previous delay, instead of being the average of the previous and next step.
  • Review cards and new cards are now interspersed more evenly.

Improvements to the editor, thanks to Henrik:

  • You can now use the keyboard left/right keys to move into/out of the MathJax editor.
  • The HTML editor now matches the current Anki theme.
  • Fixed an issue that could prevent image resizing.
  • Fixed IME input after pressing tab.
  • Fixed currently-focused field not updating contents after an undo operation or find&replace.
  • Fixed leading HTML comments being stripped by the HTML editor.
  • Lots of other behind-the-scenes changes (see the developers section below) and fixes.

New features:

  • Be smarter about mapping existing text to new fields when switching notetypes in the Add screen (thanks to Abdo).
  • A new TTS tag format that allows you to combine extra text and multiple fields, such as [anki:tts lang=en_US]Here is {{Field1}} and {{Field2}}[/anki:tts] (thanks to Rumo). There are no plans to deprecate the old TTS syntax - either can be used.
  • Apkg files can now be dragged on the main window to import them (thanks to Abdo).
  • "Create Copy" uses the current card's deck, and can be also accessed via shortcut from the review screen (thanks to Rumo)
  • Added Belarusian and Odia to available languages in the preferences.
  • When switching Anki versions, an add-on update check is run on startup (thanks to Rumo).
  • Make links with target=_blank work (thanks to Danish).
  • Added "Forget Card" action to review screen (thanks to Araceli).

Fixes and other improvements:

  • Compression on automatic backups has been turned off, which can make Anki much faster to shut down with large collections (eg 7.9s->0.45s). Compression will likely come back in the future when we can integrate a more efficient compression library.
  • Add back the missing "Show Duplicates" link in the editor (thanks to Matthias and Henrik).
  • Added shortcut keys for creating lists and indentation (thanks to Rumo).
  • Behind-the-scenes improvements to the deck and notetype selectors (thanks to Sam).
  • Change cards/notes toggle to Ctrl/Cmd+Alt+T to avoid conflict on macOS.
  • Deck creation in the custom study screen has been reworked, and now supports undo properly (thanks to Rumo).
  • Don't show error when gsettings exists but does not have a GNOME theme set (thanks to Spooghetti420).
  • Don't show error when Windows color scheme setting is missing (thanks to qxo).
  • Filtered decks in 'order added' now sort by card template.
  • Fixed a number of issues with the preview window (thanks to Hikaru).
  • Fixed AltGr triggering Ctrl+Alt shortcuts on Windows (thanks to Rumo)
  • Fixed an error that could appear when clicking on the sidebar (thanks to qxo).
  • Fixed error shown when double-tapping answer buttons on the v3 scheduler.
  • Fixed external scripts being executed out of order (thanks to Hikaru).
  • Fixed field content sometimes spilling outside container (thanks to Hikaru).
  • Fixed flicker in review screen when referencing external js, and preload css files (thanks to Hikaru).
  • Fixed interday learning siblings not being buried during review, causing them to reappear later after actions like an edit.
  • Fixed new card position appearing as a date when cards were in preview (thanks to Abdo).
  • Fixed unwanted <div> being left behind when deleting field contents (thanks to Hikaru).
  • Hide "open new window" action in GNOME (thanks to Fusion future & Felipe)
  • Improve search highlight color in templates screen (thanks to Abdo).
  • Improved display of the card info screen (thanks to Rumo).
  • Improved localization of large numbers in the graphs, and various layout tweaks (thanks to Vova).
  • Performance improvements for searching through many fields with a wildcard search (thanks to Rumo).
  • Report correct count in timebox screen with v2 scheduler (thanks to Abdo).
  • Support Markdown inside HTML tags in (thanks to Abdo).
  • The note: and card: searches no longer do a substring match (thanks to Rumo).
  • The calendar graph uses consistent coloring as years are changed (thanks to Ryan).
  • The top and bottom bars will no longer zoom in/out, but the main area and editors can be zoomed in and out (thanks to Rumo).
  • Tweaks to the sidebar icons (thanks to Henrik).
  • Updated translations - thanks as always to all the translators.
  • Use white menubar on Windows (thanks to Rumo).
  • Various behind-the-scenes fixes (thanks to Arthur).

Packaging changes:

  • The building of the Anki packages has been reworked. Everything should hopefully behave as before; if you notice any problems, please let us know.
  • Update to (Py)Qt 6.2.3.
  • Update mpv to 0.34 on Windows.
  • Fcitx5 support is now bundled with both the qt6 and qt5 Linux packages.
  • Drop the experimental arm64 Linux package.

Notes for developers:

Henrik has spent a lot of time working out how to smoothly provide an API for the editor, and investigating how we can provide types to make targeting the API easier. This has required a number of refactorings, and some add-ons that were accessing the editor will have broken again in this update. While the code is not set in stone yet, hopefully we're getting there. An example of using the latest API is available here:

Beta 2

Build db804d95 / 2021-12-09.


  • The Apple Silicon build now supports recording, and is fully native - Rosetta is no longer required.
  • The Qt6 Intel build now has a minimum macOS requirement of 10.14.4.


  • Fixed not being able to run Anki after running

  • Added an experimental arm64 packaged build. PyQt and Qt are not included, so you need to link in your distro's version of PyQt5.15. For example, after untarring the file and changing into the top level directory with the 'anki' executable:

    # eg Debian 11:
    sudo apt install python3-pyqt5.{qtwebengine,qtmultimedia}
    ln -sf /usr/lib/python3/dist-packages/PyQt5 lib/
    # eg Fedora 34:
    sudo dnf install python3-qt5-webengine
    ln -sf /usr/lib64/python3.9/site-packages/PyQt5 lib/

    You may also be able to use the above technique for switching the x86_64 builds to your system's PyQt version - just delete the PyQt5 or 6 folder before linking your system version in.

  • Fcitx users: this build includes libraries that may allow the Qt5 build to work with Fcitx. Please let us know if they work for you or not.


  • Added a "Create Copy" option in the browse screen, to copy selected note's contents into the Add window (thanks to Rumo).


  • Make scrollbars dark again in night mode (thanks to Hikaru).
  • Various improvements to right-to-left display (thanks to Abdo).
  • Fixed an error being shown when gathering new cards in descending position in the v3 scheduler.
  • Fixed unwanted height/width settings when copying images between fields (thanks to Henrik).
  • Reduced editor button size on Windows/Linux (thanks to Mathtias).
  • Support autoplay in audio tags again (thanks to Andreas).
  • Don't save window position when they're full screen, as Qt doesn't handle it well (thanks to Rumo).
  • Fixed the main window sometimes failing to load properly when Anki starts (which could lead to blank windows, a giant sync icon, etc).
  • Miscellaneous other fixes, thanks to Abdo, Matthias, TheFeelTrain and Arthur.

Beta 1

Build 43c41d76 / 2021-12-04.

Toolkit changes:

  • The packaged builds now come in separate Qt5 and Qt6 versions.
  • Qt6 is a recently-updated version of the toolkit. It fixes some issues that existed in Qt5, but it may introduce new problems. We recommend you try it first.
  • Qt5 is the graphics toolkit used to build previous Anki releases. If you find that Qt5 works for you and Qt6 does not, please let us know.


  • Windows 10 or 11 is required. If you are still using Windows 7 or 8, 2.1.49 is the last build that will install on your system.


  • There is now a native build for Apple Silicon. It currently does not support recording, and the audio playback still uses Intel binaries, so you will still need Rosetta installed. Only Qt6 is available for Apple Silicon.
  • The Qt6 x86 build requires macOS 10.14.
  • The Qt5 x86 build requires macOS 10.13.4.


  • The Linux builds need zstd to decompress, eg:
sudo apt install zstd
tar axf anki-2.1.50-linux-qt6.tar.zstd
  • The x86 builds require glibc 2.27 or later.
  • A wheel is now provided for ARM64 Linux, and requires glibc 2.31 or greater. A packaged version is not currently possible.
  • No fcitx driver or gtk2 theme is bundled with the packaged builds at the moment.

Major editor changes, mostly thanks to Henrik:

  • A redesigned tag editor.
  • MathJax has a live preview.
  • HTML and rendered text can be viewed at the same time.
  • Images can be resized within the editor.
  • Fields can now have an optional description/tooltip assigned to them (thanks to Matthias, Henrik & Rumo).
  • Lots of behind-the-scenes changes. Because of the extensive changes, some add-ons that modify the editing screen will have broken.

Scheduler changes:

  • The V1 scheduler is no longer supported. If you have not yet updated to V2 or V3, you will be prompted to update when you attempt to review cards in 2.1.50.
  • The V3 scheduler will be declared stable when 2.1.50 is released.
  • The V3 scheduler applies fuzz more evenly now, especially with smaller intervals (thanks to Rumo).
  • Fixed new cards not decrementing the review limit in V3, which could lead to more new cards appearing after the review limit was reached.
  • Fixed new cards not appearing in the correct order in the V3 scheduler.

Other new features:

  • Anki will now switch to day or night mode automatically depending on your system settings. You can force day or night mode in the Preferences screen. (thanks in large part to Rumo).
  • The Card Info screen now updates automatically as you change to a different card (thanks to Rumo).
  • Added a shortcut to make Anki full screen (F11 or Cmd+Ctrl+F, thanks to Rumo).
  • Added tooltips to some browser columns (thanks to Rumo).
  • Added an option to add/remove sidebar tag to selected notes (thanks to Rumo).

Other improvements:

  • Improvements to the Change Notetype screen (thanks to Matthias).
  • Improved performance with large selections in the Browse screen (thanks to Rumo).
  • Fixed the deck list showing up blank in collections with many expanded decks.
  • Changed the "Previous Card Info" shortcut to avoid a conflict with language input.
  • Possible fix for intermittent UI glitch on initial startup (thanks to Evandro).
  • Flip sidebar location in RTL mode (thanks to Abdo).
  • Fix deck name not updating after deck/notetype renamed (thanks to Hikaru).
  • Fixed "tag duplicates" possibly operating on stale data (thanks to Ren).
  • The Add Cards screen will no longer allow accidental triggering of main window shortcuts when it is open on a Mac (thanks to Rumo).
  • Fixed incorrect card count in timebox after undo (thanks to Abdo).
  • Fixed quotation of "and" and "or" in search (thanks to Rumo).
  • Numerous other fixes and contributions, thanks to Rumo, Henrik, Abdo, Matthias, Evandro, Arthur, Soren, BlueGreenMagick, Yoshi, Jakub, Gesa, blue-putty, stopendy, and zjosua.

For developers:

  • Anki now requires Python 3.9.
  • Anki contains some compatibility shims that should allow many add-ons written for PyQt5 to work with PyQt6 as well (thanks to Aristotelis). These shims will not remain forever, so it is recommended that you update your add-ons to be compatible with Qt6 without shims. The two main breakages are the renaming of PyQt5 to PyQt6 (you can support both by importing from aqt.qt instead), and the requirement that enums are qualified.
  • If you’re using Qt Designer to generate UI files, the Qt5 and Qt6 versions need to be generated and bundled separately if you want to support both at once.
  • PyQt6 does not support the Qt resource system (pyrcc was removed), so Anki now uses a different approach, and urls like :/icons/foo.jpg should become icons:foo.jpg.
  • The way Anki is packaged has changed. Most of the standard library should be available now. If you notice any problems importing standard libraries that previously worked, please let us know.
  • The aqt package no longer depends on PyQt, as either version 5 or 6 is supported. You can specify the major version you want when installing - eg pip install 'aqt[qt6]'
  • manifest.json now supports a 'homepage' argument (thanks to Abdo)

Changes in 2.1.48

Release Candidate 2

Build 466d67ca / 2021-09-16.

  • Possible fix for reported sound issues.
  • Wayland is off by default again, but can be enabled by starting Anki with ANKI_WAYLAND=1 defined.

Release Candidate 1

Build af2ec0b9 / 2021-09-13.

  • Add "Previous Card Info" action to review screen (thanks to Evandro).
  • Changes to the packaging to (hopefully) support Wayland.
  • Fix flag names not updating on profile switch (thanks to Rumo).
  • Hide "Rename with Parents" for top-level items (thanks to Rumo).
  • "Add Field" action now correctly handles multi-word font names.
  • Fix newline being added when coloring text (thanks to Henrik).
  • Fix incorrect system font when running Anki in some non-English languages.
  • Fix learning count sometimes jumping to a large number in the v3 scheduler.
  • Fix console warning when playing audio (thanks to Evandro).
  • Another fix for Reposition command not working on buried/suspended cards.
  • Preserve focus when changing notetype in the Add screen.
  • Miscellaneous other fixes.

Changes in 2.1.47

Release Candidate 2

Build 3077a1f9 / 2021-08-25.

  • Fixed calendar graph day labels showing incorrectly in some timezones.

For add-on developers:

  • The Svelte components Anki exports should now work correctly in add-ons, provided they exclude svelte when bundling.
  • WithShortcut is now also available.

Release Candidate 1

Build dffa38c4 / 2021-08-22.

Changes to the v3 scheduler:

  • Interday learning cards are included in the learning count again, instead of the review count.
  • Interday learning cards are still affected by the review limit. Interday learning cards are fetched first, then reviews, and finally new cards.
  • Filtered decks with rescheduling disabled now log reviews, so the reviews will appear in your graphs.
  • Added an option to sort reviews by ascending/descending ease.
  • Fixed an issue where an error message could appear after undoing/redoing a mix of reviews and other changes.
  • Fixed custom scheduling not working.

Other changes:

  • The "timebox finished" message is now shown on card answer, instead of after revealing the next card. This should also address an issue where the message popped up outside of review.
  • Added shortcut for Forget in the Browse screen.
  • Fixed an error being shown when there was no current deck.
  • Fixed incorrect quoting in duplicate search (thanks to Abdo).
  • Fixed deck options inverting the "replay question when showing answer" option.
  • Fixed an issue with ampersands in the Add Cards history button (thanks to Arthur).
  • Fixed handling of audio/video tags (thanks to Hikaru).
  • Fixed errors playing audio when computer was slow to respond (thanks to Kelciour).
  • Fixed preferences screen not updating undo menu, and causing an error when subsequently reviewing a card in the v3 scheduler.
  • Fixed case changes being ignored in tag rename.
  • Fixed error shown when DB check run on corrupt collection.
  • Fixed deck options prompt showing the default deck, instead of the correct one.
  • Fixed reposition command ignoring suspended cards.

Changes in 2.1.45

Release Candidate 2

Build e7189f4a / 2021-07-24.

  • Fix numpad enter in type answer screen.
  • Avoid escaping non-Latin text in image filenames (thanks in part to Hikaru).
  • Find and replace / rename with parent options in the sidebar (thanks to Rumo).
  • F3/F4 in card layout screen go to next/previous template (thanks to Evandro).
  • Set due date uses the deck's configured starting ease (thanks to cyphar).
  • Fix preview shortcut when fields not focused (thanks to Henrik).
  • Strip invalid unicode from filenames in media check.
  • Fix skipped entry on mousedown in browser search history (thanks to Rumo).
  • Handle buggy hooks in the reviewer (thanks to Henrik & Hikaru).
  • Fix flags not being excluded on export (thanks to Alex).
  • Fix notes with missing cards causing a fatal browser error.
  • As always, thanks to the translators who've contributed translations.
  • Minor other changes.

Release Candidate 1

Build 60f6fccc / 2021-07-13.

  • Fix red duplicate background being included in copy+paste (thanks to Hikaru).
  • Fix copy/cut affecting whole line in HTML editor (thanks to Hikaru).
  • Fix spurious error when importing v1 scheduling deck into v1 collection.
  • Tweaks to deck config/editor API (thanks to Henrik).
  • An add-on compat fix for the browser (thanks to Rumo).
  • More friendly message when importing v2 deck into v1 collection.
  • Allow cloze: in non-cloze notetypes for now.
  • Miscellaneous other changes.

Beta 6

Build 6ffa7440 / 2021-07-04.

  • Pre-load images on answer side (thanks to Hikaru).
  • Updated sidebar and editor icons (thanks to Henrik).
  • Fixed revert confirmation sometimes getting stuck in deck options (thanks to Henrik).
  • Fixed unnecessary percent-escaping of images in HTML editor.

Beta 5

Build 0f7a230f / 2021-06-29.

  • Fixed the packaging issue in beta 4 that was preventing startup.
  • Show deck options in two columns on wider screens (thanks to Matthias, Hikaru & Henrik).
  • Sidebar search now scrolls to first match (thanks to Abdo & Rumo).
  • Reverted a change that was causing some add-ons that modify the reviewing screen to break.
  • Show error before uploading if collection larger than AnkiWeb's limits.
  • Handle invalid card template numbers in DB check.
  • Fixed error message when confirming cloze deletion in normal note type.
  • Fixed expanding/collapsing tags triggering refresh (thanks to Rumo).
  • Fixed night mode preset dialogs in deck options (thanks to Henrik).
  • Fixed some issues with preserving selected item in sidebar (thanks to Rumo).

Beta 3

Build 18843e71 / 2021-06-25.

  • Fixed remembered tags not being applied to subsequently added cards after actions like toggling a pin/deleting a deck/etc.
  • Fixed toggling of night mode preview in day mode (thanks to hkr).
  • Fixed incorrect field content issue with HTML editor (thanks to Henrik).
  • Exclude deck and tag expand/collapse from undo queue; fixes automatic scroll to Current Deck in Browser.
  • Fixed .apkg importer allowing import of V2 collection with scheduling into a V1 collection.
  • Disable cloze and math buttons in HTML editor.

Beta 2

Build b693bdbf / 2021-06-24.

Known issues:

  • If adding cards with tags, toggling a pin will clear the saved tags, but they will still be shown in the UI. To make sure the tags are still added, to subsequent cards, please click in the tags area after toggling a pin.

Browser updates:

  • Added an option in the Preferences screen to customize the starting search text (eg, to start with "deck:current").
  • More reliably scroll to the current card.
  • New tag icons and associated backend work (thanks to Henrik).

HTML editor, thanks to Henrik:

  • Now appears inline, instead of in a separate pop-up.
  • Supports syntax highlighting, and showing opening/closing tags.

Change notetype:

  • Supports multiple undo.
  • Can match old and new fields by name.
  • Allows mapping a source field to more than one destination fields, allowing you to clone the contents of a field.

Other features:

  • Warn user when they attempt to use cloze markers inappropriately (thanks to Rumo).
  • Support system SSL certs on Linux.
  • Improved add-on support for the new deck options screen (thanks to Henrik).
  • Changed v3 scheduler label from "experimental" to "beta".


  • Fixed resource leak in sound code (thanks to Kelciour).
  • Fixed incorrect font on Windows (thanks to Kelciour).
  • Fixed crash when pressing the copy shortcut with no active selection.
  • Make the color selector inactive when no field is selected (thanks to hkr), and make it apply color immediately (thanks to Henrik).
  • Fixed creation of filtered decks from Browser (thanks to Rumo).
  • Fixed escaping of hyphens in searches (thanks to Rumo).
  • Fixed 'Set Due Date' not remembering provided input.
  • Fixed incorrect card count when removing multiple templates.
  • Fixed an issue compiling on recent Python 3.9 installs.
  • Fixed field pin status being forgotten when opening Cards screen (thanks to Henrik).
  • Reduce chances of a flash when revealing answer on cards with images.
  • Miscellaneous other changes.

Beta 1

Build 5bd2dc65 / 2021-06-08.


  • Added an option to the v3 scheduler to sort new cards in reverse order.
  • Added a Card Info option to the review screen.
  • Reduced editor toolbar size on Macs.
  • When opening the Browse screen with an active study card, the whole deck is now shown (thanks to Rumo).


  • Fixed audio getting stuck when pausing near end (thanks to kelciour).
  • Fixed current review card sometimes changing when making edits.
  • Fixed deck options tooltip appearance (thanks to Matthias).
  • Fixed selected deck not being honored when importing text file.
  • Fixed styling changes not being reflected in preview.
  • Fixed timebox window getting stuck when it appeared at start of study.
  • Fixed various links to the manual (thanks to cherryblossom000).

Alpha 4

Build be9bbf21 / 2021-06-02.

Known issues:

  • Changes to styling section in card layout screen not reflected in preview.

v3 scheduler changes:

  • The v3 scheduler can now be toggled in the Preferences screen.
  • Review cards can now optionally be shown in subdeck order.
  • Fixed 'deck priority' for new cards not following subdeck order.

Other features/behaviour changes:

  • Updated text colour and highlight colour buttons, thanks to Henrik and Matthias.
  • Added 3 new flag colours, thanks to Rumo.
  • Sidebar items can be dragged onto the Saved Searches area to add them as a favourite, thanks to Rumo.
  • Added a new menu item to clone the current deck options.
  • Custom study now limits the tag selection to 100 tags or fewer.
  • Extra checks are now done when updating a card template, such as detecting when a cloze notetype is missing a cloze directive, or two templates have identical question sides, thanks to Rumo.
  • Editor toolbar styling improvements, thanks to Henrik and Matthias.
  • The "sync required" indicator is now updated immediately, and will turn off if you undo the first change made after a sync.
  • Removed the superfluous "keep input" option from the Fields dialog.
  • When opening deck option from the study screen, you'll now be asked which deck you want if the card is in a subdeck.
  • Support ctrl+numpad enter to add cards.


  • Fixed an error/crash occurring when timeboxing was enabled.
  • Fixed deck options screen mishandling steps shorter a minute.
  • Fixed remembered tags not being applied to subsequently-added notes.
  • Fixed an error being shown when exporting cards/decks with a non-default deck configuration.
  • Fixed changes to the current field not being saved when saving the deck options.
  • Fixes for building on linux-arm64 (thanks to qubist-pixel-ux).
  • Force x11 mode when the packaged build is run on a system that tells Qt to use Wayland, as Wayland is not currently supported by the packaged build.
  • When a fatal error occurs, close Anki instead of allowing it to remain in a stuck state.
  • Fix formatting of some error messages, thanks to Rumo.
  • Various behinds-the-scenes changes thanks to Henrik and Rumo.
  • Miscellaneous other changes.

Alpha 3

Build f91f00a5 / 2021-05-24.

  • Fix new ease not being applied when failing a review card in the v3 scheduler.
  • The [...] in cloze deletions is now read as "blank" by TTS (thanks to Rumo).
  • Flags can now be renamed in the sidebar (thanks to Rumo).
  • Improvements to the handling of shortcuts in the editor (thanks to Henrik).
  • Improve cards/notes switch appearance (thanks to Rumo & Kleinerpirat).
  • Various tweaks to the Deck Options screen.
  • When Browse screen is opened, default to the first sidebar mode.
  • Add night mode styling to 'type in the answer' box, and improve legibility of comparison.
  • Fix Find&Replace searching in incorrect field.
  • Fix missing cumulative overlays in graphs.
  • Fix strange characters in Deck Options titlebar (thanks to Abdo).
  • Fix Unbury action missing cards in child decks.
  • Fix wrong stock note type being added (thanks to Abdo).
  • Horizontal scrolling in the browse screen is less jumpy (thanks to Rumo).
  • Report changed card count when changing deck/flag in Browse screen.
  • Fix actions like a sort column change clearing the undo history.

Alpha 2

Build b9a4908b / 2021-05-19.

  • Fixed a bug that was causing the Undo action to force a full sync.
  • You can now redo undone actions. The Redo menu item will be hidden for actions that don't support the new undo code, including reviews in the v1/v2 scheduer.
  • Changed the shortcut for Undo in the Browse screen to match the main window.
  • Fixed an error when switching between cards and notes modes (thanks to Rumo).
  • Various tweaks to the appearance of the deck options screen (some thanks to Henrik).
  • Fixed Custom Study when the v3 scheduler is enabled.
  • Compatibility tweaks to fix the breakage of some add-ons.

The Fields/Cards text in the editor is currently a bit large, and it'll likely be tweaked in the future.

Alpha 1

Build 10bfb95f / 2021-05-17.

There have been a lot of under-the-hood changes in this release, and there may be some rough edges at the moment.

Undo handling:

  • Most actions now support multiple undo steps. You can change a card template, delete some notes, bury a card, then undo each of those steps if you wish.
  • Actions that support multiple undo steps will now save the changes immediately, meaning that if Anki crashes, the changes you made in the last few minutes will no longer be lost.
  • Actions that don't support the new undo handling (eg, Check Database), will clear the undo history.
  • Add-ons will clear the undo history if they modify the database directly, or use routines that don't support undoing. There are some new routines available to add-ons to make operations undoable, but add-ons may need to be updated to use them.

Scheduling changes:

  • An experimental new scheduler.
  • The deck list now shows the learning count separately.
  • On new collections, the v2 scheduler is now the default.

Browser changes, thanks to Rumo:

  • The sidebar now has two modes. The default allows clicking on items to search for them. The other mode allows you to select multiple items at once, so you can drag & drop or delete multiple items.
  • The browse screen can now be toggled between showing cards, and showing notes.
  • When showing notes, some columns will show an aggregate over all the cards of a note.
  • Added an introduced:x search to locate cards first studied in the last x days.
  • Column rendering has been moved into the backend, and will be faster than before (but is still limited by the speed of the graphics toolkit).
  • A fair bit of the browser code has been changed, and some add-ons like the "Advanced Browser" add-on will need to be updated to support the new approach.

Editor changes, thanks to Henrik:

  • The editing toolbar has been reimplemented in a way that will allow easier improvements in the future.
  • The toolbar's icons and style have been updated.
  • The editor now provides bullet and numbered list buttons.
  • The editor now provides buttons to control text alignment and indent.
  • Sticky fields can now be toggled on/off from the editing screen.
  • Editor shortcuts are handled differently, and the current approach does not work well on non-QWERTY keymaps. This will likely change before a stable release.
  • A new API is available for add-ons, but this has not been finalized yet.

State handling:

  • When you make changes, the user interface should update more consistently now. Adding a new tag to a note will update the sidebar in the Browse screen for example, and when you review a card that is shown there, the columns will update.
  • The Browse screen no longer refreshes a search automatically. When you make a change, the column text may update, but the number of rows will not change. Deleted cards show "(deleted)" until you search again.
  • The main window no longer shows a "waiting for editing to finish" screen. When you make changes such as editing a note, the main window will dim, and will automatically refresh when you return to it.

The deck options screen has been reimplemented:

  • (Re)learning steps are now shown with units, eg 10m or 4d.
  • Deck options are now shown on one scrollable page.
  • Extra help is available for most options.
  • It is easy to see at a glance which options have been changed from the default, and individual options can be reverted to the default setting.
  • Warnings will be shown for some common issues (eg, review limit too low compared to new cards).
  • Some of the more advanced options have been moved to a separate "Advanced" section.
  • The old options can be accessed with a Shift+click, since it will take a while for add-ons to be updated to support the new screen.
  • The deck description is now accessible via a button in the overview screen, instead of via the deck options.

Other changes:

  • Numerous behind-the-scenes improvements from Henrik and Rumo.
  • The Find&Replace option in the Browse screen can now be used on tags as well.
  • You can now choose which add-ons you want to update (thanks to BlueGreenMagick).
  • Fix text with single quote not being escaped in export (thanks to Ryan).
  • Other fixes and improvements thanks to Abdo, Glutanimate, Arthur and Shaun.
  • The Card Info screen ignores manual rescheduling when calculating the average time.
  • Performance improvements and other miscellaneous fixes.

Changes in 2.1.44

Beta 1

Build b2b3275f / 2021-05-04.

  • Search text is no longer automatically quoted/interspersed with ANDs.
  • Fix two backslashes being treated as one in MathJax.

Changes in 2.1.43

Beta 1

Build 0fbae6bc / 2021-03-27.

  • The reviewing screen will now wait for up to 100ms for images to load before showing, and waits until images have been loaded before scrolling to the answer.
  • The default fade-in on the review screen has been removed.
  • Fix DB check incorrectly identifying an issue after lapsing a card with a non-zero interval % in the V1 scheduler.
  • Fix editing toolbar being initially active (thanks to Henrik).
  • Fix some error messages (thanks to Rumo).
  • Fix expand/collapse triggering click in sidebar (thanks to BlueGreenMagick).
  • Update translations, thanks to the translators.
  • Fix "Forgot Card" message.
  • Fix deck list not updating after deleting.

Changes in 2.1.41

Add-On Notes

Add-on authors, please see

Beta 7

Build 3ba08d11 / 2021-03-04.

  • Fix a freeze when answering a card with a missing parent deck.
  • Fix an error that could occur when syncing between 2.1.41 and older clients, then downgrading.

Beta 6

Build 92aaaf71 / 2021-03-02.

  • Fix 2.1 scheduler review counts not matching deck list.
  • Fix a focusing issue in the editor (thanks to Henrik).

Beta 5

Build 14cc81f8 / 2021-03-01.

  • Filtered deck screen now has a link to show cards not matched by search (thanks to Rumo, Abdo).
  • Support Alt+number to switch between clozes in the card layout screen (thanks to Abdo).
  • Fix images not shrinking to fit editor field (thanks to Henrik).
  • Fix a focus handling issue in the editor (thanks to Henrik).
  • Fix incorrect review counts in the 2.1 scheduler when parent decks had a smaller limit than their children.
  • Fix early review cards remaining in new queue after upgrading to 2.1 scheduler.
  • Improve error message when trying to nest under a filtered deck (thanks to Rumo).
  • Use monospace font in HTML editor.

Beta 4

Build 46e9720e / 2021-02-21.

Scheduler updates:

  • The V1->V2 upgrade process no longer resets cards that are in learning, or removes cards from filtered decks.
  • Users on the old scheduler will now see a message at the top of the deck list prompting them to update to the Anki 2.1 scheduler.
  • New users will see the message too. Enabling it by default would be a smoother experience, but that needs to wait until AnkiDroid 2.15 is released as stable, with support for the newer timezone handling.
  • There is no option to downgrade to the V1 scheduler anymore, though you can still do so by downgrading to an older Anki version first.


  • Fix tag replacement/deletion matching substrings (thanks to Abdo).
  • Fix images not shrinking to fit in fields (thanks to Henrik).
  • Fix "saved searches" getting selected when clicking in empty area of sidebar (thanks to BlueGreekMagick).
  • Reposition dialog's "shift cards" option now defaults to off.

Beta 3

Build b3b40933 / 2021-02-12.

  • Sidebar:

    • Drop multiple selection, and switch back to the old clicking behaviour. Multiple selection can be tackled again in a future update.
    • "Due" now shows only cards due that day.
    • Added "Overdue" item.
  • "Set due" now leaves the review intervals alone unless '!' is provided.

  • Fix stale preview in card layout screen (thanks to Henrik).

  • Ignore manually scheduled cards in hour graph.

Beta 2

Build 599d4634 / 2021-02-09.

  • Sidebar changes:

    • Multiple selection. Currently only works with tag and deck drag&drop.
    • Ctrl/Alt/Shift options to add/modify the search now require a right click instead of a left click, to avoid conflicts with multiple selection.
    • Move "Current Deck" to Decks
    • Click on Decks to show whole collection.
    • Click on Flags to show any flag.
    • Click on Tags to show all non-empty tags.
    • Added "Untagged" under Tags.
  • "Set Due Date" changes:

    • Interval can optionally be reset for review cards.
    • Input now remembered.
  • Editor tweaks to make things easier for add-ons (thanks to Henrik).

  • Fix slowdown after large "check media" report.

  • Fix 'rsbackend' errors in some add-ons.

  • Fix compatibility with fastbar add-on.

  • Markdown rendering of deck config is now opt-in - once enabled, it will change the handling of both the overview and congrats screen. When not enabled, the congrats screen will not show the description.

Beta 1

Build 704b5e58 / 2021-02-07.

This beta includes all the changes from 2.1.39beta1 - please see its change notes as well.

Changes since 2.1.39beta1:

  • The editor's code has been reworked, thanks to Henrik:

    • <br> tags will now be used by default instead of the previous <div> tags, which solves some issues with multiple lines in cloze deletions and MathJax.
    • Invalid field content can no longer spill out into the editing area.
    • Other behind-the-scenes changes have been made at the same time, and some add-ons that alter the editor will need updating.
  • Browser sidebar improvements:

    • Added a search bar, thanks to Abdo.
    • The remaining items in the Filter button have been moved into the sidebar, and the Filter button removed.
    • Tags and decks can now be dragged and dropped.
    • Each section can now be expanded/collapsed.
    • Add-ons that were adjusting the sidebar or filter button may need updating.
  • Search improvements, thanks to Rumo:

    • Filtered decks can now be created from a browser search, and vice versa.
    • Better ergonomics for developers.
  • Reworked the Reschedule tool:

    • Split into separate "Forget" and "Set Due Date" actions
    • "Set Due Date" now adjusts intervals of review cards, instead of resetting them.
    • Changed the "Delete Tags" shortcut; Ctrl+Shift+D now changes the due date.
    • Added the action to the review screen as well.

Other changes:

  • The tags field in the editor now autocompletes from anywhere in a tag name, not only the start.
  • The title bar on Macs will now turn dark when night mode is activated.
  • Improvements to the graphs, thanks to Henrik.
  • Add deck description back to congrats screen, with caveats.
  • Add opus to media list in editor.
  • Other improvements with thanks to Rumo, Henrik, Abdo, Arthur and Maksim.

For developers:

  • Almost all of the Python codebase now has type hints. 🎉

Changes in 2.1.39beta2

Build 576f0043 / 2021-01-30.

This beta is closer to 2.1.38 than the previous beta - it contains a bunch of bugfixes from beta 1, but feature changes have been cut, and will come back in 2.1.40. This is expected to be released as stable without further changes, if no issues are found in the next couple of days.

Please make sure to downgrade with beta 1, before opening beta 2.

Changes since 2.1.38 stable:

  • Fix the Reposition command not preserving the browser sort order.
  • Fix some issues causing the sync indicator to show unnecessarily (thanks to Rumo).
  • Fix a spurious warning about a full sync when renaming card templates.
  • Fix Anki not working after installing on Linux over a previous install.
  • Don't log card resets when exporting.
  • Fix congrats screen not showing when learning cards were due soon.
  • Updated bundled lame and mpv on Windows and Mac builds.
  • Other fixes and improvements, with thanks to Henrik, Rumo, Abdo, Arthur, Guillem, Meredith, Gustavo and Daniel.

Changes in 2.1.39beta1

Build 32278813 / 2021-01-26.

New features:

  • Browser improvements:
    • Tags now show in a tree (thanks to Abdo).
    • New context menu actions to rename or remove tags and their children, rename decks, manage notetypes, and rename/remove saved searches (thanks to Abdo and BlueGreenMagick).
    • The preview button in the browse screen has moved into the editing area (thanks to Henrik).
    • With the improved sidebar, a number of options have been removed from the Filter button.
  • Search improvements:
    • Searches are new rewritten into a canonical format (eg one two becomes "one" AND "two") (thanks to Rumo).
    • Search error messages are now much more specific (thanks to Rumo).
    • is:learn, is:due and prop:due now handle more cases, such as suspended cards (thanks to Henrik).
    • Added prop:pos search to search for new card position (thanks to Abdo).
    • Added a shortcut to replace part of a search with a different search (eg changing the selected deck) (thanks to Rumo).
    • Support resched:x for searching for cards that were manually rescheduled in x days (thanks to Henrik).
    • Support prop:rated/resched to search for rated/rescheduled cards over specific time periods (thanks to Henrik).
  • Graph improvements:
    • A number of the graphs can now be clicked on to search for the cards displayed by the graph (thanks to Henrik).
    • The starting day of week can now be altered in the Calendar graph (thanks to Henrik).
    • The Card Counts graph now supports toggling separate suspended/buried counts (thanks to Henrik).
    • The intervals and ease graphs now covers more cases, such as suspended cards (thanks to Henrik).
    • Place less emphasis on outliers in the Calendar graph (thanks to Henrik).
  • Edit/More buttons auto-hide when window is small (thanks to Henrik).
  • The editor will now favour BR tags over DIVs (thanks to Henrik).
  • A basic sync server is now built into Anki. It does not yet support media. Docs are in the docs/ folder of the source tree.


  • Fix the Reposition command not preserving the browser sort order.
  • Fix some issues causing the sync indicator to show unnecessarily (thanks to Rumo).
  • Fix a spurious warning about a full sync when renaming card templates.
  • Fix Anki not working after installing on Linux over a previous install.
  • Don't log card resets when exporting.
  • Fix congrats screen not showing when learning cards were due soon.
  • Updated bundled lame and mpv on Windows and Mac builds.
  • Other fixes and improvements thanks to Henrik, Rumo, Abdo, Arthur, Guillem, stayingpeachy, Daniel, khonkhortisan and Kerrick.

For developers:

  • JS libraries like jQuery have been updated (thanks to Henrik).
  • Add (untested) support for ARM64 Linux.
  • orjson is turned back into an optional requirement (though is still recommended, as it's faster).
  • The sidebar code has been moved from from into, which may break some add-ons.

Changes in 2.1.38beta4

Build 355e4cd5 / 2020-12-23.

If no issues are discovered, this will likely be released as 2.1.38 stable in a few days.

  • Reduce the default fade time in the review screen.
  • The ANGLE video driver can now be selected in the Preferences on Windows.
  • Fix some instances of sync indicator remaining on after sync.

For developers:

  • Protobuf binaries are now used to speed up the initial build.
  • Fix Windows build on Python 3.9 (but 3.8 is still recommended).

Changes in 2.1.38beta3

Build d600bd58 / 2020-12-21.

  • All built-in Windows TTS voices should now be supported on recent Windows 10 releases (thanks to Ryan).
  • Work around --text-fg appearing in fields.
  • Record a short amount of extra time when stopping recording with the new recording driver, and remove the qtrecorder option.
  • Fix link in about screen (thanks to Abdo).
  • Possible fix for sync button becoming blue without changes (thanks to Rumo).
  • Don't throw error when computer hostname is invalid.
  • Other minor changes (thanks to Henrik & k12sh)

Changes in 2.1.38beta2

Build 38406862 / 2020-12-18.

  • Add another approach for recording audio that should avoid the leading 300ms silence that was in beta1.
  • You can now choose between recording drivers in the preferences screen, with 'qtrecorder' being similar to the beta1 approach, and 'pyaudio' being similar to previous Anki versions. If you find some work better than others, please let us know. No restart is required after changing the option and closing the preferences screen.
  • Fix '1' being shown instead of the correct number in some Russian translations.

Changes in 2.1.38beta1

Build 56ac71ff / 2020-12-16.

  • Switch audio recording libraries. Please try recording audio on a card and let us know if there are any issues.
  • Fix the Reposition tool in the Browse screen not following the sort order.
  • Fixed invisible characters when adding new card templates (thanks to Henrik).
  • Fixed duplicate check getting confused by non-breaking spaces (thanks to abdo).

For developers:

  • Fixed Python code completion, and added some info to docs/
  • ./run now runs Anki with Python warnings enabled - PRs that fix any that come up would be welcome (thanks cecini for the first!)
  • PyAudio is no longer required for recording.

Changes in 2.1.37rc1

Build fe4fda70 / 2020-12-10.

Will become the next stable release in a few days if no further issues are found.

  • Fix filtered decks not respecting sort order.
  • Fix automatic scrolling to the answer (thanks to Henrik).
  • Ease in the deck options now has a 131% minimum.

Changes in 2.1.36beta5

Build c505894b / 2020-12-07.

This is expected to be released as stable in a day or two without further changes, if no issues are discovered.

  • Support building with Python 3.9 on Mac/Linux.
  • Make it a bit easier to run Anki from source, and run it with optimizations.

Changes in 2.1.36beta4

Build 5313447c / 2020-11-30.

This is nearing a stable release, so if you encounter any issues please let us know on the forums.

  • The handling of wildcards and escape characters in search has been reworked to be more consistent, thanks to Rumo.
  • Various fixes to translation handling, such as the translation of early startup messages, thanks to Abdo.
  • Fixed some issues with adding/renaming decks (thanks to Cecini).
  • Fix duplicate search when sort field is not first field (thanks to Abdo).
  • Fix sync colour not updating after sync.
  • Thanks (as always) to people who contributed translations.
  • Other minor fixes.

Changes in 2.1.36beta3

Build c1d15a8e / 2020-11-18.

  • MathJax has been updated to V3, thanks to Henrik. It should render faster than before. Please report any issues you notice.
  • Anki's translation system has been updated. This should not have caused any user-visible changes, but if you notice any regressions please let us know.
  • Fix issues with "find duplicates" (thanks to Abdo)

For developers:

  • Gettext is no longer required to build Anki, as all strings have been migrated to Fluent.
  • Python wheels have been provided on the beta download site - you should be able to install them with "pip install /path/to/.whl". Please report any issues you have with them.

Changes in 2.1.36beta2

Build e0550b60 / 2020-11-12.

The way Anki is built and packaged has been reworked for this release, which should make developing Anki easier moving forward. These changes should be mostly invisible to end users, but if you notice any problems introduced in this beta, please let us know on the forums.

As part of these changes, the alternate Windows and Mac builds have been discontinued. If you're still using a 32-bit OS or a macOS version below 10.13, 2.1.35 is the last version that will work on your setup.

For developers, please see Python 3.8 is now the minimum supported version, so feel free to go wild with the walrus operator.

Other changes:

  • Thanks to all the people who have contributed bugfixes and code/doc updates: Abdo, Lukkea, Akshara, Kelciour, David, Henrik, Colin, Johan, Piotr, Andreas, Arthur, Alan, RumovZ, Cecini, Soren, Krish, and ianki, in no particular order. For the full list of changes, please see If I've missed someone, please let me know!
  • The main card area is now focused instead of the bottom area during review, which allows using the keyboard to scroll (thanks to Henrik).
  • A separate mpv process is now used to play videos on Windows, which should solve issues with playing getting stuck (thanks to Kelciour).
  • Fix error when switching to note type with fewer fields
  • Fix corrupt indexes when checking database.
  • Fix invalid utf8 in notes when checking database.
  • Fix invisible scrollbar in night mode + browser.

Changes in 2.1.36beta1

Build 53a984ba / 2020-10-02.

  • Normal and night mode theming now uses CSS variables, making it easier to use and override in add-ons.
  • Congrats screen, burying/suspending, filtered deck building/emptying, and card reposition/reset have been reworked, but should (mostly) function as before. Please report any issues you encounter.
  • When cards are rescheduled in the browse screen, a review entry log is now created.
  • Various improvements, thanks hgiesel, cyphar, kaczmarj and Arthur.

Changes in 2.1.35beta1

Build 84dcaa86 / 2020-09-30.

  • Fix a bug in Anki 2.1.29+ that caused excessive memory and CPU usage on long-running operations that show a progress bar, such as importing.
  • Roll back Mac and Windows builds to Qt 5.14 again, as there are still issues with 5.15.
  • Fix display issue in graphs on alternate Mac build.
  • Fix preview not updating on multiple selection (thanks to abdo).
  • Fix old content appearing when flagging immediately after typing.
  • Fix some handling of * in searches.
  • Sidebar now correctly escapes some characters (thanks to abdo).

Changes in 2.1.34beta2

Build 8af8f565 / 2020-09-22.

  • Fix a bug in Anki 2.1.28+ where a newly created deck config would default to an ease of 130%. When updating, Anki will automatically change any deck configs with an ease of 130% back to 250%, and change any cards using those deck configs with a low ease back to an ease of 250%. If you have deliberately set an initial ease of 130%, please change it to 131% or greater prior to upgrading, so that Anki leaves your settings alone. Users who updated from an older Anki version and did not add new deck configurations should not be affected. Thanks to Aleksa for discovering the issue.
  • Roll back most of the non-bugfix scheduling changes from the previous beta, so that this can be released as stable after a couple of days of testing.

Changes in 2.1.34beta1

Build 133fe851 / 2020-09-21.

  • Update the standard builds to the latest GUI toolkit version. Please report any improvements or regressions you notice.
  • Dropped audio plays automatically again (thanks to abdo).
  • Revert to older sound playing behaviour to work around issues (thanks to kelciour)
  • Various improvements, thanks hgiesel, cyphar, kaczmarj and Arthur.
  • Normal and night mode theming now uses CSS variables, making it easier to use and override in add-ons.
  • Congrats screen, burying/suspending, filtered deck building/emptying, and card reposition/reset have been reworked, but should (mostly) function as before. Please report any issues you encounter.
  • When cards are rescheduled in the browse screen, a review entry log is now created.
  • is:due now stops at now+learn ahead limit, instead of end of day.
  • Various bugfixes.

Changes in 2.1.33beta2

Build 4662a9fe / 2020-08-28.

  • Fix cards not being unburied if leaving Anki open and the first action of a new day is a sync.
  • Access More button in review screen with 'm' (thanks to ANH).
  • Audio no longer plays when dropped/pasted (thanks to ANH).
  • Fix next learn message in congrats screen.

Changes in 2.1.33beta1

Build 7bcec00e / 2020-08-26.

  • Fix drag&drop into existing content (thanks to ANH).
  • Fix text in export file selector (thanks to ANH).
  • Fix timeouts in full syncs and media syncs again.

Changes in 2.1.31beta3

Build 85d99f73 / 2020-08-21.

  • Full syncs and media syncs now terminate more quickly when the connection breaks.
  • Improve support for getting proxies from Windows registry.

Changes in 2.1.31beta2

Build 2b1bcda9 / 2020-08-21.

  • Fix mpv failing to play audio after it's restarted, thanks to Kelciour.
  • Fix Find&Replace window sizing.
  • Fix 'stale notetype' error after sync+add.
  • Code improvements from ANH, Evandro and Thomas.
  • Minor graph tweaks.

Changes in 2.1.31beta1

Build 680b5e4b / 2020-08-19.

  • Show card counts in pie graph, and other minor graph tweaks.
  • Fix crash when dragging & dropping, thanks to ANH25.
  • Fix sync error+lost review when undoing in v2 filtered deck with scheduling off.
  • Close "edit current" when current card deleted.
  • Code improvements, thanks to Arthur, Evandro and Henrik.
  • Find&replace completion is now case sensitive.
  • Fix crash when recovering notes with missing notetype.
  • Fix handling of nested legacy template directives.
  • Fix issues with bulk tag removal.
  • Remove embedded direction markers in RTL cloze deletions.
  • Strip nul characters from tags.

Changes in 2.1.30beta3

Build 83637199 / 2020-08-08.

  • Standard Windows build tweaked to hopefully fix issues introduced by Windows update.
  • Standard Mac build rolled back to Qt 5.14, to fix "show windows in tabs" not working.
  • More fixes for syncing bad data from older clients.
  • Catch negative review times in DB check.

Changes in 2.1.30beta2

Build 818012e0 / 2eee4cb0 / 2020-08-05.

Update 2020-08-06: Windows build repackaged to fix failure to start.

  • Add right axis to graphs.
  • Fix some young cards being shown as mature in reviews graph.
  • Fix negated conditonals being non-negated when renamed.
  • Fix automatic logout not working when auth failure occurs.
  • Fix 'add mobile class' not working properly.
  • Fix some syncing errors that could happen until Check Database was run.
  • Other graph tweaks/fixes.
  • Big thanks to Matt and phwoo who submitted a bunch of code improvements recently.

Changes in 2.1.30beta1

Build 1353590a / 2020-07-31.

  • Fix early reviews not appearing in review graph.
  • Fix hour graph problem in timezones west of UTC.
  • Card counts graph now always shows table.
  • Fix move into/out of filtered decks not syncing.
  • Handle multiple same-numbered clozes in cloze-only filter.
  • Fix deck list and graphs not including v2 scheduler cards with rescheduling disabled.
  • Added night mode and mobile class toggles in card layout screen (thanks to ANH25).
  • Code improvements (thanks to Matt, phwoo, Evandro and aplaice).
  • Refresh tag list after clearing empty tags.
  • Other minor fixes.

Changes in 2.1.29beta4

Build 88fee1b7 / 2020-07-27.

  • Fix an issue introduced by the previous change to the future due graph.
  • Don't show an error when card contains an empty URL.

Changes in 2.1.29beta3

Build 15c9cd91 / 2020-07-26.

  • Fix due reviews in filtered deck showing incorrectly in future due graph.
  • Another attempt at addressing the AltGr issue on Windows.

Changes in 2.1.29beta2

Build ca8265a6 / 61e8611b / 2020-07-24.

  • Roll standard Windows build back to Qt 5.14.1 for now (fixes performance problems)
  • Graphs now instruct user to use Check Database if data can't be read.
  • Future due graph now includes today's learning cards.
  • Fix preview not updating when editing text in the Browse screen.
  • Fix mpv taking time to start (thanks to Kelciour)
  • Code/build improvements (thanks to Evandro & Matt).
  • Other minor tweaks.

Changes in 2.1.29beta1

Build 1b441f50 / 2020-07-21.

  • Add cloze-only: template filter, which can be combined with TTS to speak only the elided part.
  • Fix 1+ day learning cards not being included in future due graph.
  • Start media sync after full sync finishes.
  • Use right-to-left direction in webviews when using RTL interface language.
  • Support the terminal command that enables dark mode again.
  • Code tidy-ups (thanks to Arthur).
  • Close gracefully on SIGTERM.

Changes in 2.1.28beta6

Build 7d8818f8 / 2020-07-17.

This is a candidate for the next stable release.

  • Add range selectors to button + hour graphs.
  • Make it easier for add-ons to modify the graphs (thanks to Aristotelis).
  • Code testing tidy-ups (thanks to Arthur).

Changes in 2.1.28beta5

Build 61017a2e / 2020-07-16.

  • Minor tweaks to graph tooltips and axis labels.
  • Ctrl/cmd+number selects decks/note types in list (thanks to Alexander).
  • Translation updates (thanks as always to the volunteer translators).

Changes in 2.1.28beta4

Build 116aeead / 2020-07-13.

  • More graph tweaks.
  • Fixed is:review not including relearning cards.
  • Scroll media log to bottom at start (thanks to kelciour)
  • Update some dependencies, and other minor changes.

Changes in 2.1.28beta3

Build 93425be8 / 2020-07-07.

  • Fix add-on regression (thanks to Evandro).
  • Various graph tweaks.

Changes in 2.1.28beta2

Build cfc33815 / 2020-07-06.

  • Various tweaks to the graphs.
  • Update local media server (thanks to Evandro).
  • Use Qt colour picker on Linux (thanks to Andreas).
  • Fix some add-ons being broken.
  • Other minor fixes.

Changes in 2.1.28beta1

Build 4d23a69e / 2020-07-01.

  • The stats screen has been rewritten - feedback on the beta thread would be appreciated.
  • The old stats are accessible by shift+clicking on Stats.
  • Add edited:x search for matching notes edited in last x days.
  • Improvements to mpv handling (thanks to Kelciour).
  • Windows build fix (thanks to Evandro).
  • Various other fixes, including contributions from BlueGreenMagick, Arthur, neitrinoweb and kenden.

Changes in 2.1.28alpha3

Build f44597bb / 2020-06-09.

  • The standard Mac build now uses Qt 5.15 - please report any regressions. The file size is a bit larger than it needs to be, and may be improved in the future.
  • The Linux build now uses Qt 5.15 - please report any regressions.
  • DB check now shows progress.
  • Fixed duplicate/empty field check.
  • Fixed audio being included in FrontSide.
  • Clearer error message on failed regex search.
  • Find & Replace remembers input (thanks to Evandro).
  • Code improvements (thanks to BlueGreenMagick, Thomas and Andrew).
  • Support input.conf for mpv
  • Fixed '&' being changed in image filenames in HTML editor.
  • Fixed exports getting broken by Windows carriage returns in note fields.
  • Miscellaneous other fixes.

Changes in 2.1.28alpha2

Build ebce044b / 2020-06-02.

Reworked collection syncing. Some warnings:

  • While it has had some testing, please take frequent backups, and keep an eye out for (and report) any problems.
  • The checking stage at the end of the sync may be slower than normal, as some checks that are normally disabled have been re-enabled for safety.

Sync changes:

  • Normal syncs and media syncs can operate in parallel, speeding up startup and shutdown.
  • Normal syncs no longer need to close open windows like the Browse screen, or close & re-open the collection.
  • Full syncs now show a progress bar.
  • Full syncs can now be cancelled, and both normal and full syncs cancel more quickly.

Other changes:

  • Windows standard version has been updated to Qt 5.15.
  • Audio player on Windows has been switched back to mpv. Please report any issues you have playing audio files/videos.
  • Fixed deck deletion, and allow "deleting" the default deck (it comes back empty).
  • Fixed custom study not saving.
  • Card layout screen divider can now be adjusted (thanks to Evandro).
  • Fixed duplicate rendering in card layout screen (thanks to Evandro).
  • Fix for a previewing issue (thanks to Evandro).
  • Fixed off-by-one in field drag&drop (thanks to BlueGreenMagick)
  • Other minor fixes.

Changes in 2.1.28alpha1

Build 97eadb78.

  • Performance improvements to:

    • Startup and shutdown (the first startup will be slow as your collection is updated).
    • The Browse screen.
    • The deck list.
    • The note types screen.
    • The card templates screen.
    • The database check.
  • Card generation changes:

    • Card generation now supports negated conditionals, and a mix of required and optional fields.
    • When adding/importing, if a normal note doesn't generate any cards, Anki will now add a blank card 1 instead of refusing to add the note.
    • Please bear in mind that if you take advantage of these features, older Anki clients may report the cards are blank, or try to clean them up when you use the Empty Cards feature.
    • Cloze numbers over 499 are no longer supported.
  • Card template screen:

    • Changes are now accumulated, and can be saved or discarded when you close the screen.
    • The front, back, and styling are no longer shown at the same time. You can switch between them with ctrl+1/2/3 or cmd+1/2/3.
    • Added a search bar to search for text in the template or styling.
    • Added a dropdown to change the previewed cloze number.
    • Added a checkbox to toggle the filling of empty fields for preview.
    • You can now delete a card template even if some notes are only using that template - they will be given a blank card 1 instead.
  • Scheduling:

    • The deck list no longer caps counts to 1000.
    • The overview and study screen no longer caps counts to 1000.
    • The deck list will no longer show a parent count higher than the limit set on the parent.
  • Empty cards screen:

    • Notes will not be deleted by default.
    • Empty cards are grouped by note type.
    • Empty cards can be clicked on to reveal them in the browse screen.
  • Database check:

    • Notes with the wrong field count are now recovered instead of being deleted.
    • Notes with missing note types are now recovered instead of being deleted.
    • Notes with missing cards are now recovered instead of being deleted.
  • Unicode normalization:

    If you are studying rare CJK characters and wish to prevent them from being converted into modern equivalents, the following in the debug console will stop Anki from normalizing note text.

    mw.col.conf["normalize_note_text"] = False

Other changes:

  • Fields screen now accumulates changes, which can be saved or discarded when you close the screen.
  • Updated a few screens to show progress bars instead of hanging the UI.

Changes in 2.1.24beta9

Build 359b9f5c.

  • You can use w:something to search on word boundaries, eg:
    • w:dog
      search for "dog" on a word boundary - will match "dog", but not "doggy" or "underdog".
    • w:dog*
      will match "dog" and "doggy", but not "underdog".
    • w:*dog
      will match "dog" and "underdog", but not "doggy".
  • Fixed clicking on links in add-on configuration documentation.

Changes in 2.1.24beta8

Build 683f664d.

  • Fixed adding and removing deck option groups.

Changes in 2.1.24beta7

Build ec6c0f86.

  • Move the scheduling options in the preferences to a separate tab, so options fit on the screen even on devices with small screens.
  • Fix pauses caused by a regression in the previous beta.

Changes in 2.1.24beta6

Build 394f7c63.

This beta changes the macOS dark mode handling of the standard build:

  • Anki now solely relies on the night mode setting in the preferences to decide whether to show in light or dark mode. Some users wanted to run Anki in light mode while keeping the rest of their system dark, and there were various display problems when dark mode was changed after Anki started that couldn't be easily worked around.

  • Users who only use dark mode, and preferred the native look of widgets in dark mode, can achieve the previous appearance by running the following command in the terminal:

    defaults write net.ankiweb.dtop NSRequiresAquaSystemAppearance -bool no

    And the following in the debug console:["dark_mode_widgets"] = True

    This is hidden behind a debug console command because it requires the user ensure their system is always set to the same light/dark mode as Anki.

Other changes:

  • The macOS standard build is built with a newer SDK. If you notice any regressions, please let me know.
  • Fixed Anki closing after a full sync on collection load.
  • Fixed an error being shown when replaying audio.
  • Fixed filtered decks displaying an error in older Anki versions after downgrading.
  • Fixed add-ons with multiple branches not updating properly.
  • Change the way cloze deletions in RTL fields are handled, which should address some corner cases.
  • Fix editor buttons not being highlighted (thanks to Simone).
  • Improve invalid HTML/JS error messages (thanks to Evandro).
  • Fixed a useless log file being created when exporting.
  • Allow selecting add-on config help text (thanks to ijgnd).

Changes in 2.1.24beta5

Build 0c5f22f4.

  • New load/save handling for note types and decks. This should be transparent; if you notice any issues, please let me know.
  • Avoid scrolling if the selected browser row is still visible after an operation.
  • Handle renamed cloze fields when previewing (thanks to BlueGreenMagick).
  • Fix a case where decks could be sorted incorrectly (thanks to Arthur).
  • Fix some bugs introduced by the recent previewing changes.
  • Allow dragging fields to change their position (thanks to BlueGreenMagick).
  • Add socks support to media sync.
  • Improvements to debug console (thanks to BlueGreenMagick).
  • Build improvements (thanks to Evandro).
  • Fix deck option changes not marking collection as changed.
  • Fix deck_browser_did_render hook.
  • Fix interface getting stuck when a corrupt collection was encountered.

Changes in 2.1.24beta4

Build 16ab351b.

  • Updated tag handling:
    • non-wildcard searches now do full unicode case folding (eg 'tag:masse' matches 'Maße').
    • wildcard searches do simple unicode case folding.
    • tag list in browse screen now uses unicode case folding.
  • Fix 'is:due' search not combining with other searches properly.
  • Fix searches for things like deck:current not reflecting current state.
  • Fix duplicate searches.
  • Be more tolerant of deck IDs stored in the wrong format by older Anki versions.
  • Fix an error that could occur when performing an operation in the browse screen then immediately closing it.
  • Clean up the previewing code (thanks to Arthur). Add-ons that modify the preview screen will need updating.
  • Prepare for uploading releases to PyPI (thanks to Evandro).
  • Improve the handling of deck deletions (thanks to Arthur).
  • Avoid decimal place in steps lists where possible.
  • Add a compatibility shim for named args to avoid breaking some add-ons.
  • Updated config handling. While there should be no immediate breakages, if you're an add-on author and store lists or dicts in Anki's config, please see 676f4e74a.

Changes in 2.1.24beta3

Build d3964603.

Updated the way cards and deck options are loaded and saved. Most add-ons should not be affected, but a few will need minor tweaks. If you run into any issues and can reproduce them when add-ons are disabled, please let me know.

Other changes:

  • Media syncs no longer take time to abort.
  • Fixed media sync waiting forever when connection dropped.
  • Fixed an issue where regular syncs could fail to end.
  • Fixed current card sometimes not being centered when searching.
  • Don't force a full sync when DB check finds cards with a high due number.
  • A tweak which should fix some broken add-ons from preventing the collection from being loaded.
  • GitHub now checks Windows and Mac builds as well (thanks to Evandro).
  • More hooks (thanks to Arthur).
  • Fix tag searches in custom study (thanks to zjosua).
  • Don't throw an error when user has an embedded null in a note field.
  • Left-align tags in the browser.
  • Ignore .DS_Store files in the media trash folder.
  • Remove the check for ':' in DB queries.

Changes in 2.1.24beta2

Build b1a8107a.

Please see beta 1 for most of the changes.

  • The media check will now fix file references in fields that broke because a filename was shortened as part of a sync.
  • Fixed error when reviewing (thanks to zjosua).
  • Fixed reverse sort order for some browser columns.
  • Fixed the UI displaying badly when macOS dark mode changes while Anki is running.
  • Don't show a popup when a network error occurs while syncing media.
  • Fixed the collection_did_load add-on hook.
  • Fixed searches for "(something )" with a trailing space not working.
  • Fixed the wrong language shown in the preferences screen for some languages.

Changes in 2.1.24beta1

Build 9dda5cf6.

2.1.24 focuses on changes to the database layer and searching code.


  • You can now use re:something to search via regular expression, eg:
    • re:\bdog\b will search for the word 'dog'. It has a word boundary character (\b) at the start and end, so it will match 'a dog', but not 'a doggy'.
    • front:re:t+1 would match "t1", "tt1" and so on in the Front field
    • When searching by regex, unicode case folding is used, so searching for re:über will show a card that has "Über" on it.
  • nc:something (short for "no combining") can be used to search while ignoring accents, eg nc:uber will match both "über" and "Über". This behaves the same way as the "Ignore Accents" add-on, but is about 16x faster.
  • You can now sort on the deck, card template, note type and tags columns.
  • You can now use wildcards when limiting the search to a field, eg field*:something.
  • You can now use wildcards when searching for a card template or note type by name.
  • rated:x searches are now capped to a year instead of a month.
  • You can now escaped double-quotes in a search - eg "foo\"bar"
  • Single-quote searches are no longer supported.
  • A version of Advanced Browser that works with this beta has been made available here. Not everything has been tested, and sorting on some fields will not currently work properly.
  • Because the searching code has been rewritten, add-ons that modify the search code will need to be updated to support 2.1.24. Unfortunately it is no longer possible to override the Finder class - add-ons will need to use the new hooks in the browser screen to either rewrite the search text, or perform their own lookups instead.

Database changes (mainly of interest to add-on developers):

  • Anki now uses Rust's sqlite libraries instead of Python's.
  • The 'db' object on the collection retains most of the same API as before, minimizing the amount of immediate code changes that are required.
  • Some less-used features like named sqlite bindings ("where column = :foo") and custom sql functions are no longer supported.
  • The old database code remains in, and add-ons can continue to use it for accessing their own databases.
  • The database is now behind a mutex, and can be safely accessed from a background thread.
  • Various screens like the database check have been updated to run on a background thread, so they no longer lock up the UI while they're running.
  • The database progress handler has been removed. Anki previous had sqlite call back into Python periodically during long-running DB operations so it could drain the UI queue, but this would vary in choppyness depending on the type of DB operation being performed, and it was the cause of some crashes in the past. Add-ons that perform long-running operations should instead use mw.taskman.run_in_background() or their own threading solution moving forward.

Other changes:

  • Anki will now wait for a media sync to complete or be aborted before closing the collection.
  • Fixed progress dialogs failing to appear in a timely manner.
  • Allow the type answer arrow to be styled (thanks to Evandro).
  • More hooks (thanks to Arthur).

A lot has changed in this beta, so some issues may have slipped through the cracks. If you run into any problems, please let me know.

Changes in 2.1.22beta2

Build 0ecc189a.

  • Fixed problems playing audio on Windows. Users using the gtts add-on will need to update it.
  • Clear the audio queue when moving between cards with autoplay off.
  • Fixed play icons not appearing in browser preview when autoplay off.
  • Restored grey styling of zeros in the deck list that got lost in the night mode changes.
  • Fixed an error shown when running in Spanish.
  • Fixed fields containing a filename with non-Latin text from being corrupted when editing HTML (thanks to Evandro).
  • Support for validating add-on config schemas (thanks to Arthur).
  • Fixed a change that broke some add-ons.
  • Fixed the wrong language being selected in the preferences screen.
  • Removed the 'too many decks' message in the deck list screen.
  • Possible fix for issue playing audio from flash drive.
  • Fixed Anki getting stuck when importing an invalid file.

Changes in 2.1.22beta1

Build 131d37dc.

Please use File>Export to back up your collection with media before trying this beta. While big problems are unlikely, a backup is always a good thing to have.

  • All the changes from 2.1.21beta1 to 3
  • The new timezone handling is now exposed as an option in the preferences screen. Please avoid using this if you use AnkiDroid:
  • Instead of automatically clearing the media trash after 7 days, the media check screen now displays how many files are in the trash folder, and allows you to either empty the trash, or restore it back into the media folder.
  • Fixed repetitive sync errors when long filenames in media folder and media check not run.
  • More code improvements (thanks to Alan)
  • More add-on hooks (thanks to Arthur and Glutanimate)
  • More Windows build improvements (thanks to Evandro)
  • Rotate log files.
  • Ignore http(s) links when checking media.
  • Fix a resource leak introduced in an earlier beta.
  • Fix inversion of iOS drawings in night mode.

Changes in 2.1.21beta4

Build f1734a47.

This has been released as 2.1.21 stable without the below changes - please see the 2.1.21 change notes.

Changes in 2.1.21beta3

Build 8960d12a.

  • Media syncing now logs to collection2.log in your profile folder. If you experience any problems with syncing, please attach your log in a support ticket and describe the problem (giving an example filename) so I can investigate.
  • Fix time spans over 12 months not being displayed in years.
  • Files deleted via the media check no longer trigger a rescan on next sync.
  • Fix the standard Mac build not displaying properly when dark mode active, and updated the docs to explain how you can force light mode in Anki while system dark mode is active.
  • Fix an oversight that was breaking some add-ons unnecessarily.
  • More translation work.
  • More type hints in the code (thanks to Alan).
  • Improvements for building on Windows (thanks to Evandro).
  • Support '/' separator in add-on web paths on Windows (thanks to BlueGreenMagick)
  • Fix tags that are in the wrong encoding as part of the DB check.
  • Display a more helpful warning when mpv/mplayer not installed.

Changes in 2.1.21beta2

Build 65ec9d19.

  • More work on the handling of translations, including tweaks to the way the answer buttons and the review history screen show intervals.
  • You can now export .apkg files with the V2 scheduler enabled.
  • Show next learning card due time, and count for today
  • Add-on hook improvements, thanks to Glutanimate and Arthur.
  • Hide the default deck in more cases (thanks to Arthur).
  • Some improvements to the build process (thanks to Evandro).
  • Fixed negative number in "add-on incompatible" message.
  • Fixed field contents added by old add-ons like Japanese Support not appearing.
  • Fixed card info screen not appearing.
  • Fixed an error message when using very small learning steps.
  • Add "New #" prefix to the due column for new cards.
  • Add back missing fcntl for add-ons.
  • Fix a race condition in the audio playing code.
  • Fixed {{Deck}} showing the filtered deck name instead of the original deck.
  • Fixed LaTeX in cloze deletions not being rendered by the media check.
  • Cards in night mode now default to dark grey instead of black.
  • Fix issue with macOS's dark mode in the alternate Mac build.
  • Don't allow scaling of the UI below 100%, as it doesn't work properly.
  • Fixed Anki not starting on Windows installs that were lacking TTS support.
  • Interrupt current audio even if autoplay is disabled.

Changes in 2.1.21beta1

Build 683b7983.

Media syncing improvements:

  • Media syncing now happens in the background, so you can continue using Anki while the media sync completes.
  • Aside from syncing at open and close, Anki will sync any media changes every 15-20 minutes.
  • You can click on the sync button while the spinner is active to monitor progress.
  • Long filenames and problematic characters should be handled smoothly now, instead of causing syncing errors.
  • Anki should no longer sometimes forget to download files when a media sync fails due to network errors.
  • When media files are added within Anki, Anki now marks them in the database immediately, which can make things faster for people with slower disks if they are not modifying the media folder externally.

Media check improvements:

  • The Check Media function now shows progress, and can be interrupted.
  • There is now a separate button to generate missing LaTeX.
  • If LaTeX fails to build, the problem card will be revealed in the browse screen.
  • When Anki finds files that are too long or would cause errors on some operating systems, it will automatically rename them and update your notes to point to the new filename.

Both media sync and the media check now place deleted files in a media.trash folder inside your profile, instead of placing the files in the system trash. Any files that have been sitting in that folder for a week or more will be deleted permanently when you next run a media check.

Other changes:

  • Updates to the translation infrastructure:
The upcoming 2.1.21 beta is introducing a new way to translate strings, and in order to support it, the translations website will be moving again.

The new system uses Fluent ( instead of gettext. This has a number of advantages:

Separate identifiers are used for each string instead the English text, which means the English text can be improved without breaking existing translations in other languages.
It is easier to add comments to the translation files to make things clearer for translators.
Plural support is more flexible, and translators can add different plural forms even if the original English text doesn't use separate single/plural forms.
Translations can be more easily split up into multiple files.
Only a small number of strings are currently using Fluent, and most of the text in Anki is still using gettext. The plan is to gradually move more strings over to Fluent over time.

Because Crowdin does not support Fluent, I've set up a separate translations site using Mozilla Pontoon. Both the new Fluent strings and the old gettext strings are available. You can view it in read-only mode by visiting
  • Improvements to the readability of the scheduling code (thanks to Arthur)
  • More hooks for add-on authors (thanks to Arthur & Aristotelis)

Changes in 2.1.20beta10

Build d0284f75.

For a full list of changes since 2.1.19, please see

  • Added the ability to export selected notes from the Browse screen, thanks to Arthur.
  • Don't filter em/strong tags when pasting.
  • Fix rendering of question/answer column in browse screen.
  • Clearer error when conditional replacement closing tags are switched.
  • Show whether template errors occurred on the front or back template.
  • Drawings done in AnkiMobile now appear correctly in night mode.
  • Work around HTML editor sometimes failing to appear on macOS.
  • Fix error when double-clicking the open profile button.
  • Constrain image width in editor to the field width.
  • Tweaks to replay audio button alignment/outline.

Changes in 2.1.20beta9

Build 1fbd925f.

  • Standard Windows and Linux builds updated to latest Qt.
  • More legible colours in the stats screens in night mode.

Changes in 2.1.20beta8

Build 5d91580c.

  • Emptying a filtered deck in the V2 scheduler no longer unsuspends suspended cards inside it.
  • Added an option in the preferences to not interrupt the currently playing audio when answering.
  • In night mode, the scrollbar style is now consistent in and out of webviews.
  • Lighter buttons and scrollbars in night mode.
  • Fix the white lines showing on macOS dark mode in the browse screen.
  • Fix some misaligned dialogs in night mode.
  • Fix building from a .tar.gz file.

Changes in 2.1.20beta7

Build 77912aa2/c70badcd/a4764e2a.

  • Foreground and background colours in text are now ignored when pasting in night mode.
  • On macOS, the system theme will be used when dark mode is active.
  • Qt has been downgraded to 5.13 on macOS to facilitate the above.
  • The audio replay buttons are smaller by default, and can be styled using fill and stroke on .replay-button svg [circle|path].
  • Night mode now also used .night_mode - if you notice any problems with this please let me know.
  • Disabled elastic scrolling in webviews to work around a Qt bug.
  • Progress dialogs no longer pop up immediately.
  • Minor night mode tweaks.

Changes in 2.1.20beta6

Build 23f13a31.

  • TTS tags now accept a 'speed=1.0' option to control voice speed.
  • Adding {{tts-voices:}} to your template will show all available voices.
  • Replay audio buttons now clickable in card layout and preview screens.
  • Fix autoplay of audio in the preview screen.
  • Fix Anki filtering spaces out of pasted sound files.
  • Fix add-ons being marked as incompatible when they weren't.
  • Handle AnkiWeb's new support for multiple add-on versions.

Changes in 2.1.20beta5

Build d428b3b4.

  • Fix issues loading mpv on Mac/Linux.
  • Replay buttons now appear in {{FrontSide}}.
  • Replay buttons are shown in card layout and preview screens, but are not yet clickable.
  • More changes to the card display code, which will break more add-ons I'm afraid.
  • The template hooks have been updated - please see for required changes.
  • A few colour fixes for night mode.
  • A change from Arthur that fixes one issue that was breaking add-ons.
  • Invert LaTeX in night mode (thanks to zjosua).
  • Support specifying min/max versions in .ankiaddon files.

Changes in 2.1.20beta4

Build 98041059.

  • The night mode option now turns the interface dark as well. Please report any areas that don't display properly.
  • Fix mplayer window popping up on Windows.
  • Alter the way negated conditionals are handled in card generation.

Changes in 2.1.20beta3

Build 95b497cc.

  • You can now use {{tts en_US:Field}} on your card templates to use the text to speech support built into Windows and macOS, changing the language code as necessary.
  • You can specify the voices you'd prefer - the first available one will be used. Eg. {{tts ja_JP voices=Apple_Otoya,Microsoft_Haruka:Field}}. The voices you specify must match the language.
  • In addition to the built in TTS, there is an example add-on that uses gTTS available here:
  • To see all available voices, use the following in the debug console:
for p in aqt.sound.av_player.players:
  if v := getattr(p, 'get_available_voices', None): pp(v())
  • Audio buttons are now shown on the card, and can be turned off in the preferences. They will show for both regular audio and text to speech.
  • Added shortcut keys in the review screen to pause and jump forward/backward 5 seconds.
  • Anki now starts a new copy of mplayer for each audio file on Windows, which avoids the need to create temporary files. If you notice any problems related to this, please let me know.
  • Add-ons that modified the audio code may break with this update.
  • For add-on authors, some more examples using the new hook system are available on the following page, including ported versions of the clickable tags and additional card fields add-ons:

Changes in 2.1.20beta2

Build c9a46268.

  • Anki will now check for add-on updates once a day.
  • Disabled add-ons are now included in the check as well.
  • If a user attempts to install an add-on that doesn't support the version they're on, Anki will now prevent them from doing so.
  • The 'max supported version' that add-on authors can specify in AnkiWeb is now used to prevent users from downloading add-ons that won't work on their Anki version, and to disable add-ons when they update to a new version.
  • Fix incorrect delay being logged when Hard is used on the first learning step in the V2 scheduler.
  • The editor no longer modifies percent-escaped text outside of image tags.
  • Fix an extra linebreak being left in a field when an image is attached to an empty field.

Changes in 2.1.20beta1

Build fa564772.

  • Changes to the way cards are rendered that will break some add-ons:
The card template rendering process in Anki 2.1.20 has changed significantly under the hood, and most of the code that was in the anki/templates folder has gone away. Add-ons that were relying on hooks to modify the card rendering should continue to function, but add-ons that were using or monkey patching methods in the templates module will break, as those methods no longer exist.

I have looked through the add-ons on AnkiWeb that modify the card template, and believe most of them should be able to accomplish what they were doing before by using the new card_did_render and/or field_filter hooks. Examples of how each of them can be used are available here:

For add-ons that were using the furigana/hint field modifiers, they are available for copying in the file.

If the hooks are insufficient for what your add-on is doing, please let me know within the next few weeks. If you're an end user and an add-on you use has broken, please let the add-on author know of this post.

In terms of user-visible changes:

The limit of 100 replacements on a template has been dropped.
The new approach allow add-ons to add fields without 'unknown field' messages appearing on mobile devices (once they've been updated)
Fields with a ':' character are no longer allowed. If you have a ':' in your fields, you can open and close the Cards screen to automatically remove the colon.
Templates that reference a field that doesn't exist will now only show an error, instead of partially rendering.
{{field}} references are ignored inside fields, so there is no risk of LaTeX/MathJax being interpreted as a field reference.
The <% %> alternate syntax is deprecated, as it is no longer necessary due to the above change.
Clearer errors when the user forgets to close a {{field}} reference, or mismatches open and close conditionals.
  • A new hook system for add-ons:
Anki 2.1.20 introduces a new hook system that allows for better code completion and type checking than the old system. For a short explanation and link to some sample add-ons, please see

Add-ons using the old hooks should continue to work, as the new hooks will automatically call the old hooks in most cases, and a few runHook/runFilter calls have been left in the codebase in the places where the new hooks differ significantly from the old ones.

There are a bunch of hooks that previously were called with no arguments, such as when a new deck is created. The new hooks will tend to pass the newly created item into the callback, but will not do so for the legacy hooks, to avoid breaking old code.

If anyone has feedback on the naming or the arguments of the new hooks, please let me know during the beta testing period, so they can be changed prior to add-on authors relying on them.

To go along with these changes, the policy on adding new hooks has also changed. In the past, Anki's add-on documentation suggested hooks were best left for code paths that multiple add-ons wanted to extend, but this resulted in an over-reliance on monkey patching, and has made things fragile. The add-on documentation has been updated to encourage add-on authors to submit pull requests for any hooks they need, and the hope is that the bulk of add-ons can move away from monkey patching in the future.
  • Tweaks to the 'tag updated notes' feature (thanks to Erez)
  • Fix cards being sorted in wrong order when added after the note was created (thanks to Arthur)

Changes in 2.1.17beta8

Build f4fb7319.

  • Minimum Python version is now 3.7.
  • Updated the way templates are rendered. If you notice any problems or messages printed to the console, please post on the support site.
  • Double-clicking on .ankiaddon files should now work on Mac and Windows as well.
  • Bug fix for tag updated notes feature (thanks to Erez).

Changes in 2.1.17beta7

Build a4d38d65.

  • Added an option to tag updated notes when importing (thanks to Erez).
  • Install add-ons by double clicking on their files (thanks to Glutanimate). Currently only on Linux; support for Windows/Mac will be added soon.
  • The alternate Windows build now uses Python 3.8/Qt 5.12.
  • The alternate Mac build now uses Python 3.8.
  • The alternate Linux build has been dropped.

A bunch of behind-the-scenes changes to the code in this release. If you notice any regressions, please post on the beta testing thread.

Changes in 2.1.17beta6

Build 4cead7ef.

  • Added a beta label to the experimental scheduler, as a timezone corner case needs to be addressed before general release.
  • Fixed sidebar background on Windows 10.
  • Fixed building from source on 32 bit Linux.
  • Fixed alternate template syntax not being recognized.
  • Automatically remove ':' from field names when opening the card templates screen, as it conflicts with the template syntax.

Changes in 2.1.17beta5

Build 518cc442.

  • Changing large note types is significantly faster.
  • Fix a bug that was preventing new profiles from being created.
  • Fix a bug in the handling of MathJax+Cloze (thanks to Michal).
  • Fix missing border when the user has modified the interface scale.

Changes in 2.1.17beta4

Build bfcc8379.

The standard Mac and Linux builds have now been updated to the new toolkit as well - please report any regressions.

Changes in 2.1.17beta3

Build da942617.

Another Windows-only build.

  • Improved the performance of the browse screen's sidebar.
  • If you use any add-ons that alter the sidebar, you will need to disable them prior to upgrading, as add-on authors will need to modify their code to work with the new implementation.
  • Added an option in the preferences screen to adjust the UI size.
  • Fixed a regression in the way duplicate deck names were handled.

Changes in 2.1.17beta2

Build ff6b58c2.

A Windows-only build, built with the latest toolkit version. Please report any improvements or regressions.

If you've previously customized the DPI/Scaling as described on, please try running the beta without the customizations and report how you go.

In beta 2:

  • Alter the way DPI scaling is handled.
  • Remove help button from some Window titles.
  • Alter a change made in .16 that could break some editor add-ons.

Changes in 2.1.17beta1

Build 81bdd860.

A Windows-only build, built with the latest toolkit version. Please report any improvements or regressions.

Changes in 2.1.16beta4

Build 4bc33e2f.

  • Syncing should work properly now when you change timezones without visiting AnkiWeb.
  • Ensure learning cards in filtered decks with 'order due' show in template order.

Changes in 2.1.16beta3

Build bb62a3c1.

  • Remove the 'experimental' label from the new scheduler.
  • New installs default to the new scheduler.
  • You can now import and export decks with scheduling enabled in the new scheduler.
  • Fix bold/italics/underline pasting that broke in the last beta.
  • Hide empty Default deck in deck picker (thanks to Arthur).
  • Add an extra day to the interval when using Easy on a relearning card.
  • Preserve surrounding styling when making cloze deletions.

Changes in 2.1.16beta2

Build bceb4feb.

  • Pasting now includes formatting by default.
  • Preserve foreground/background color when pasting.
  • Preserve bold/italic/underline when pasting from Google Docs.
  • When pasting with the shift key, bold/italics/underline is also stripped.
  • Draw preview screen more quickly.
  • Fix race condition in preview screen (thanks to Håkon).
  • Use --exact with dvsvgm to prevent truncated subscript/superscript in LaTeX.
  • Various small fixes.

Thanks to Arthur for contributing a number of fixes:

  • Newly created cards could be given the wrong due number.
  • Sticky fields were ignored when closing the add card window.
  • Adding a note type forced a full sync.
  • Remove shortcut keys from translations.
  • Documentation changes for translators.
  • Case not being preserved when changing a deck's parent.
  • Hide default deck in other screens when empty.

Changes in 2.1.16beta1

Build 2e7b7560.

This build updates the translation handling as part of the move to Crowdin. Some languages were missing some plural forms in the past - in order to prevent errors, the missing forms have been copied from the highest previous plural.

If you'd like to contribute to the translation effort, please see


  • Fix qtwebengineprocesses not being cleaned up when stats window closed.
  • Allow smaller window when editing current card.
  • Support pasting multiple URLs at once.
  • Add ability to force software rendering on old Macs (thanks to Mike)
  • A fix for case insensitive field name handling in find&replace (thanks to lovac42)
  • Fix non-integer intervals being imported from Mnemosyne (thanks to Blauelf)
  • Clear undo queue when changing scheduler (thanks to lovac42)
  • Default to not closing add window (thanks to Aidan)
  • Sort new cards separately when sorting by ease (thanks to Arthur)
  • Fix a bug in the V2 scheduler.
  • Properly handle backslashes in the replacement section of Find&Replace.

Changes in 2.1.15beta1

Build 442df9d6.

This is a candidate for the next stable release, so if you encounter any issues, please let me know as soon as you can.

  • The V2 scheduler now fully randomizes review cards due on a given day.
  • Fix add-ons errors on Windows when profile path was short.
  • Fix flag changes in Browse screen not syncing.
  • Cleanup recording wav file when recording canceled.
  • Fix the window icon on Wayland (thanks to Wilco).
  • Add a progress bar to media deletion.
  • Other minor changes.