Users upgrading from Anki 1: please see here.

Changes in 2.0.31

  • Fix a problem where large regular syncs sometimes timed out.

Changes in 2.0.30

If you’re using the alternate build on an older Mac, this upgrade is necessary to keep syncing.

  • Disable embedded fonts on OSX to prevent crashes.

  • The Browse screen on OSX now deletes cards when you press Fn+Del, not Del.

  • Fix a syncing bug triggered by importing apkgs with custom deck options.

  • Fix saved searches not being synced (thanks to Houssam).

  • Fix "check database" not saving changes after fixing an AnkiDroid problem.

Changes in 2.0.29

  • Fix "app is damaged" message on OSX Yosemite

  • A new "added" graph that shows how many new cards have been added to the collection.

  • When exporting notes as text, say the number of notes that were exported, not the number of cards.

  • Allow tags to be separated with an ideographic space character (eg. Japanese full width space)

  • Allow closing the edit current dialog with Ctrl-Enter.

  • Show more info when syncing media, so you can see it’s progressing and get an idea of how long is left.

  • All the web components in Anki default to accepting focus and allowing copying now, which should fix issues with some screens not allowing copy to the clipboard, such as the card info screen.

  • Fix a bug where <br> tags were being inserted in place of newlines when importing with html enabled.

  • Fix a bug when trying to recover from a corrupt profile.

  • Fix addons being downloaded with double newlines on Windows.

  • If an existing anki instance is hung, start a new instance when user clicks on anki icon.

  • A few translation fixes thanks to Derbeth.

  • Disable a better error message when some ssl errors occur.

  • Make the tab width in the template editor reasonable.

  • Strip any formatting when pasting into the template editor, as rich text has no meaning there.

  • If the computer has no desktop folder, place collection packages in the user’s home directory.

  • Fix a bug that was allowing nesting other decks under filtered decks.

  • Fix a bug that was causing templates to get out of sync with field names on renaming if more than one filter was used (e.g., {{type:cloze:Text}}).

  • Don’t jump around in the browser’s card list when deleting cards.

  • On Linux systems that don’t have a documents folder defined, default to ~/Documents/Anki (in English) for the profile folder.

  • We no longer encode and decode %20 and so on when fields are edited. This should fix the bug where users were having text with percent signs in it being turned into other characters.

  • Tags that differ only in case are no longer allowed, as tags were sometimes case-sensitive and sometimes not. The case that you use the first time you enter will be used for all future cards added with that tag. If you want to change the capitalization of that tag, you can temporarily remove the tag from all cards and then add it again with the new case.

  • Ignore >100MB files when syncing instead of having the server throw an error.

Changes in 2.0.28

  • Fix media syncing state not being properly reset when deauthorizing.

Changes in 2.0.27

  • Media syncing has been rewritten to be more reliable:

    • It no longer locks the account, so multiple clients can sync media at the same time (but please do not attempt this with the mobile clients yet, as they have not yet been updated). This is also paving the way towards background syncing of media in the future.

    • The initial sync on a new device can now avoid both sending and receiving files that already exist on both ends.

    • A large number of deleted files could cause timeouts in the past; this is no longer the case.

    • When resuming from a connection error, less data needs to be sent than before.

    • When deauthorizing sync, the media syncing state is reset.

  • On Linux, the Anki folder is now Documents/Anki, which matches the other platforms. Anki will use a previous Anki folder if it exists, so please rename it manually if you wish to use the new location.

  • Searches in the Browse screen can now be saved into the sidebar, and the tab key order has been improved (thanks to Houssam). These changes conflict with previous versions of the Advanced Browser add-on, so please ensure you download the latest version if you use this add-on.

  • Fixed a bug where a filtered deck with or in it could mistakenly include suspended or buried cards.

  • Fixed crashes in the alternate Mac build.

  • The Preview window now has a "replay audio" button, with the shortcut R like in the review screen.

  • The post-import log now lists the number of notes that were unchanged by a text import. "Unchanged" includes notes that were present in your collection as well as the imported file but were not updated in your collection, whether because the update option was off or they were not changed.

  • The options menu next to each deck in the deck list now has an "export" button, which opens the export dialog with that deck already selected.

  • Don’t display the "added duplicate" message multiple times when a note is already duplicated in the collection but only one new duplicate was added.

  • Fix a bug where Anki was inserting <br>s into the text of imported cards if using quoted multi-line notes, with HTML disabled.

  • Provide more helpful errors when importing corrupt collection packages or .anki2 files.

  • Anki now remembers the previous position and size of various dialogs it didn’t previously.

  • The "suspended" label in the card types graph has been changed to "Suspended+Buried" since that category also counts buried cards.

  • Anki now makes sure the Get Addons dialog opens at an appropriate size when the system font size is unusual.

  • Check that saving a statistics image was successful before displaying a success message, and give a warning if Anki doesn’t have permission to write to the desktop.

  • Give a less confusing error when Anki can’t create a profile folder.

  • Don’t throw an error when attempting to delete unused media that has already been removed.

  • Fix for exporting to csv with quotes in a field (thanks to Rubyu)

  • Tweaks to latex handling which will allow add-ons to switch to pdftex (thanks to Joel)

  • Round cards/minute stat instead of truncating it (thanks to Markus)

  • Fix errors when importing Mnemosyne’s latest db format.

  • Support pasting of m4a urls.

  • Add a fix for an AnkiDroid bug to the Check DB function (thanks to Houssam)

  • Fix tooltip colour for inverted colour schemes. (Thanks to Pat)

  • Don’t trigger help when enter pressed in preferences screen.

  • Fix a bug on Windows where the main window was left open when a corrupt collection was detected.

  • Fix error when Anki is running for multiple users on a multi-user machine.

  • Don’t try to authenticate username and password if user cancels login dialog.

  • Allow changing case of profile name on Windows.

  • Update all duplicates when importing in update mode.

  • Remove initial search text when ctrl-clicking a left panel item.

  • Fix rounding of cards/minute in stats; use 1 decimal place.

  • Fix error when exporting w/ non-latin text in profile name.

  • Prevent profiles from getting out of sync when rename fails.

  • Update note type on apkg import when only templates have changed

  • Search terms in the browser and filtered decks can now be separated by a full width space (thanks to Paul)

  • Catch some rare startup errors on Windows and show them in a dialog box instead of exiting silently.

A special thanks to Soren, who contributed many of the bugfixes in this release.

Changes in 2.0.26

  • Fix more crashes on Macs.

  • Fix pasting from office applications on Macs.

  • Fix recorded audio playing back at wrong speed on Mac computers that couldn’t record at CD quality.

  • Fix cloze markers appearing on cards when multiple cloze fields were listed in the template on a single line.

  • Fixes to source code tests, thanks to ispedals and julienbaley.

  • Add some hooks for add-on authors, thanks to sagittarian.

Changes in 2.0.25

  • Fix copy right click menu not appearing when reviewing.

  • Possible fix for shortcut issues with some add-ons when reviewing.

  • Fix from Julien to fail more gracefully when templates need updating.

  • Fix Qt4.7 Windows build failing to start.

  • Workaround a crash on Macs that was happening when a progress bar was shown.

  • Roll back to a previous mplayer version on OSX to fix some audio playing too fast.

  • Fix Anki failing to recognize clozes when user had defined multiple cloze fields on a single line in their template.

Changes in 2.0.24

  • A required upgrade to continue syncing, as the encryption certificate has been updated. More info is available at https://anki.tenderapp.com/discussions/announcements/60-anki-and-heartbleed

  • An alternative build is now provided which uses an older version of the toolkit. This addresses the Thai slowdown issue on Windows, and continues support for OSX 10.5 & 10.6 on Mac, as the primary build now requires 10.7 or later.

  • For people using add-ons that used multiple colons such as {{ring:my_tag:file.mp3}}, you should update your template to {{ring (my_tag):file.mp3}}. For add-on authors, this change is an improvement by Julien that allows multiple filters to be chained together.

  • If you get an error message about pyqtconfig, please contact the author of the failing add-on and ask them to update the add-on to use qtmajor/qtminor instead, as pyqtconfig was obsoleted a while ago.

  • The deck list in the browser sidebar is now collapsible. This and a few other changes thanks to Houssam.

  • Include buried cards in the suspended count of the graphs.

  • Fix crashes and corruption in column headers on qt5.2 (only relevant for Linux users at the moment)

  • Fix for warnings in console on bleeding edge Linux distros, thanks to ospalh.

  • Remove leech tag on undo if it was added during review.

  • Allow copy context menu for things like card preview.

  • Tweaks to supermemo importer thanks to Bryan.

  • Remove marked and leech tags when exporting without scheduling.

  • More friendly error when ssl fails.

  • Fix 1000 cap in overview screen.

  • Catch another invalid temp folder message.

  • Disallow \r and \n in filenames, and ./.. in profile names.

Changes in 2.0.23

Due to a build error, this version was skipped.

Changes in 2.0.22

  • Fix a regression in the type-answer feature where multiple clozes were not presented in order.

  • Some tweaks to the SuperMemo importer, thanks to jmaatta.

Changes in 2.0.21

  • Now that AnkiDroid has been updated, buried cards will now only be automatically unburied when a new day rolls over, and not when you sync or restart Anki. If you sync from this version to AnkiWeb and then to the mobile clients, they should also switch over to this new behaviour.

  • New users will now need to confirm their choice of interface language before proceeding.

  • Increase filtered deck max size to 99999

  • Fix drag&drop of Google images from Safari

  • Ignore filtered cards when determining min/max in reposition dialog

  • When a corrupt collection is found, rename it so the profile can be loaded again and restored from backup.

  • Fix a regression in displaying startup errors and quitting from the profile manager

  • Display a better error message when a sync times out

  • Fix an error caused by an add-on that changes browser columns

  • Fix a bug where the forward & optional reverse note type was invalid when added in languages other than English.

  • If the same word has been cloze-deleted multiple times in a cloze, only require it to be typed once in the type in the answer feature.

Changes in 2.0.20

  • Fixed a bug where "check media" could incorrectly report media as unused when the media filenames were encoding incorrectly.

Changes in 2.0.19

  • When resizing columns in the browser, move the others.

  • Fix a bug in the "reschedule as new" feature that could lead to cards ending up in an inconsistent state in some circumstances.

  • Fix card layout screen jumping to original tab when flipping.

  • Fix an error in syncing when time passed between connections.

  • Fix a bug in "check media".

  • When rescheduling in the browser, automatically remove from a filtered deck instead of ignoring filtered cards. Same with buried/suspended.

  • If a non-media URL is pasted in, paste it verbatim instead of ignoring it.

  • Change import default for new users to ignore duplicates, instead of updating them.

  • Fix a bug in the pasting of certain image links.

  • Fix a error that could occur on Windows when switching profiles or syncing.

  • Add a more description error message to certain network issues.

  • Fix an issue with media resyncing on Macs.

  • Fix the message that displays when the clock is incorrect.

  • Add an option to the preferences to disable compression of backups for slow computers.

  • Fix an install error on FreeBSD.

Changes in 2.0.18

  • Fix a bug that could cause invalid scheduling when a card was manually buried while in a filtered deck. For now, burying in a filtered deck will mean that the card returns to the home deck.

  • Fix an issue where Anki was failing to start if prefs.db was corrupt.

  • Don’t create a .log file when exporting files.

  • Rotate log files when they hit 10MB.

  • Warn user when they have filenames with an invalid encoding.

  • Fix a long error being shown when syncing without a net connection on some Linux computers.

  • Update "check database" to catch an issue with note types.

  • Fix issues on some Linux systems that had simplejson installed.

  • Fix some issues that were masking actual connection errors.

  • Catch more temp folder issues.

  • Possible fix for OSX crash when editing.

Changes in 2.0.17

  • Fix a delay when showing the next card on some computers.

  • Make sure suspended & buried cards are reset when exporting without scheduling information.

Changes in 2.0.16

Please see the 2.0.13 notes below for larger changes, such as the new sibling handling.

  • Fix a regression that was causing new cards to be shown in creation order instead of their assigned due order.

  • Fix an issue where Anki was returning to the study screen early when burying was disabled for a deck.

  • Fix cards not being completely reset when exported from a filtered deck.

  • Fix font alignment and crash issues on OSX.

  • Fix "check media" not fixing some encoding issues that it should have been.

  • Tweaks to the debug logging in 2.0.15 that improve performance with some add-ons.

  • Translation updates

Changes in 2.0.15

  • Add an option to disable burying of reviews.

  • Added a "bury card" option to the review screen, and changed the shortcut to bury a note to "=".

  • Added a new is:buried search, and is:suspend no longer shows buried cards.

  • Added a new cid:<card id> search to search for a particular card by its ID, and IDs are now shown in the Card Info screen.

  • Don’t mark cards as modified when automatically burying, which could potentially cause issues.

  • Increase sync timeout

  • When Anki detects the clock is wrong, it now shows how far it is off.

  • Fix an issue working around a broken trash folder on Windows.

  • Fix problems double clicking on files to import when path contains non-latin text, thanks to wlhuang.

  • Display a more informative error when the user’s temp folder permissions are wrong.

  • When double-clicking on a backup file to restore, skip the sync on startup.

  • Log some scheduling operations to make it easier to debug issues.

Changes in 2.0.14

  • Fix a bug that was causing proxy authentication errors to be reported when the issue was something else.

  • A full upload now removes the deletion log, which can save a lot of space if you’ve added many notes and deleted them again.

  • Better feedback when a sync is aborted due to concurrent access from another device.

  • Stop errors from appearing when the tags column is enabled in the browser and the user has non-latin text in tags.

  • Fix an issue that was causing note types to be renamed when they shouldn’t be.

Changes in 2.0.13

  • Sibling handling has been reworked, which should better ensure that cards from the same note don’t appear together:

    • When you answer a card, Anki will automatically bury any siblings that are in the new queue or review queue. Cards in the (re)learning queue can not be buried, but reviewing those cards will cause any new & review cards to be buried.

    • Cards are no longer unburied when returing to the deck list, but can be unburied with a button on the study overview screen.

    • To avoid problems during the upgrade period, cards are currently unburied when you sync or close your collection. When all clients have been updated, this behaviour will change so that cards are only automatically unburied when a day has passed. You will still be able to manually unbury them if you wish.

    • This new behaviour ensures that siblings are spaced even in filtered decks.

    • Burying of new cards can be disabled in the options if you want to introduce related cards in the same session. If disabled, Anki will try to spread out the siblings like it does in 2.0.12, though like 2.0.12 spacing is not guaranteed and may fail when you edit cards or perform operations that require a queue rebuild.

  • When importing an .apkg file, existing notes will be updated if they are newer in the .apkg file, and the note types are compatible. Cards are not touched, so existing progress will be retained. This means content authors can now easily distribute not only new content, but updates to existing content as well.

  • Filtered decks have a new "relative overdueness" sort option that will sort cards by how overdue they are compared to their interval, in the same manner Anki did a few years ago.

  • You can now show tags as a browser column.

  • Fix an issue with importing when a filtered deck was selected in the main window.

  • Don’t treat modified q/a templates as an incompatible note type.

  • Anki now enforces a standard encoding of media files with non-latin text, which should fix some issues moving media between Mac and non-Mac computers, and will ensure you don’t end up with multiple files in your media folder that look like they have the same filename but actually have a different encoding.

  • The unused media menu option has been renamed back to "Check Media", and it is now capable of renaming fields and media filenames to ensure they’re consistent.

  • Fix an issue where dragging files from the desktop on Linux was pasting a URL instead of embedding the file

  • Fixed a bug where Anki failed to start on Linux distributions with an older Python version.

  • Anki now allows you to import .apkgs which have been renamed to .zip, as unfortunately some browsers "helpfully" rename the files when downloading them.

  • The "Find Duplicates" function in the browser now ignores HTML when comparing duplicates, and provides an option to tag the duplicates.

  • Fix an error in showing an error when downloading addons

  • Fix < and > in a field causing text to disappear when typing in the answer .

  • The "study deck" and deck/note type selection windows now remember their size and position.

  • Fix an issue showing clozes when the user’s mistyped the cloze characters.

  • Tolerate Windows trash errors .

  • Fix an error when upgrading some Anki 1 decks.

  • Separate users on the same machine can now run Anki concurrently.

  • Anki should no longer have issues starting upon Linux after a previous instance didn’t terminate properly.

  • Fix some issues with suspending, burying & rescheduling learning cards that could cause a later "download the fix assertion addon" message.

  • After syncing once, the sync username should become visible in the preferences dialog.

  • When adding a new column in the browser, scroll it into view.

  • When adding or importing note types, ensure they have a unique name.

  • Speed improvements to some text operations, thanks to hssm.

Changes in 2.0.12

  • Changed the way pastes and drag&drops are handled. This should hopefully fix various issues people were having with Google Images, and will now automatically add any images in a chunk of selected text to your collection if you have HTML stripping turned off.

  • Fixed errors caused by importing notes with a changed schema

  • Revert a change made in 2.0.9 where Anki would switch the active review deck when a different deck was selected in the add screen. This caused issues where the note type would change invisibly and some people objected to the new behaviour.

  • Work around a crash when closing Anki on Windows caused by a toolkit bug.

  • Make sure we always show 3 buttons for cards in initial learning in a filtered deck.

  • Improve the checking for and stripping of filename characters that can’t be stored on some filesystems.

  • Fixed an error when pasting media with non-latin characters in the URL.

  • Don’t throw an error if user adds cloze reference to a non-cloze note type.

  • Fix error shown when importing csv file with blank first line.

  • Fix year and all time review graph.

  • If the user’s recycle bin is broken, just delete the file instead.

  • Don’t send old backups to the recycle bin.

  • Fix duplicates not being detected when pasting text.

  • Fix a bug where the clipboard was being clobbered after the first paste.

  • When pasting images between fields, don’t try to download them.

  • Allow includegraphics in LaTeX

  • You can now view stats on filtered decks.

  • Warn when prefs.db is corrupt, and catch another corruption case

  • Allow searches for decks with + in their name.

  • Work around linux crash on paste of invalid image.

  • Fix an issue where duplicates were not being detected on paste

  • Ensure starting ease can’t be set below 130%.

  • Make sure we include px in stats (thanks to steveaw)

  • Fix error shown when importing from command line (thanks to Hans)

  • Fix incorrect instructions to "maintenance" menu (thanks to Soren)

  • Unused media now shows "no missing media" message in a tooltip (thanks to Julien)

Changes in 2.0.11

  • 2.0.9 introduced a change that produced cleaner HTML output when editing fields, but unfortunately this revealed a bug in the GUI toolkit which could cause Anki to crash when editing those fields. So the 2.0.9 change has been reverted, and Anki will output divs instead of br tags again. This update will not change the format of cards that were created in 2.0.9 or 2.0.10 and thus they may still cause crashes when editing, but any cards added after upgrading should not trigger the toolkit bug.

  • Fix problems syncing when Anki’s running on a mapped network drive

  • Fix problems reporting correct error message when sync fails

Changes in 2.0.10

  • Fix pasting of images

  • Fix error when syncing media on an unmapped network drive

  • Fix issues with non-latin text in images in card layout and preview windows

  • Fix unicode error on export

  • Default to allowing HTML on import

  • Fix error when opening card layout

  • Force y axis minimum of 0 in reps graph

  • Fix duplicate searching in Add window

  • Improve type answer comparison of accented characters

  • Make sure we show field when nothing typed in

  • Allow apostrophe when renaming deck

  • Mnemosyne importer tweaks

  • Other minor fixes

Changes in 2.0.9

  • Improvements to the type answer feature: no more "the correct answer was" text, clearer indications of typed vs correct answer, customizable colours (.typeBad/.typeGood/.typeMissed), monospace by default so input+correct lines up (code#typeans), an example comparison in the Cards dialog, and automatic moving of the answer comparison underneath the Q/A line. Example attached.

  • The browser now has a preview button that makes it easier to quickly browse previews of cards.

  • The limit to tags and study a random selection of cards options in the custom study dialog have been merged together into a single new option that allows you to study new cards, due cards or all cards (cram), optionally limiting to particular tags as well.

  • If Anki detects that the media is out of sync, it will now automatically recover on the next sync. Furthermore, it no longer needs to send files that already exist on each side, so when this change is incorporated into the mobile clients you’ll be able to copy media over to them to avoid a long initial media sync.

  • When media is deleted via a sync or unused media, it’s now placed in the OS’s trash folder instead of deleted completely. Likewise for rotated backups and profile deletions.

  • When notes are deleted, their content is logged in a file called deleted.txt in your profile folder.

  • The filter area when selecting decks or note types now matches on consecutive characters, and uses spaces to separate search terms. So if you had a deck called "German::Verbs", you can search for it with "man verb", but not "grman"

  • You can now choose a font size > 20px for the card list. It’s not possible to resize the line height for each individual card, so choosing a large font size in one note type will make the line height large for all cards.

  • Anki should output BRs instead of DIV tags when you hit enter in the editor now, which should make editing the resulting text on mobile clients easier. Note this will only apply to content you add after upgrading.

  • Card types are removed with an X on the tab instead of an item in More.

  • Check Database, Unused Media and Empty Cards are now in the Tools menu, instead of a submenu.

  • Full Sync is now in the preferences, not in the menu.

  • Syncing now checks to see if the database is consistent prior to syncing, and if it finds any errors, it recommends a database check rather than a full sync.

  • If a database check finds any errors, it automatically forces a full sync.

  • When closing the collection, check for corruption. This makes closing Anki and switching profiles a bit slower, but ensures that corruption is detected early so that backups are useful.

  • If user has Add window open and syncs, ask if they want to keep the content and cancel sync if so.

  • After uploading a collection, notify user they need to download on other devices.

  • More verbose sync conflict message.

  • Shift clicking on a sidebar item in the browser will now OR it with the current search.

  • Prioritize HTML over images, so pasting from Microsoft apps pastes text again.

  • Timeboxing now pops up dialog instead of a tooltip, with options to continue or finish.

  • Don’t import notes multiple times when the note type has been modified

  • Add mature correct/today stat to graphs.

  • You can now hold down the shift key while starting Anki to disable add-on loading and automatic syncing (except if you’re on an old Linux distro).

  • Make sure to update card order when changing, adding or deleting option groups.

  • Make sure to shuffle after importing txt or apkg files if your deck options say to shuffle.

  • When exporting to an .apkg with scheduling off (or when sharing a deck on AnkiWeb), new cards now have their current order preserved.

  • Anki will now warn when you try to add a cloze deletion note without any deletions.

  • Anki will allow you to cloze delete when a normal note type is selected, with a popup warning instead of an error.

  • Anki should now run on an unmapped network drive on Windows and display images correctly.

  • Ctrl+Shift+T (Command+Shift+T on a Mac) now jumps to the Tags entry field.

  • When pasting from field to field, strip <span> tags that were being inserted by WebKit.

  • When importing from a text file, include a list of all updated or duplicated notes in the import log.

  • Fix unused media spuriously reporting unused media with leading underscores.

  • Fix cloze+latex issue where multiple answer images were generated.

  • Fix cloze+latex issue where unused media deleted used images and created others.

  • Fix error when trying to reschedule with min>max

  • Add scrollbar to About dialog.

  • Don’t allow images to be dragged (and deleted) from the review window.

  • Better warning when importing invalid .apkg file

  • When saving a note, strip quotes from the tags and sort tags in alphabetical order.

  • Fix an issue with images failing to show up when they had an apostrophe in them.

  • Fix issues with pasting links to sounds/images where the filenames had non-latin characters or punctuation characters.

  • Fix issues with pasting invalid links.

  • Deck descriptions are now always displayed verbatim, and not truncated.

  • Fix issues with syncing media on a vfat drive.

  • When inserting a media file that already exists in the media folder, checksum all alternative filenames (thanks to Julien Baley)

  • Fix a bug where the number of buttons would decrease from 3 to 2 on the second answer of new cards in a filtered deck.

  • Make it clearer when changing deck options will affect multiple decks.

  • Fix an issue where invalid filenames were generated when pasting a link to a remote filename with non-latin characters.

  • Fix an issue where rescheduling of relearning cards into new cards would cause a later "download the fix assertion addon" message.

  • Allow pasting of a few more audio formats.

  • Fix main window appearing on top after pasting on Windows.

  • The show duplicates feature when adding now correctly shows all duplicates in the browser, regardless of their embedded formatting.

  • Allow canceling of note type selection.

  • When clicking Add, make sure to reshow Add window if it’d been minimized.

  • Make desktop folder if it was missing when saving stats to image.

  • More checks for the Check Database routine.

  • Fixed a bug where some Windows users were unable to start Anki.

  • Allow overwriting existing files in export (thanks to Chris Burel)

  • Fix an error when user comments out type answer field (thanks to Ospalh)

  • Fixed an issue where a field: search that didn’t match would prevent the search from matching anything.

  • Handle cloned note types in mnemosyne importer.

  • Don’t save note if no changes have been made.

  • Fix an issue with unused media and different file name representations (thanks to Ospalh)

  • When changing deck in Add window, switch review deck too.

  • Don’t play audio twice when changing templates

  • When hitting s on a deck with no due cards, display a tooltip.

  • Handle non-breaking spaces in furigana markup.

  • Fix bug where some text was being swallowed in error messages.

  • Fix a bug where leading whitespace was being cut off in text imports.

  • Fix inverted sub/superscript shortcuts

  • Make sure sort field is updated when field is deleted

  • Allow HTML in Mnemosyne import

  • Fix downloading of add-ons when running from USB disk

  • Fix field outline (thanks to Frostschutz)

  • Workaround a Qt bug that was preventing clicks on the sidebar in the browser (thanks to Frostshutz)

  • Pauker importer (thanks to Frostshutz)

  • Added --version option (thanks to Hut)

  • Fixed an error upgrading very old Anki 1 decks.

  • Use "question" and "answer" for browser labels, instead of "front" and "back".

  • When using change deck, select the current deck by default.

  • When searching in the browser, use double quotes rather than single quotes.

  • Don’t allow invalid characters in filenames when exporting.

  • Allow enter to close the change note type dialog.

  • Fixed a bug where rescheduling learning cards as reviews could cause the cards to be in an invalid state.

  • If Anki config can’t be loaded, start with new prefs.db

  • Fixed a bug where Anki would close without saving when it was closed while another window was focused.

  • Catch another firewall error.

  • Various other minor fixes.

  • Add shortcut key for history button

  • Work around an issue when backspacing over all text that was formatted.

  • Fix a bug that was causing formatting to be lost when copying between fields.

  • Fix line disappearing in card layout.

  • Resize deck options dialog when it’s opened.

  • Ensure cards have correct due number to make sibling spacing work when importing.

  • Show profile name in title bar

  • Make sure we focus first field when adding next note when JP support add-on installed.

  • Fix a bug where hitting enter in the tags completion list could select the wrong tag.

  • When studying a filtered card, clicking Add will default to that deck.

  • Add a hideable warning to the bottom of the deck list when there are over 25 decks.

  • Fix issues where images with extra properties weren’t being found in unused media.

  • Don’t copy the implicit max-width property on images when pasting between fields.

  • Fix a non-rounded number issue in stats

  • Use correct extension when exporting notes/cards as text.

  • Fix alignment issues in top and bottom toolbars

  • Work around a startup problem on misconfigured Windows systems

  • Ignore sticky fields when checking if blank when add window closed

  • Allow multiple spaces in type answer

  • Work around broken images when pasting/attaching on Linux

  • Fix error when sending non-Latin text to trash on Linux

  • Fix a timer bug (thanks to Frostschutz)

  • Fix unicode error on export

  • Fix enter key in add/remove tags dialog

  • Only show browser close menu item on mac

  • Change the way we deal with non-latin chars in filenames on Windows

  • Include full info on sync error

  • Fix modification check in note merge

  • The full sync option should force a sync even if no other changes were made

  • Various fixes to the Mnemosyne importer

  • Fix find duplicates feature when fieldname case differs

Changes in 2.0.8

  • Fix recording on Windows.

  • Better error when Anki blocked by firewall.

  • Fixed an issue with upgrading some Anki 1 decks.

  • Allow apostrophe in deck names.

  • Some changes which should speed up upgrading old Anki 1 decks.

  • When rescheduling is off in a filtered deck, show "(end)" on buttons that will end studying of that card.

  • Fix extra spaces being included when showing tags on card.

  • Make sure we switch back to the previous deck when creation of a filtered deck cancelled.

  • Fix a bug that was causing the automatically generated Reading field in the Japanese Support add-on to be blanked out again if you clicked directly on the Reading field.

Changes in 2.0.7

  • Add a "suspend card" option to the review screen.

  • Don’t set browser font/size when cards are created, so they take on the system font until customized.

  • Work around slow initial audio playing on Windows caused by antivirus software.

  • Allow Qt4.6 again, but warn on startup that it has known issues.

  • Work around for Japanese furigana on Qt4.6

  • Fix incorrect error message when media sync fails.

  • Fix crashes on Windows/Linux when performing a long search operation in the browser.

  • Fix links appearing twice when clicked in card layout window.

  • Conditional tags now ignore formatting, and require actual text to be considered non-empty.

  • Don’t trigger links when ctrl+shift etc pressed on Windows

  • Better warning when sync fails due to Linux distro packaging error.

  • Fix "Focus Note" menu option in the browser.

Changes in 2.0.6

  • Fix a bug where suspended cards imported from Anki 1 would have the wrong due date.

  • Fix a bug where re-failing a relearning card would not honour the minimum interval setting.

  • Anki will now automatically recover from a syncing error instead of asking the user to post a bunch of numbers on the forum.

  • Fix a bug when anki1.2 decks that hadn’t been opened in Anki 1.2.8 were failing to import.

  • Change from ospalh to make it easier to style the type in the answer box.

  • Remove automatic newlines after field reference that were added in 2.0.5.

  • Fix bug when appending note type to an existing search.

Changes in 2.0.5

  • Possible fix for "host not found" errors when syncing via proxy.

  • Fix a problem when creating filtered deck for deck with spaces.

  • Don’t fail when importing decks that contain media references to subdirs.

  • Don’t open a web browser when more… clicked on study overview.

  • Add "Close" to browser edit menu; support Command+W to close.

  • Better warning when trying to import non-UTF8 content.

  • Possible fix for supermemo importer.

  • Fix show duplicates when fields contain newlines/formatting.

  • When a user has multiple note types with the same name, clicking on one in the browser will now show only cards for that note type, not all of them.

  • Fix bug caused by applying settings to subdecks when a subdeck was a filtered deck.

  • Fix errors caused by burying (re)learning cards. Like suspending, burying now removes the cards from the learning queue first.

  • Other minor updates.

Changes in 2.0.4

  • You should no longer need to fix decks in Anki 1 when upgrading; if any errors are found, Anki 2 should automatically fix them.

  • The duplicate check while adding cards now ignores HTML when comparing. If your cards have any bold/italics/colours/etc, please run Tools>Maintenance>Full Sync after upgrading so that the duplicate cache can be updated.

  • Anki will now apply a fuzz to review intervals so they spread out more. This fuzz is not reported on the answer buttons, as it is only calculated when the card is actually answered. You can check it in the review history.

  • If you have a failure multiplier set so that failed reviews have their interval reduced rather than zero out, that multiplier will now be applied if you refail the card in the relearning queue as well.

  • You can now customize note types from the tools menu.

  • Possible fixes for proxy connections. Thanks to Arfrever for the heads up on the new httplib2 version.

Import/export:

  • Remember the "allow HTML" setting in the import dialog.

  • Remember import mode across invocations.

  • Add an option to export card q/a rather than notes.

  • Fix importing of LaTeX cache files.

  • When importing a .apkg, make sure the descriptions of the parent decks are imported too.

Browser/Add changes:

  • Allow browser font customization on a per-template basis, via the Cards dialog. Should default to system font.

  • Don’t lose card selection when using "change deck".

  • Newlines in fields should now be converted to a space in the card list.

  • Allow unlimited nesting of decks in browser sidebar.

  • Don’t show marked or leeched tag in browser sidebar, as it’s listed near the top already.

  • When an existing search term is reused, move it to top of the history.

  • When Add window opened, start with empty tag list instead of last tags used by that note type.

  • Disable editor buttons until a field is focused.

The rest:

  • When restoring from a backup, force a full sync.

  • Don’t autorepeat delete key during review.

  • Force full sync if any problems found in db check.

  • When reviewing new cards in a filtered deck, don’t log them as a cram review.

  • Fix bug when renaming foo::bar foo to new parent.

  • Catch missing notes in DB check.

  • Fixed a sync error caused by importing note types from an .apkg

  • When checking if note types match in import, consider question/answer templates as well.

  • Fix lapsed reviews getting learn steps instead of relearn steps.

  • Fix pasting of image URLs with %s.

  • Custom study’s "preview" should not reschedule cards.

  • Fix custom study search for failed cards with 2+ days.

  • Fix possible error in Makefile

  • Refuse to run on Qt4.6, as it’s broken.

  • Don’t use native filepicker on OSX due to crash.

  • Force XP theme on Windows so Anki on Win8 looks better.

  • Add Cmd+W shortcut to add cards window & stats window on OSX

  • Improve various error messages.

  • Some tweaks from Ospalh

  • Addon editor tweaks from Thomas

  • Update old beta.ankiweb references.

  • Increase minimum size of editing area so it can’t be accidentally hidden.

  • Fix a bug where a progress window would appear blank.

  • Display count of notes deleted.

  • Fix issues where unbolding parts of a field would fail.

  • Disable undo when switching profiles.

  • Fix issues with clozes and <% %>.

  • Prevent access to main window while auth dialog shown.

  • Don’t rename if note type rename cancelled.

  • Sort clone: note type items.

  • Clarify that deck description is not in option group.

Add-on authors:

2.0.4 removed some unnecessary imports, which unfortunately broke some add-ons that assumed those imports would exist. One example is add-ons that import anki and then try to access anki.stats without specifically importing anki.stats first.

Changes in 2.0.3

  • Fix some more issues with importing content that used a modified version of models already present in your collection. Decks (including 1.2 decks) are now imported in such a way that repeatedly importing them will no longer result in duplicate note types, notes or cards. The duplicate check only works against previous imports made in 2.0.3 however, so if you imported decks with divergent models in a previous Anki 2 version, the first time you import that content again, a duplicate will be created.

  • Fix a few errors that could occur when renaming decks.

  • Fix timeboxing counting one too many cards on the first session and not accounting for undone reviews.

  • Suspended cards now have their due date shown surrounded by brackets in the browser.

  • When a learning card is suspended, it is moved back to new if it was in initial learning, or moved back to a review card if it was in relearning.

  • Fix 1+ day steps not working for relearning cards.

  • Fixed some issues with settings not syncing due to the collection being accidentally marked as modified when it was loaded.

  • Add decimal point to reviews a day statistic.

  • When creating a filtered deck, default to searching through the current deck.

  • Display a progress window when closing the collection, as it may take a while.

  • Fix font size setting in Add Field button.

Changes in 2.0.2

  • Filtered deck changes:

    • The filtered deck presets have been moved into a new button called "Custom Study" which appears at the bottom of the overview. Daily new & review limits can also be adjusted from that screen.

    • The "filter by tags" preset now presents a dialog like Anki 1.2’s active tags dialog, to make it easier to select tags. If the custom study window is opened again later, Anki will remember the previously selected tags for that deck.

    • Correctly show 3 buttons when showing new cards in a filtered deck.

    • Moved the Filter/Cram button on the decks/overview screen to the tools menu.

    • Filtered decks no longer show their search terms, as they’re confusing to new users and easily findable in the options.

    • Filtered decks now show a brief description of how they work.

    • The custom study option automatically names the filtered deck "Custom Study Session", and will reuse an existing deck if one exists. If you wish to keep a custom study session, you can rename it.

    • Filtered decks now appear in the deck list as blue.

    • When creating a filtered deck, it uses a default name instead of asking you for a name, as you can rename it afterwards if you wish.

    • Change Deck will now move cards out of a filtered deck instead of ignoring them.

  • Stats changes:

    • Information about the current day is now included at the top.

    • The # of cards due tomorrow is listed in the Forecast section.

    • Information about the generated date and limit is included at the bottom.

    • "Save Image" now saves the image to the desktop, making it easier for students to locate it. The stats screen also uses a subtle background now, to make it harder for students to fake the graphs.

    • Make sure we display the review card/time graphs even if there’s only a single data point.

    • Fix x-axis on interval graph when using deck life period.

    • Fix rounding error in history graphs.

  • Importing changes:

    • Fix some issues where your collection could become corrupt if you previously saved or exported a model to different decks and then modified it in different ways.

    • When you export your entire collection, it will automatically be named "collection.apkg" and placed on your desktop.

    • There is no add/replace question when importing - Anki will ask to replace if the imported file is called collection.apkg or is a backup file, and will otherwise add.

    • Use a tooltip instead of a big box when showing "xxx notes imported".

    • Imports from a CSV file now give you the option of escaping HTML characters.

    • Imports from a CSV file now let you choose whether you want to allow duplicates.

    • When importing a CSV file, make sure to update field list when separator is changed.

    • When importing cards from a filtered deck, convert them to normal cards.

  • The Cards screen now has an "Add Field" button for people who feel uncomfortable editing HTML.

  • Newly created collections now include two new note types: forward&reverse type, and a forward&optional reverse type.

  • Anki is now stricter about invalid CSS, to make it more consistent with the other clients.

  • Better warning when deleting fields.

  • Fixed bugs where counts on the deck list didn’t match the overview screen.

  • When the browser is opened during study, it will continue to show the current note like before, but you can now hit enter to quickly show all cards in the deck.

  • The browser will focus on the current card when it’s opened.

  • Don’t return the cursor to the top of the screen when cards are deleted.

  • Don’t throw an error when the edit screen is open and a card is deleted.

  • Show due date for suspended cards.

  • Allow 1 field notes.

  • When the cloze button is clicked in the browser, point the user to the Change Note Type option.

  • The main window will no longer switch to a "resume now" button as soon as you start typing in the Add window.

  • Better error message when insecure LaTeX word is encountered.

  • Work around some errors in Anki 1.2 decks when upgrading.

  • Accept newlines in LaTeX like in Anki 1.2.

  • When LaTeX fails, point the user to the generated .tex file.

  • Unbury cards when returning to the deck list.

  • Don’t remove cards from filtered deck when they’re buried.

  • Fix error when renaming decks and mixing upper/lowercase.

  • When a cloze has a hint, don’t show dots.

  • Fix an error that appeared when editing cards that were in a filtered deck.

  • Add a "Create Deck" button back to the deck list.

  • Holding down the delete key will no longer delete multiple cards in the browser.

  • After media has been added to a field, return focus to that field.

  • Accept enter/space keys when returning to the answer from a different program.

  • Properly display minutes when "studied today" exceeds an hour.

  • Work around a few bugs caused by the mobile clients.

Changes in Anki 2

Translations

This page in other languages:

Please Read This

Your time is precious, and you may not have time to read this whole document - that’s fine. But please read this section, as it points out a few things that are most likely to cause surprises in the new version.

  • If you used Dropbox with previous versions of Anki, please read the next section before upgrading.

  • If you ever exported & imported .anki decks in the previous version, or find you are missing cards after upgrading, please read this section.

  • Reviews are limited to 100/day by default.

  • When you answer "again", there are now two learning reviews of the card, so the learning (orange) count will increase by two.

  • Cloze deletion has been much improved, but now requires you to select a special cloze type (the top left button in the Add window).

  • Selective study is still possible, but is done differently. You can either move cards into different decks (via Change Deck in the card browser), or create a filtered deck that searches for particular tags, card properties and so on.

  • If you study material in multiple directions / used multiple card templates, please see this section for info on how cards are selected now.

  • Anki only checks the first field to see if it’s unique now.

  • If you delete a deck and sync, that deck will now be deleted on your other devices as well.

  • If you use "hide" on any decks in Anki 1, Anki 2 will not automatically import them. You can still import them manually, via File>Import. Anki 1 decks were stored in Documents\Anki by default.

The rest of this page describes all the changes in more detail. For more information, please also see the user manual, which has been completely rewritten for version 2.

Dropbox

If you didn’t use Dropbox in the previous version of Anki, you can skip this section.

If you used Dropbox, before upgrading, please go to Settings>Preferences and change the media section to "keep media next to deck". After that, please open and close each deck in turn in order to move the media back to its original location, so that Anki 2 can find it.

Decks & Profiles

  • Instead of storing each deck in a separate file, Anki now stores all of your decks in a single file called a collection. This makes it easy to move cards between decks, and different decks can now share models and facts.

  • Decks can now be organized in a tree. Use "::" to mark descending levels, like "German::My textbook::Lesson 1".

  • Multiple decks can share the same settings group, so updating the settings for one deck updates the settings for the other decks using that group.

  • If more than one person uses Anki on your computer, you can now create a separate user profile for each user. Each user profile has their own collection of decks, and Anki will remember settings separately for each user. More info.

Terminology

  • A fact is now called a note.

  • Instead of talking about a note’s model, we now talk about a note’s type.

  • A collection stores all your notes, cards, and so on.

  • You can divide the cards up into separate groups, called decks.

  • Plugins are now called add-ons.

Per-day limiting

  • The new cards per day limit is controllable per deck, and bounded by the parent decks. This means if "French" has a limit of 20 cards and "French::Lesson 1" and "French::Lesson 2" both have limits of 15 cards, you’ll get 15 cards from lesson 1 but only 5 cards from lesson 2.

  • Decks now have a limit on daily reviews as well, which defaults to 100. When the limit is reached, Anki will not present further reviews from that deck, even if there are cards waiting. When the congratulations page is reached, a notice will be displayed, advising the user that for optimum memory, they should consider increasing the daily limit. This change is intended to reduce the sense of being overwhelmed that people feel after returning to Anki from a break. Large due counts can be off-putting, and while it’s not optimal for a user to leave due cards waiting, if they give up in frustration that’s an even worse outcome.

  • No limit is applied to cards in learning, as the learning count is a product of the number of new cards and reviews that are done each day.

Shared Decks

  • Shared decks can now be browsed on AnkiWeb, and downloaded from your browser.

  • You can now rate and comment on shared decks.

  • You can now pull in new cards from a previously downloaded shared deck.

Selective Study

Anki’s new deck system is based on the following observations:

  • Nested categories like "French→Book 1→Lesson 3" are more intuitive to the typical user than the tags "french book1 lesson3".

  • Many users struggled with the old selective study system, be it because they’d accidentally used overlapping tags that cancelled out what they wanted to do, or because they’d removed particular tags from review and forgotten they’d done so.

  • Tag-based limiting did not perform well - slowdowns of 10x or more were not uncommon.

  • Some users wished to assign different study settings to different cards. This is not practical with tags, as they overlap, and it would require an elaborate system of defining which tags should take precedence for that to work.

Those issues are addressed as follows:

  • In Anki 2, the standard review system is based on the current deck, rather than a list of allowed/disallowed tags. Decks can be nested, allowing you to define the order cards should appear in and allowing you to focus on specific subsections individually.

  • Tag-based study is still possible via a flexible filtered deck system, described further below.

As there’s no way to directly map the old selective study feature into the new way of doing things, a little manual setup is required after upgrading if you were using selective study before.

If you had a small number of tags which you switched between, such as "Japanese" and "French", then your best bet is probably to search for each tag in turn in the browser, and use "Change Deck" to move the resulting cards into separate decks.

If you were using selective study to control introduction of new cards (such as blocking lessons 5-18 from being displayed), you could also convert each lesson into a deck, but that’s somewhat cumbersome. An easier method would be to suspend the cards you’re not ready for, and then unsuspend them on a per-lesson basis when you’re ready to study them. You could do it like this:

  1. Search for "tag:lesson* is:new" to find all new cards with a lesson tag. Select them all, and suspend them.

  2. Assuming you were halfway through lesson4 before upgrading, search for tag:lesson4 is:new" and unsuspend any cards that got suspended by the previous step.

  3. When you’re ready to move on to lesson 5, search for "tag:lesson5" and unsuspend the cards.

Priorities

  • Like selective study, card display order is now controlled via nested decks instead of tags. When you select a given deck, Anki walks the deck and its subdecks in alphabetical order looking for cards. So if you have cards in "French::Vocab", "French::Sentences" and "French:Misc" and you select the "French" deck, cards will be fetched first from Misc, then Sentences, and then Vocab, as that is the alphabetical order of those decks. You can use this property to ensure certain cards are reviewed earlier or later than normal: prepending a "!" like "!Vocab" would ensure vocab cards come first, and prepending a "_" would ensure they come last.

  • For more fine-grained reordering of new card presentation order, the browser now has a reposition command which can change the order of new cards in the queue. You can use this for prioritizing material, changing the order cards of different types will be mixed together, and so on.

Scheduling

  • Anki has a much-improved learning mode. When new cards are introduced or old cards forgotten, they can now be shown over a number of increasing intervals before they graduate into normal reviews cards. More information in the manual: learning

  • Reviews are only scheduled on a per-day basis now. If you wish to divide a day’s cards into multiple sessions, you can either use the timeboxing feature or simply do a certain number of cards and stop until later.

  • Only when you fail a review card is the card’s lapse count increased. This means that failures while the card is in learning no longer count towards a card being a leech.

  • You can customize the behaviour when failing reviews. By default failed reviews are put back in the learn queue to be relearnt. You can have a different set of steps for cards that are being relearnt, which allows you to reduce the steps required or require longer waits compared to cards that are being learnt for the first time.

  • A multiplier is now available to cause Anki to schedule reviews more frequently or less frequently than it would otherwise.

  • Due counts are now displayed in the more logical new → learning → reviewing order. The ETA and progress bars have been removed, and the timer is off by default (in the above screenshot, the due counts are not shown as they are only shown while the question is visible)

  • The learning count is the count of how many answers are required to complete the queue, not how many cards. With the default settings of two reviews to graduate, the learning count will be twice the number of cards to learn.

  • In normal study, reviews are always sorted by due order now. If you need to change the order to deal with a backlog, you can do it with a filtered deck.

  • While there is no explicit option for "show failed cards at end" anymore, you can achieve the same behaviour by setting the learning steps to a length longer than your session length (eg, 1 hour), and increasing "learn ahead limit" in the preferences to that number as well.

Filtered Decks, Cramming & Reviewing Early

  • Filtered decks allow you to gather cards from other decks based on specific criteria and with a specific ordering.

  • They are very flexible: they can be used for previewing cards, cramming them before a test, studying particular tags like the old selective study feature, catching up on a backlog with a particular sort order, reviewing ahead, going over the day’s failed cards, and more.

  • They can be set to reschedule based on your answers (like Anki 1.2) or leave the original cards alone (like Anki 1.0).

  • Filtered decks also replace the old "review early" button. They offer two advantages: you can now choose how many days to look ahead, and you can close Anki and resume reviewing early where you left off, instead of starting with the same cards again like in Anki 1.2.

  • For more information, please see http://ankisrs.net/docs/manual.html#filtered

Syncing

  • In most cases, you can now merge changes from multiple devices instead of having to choose which side to keep.

  • Full syncs are only necessary on the first sync and after changing things like the number of fields in a note. If you’re about to make a change that would force a full sync, you’re warned about it and given the option of aborting.

  • Modifying many cards or notes no longer forces a full sync - incremental syncs can now handle even large amounts of data.

  • Clock drift will no longer lead to incorrect syncs. That said, it’s still confusing to move to another machine with a different clock and find greater or fewer cards due, so Anki will still require the clock to be within 5 minutes of the real time.

  • All data is encrypted before being sent over the internet.

  • If the connection times out, Anki will automatically retry.

Media & LaTeX

  • AnkiWeb now supports media natively, instead of requiring a third-party service like DropBox. No special setup is required - when you sync your decks, their media will be automatically synced with it. Anki monitors the media folder now, so there are no issues with an out of date media DB like there were in the past.

  • Media and LaTeX references in templates are no longer supported, because they don’t play well with shared decks. The upgrade routines will automatically create a new field with the media tags embedded in it, like [sound:apple.mp3]. If you manually add the references back in, Anki will not notice the media is in use when you check the media DB. Please note that if you had media references comprised of more than one field (eg automatically and you will manually have to sort this out.

  • If you had static media references like <img src=logo.jpg> in your templates, those media files will not be imported and you’ll need to manually copy them over. It’s recommended that you rename them to have a leading underscore, as doing that tells Anki they are used in the template and shouldn’t be deleted when checking for unused media.

  • When you upgrade, Anki moves the media in each deck’s .media folder into the new collection’s media folder. You had different files with the same name in multiple decks, Anki will automatically rename the media for you.

  • If for some reason Anki wasn’t able to move your media from its old location, please manually move the media files from the old .media folders into your Documents/Anki/User 1/collection.media folder.

The Browser

  • Tags and decks are displayed in a panel on the left, and can be clicked to search for. Hold down ctrl or command while clicking to append the item to the search string.

  • Columns are now configurable - right click on the header and you can enable and disable the columns you want to search on. Click on a column to sort by it; drag a column to move it to a different place.

  • Previously you could ask the browser to sort by a particular field, but doing so caused any notes without that field not to show. In 2.0, each note type has a "sort field". The sort field can be shown as a column, and can be sorted on. Click the "Fields…" button to change the sort field. Anki will automatically sort in numeric order if the field contains only numbers; you don’t have to tell it a field is numeric anymore.

  • Many search operations are faster than before, but some cases are slower. The search box now requires you to hit enter; it will not automatically search as you type, as some people type slower than others and for expensive searches, automatic searching can be painful.

  • In 1.2, a copy of each field was kept with style information stripped, so that you could search for a word and have matches appear even if part of the word contained style information (bold, etc). Anki 2 drops this cache, as it was expensive to maintain. In Anki 2 if you want to search for partially-styled text, you need to limit yourself to the current sort field (which Anki can use when searching)

  • Selections are now preserved when the search criteria is changed, so you can do things like select a bunch of cards, then click on "New" in the side bar to narrow the selection to only cards that are new. Preserving the selection of many cards at once is slow however, so if the selection is too large it is discarded on the next search.

  • Rescheduling behaves differently now. Cards have their interval and ease reset but keep their review history. If you need to remove a card’s review history, please search for rescheduling in the manual.

  • The browser now exposes the full review history. Click the info button on the toolbar to see it. Note that this data was stored differently in previous versions, so the display of whether a card was being learnt, reviewed, relearnt or so on may not always be correct for old data.

Card Layout

  • In Anki 1.2, {{ field }} references were automatically wrapped in style information. This meant that the prompt text and field text of a template like "What is the capital city of {{ country }}?" often ended up different, and users had to use {{{ field }}} instead and figure out the necessary HTML.

  • In 2.0, there is no implicit styling: instead of choosing fonts, colors, alignment and so on in the GUI, it’s all embedded in the template as standard HTML and CSS. As a bonus, this allows you to do things like use a gradient or image for your card background if you wish.

  • The "hide question when showing answer" option has gone away: Anki always replaces the question with the answer now. Templates default to including the question fields on the answer text however, so Anki will behave like always. The "show divider between question and answer" option has gone away too, as the divider is included on the template and can be removed if desired.

Card Generation & Deletion

  • In previous versions of Anki, there was a button in the top right of the add cards screen that let you enable and disable card templates. As the button would only control which cards would be added when you added new content, if you wanted to add extra cards to previously added content, you had to use the "generate cards" feature in the browser. This caused a lot of confusion.

  • In Anki 2, instead of manually specifying which cards to create, cards are created depending on whether fields are empty or not. By default, a card will be created if at least one field on the front template is non empty. You can set Anki up to only create particular cards if certain fields are not blank.

  • If you wish to selectively add cards (such as adding a reverse card for only your difficult content), you can add a field to your notes that controls whether the reverse card will be generated. If you put any text in the field (such as "y"), the card is generated, and if you leave the field blank, the card is not created.

  • When Anki 2 upgrades your old decks, it will automatically add such a required field to notes where you have a card enabled for some but not all of the notes.

  • There is no option to manually delete individual cards in Anki 2, as if you manually deleted a card, Anki would automatically add it again if fields were not empty. Instead, you can remove individual cards by blanking out one of their required fields.

  • Anki doesn’t immediately remove cards when one of their required fields is blanked out, because that could lead to data loss. To remove cards with missing required fields, run Tools>Maintenance>Empty Cards.

  • As blanking out fields is a few more steps than just pressing the delete button, if you need to remove a number of cards during review, you may find it easier to suspend them instead, and then use find&replace at a later date to blank out a required field for all the suspended cards in one go.

  • For more information about selectively adding cards, please see this section of the manual.

Fields and Duplicates

  • You can no longer specify whether a field should be unique or required. Anki makes sure the first field is both provided and unique, but does not check the other fields. Anki did not perform well when many cards were marked unique (since it has to cache all that information), and a single field is sufficient for determining if a given subject has been entered in before. If you wish to look for accidental duplicates in secondary fields due to typos, you can use the Find Duplicates feature in the browser.

  • For more info, please see this question.

  • Fields can now be marked sticky. This means that when you add notes, the field content is not erased and is left in the field. This is useful when you’re adding a series of notes that have similar field content.

Performance

  • Decks are considerably smaller now. Most people should see a size drop of 3-6x.

  • Many operations have been optimized. You should find your decks load much faster now, and studying should be smoother. These changes should be especially pronounced on the mobile clients.

  • Anki should now perform much better when your hard disk is being heavily accessed.

  • Graphs load much faster, and it’s now possible to see graphs of your entire collection at once.

The Editor

  • Fields now dynamically expand to fit their content.

  • Fields can now display complex HTML without mangling it.

  • You can now jump to a conflicting note when conflicts are detected

  • Images are shown at a reduced size in editing mode.

Cloze Deletion

  • Cloze deletion now makes it easy to generate multiple clozes from a single body of text. All of the clozes share the same note, and edits to the note will update all cards at once.

  • Cloze deletion works with LaTeX now, too.

  • Clozes appear as bold and blue like before, but they can now be customized in the template.

  • Clozes made with previous versions will not be converted to the new style; it only applies to newly made cards.

Graphs and Stats

  • The deck statistics and graphs have been merged into a single report that contains both text and graphs, and they have been completely rewritten in the process. There’s now more information available, and it’s easier to compare things like the cumulative work spent on reviews vs relearning vs initial learning.

  • The old period selection boxes have been replaced with a single box down the bottom, allowing you to change between a monthly, yearly, and deck life view of the data. The data is chunked into weeks or months in the larger graphs, which both performs better and offers a clearer view of trends.

  • There is a button to save the graphs to an image, to make it easier to share your graphs with friends or teachers.

Spacing Siblings

  • When you start studying, the new cards for the day are gathered - 20 by default. When each card is shown, all its siblings are moved to the end of the queue, so they’re spaced as far apart in those 20 cards as possible.

  • If you want new siblings to be introduced further apart, you can put them in different decks or use the reposition feature of the browser.

  • When determining the next review time of a review card, Anki now checks the surrounding days and tries to place the review on a day when no siblings have reviews. The possibilities to consider are configurable.

Saving & Undoing

  • The "save" and "save as" operations have been removed. Saving is now transparent to the user, and happens every 5 minutes of adding/reviews, and after various other operations. By having more control over the saving process, Anki can save more efficiently, and revert changes when an operation goes wrong.

  • The undo system has been simplified. The old method was comprehensive, but made updates to the deck considerably more expensive, and could cause inconsistencies under rare circumstances. Multi-level undo has been preserved for reviews, but other destructive operations now have a single level undo, which is guaranteed to restore the deck to a consistent state.

License

  • In 2.0, Anki will be moving from the GNU GPL3 license to another GNU license: the AGPL3. The Affero license is compatible with the GPL3, so existing plugins do not need to be relicensed. The major difference from the GPL3 is that the license requires people who modify the code and run it on a web service to make that modified code available to users of the web service. It effectively means a company can’t make an online service using Anki’s code unless they reciprocate by sharing their changes. This clause should not affect regular users at all.

  • Also of note is that ankiqt is now dual licensed like libanki was. I don’t have any immediate plans to take advantage of this, but it opens up the possibility of custom versions in the future for companies who want to distribute a stripped down and/or content-protected version of Anki with their content for a fee. The desktop version will continue to be released as open source, and I have no plans to change that.

  • Because much of the code has been rewritten in 2.0 there is very little code contributed by other people remaining. I’ve contacted the authors of the remaining code and asked for their permission for the licensing change. I don’t think I’ve missed anyone, but if I have, please let me know.

Add-ons

  • Because of the extensive changes, almost all add-ons will require some level of modification to work with 2.0. Some add-ons have been ported already, others will likely come in the future.

  • After upgrading, please visit the add-ons site to look for new versions of the add-ons you were using in Anki 1. The add-ons site is available from the Tools>Add-Ons menu inside Anki 2.

  • There’s now an add-on writing guide here that also covers the main things to be aware of when porting an old add-on.

Missing Decks/Cards

If you find a deck missing cards or empty when upgrading, this is because in the past you have exported cards into another deck and studied both decks in parallel. Even if you modified the appearance of the cards in one deck, the cards were originally the same, and Anki continues to consider them the same, as Anki was not intended to be used in this way.

This means that when you try to import the cards in one deck into the other, nothing happens (on in the case of 2.0, you end up with the cards in one deck appearing but the cards in the other deck not appearing).

To fix this, please install Anki 1.2.8 again from the bottom of the Anki 2 page. Then:

  • Download this zip file

  • Open Anki 1.2, and go to Settings>Plugins>Open Plugin Folder

  • Extract the .py file from the .zip you downloaded, and place it in the plugins folder.

  • Restart Anki 1.2

  • For each deck that didn’t import, open it and choose Tools>Make Cards Unique.

After you’ve done this, you should be able to File>Import the decks in Anki 2.0.

Questions

Why are all the decks in one file now?

This change makes many parts of the UI simpler, and combined with the performance improvements in version 2, actually performs faster than before. For scratch decks, you can create a separate profile.

Why can’t we mark an arbitrary number of fields as unique?

Consider the notes section of the basics. All three of those fields are unique, and so users could (and often did) mark all of them as unique in previous versions. The problem is that in order to show duplicates, Anki needs to either search all similar fields (which is slow), or maintain a cache that rapidly grows in size as more fields are added to it.

In the above example, only one field is actually required for determining if you’ve entered a given element before. Whether it’s the element name, number or symbol you’ve chosen, by the time you type the first field, you’ll be aware if you’ve previously entered the same note before. For the purposes of stopping you from adding duplicate notes that you’ll have to delete, one field is enough.

Languages are a different matter. If you’re studying from foreign→native and native→foreign, and you’re studying individual words without context, you may find you’ve entered the same meaning on two different notes. While it’s not optimal that you’re no longer notified in such a case, there’s a key difference between this case and the case above: in the case above, if we weren’t notified, then we’d have wasted effort typing in the same information twice. In this case, the duplicate information doesn’t need to be thrown away, but simply augmented so that it can be distinguished from the existing material. While you’re likely to realize you have duplicate meaning during reviews when you see a prompt and think of a different answer, there is also a "Find Duplicates" function in the browser.

Because "Find Duplicates" doesn’t need to run each time you press a key, it could potentially be more sophisticated in the future. While it is limited to exact matches at the moment, extending it to fuzzy matching in the future is not out of the question.

Why are you moving away from DropBox?

Anki 1.2’s media syncing caused more confusion than almost any other aspect of the app. Even when it was working as designed, it was difficult for users to set up, and was prone to errors when users changed their media folder without updating the media database. Its usability decreased even further when DropBox pushed out a silent update that broke third-party apps that were trying to locate the DropBox folder location. And at the end of July 2012, DropBox will completely stop providing Public links to new accounts, indicating they don’t want apps providing functionality like Anki did.

I have no immediate plans to charge for media hosting, but in the longer term I will probably need to introduce premium accounts for people with media over a certain size so that I can cover the increased hosting costs which I’m currently paying for out of my pocket.

If you’re concerned about having to pay in the future, media syncing can be disabled in Anki’s settings so that only the card/note data is synchronized. You are then free to use any third-party synchronization service to keep the media folders in sync between separate computers.

Why are reviews only scheduled on a per-day basis now?

  • The SuperMemo algorithm was not designed to work on a sub-day basis, and is not accurate to that level.

  • In previous versions of Anki, in order to review in the evening and then again the next morning, cards had to be scheduled with small intervals like 8 hours. Unfortunately this meant that cards reviewed in the morning would become due again in the evening, when they are better reviewed after a night’s sleep.

  • By making all of a day’s reviews due in the morning, you can both see at a glance how many cards are due that day, and study as many or as few as you desire. When you have a busy morning you can leave the cards until later, and likewise when you have a lot of free time, you can do all the cards in one session. When cards become due throughout the day, it’s not easy to find out how many more need to be done that day, and you have to jump through hoops to study more than are currently due.

  • For the initial learning steps where sub-day scheduling is more important, you can use Anki’s learning mode instead.