Skip to content

Releases: ankitects/anki

23.10

31 Oct 22:25
@dae dae
23.10
Compare
Choose a tag to compare

Notable changes

  • Anki's version numbering scheme has changed to year.month(.patch).
  • Quite a few add-ons will need updates to support the Qt 6 version of this release. Some porting notes are available.
  • Support for FSRS (which improves upon the scheduling provided by SM-2) is now integrated into Anki. You can compute the model weights directly inside Anki, and no longer need to use custom scheduling. If you have previously used FSRS, please delete the text in the custom scheduling section before enabling FSRS, and ensure the helper add-on has been updated to the 23.10 version if you are using it. By @L-M-Sherlock with help from @dae and @asukaminato0721 in #2633, #2654 and https://github.com/open-spaced-repetition/fsrs-rs.
  • Anki now has built-in support for creating image occlusions. Select the automatically-added "Image Occlusion" notetype in the add screen to use it. Glutanimate intends to update his add-on soon to work with the new system. By @krmanik, with help from @glutanimate, @hikaru-y, @abdnh and @dae in #2367, #2485, #2600, #2602, #2649, #2689, #2705 and more.
  • .apkg imports are able to merge changed notetypes, and can exclude scheduling data. By @RumovZ in #2612
  • Performance improvements to things like browser loading in the official builds.
  • You can now customize the video driver in Qt6 in the preferences, which can help to work around graphical issues. @abdnh in #2643
  • Add an option to stop the timer on answer by @abdnh in #2673
  • Allow searching for missing custom data properties by @abdnh in #2626
  • Support searching for custom data strings by @abdnh in #2634
  • Support for the v2 scheduler has been dropped.
  • .apkg exports now default to the new format.
  • New cards can now be gathered by deck then random note.

Smaller tweaks/fixes

  • Add a backend method to add notes in bulk by @abdnh in #2659
  • Add ability to tab to DuplicateLink by @SteelColossus in #2646
  • Add profile name in profile deletion confirmation message by @chandraiyengar in #2722
  • Add Sphinx documentation generation functionality by @gsingh93 in #2720
  • added Translator by @platynowy in #2653
  • Allow full screen mode on new Qt6 drivers by @abdnh in #2660
  • Allow saving window position when window fullscreen on Qt 6
  • Better error messages when csv file is in the wrong format
  • Change “Delete Note” shortcut to cmd+backspace by @montyevans in #2614
  • Check DB now fixes invalid UTF-8 in tags.
  • Close import log page on error by @abdnh in #2639
  • Display a more friendly message when one or more add-ons fail at startup
  • Do not show [object Object] in import log by @abdnh in #2636
  • Don't rely on the presence of revlogs to decide whether deck configs should be imported.
  • Fix a11y issues with Badge component by @adeleke5140 in #2721
  • Fix an error when repositioning tags (thanks to @abdnh)
  • Fix an issue caused by adding a colon to the start or end of a deck name by @swektr in #2748
  • Fix answer button tooltips not reflecting configured shortcuts by @abdnh in #2657
  • Fix error when closing Find Duplicates screen early by @abdnh in #2669
  • Fix intermittent browser error triggered by an early resize event by @abdnh in #2671
  • Fix misleading warning when changing notetype from/to cloze by @abdnh in #2744
  • Fix ModuleNotFoundError: No module named 'distutils' by @virinci in #2723
  • Fix pasting from external programs not working after copying text inside the editor.
  • Fix reversed float left/right icons
  • Fix some issues with undo/redo in mask editor by @hikaru-y in #2649
  • Fix typo: notetypeId → noteId by @glutanimate in #2615
  • Fix unable to save field dialog if certain fields are deleted by @swektr in #2663
  • Fix unescaped HTML in type-in-the-answer by @abdnh in #2658
  • Implemented support to audio_did_seek_relative by @evandrocoan in #2632
  • Reduce shaking of bottom bar by @abdnh in #2734
  • Rework media syncing to make it a little faster, and avoid duplicate errors when your password has changed. #2647
  • Skip template checks in Fields screen by @abdnh in #2670
  • Support AVIF by @nihil-admirari in #2630
  • Support Qt.TextFormat.MarkdownText in aqt.utils by @abdnh in #2675
  • The "edit current card" window is now a main window, which fixes some shortcut keys on macOS. By @abdnh in #2732
  • Tooltips for CSV import and import page refactoring by @RumovZ in #2655
  • Tweak browser column labels to card type, note type by @Gustaf-C in #2751
  • Change export notes' parent window in card browser by @kelciour in #2761
  • Fix Linux install script CWD check by @virinci in #2775
  • Make it possible to silent uninstall with WinGet by @kelciour in #2757
  • Refresh reviewer as the day rolls over by @abdnh in #2756
  • Update to Qt 6.5.3 on Windows/Mac
  • Fix error on 'Previous Card Info' when deleting a note by @abdnh in #2790
  • Fix HTML editor not displaying properly when expanding field by @hikaru-y in #2792

Notes for devs

  • If you wish to build Anki and have installed n2 in the past, please run tools/install-n2 before building.

New Contributors

Full Changelog: 2.1.66...23.10

2.1.66

19 Aug 23:36
@dae dae
2.1.66
Compare
Choose a tag to compare
  • Windows and Mac builds have been updated to the latest toolkit version,
    which will hopefully fix some crashes/bugs.
  • The v3 scheduler is now the default for new users.
  • When imports complete, a summary window is now shown (thanks to Abdo).
  • Use a different approach for detecting copy+paste from Anki fields, which may fix some crashes.
  • The minimalist/reduce motion toggles should no longer affect card content.
  • Media check now automatically extracts images that have been embedded in fields.
  • Handle importing of legacy AnkiDroid backups.
  • The built-in sync server can now be built without Python if you prefer.
  • Add keyboard shortcut for legacy stats (thanks to Luc).
  • Accessibility improvements (thanks to Derek and Kenny).
  • Fix addon update dialog showing twice (thanks to Rumo).
  • Fix bold toggle not working in certain circumstances (thanks to mmjang).
  • Align code blocks to left (thanks to shunlog).
  • Make weekday font smaller for Chinese locale (thanks to mmjang).
  • Improve performance of invalid ID fix in DB check.
  • Fix main window geometry/state not being restored in some cases (thanks to Abdo).
  • Handle invalid float mtimes in DB check.
  • Fix total note count not being logged in apkg import.
  • Report actual error when DbError occurs.
  • Fix two issues with MathJax editor (thanks to Hikaru).
  • Don't fail silently when an empty csv is imported.
  • Fix two issues that can cause editor fields to behave incorrectly (thanks to Hikaru).
  • When cards are in intraday learning queue, don't use original due.
  • Fix "Add-ons possibly involved" message never appearing on Windows (thanks to Abdo).
  • Add partial support for Hangul keyboard shortcuts during review (thanks to Christopher).
  • Disable add-on buttons when no field is focused by default (thanks to Abdo).
  • Fix toggleable editor button styles (thanks to Abdo).
  • Fixed a sporadic error in the review screen (thanks to mjuhanne).
  • Fixed an error that could occur when syncing between newer and older clients.
  • Fixed tab order in find&replace screen (thanks to Gabriel).
  • Various other minor fixes and behind-the-scenes changes.

Dev related:

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

2.1.65

31 May 06:45
@dae dae
2.1.65
Compare
Choose a tag to compare
  • Default to current deck in csv import if settings allow it.
  • Disable Toggle Bury when nothing is selected (thanks to Abdo).
  • Fix broken window styling when installation path includes certain Latin1 chars on Windows.
  • Fix illegible tooltips when system in dark mode on some Linux installs.
  • Fix incorrect font sizes on X11 when fractional scaling in use.
  • If the old Anki uninstaller fails, allow installation to proceed.
  • Improve phrasing in dialog that asks which deck's options should be shown (thanks to chrissy0).
  • Fix some add-on installation errors not being reported (thanks to Abdo)
  • Add add-on installation hooks (thanks to Abdo).

2.1.64

24 May 05:40
@dae dae
2.1.64
Compare
Choose a tag to compare

Functional changes:

  • The Windows installer no longer requires admin access (thanks to Martin). The first time you
    update, you'll need to run the installer again after uninstall completes.
  • Allow the user to configure answer keys in the preferences, fixing conflicts (thanks to Ren).
  • Preload embedded fonts to prevent flicker, and tweak wait time for image preloading (thanks to Hikaru).
  • Add the ability to search for FSRS scheduling properties, eg. prop:cdn:d>0.5 to search
    for the difficulty > 0.5.
  • Window positions, state and browser headers are now reset each time the Qt version changes,
    which should fix a number of crashes that users were reporting.
  • Add-on shortcuts will now override Anki defaults (thanks to Ren).

Fixes:

  • Fix media files being imported incorrectly when importing an .apkg file exported without support for older
    Anki versions.
  • Increase the number of supported fields in the editor (thanks to Hikaru).
  • Attempt to work around intermittent color setting failures in Qt6.5 on macOS.
  • Fix ugly text rendering on Wayland when using fractional scaling.
  • Fix inability to import csv when path contains single quote.
  • Show an error pop-up when csv import screen fails to load.
  • Don't disable animations on card templates when reduce motion is on.
  • Fix an error in the console when resizing windows (thanks to Austin)
  • Fix a panic when user sets a huge learning step.
  • Fix page scrolling when input box loses focus (thanks to Hikaru).
  • Fix failure to start on Windows when path contains non-Latin text.
  • Fix due/ivl prop queries not working in filtered decks.
  • Make some collection methods public in the Rust API (thanks to Joel).

2.1.63

09 May 08:53
@dae dae
2.1.63
Compare
Choose a tag to compare
  • Add alternative review shortcuts (h,j,k,l,u) (thanks to Ren).
  • Add an option in the preferences to stop spacebar from rating card (thanks to Ren).
  • Prevent change in image aspect ratio in editor when images have an explicit size set (thanks to Matthias).
  • Fix custom sync URL not working with subpaths (thanks to XeR).
  • Fix fcitx5 failing to work in Linux Qt6 build.
  • Fix some buttons in the deck options screen being illegible when hovering.

2.1.62

01 May 02:58
@dae dae
2.1.62
Compare
Choose a tag to compare
  • Update macOS/Linux builds to Qt 6.5, and update Windows build to Qt 6.4.3.

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

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

      sudo apt install libxcb-cursor0

  • Add an option to fully randomize reviews in the V3 scheduler.

  • Add a new option to the card templates screen to restore a notetype to the
    default fields/templates/styling.

  • Add clearer tooltip to hourly breakdown graph (thanks to Rumo).

  • Fix focus loss when closing HTML editor (thanks to Hikaru).

  • Prevent MathJax editor from closing when you selected text with the mouse and
    released the mouse button outside the window (thanks to Hikaru).

  • Pass original deck name to custom scheduling code, instead of filtered deck
    name.

  • When importing an .apkg where notetypes have changed, display a clearer
    message, and only if the notes in the incoming collection are newer.

  • Fix MathJax editor not being sized correctly (thanks to Hikaru).

  • Fix a flicker when dropdowns shown with reduce motion on (thanks to Hikaru).

2.1.61

31 Mar 03:36
@dae dae
2.1.61
Compare
Choose a tag to compare

Improvements to the V3 scheduler:

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

Other features/improvements:

  • You can now exclude certain fields from unqualified searches via the Fields
    screen (thanks to Abdo).
  • The tag area in the editor is now shown with a dropdown instead of a splitter
    (thanks to Matthias).
  • You can now adjust the current deck in the stats screen (thanks to yellowjello).
  • Add a button in the preferences to reset window sizes (thanks to Abdo).
  • Passing an invalid profile name on the commandline will now show profile
    picker instead of an error.
  • You can shift-click on a deck to select it as the current deck (thanks to
    Tobias).
  • You can now import decks with broken timestamps - they'll automatically be
    fixed on import (thanks to Rumo).
  • A DB check will now fix broken timestamps (thanks to Rumo).
  • Add time of date to browser date.
  • Allow Shift+Tab to move focus from tag area to last field (thanks to Hikaru).
  • Custom schedulers now have the deck name and random seed passed in to them, so
    they don't need to extract the info from the DOM (thanks to Rumo).
  • Improve debug console (thanks to Rumo).

Fixes:

  • Fix stats calendar incorrect due to daylight savings time (thanks to Kieran).
  • Prevent the top bar from hiding in the stats page as you scroll down (thanks
    to Fabricio).
  • Reduce motion is now on by default, as it fixes an issue with the bottom bar
    failing to appear for some users.
  • Fix new limit in v3 decreasing more than it should (thanks to Rumo).
  • Fix current tag text not being saved when changing note via shortcut key
    (thanks to Hikaru).
  • Fix tags popover becoming separated from the tags field (thanks to Fabricio).
  • Ensure the bottom buttons aren't displayed until the custom scheduling code
    has finished running (thanks to Rumo).
  • Refresh study screen if the user toggles the v3 scheduler (thanks to Rumo).
  • Fix notetypes screen not being closable after adding a notetype on Mac.
  • Check for division by zero when calculating browser aspect ratio, which fixes
    an issue with i3 (thanks to Ben).
  • Fallback to Wayland if X11 is not available (thanks to Ingemar).
  • Tweaks to the build scripts to make packaging in distros easier (thanks to
    Euan).
  • Fix silent file save failures and bad default save path in Flatpak (thanks to
    Jack).
  • Fix HTML editor sometimes not properly sized when opening editor (thanks to
    Hikaru).
  • Fix error showing if user clicks in sidebar before it's rendered.
  • Fix backup creation for collections > 1 GiB (thanks to Rumo).
  • Fix black on grey minimalist buttons in Qt5 (thanks to Daniel).
  • Fix black on grey deck options on Qt5 (thanks to Daniel).
  • Export static references from sound tags (thanks to Rumo).
  • Fix packaged audio tools path on Windows (thanks to Abdo).
  • Fix a case where 'reduce motion' and 'minimalist mode' were switched (thanks
    to Daniel).
  • Fix panic with invalid sync server URL with port (thanks to Daniel).
  • Fix double scrollbars in deck options (thanks to Fabricio).
  • Fix images with non-Latin text and commas failing to display.
  • Fix editor text possibly being transfer to different notetypes (thanks to
    Fabricio).
  • Improve hover appearance of buttons (thanks to Matthias).
  • Fix inability to activate search in graphs screen on Android (thanks to
    yellowjello).
  • Fix an issue building on Windows (thanks to Kieran).

2.1.60

22 Feb 06:41
@dae dae
2.1.60
Compare
Choose a tag to compare

If updating from 2.1.57 or earlier, please see the important note in the 2.1.58 change notes.

  • Add button to tag notes with missing media (thanks to Rumo).
  • Fix slow editor startup for users with lots of fields (thanks to Hikaru).
  • Fix a regression in 2.1.58 that broke TTS add-ons (thanks to Rumo).
  • Fix HTML editor hiding when shown by default (thanks to Fabricio).
  • Fix some widgets not indicating they're disabled (thanks to Matthias).
  • Fix deck options selector not updating the current entry sometimes (thanks to Fabricio).
  • Fix type box losing focus when switching IMEs (thanks to Hikaru).
  • Fix 'toggle bury' not updating for automatically-buried cards.
  • Improvements to lifecycle handling for add-ons accessing Svelte components (thanks to Matthias).

2.1.59

22 Feb 02:39
@dae dae
2.1.59
f604575
Compare
Choose a tag to compare

This release has been yanked due to a packaging error. Please see 2.1.60 instead.

2.1.58

17 Feb 04:03
@dae dae
2.1.58
Compare
Choose a tag to compare

This release fixes an issue in 2.1.57 that caused cards and deck presets
to be reset to the default ease, if you exported a .colpkg with compatibility
with older clients enabled, or used the downgrade and quit option, then opened
the collection again. For the former issue, this occurred to the collection you
were exporting from, and not just the .colpkg file. If you were affected by this,
running the following in the debug console after updating should restore your
cards to the ease they were at when you last reviewed them, if they were not
reviewed after the problem occurred. Please make a backup before proceeding.

updated = 0
for cid, old, new in mw.col.db.all("select id, factor, (select factor from revlog where cid=cards.id order by id desc limit 1) as factor2 from cards where type=2"):
  if new and old != new:
    card = mw.col.get_card(cid)
    card.factor = new
    mw.col.update_card(card)
    updated += 1
print("updated", updated)

It will print the number of updated cards.

https://docs.ankiweb.net/misc.html#debug-console

Other changes in this update:

Custom sync server

  • You can now customize the network timeout in the sync settings, which may be required
    if you have a large collection and/or a slower device.
  • Maximum sizes are no longer enforced when downloading from custom sync servers.

Type in the answer

  • Fix type answer comparison being collapsed when extra characters in input.
  • Revert to blanking out missed chars in provided text, like older releases.
  • Wrap expected text in code block when no answer provided.

Importing

  • When importing csv files, you can now limit duplicate matching to the deck cards are in (thanks to Rumo).
  • Support UTF-8-BOM when importing CSV (thanks to Rumo).
  • Duplicate handling policy can be specified in the csv file header (thanks to Rumo).

Scheduling

  • It is no longer possible to enable burying of reviews without also burying new cards,
    as Anki excludes buried cards up front, and needs to do so in a particular order
    to avoid errors during review.
  • Fix v3 deck-specific limits affecting the deck list/study screen in v2 mode.
  • Show custom data from third-party schedulers in stats screen.
  • Allow burying cards in the browser (thanks to Kaben).

Fixes

  • Switch to a new Windows TTS implementation, which unblocks future upgrades,
    and should perform better (thanks to Rumo).
  • Work around a startup error some users were receiving on Windows.
  • Fix currently-selected preset not being indicated in deck options (thanks to Fabricio).
  • Fix error shown after toggling full screen.