Anki

Latest version: v24.4.1

Safety actively analyzes 629994 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 10

2.1.50

Platform-Specific Changes

Windows:

- 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.

macOS:

- Anki now supports Apple Silicon natively. If you're on a newer Mac with an M1
processor, pick the qt6-apple download for better performance and battery
life.
- The Qt6 x86 build requires macOS 10.14.4
- The Qt5 x86 build requires macOS 10.13.4.

Linux:

- The Linux builds need zstd to decompress, eg:

sh
sudo apt install zstd
tar xaf anki-2.1.50-linux-qt6.tar.zstd


- The packaged version requires glibc 2.27 or later.
- A wheel is now provided for ARM64 Linux, and requires glibc 2.31 or greater. See
[this page](https://betas.ankiweb.net/#via-pypipip) for instructions on using it.
- Both Fcitx4 and Fcitx5 support is now bundled.

Qt6

Please see the notes for your platform:

- [Windows](https://docs.ankiweb.net/platform/windows/installing.html#qt5-vs-qt6)
- [Mac](https://docs.ankiweb.net/platform/mac/installing.html#qt5-vs-qt6)
- [Linux](https://docs.ankiweb.net/platform/linux/installing.html#qt5-vs-qt6)

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.

This release includes a number of improvements to the V3 scheduler, mostly
thanks to Rumo:

- Intermediate deck limits now affect their children. Please see the [scheduler
page](https://faqs.ankiweb.net/the-2021-scheduler.html#daily-limits) for more
info.
- When new cards are answered, Anki now records their original position. When you later
export a shared deck without scheduling, the original positions will be restored.
- The Forget action now gives you options to restore the original card position,
and to reset the card's lapse and repetition counters.
- 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.
- The overview screen now shows how many cards will be buried.
- Added a separate option to control burying of interday learning siblings.
- Fixed interday learning siblings not being buried during review, causing them
to reappear later after actions like an edit.
- 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.
- 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.
- Fuzz is applied more evenly now, especially with smaller intervals.
- Fixed new cards not decrementing the review limit, which could lead to
more new cards appearing after the review limit was reached.
- Review cards and new cards are now interspersed more evenly.
- When using Custom Study to extend deck limits in the V3 scheduler, parent/child
limits of the selected deck are no longer adjusted.

Editor Changes

Most of these changes are thanks to Henrik.

- A redesigned editing area, and a redesigned tag editor.
- MathJax has a live preview.
- HTML source and rendered text can be viewed at the same time.
- The HTML editor now matches the current Anki theme.
- Images can be resized within the editor.
- Fields can now have an optional description/tooltip assigned to them (thanks
to Matthias, Henrik & Rumo).
- The "remove formatting" button now offers a choice of what to remove.
- Adjust color picker shortcut, and apply color when different color selected.
- Reduced editor button size on Windows/Linux (thanks to Matthias).
- Fixed IME input after pressing tab.
- Fixed media files not being inserted at cursor position on Windows.
- Cloze shortcut correctly positions cursor.
- Added a separate cloze button to repeat the current cloze.
- Lots of behind-the-scenes changes and fixes. Because of the extensive changes,
some add-ons that modify the editing screen will have broken (see the
developers section below)

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).
- Reworked backup handling (mostly thanks to Rumo):
- Backups are created much faster than they were previously.
- Anki can now create backups periodically. The default is every 30 minutes; you can adjust this in the preferences screen.
- There are new options in the preferences to control the number of daily, weekly and
monthly backups you'd like to retain.
- The File menu now has an option to create a backup immediately.
- Because the backup storage format has changed, backups created with 2.1.50 will not be
importable into older Anki versions.
- 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.
- An option to ignore accents in searches by default has been added to
preferences screen (thanks to Abdo).
- The Card Info screen now updates automatically as you change to a different
card (thanks to Rumo).
- Added a View menu to the main window and browse window (thanks to Rumo). The
view menu provides options to zoom in and out, and to toggle a full screen
mode. Due to technical issues, the full screen mode is not currently available
on Windows when graphics acceleration is enabled.
- 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.
- Added an option to add/remove sidebar tag to selected notes (thanks to Rumo).
- Be smarter about mapping existing text to new fields when switching notetypes in the Add screen (thanks to Abdo).
- Apkg files can now be dragged on the main window to import them (thanks to Abdo).
- Added a "Create Copy" option in the browse screen and review screen, to copy
selected note's contents into the Add window (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$`.
- 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).
- Added Belarusian and Odia to available languages in the preferences.
- Added a silent option (/s) for the Windows uninstaller (thanks to Patric).
- Added tooltips to some browser columns (thanks to Rumo).

Other Improvements

- Added a "Learn" label to the learning counts in the deck list.
- Added shortcut keys for creating lists and indentation (thanks to Rumo).
- Allow longer maximum answer times in the deck settings (thanks to Bruce).
- 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.
- Changed the "Previous Card Info" shortcut to avoid a conflict with language input.
- Colpkg imports now always require a full sync.
- 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).
- Fall back on regular file deletion when no recycling bin/trash folder is available on Linux.
- Filtered decks in 'order added' now sort by card template.
- Fix deck name not updating after deck/notetype renamed (thanks to Hikaru).
- Fixed "tag duplicates" possibly operating on stale data (thanks to Ren).
- 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 loading the old deck options screen when using Python 3.10.
- Fixed an error that could appear when clicking on the sidebar (thanks to qxo).
- Fixed an error that could occur in the browser when switching profiles (thanks to Hikaru).
- 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 an intermittent error when building on Windows.
- Fixed error shown when double-tapping answer buttons on the v3 scheduler.
- Fixed errors and display issues when flagging and undoing in the review screen.
- 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 incorrect card count in timebox after undo (thanks to Abdo).
- Fixed new card position appearing as a date when cards were in preview (thanks to Abdo).
- Fixed newly-added deck not being selected in the Add screen (thanks to Hikaru).
- Fixed quotation of "and" and "or" in search (thanks to Rumo).
- Fixed some parts of the media handling code matching more HTML tags than it should have (thanks to Brayan).
- Fixed sound failing to play after exporting a collection (thanks to Rumo and Kelciour).
- Fixed the deck list showing up blank in collections with many expanded decks.
- Fixed the main window sometimes failing to load properly when Anki starts (which could lead to blank windows, a giant sync icon, etc).
- Fixed unwanted `<div>` being left behind when deleting field contents (thanks to Hikaru).
- Fixed various memory leaks (thanks to Rumo and Hikaru).
- Flip sidebar location in RTL mode (thanks to Abdo).
- 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).
- Improved performance with large selections in the Browse screen (thanks to Rumo).
- Improvements to the Change Notetype screen (thanks to Matthias).
- Performance improvements for searching through many fields with a wildcard search (thanks to Rumo).
- Randomized card positions now start at 1, which avoids a corner case in filtered deck scheduling.
- Reduced flicker when opening browser in night mode (thanks to Rumo).
- Report correct count in timebox screen with v2 scheduler (thanks to Abdo).
- Rows with database inconsistencies in the browse screen now prompt you to use "check database" instead of saying they were deleted (thanks to Rumo).
- Some behind-the-scenes code improvements (thanks to Sam).
- Support autoplay in audio tags again (thanks to Andreas).
- Support Markdown inside HTML tags in config.md (thanks to Abdo).
- The 'future due' graph no longer shows learning cards in a filtered deck as being due a long time ago.
- The `note:` and `card:` searches no longer do a substring match (thanks to Rumo).
- The Add Cards screen will no longer allow accidental triggering of main window shortcuts when it is open on a Mac (thanks to Rumo).
- The calendar graph uses consistent coloring as years are changed (thanks to Ryan).
- The custom study screen no longer (sometimes incorrectly) limits the amount you can extend the daily limits by.
- 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).
- Truncate deck names in the deck list if they are too long (thanks to Sachin).
- 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).
- Various improvements to right-to-left display (thanks to Abdo).
- When Anki encounters an issue with a card template, it now provides a link to a help page with more information (thanks to Rumo).
- Numerous other fixes and contributions, thanks to Rumo, Henrik, Abdo, Matthias,
Evandro, Arthur, Soren, BlueGreenMagick, Yoshi, Jakub, Gesa, blue-putty,
stopendy, TheFeelTrain 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](https://github.com/ankitects/anki/pull/1406/commits/a7812dedc096627692ab3d7e64b90be632f52134).
- 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`.
- 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 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: <https://github.com/hgiesel/anki_new_format_pack/commits/master>
- 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)
- `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. If you want a permanent timer, pass `mw` in as the parent.
- Improved Python code completion/type handling in VS Code (thanks to Rumo).

2.1.49

- Fixed cards not being automatically unburied when v3 scheduler enabled.
- Fixed incorrect learning count in v3 scheduler when interday learning cards
were queued (thanks to Rumo).
- Work around an AnkiDroid inconsistency causing deck config to be reset if options
edited on AnkiDroid.
- Fixed a memory leak in the Preview screen (thanks to Hikaru).
- Fixed an issue copying filenames from the Check Media screen (thanks to Abdo).
- Fixed deck changing when toggling sticky fields (thanks to Abdo).
- Fixed invalid default column in notes mode in the Browse screen (thanks to Abdo).
- The bury command ignores suspended cards now (thanks to Rumo).
- Anki no longer migrates any files from the old ~/Documents/Anki and ~/Anki folders.
- Increased number of card templates shown in card templates screen dropdown (thanks to Evando).
- Added a new example Dockerfile (thanks to Jakub).
- Handle spaces in Linux install location (thanks to lolilo).
- Work around a PyQt error on Python 3.10.
- Other minor changes.

2.1.48

- Add "Previous Card Info" action to review screen (thanks to Evandro).
- 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.
- Another fix for Reposition command not working on buried/suspended cards.
- Preserve focus when changing notetype in the Add screen.
- Wayland can now be optionally enabled with an env var in the packaged builds,
but remains off by default due to a number of bugs.
- Fix an error message that could appear when deleting notes (thanks to Rumo).
- The card templates screen no longer defaults to filling empty fields when
opened from the Add screen (thanks to BlueGreenMagick).
- Miscellaneous other fixes.

2.1.47

Changes to the [v3 scheduler](https://faqs.ankiweb.net/the-2021-scheduler.html):

- 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.
- Fixed answer button highlight on Windows (thanks to Henrik).
- Fixed calendar graph day labels showing incorrectly in some timezones.
- Improved validation of add-on package names (thanks to BlueGreenMagick for the
report and initial fix).

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.

2.1.46

- Fix duplicate text when pasting with Ctrl+Shift+V (thanks to Henrik).
- Remember last colors in editing window (thanks to Henrik).
- Show flag and mark icons in preview window (thanks to Hikaru).
- Center first match when searching in sidebar (thanks to Abdo).
- Added F9/Shift+F9 shortcuts for sticky fields, and increase opacity (thanks to
Henrik).
- Fixed starting ease specified in deck options not being used by v3 scheduler.
- Fixed learning cutoff not updating during review, and some learning cards
remaining at the end of review in the v3 scheduler.
- Fixed Change Notetype not mapping fields correctly when count differed.
- The congrats screen now updates periodically again.
- Fixed Redo menu item showing Undo action name.
- Fixed notetype selection in the import screen.
- Fixed error in overview/congrats screen when there is no current deck.

2.1.45

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.
- Most undoable actions can now be redone, so you can undo an accidental undo.
- 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:

- A new scheduler is available, with a number of improvements. Please see the
[2021 scheduler page](https://faqs.ankiweb.net/the-2021-scheduler.html) for
more information.
- The deck list now shows the learning count separately.
- On new collections, the v2 scheduler is now the default.
- Set due date uses the deck's configured starting ease (thanks to cyphar).

Browser changes, mostly 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.
- New tag icons and associated backend work (thanks to Henrik).
- 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.
- When opening the Browse screen with an active study card, the whole
deck is now shown.
- Added 3 new flag colours.
- Flags can now be renamed in the sidebar.
- Horizontal scrolling in the browse screen is less jumpy.
- Sidebar items can be dragged onto the Saved Searches area to add them as a favourite.

Editor changes, mostly thanks to Henrik:

- A new editor toolbar implementation, with improved icons and handling.
- 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.
- A new API is available for add-ons, and the existing API should continue
to work.
- The HTML editor is now shown inline, and supports syntax highlighting,
and showing opening/closing tags.
- Warn user when they attempt to use cloze markers inappropriately
(thanks to Rumo).

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. A new API is available,
thanks to Henrik.
- The deck description is now accessible via a button in the overview screen,
instead of via the deck options.

Other features:

- An updated Change Notetype implementation, that can match fields by name, and
allows you to map a source field to multiple destination fields in order to
clone a field.
- Pre-load images on answer side (thanks to Hikaru).
- The `[...]` in cloze deletions is now read as "blank" by TTS (thanks to Rumo).
- The Find&Replace option in the Browse screen can now be used on tags as well.
- Added a Card Info option to the review screen.
- When opening deck option from the study screen, you'll now be asked which deck
you want if the card is in a subdeck.
- You can now choose which add-ons you want to update (thanks to BlueGreenMagick).
- Support system SSL certs on Linux.
- 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).
- Support Ctrl+Numpad Enter to add cards.
- Added night mode styling to 'type in the answer' box, and improve legibility
of comparison.
- Sidebar search now scrolls to first match (thanks to Abdo & Rumo).
- F3/F4 in card layout screen go to next/previous template (thanks to Evandro).

Fixes:

- Custom study now limits the tag selection to 100 tags or fewer, to prevent errors caused by exceeding database limits.
- Fixed an issue compiling on recent Python 3.9 installs.
- Fixed audio getting stuck when pausing near end (thanks to kelciour).
- Fixed building on linux-arm64 (thanks to qubist-pixel-ux).
- Fixed Card Info screen not ignoring manual rescheduling when calculating the average time.
- Fixed crash when pressing the copy shortcut with no active selection.
- Fixed current review card sometimes changing when making edits.
- Fixed deck options tooltip appearance (thanks to Matthias).
- Fixed escaping of hyphens in searches (thanks to Rumo).
- Fixed field pin status being forgotten when opening Cards screen (thanks to Henrik).
- Fixed incorrect card count when removing multiple templates.
- Fixed incorrect font on Windows (thanks to Kelciour).
- Fixed resource leak in sound code (thanks to Kelciour).
- Fixed some instances of a flash when revealing answer on cards with images.
- Fixed text with single quote not being escaped in export (thanks to Ryan).
- Fixed various links to the manual (thanks to cherryblossom000).
- Fixed red duplicate background being included in copy+paste (thanks to Hikaru).
- Fixed flags not being excluded on export (thanks to Alex).
- 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.
- Numerous behind-the-scenes improvements from Henrik and Rumo.
- Other fixes and improvements, thanks to Abdo, Glutanimate, Arthur, Shaun,
hkr and others.
- Strip invalid unicode from filenames in media check.
- Performance improvements and other miscellaneous fixes.

A big thank you to everyone who contributed, including people who contributed translations,
and those who helped test out the beta releases and provided feedback.

Add-on authors, there are [some notes](https://forums.ankiweb.net/t/add-on-porting-notes-for-anki-2-1-45/11212) on porting add-ons to 2.1.45 available.

Page 5 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.