anki

Anki's shared backend and web components, and the Qt frontend

OTHER License

Downloads
1.2K
Stars
18.4K
Committers
195
anki -

Published by dae 12 months ago

What's Changed

General:

  • Update all platforms to Qt 6.6. This change fixes Japanese input on macOS.
  • Fix Anki failing to run on older macOS versions.
  • The Linux Qt6 build requires a newer glibc, so older distros like Debian 11 won't work with it.
  • Fix syncserver failing to run in macOS packaged build.
  • Fix some potential security issues.
  • Fix 'creating backup' showing for longer than necessary.
  • Add tooltip to mask editor button.
  • Allow creation of empty filtered decks by @Gustaf-C in https://github.com/ankitects/anki/pull/2788
  • Add confirmation for upload when AnkiWeb collection determined empty.
  • Fix add-ons screen showing 'requires Anki >= 2.1.231000'.
  • Fix overflowing filenames displacing import button by @RumovZ in https://github.com/ankitects/anki/pull/2806
  • Fix Anki closing before 'your clock is wrong' message appears.
  • Hide "toggle masks" in "Hide One, Guess One" mode by @abdnh in https://github.com/ankitects/anki/pull/2817
  • Change tooltip strings for image occlusion center alignments by @snowtimeglass in https://github.com/ankitects/anki/pull/2815
  • Check video tags in media check.

FSRS:

  • Prompt user to save preset changes before they compute FSRS weights.
  • Fix panic when enabling FSRS with add-on-rescheduled cards.
  • Add an info box so the non-linear nature of desired retention can be seen
  • Improve presentation of log loss and RMSE by @user1823 in https://github.com/ankitects/anki/pull/2805
  • Rename FSRS weights to parameters
  • Handle stability < 0.5 in stability graph

New Contributors

Full Changelog: https://github.com/ankitects/anki/compare/23.10...23.10.1

anki - 23.10.1rc2

Published by dae 12 months ago

What's Changed

Full Changelog: https://github.com/ankitects/anki/compare/23.10.1rc1...23.10.1rc2

anki - 23.10.1rc1

Published by dae 12 months ago

  • Update all platforms to Qt 6.6. Please report any improvements or regressions you notice, as we need to decide whether to (partially) revert this before the stable release. This change fixes Japanese input on macOS.
  • Fix Anki failing to run on older macOS versions.
  • The Linux Qt6 build requires a newer glibc, so older distros like Debian 11 won't work with it.
  • Prompt user to save preset changes before they compute FSRS weights.
  • Fix syncserver failing to run in macOS packaged build.
  • Fix panic when enabling FSRS with add-on-rescheduled cards.
  • Fix 'creating backup' showing for longer than necessary.
  • Add tooltip to mask editor button.
anki - 23.10

Published by dae 12 months ago

Notable changes

  • Anki's version numbering scheme has changed to year.month(.patch).
  • Quite a few add-ons will need updates to support 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 https://github.com/ankitects/anki/pull/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 https://github.com/ankitects/anki/pull/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 https://github.com/ankitects/anki/pull/2643
  • Add an option to stop the timer on answer by @abdnh in https://github.com/ankitects/anki/pull/2673
  • Allow searching for missing custom data properties by @abdnh in https://github.com/ankitects/anki/pull/2626
  • Support searching for custom data strings by @abdnh in https://github.com/ankitects/anki/pull/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

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: https://github.com/ankitects/anki/compare/2.1.66...23.10

anki - 23.10rc3

Published by dae 12 months ago

  • Fix D/R graphs excluding values of 1.0
  • Fix sm2_retention getting reset on downgrade/sync
  • Conflict handling -> Updates
  • Mention 'custom scheduling' and link to FSRS in manual
  • Add 'copy debug info' button to add-on startup screen
  • Start editing text immediately after adding text node
  • Fix I/O failing to load if image takes too long
  • Fix 'learn' showing twice in deck browser
anki - 23.10rc2

Published by dae 12 months ago

What's Changed

Full Changelog: https://github.com/ankitects/anki/compare/23.10rc1...23.10rc2

anki - 23.10 (placeholder)

Published by dae about 1 year ago

See 23.10rc for downloads; this will get updated when a stable release is made.

Notable changes

  • Anki's version numbering scheme has changed to year.month(.patch).
  • Quite a few add-ons will need updates to support 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 https://github.com/ankitects/anki/pull/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 https://github.com/ankitects/anki/pull/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 https://github.com/ankitects/anki/pull/2643
  • Add an option to stop the timer on answer by @abdnh in https://github.com/ankitects/anki/pull/2673
  • Allow searching for missing custom data properties by @abdnh in https://github.com/ankitects/anki/pull/2626
  • Support searching for custom data strings by @abdnh in https://github.com/ankitects/anki/pull/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

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: https://github.com/ankitects/anki/compare/2.1.66...23.10placeholder

anki - 23.10rc1

Published by dae about 1 year ago

For what's changed since 2.1.66, please see here

What's Changed

New Contributors

Full Changelog: https://github.com/ankitects/anki/compare/23.10beta6...23.10rc1

anki - 23.10beta6

Published by dae about 1 year ago

What's Changed

  • Fix startup failure in macOS bundle.
  • The Qt5 compatibility code is now off by default, which may break some add-ons that haven't been updated to support Qt6 in the last 2 years. If you find any have broken, please report the issues to the add-on author, and start Anki after setting the env var ENABLE_QT5_COMPAT to 1 to temporarily restore the compatibility code.
  • Remove legacy v1/v2 code by @abdnh in https://github.com/ankitects/anki/pull/2727. This may also cause errors in some add-ons if they were referencing hooks that only applied to v1/v2.
  • Tab in the editor now only moves between fields again.
  • Fix stuttering in FSRS progress display.
  • The "edit current card" window is now a main window, which fixes some shortcut keys on macOS. By @abdnh in https://github.com/ankitects/anki/pull/2732
  • Don't rely on the presence of revlogs to decide whether deck configs should be imported.
  • Reduce maximum deck size in retention calculation

Full Changelog: https://github.com/ankitects/anki/compare/23.10beta5...23.10beta6

anki - 23.10beta5

Published by dae about 1 year ago

What's Changed

FSRS:

  • FSRS performance improvements
  • Add help entries for FSRS options
  • Use sm2 retention when deriving memory state for incomplete logs
  • Fix 'PanicException: command requires weights to be set'
  • Fix 'Expression tree is too large' when user has many decks
  • Don't provide a button to copy estimated retention into desired retention
  • Better handle case where user has no configured relearning steps

Image occlusion:

Other changes:

New Contributors

Full Changelog: https://github.com/ankitects/anki/compare/23.10beta4...23.10beta5

anki - 23.10beta4

Published by dae about 1 year ago

What's Changed

FSRS:

  • Improve accuracy of weight calculation and optimal retention (thanks to @L-M-Sherlock and @asukaminato0721)
  • Improve performance of weight calculation and optimal retention (@dae, @L-M-Sherlock and @asukaminato0721)
  • You can now optionally reschedule cards when you make changes to the FSRS weights or retention.
  • Add stability graph (@dae and @meliache)
  • When learning steps are missing, start from the initial SM-2 state instead of new state (@dae and @user1823)
  • Fix 'TypeError' messages when optimal retention takes a long time.
  • Fix an issue generating optimal retention by @L-M-Sherlock in https://github.com/ankitects/anki/pull/2688
  • Fix optimal retention failing when no relearning steps configured.
  • Ensure fuzz doesn't result in going backwards (@dae and @user1823)
  • Display the default weights as a placeholder

Other changes:

Full Changelog: https://github.com/ankitects/anki/compare/23.10beta3...23.10beta4

anki - 23.10beta3

Published by dae about 1 year ago

What's Changed

FSRS:

  • Weight generation now handles outliers, and should be closer to the Python optimizer (thanks to @L-M-Sherlock and @asukaminato0721).
  • Cards without learning steps in their review history now have their FSRS learning state derived from SM-2.
  • When scheduling FSRS, 'days elapsed' is derived from the review history instead of the current card state.
  • Fix incorrect FSRS scheduling in filtered decks.
  • Progress should now always show properly when optimizing weights.
  • More sensible FSRS progress indicator precision by @meliache in https://github.com/ankitects/anki/pull/2684
  • Button to set desired FSRS retention to optimal/calculated by @meliache in https://github.com/ankitects/anki/pull/2685
  • Deck config UI tweaks
  • Desired retention range now 0.7-0.97

Image occlusion:

Other:

New Contributors

Full Changelog: https://github.com/ankitects/anki/compare/23.10beta2...23.10beta3

anki -

Published by dae about 1 year ago

Changes since beta 1:

  • Don't show multiple cancel buttons
  • Fix cancel signal being ignored if sent quickly
  • Prohibit weight generation when reps < 1000
  • Allow cards with no learning history when not training
  • UI tweaks
  • Support retrievability calculation for (re)learning cards
  • Fix issues with searching and sorting on retrievability
  • Cap optimal retention simulation to 10 years
  • Expose deck-then-random option in UI
  • Fix entire collection being used to calculate weights
anki - 23.10 Beta 1

Published by dae about 1 year ago

What's Changed

Notable changes:

  • Anki's version numbering scheme has changed to year.month(.patch).
  • Support for FSRS (which improves upon the scheduling provided by SM-2) is now integrated into Anki. You can train the model 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. By @L-M-Sherlock with help from @dae and @asukaminato0721 in https://github.com/ankitects/anki/pull/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 to use it. Glutanimate intends to update his add-on soon to work with the new system. By @krmanik, with help from @glutanimate and @hikaru-y in #2367, #2485, #2600, #2602, #2649.
  • .apkg imports are able to merge changed notetypes, and can exclude scheduling data. By @RumovZ in https://github.com/ankitects/anki/pull/2612
  • You can now customize the video driver in Qt6 in the preferences, which can help to work around graphical issues. @abdnh in https://github.com/ankitects/anki/pull/2643
  • Add an option to stop the timer on answer by @abdnh in https://github.com/ankitects/anki/pull/2673
  • Allow searching for missing custom data properties by @abdnh in https://github.com/ankitects/anki/pull/2626
  • Support searching for custom data strings by @abdnh in https://github.com/ankitects/anki/pull/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:

New Contributors

Notes for devs & add-on authors

  • If you wish to build Anki and have installed n2 in the past, please run tools/install-n2 before building.
  • QueryOp()s are now serialized by default, as only one operation should be accessing the collection at once. If you
    use QueryOp() for non-collection tasks like network requests, you can opt-out of this with .without_collection()
  • point_version() can continue to be used - on Anki 2.1.66 it returns 66, and on Anki 23.10(.0), it returns 231000.
  • AnkiWeb has been updated to support the new version format in version ranges.

Full Changelog: https://github.com/ankitects/anki/compare/2.1.66...23.10beta1

anki - 2.1.66

Published by dae about 1 year ago

  • 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).
anki -

Published by dae over 1 year ago

  • 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).
anki -

Published by dae over 1 year ago

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

Published by dae over 1 year ago

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

Published by dae over 1 year ago

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

anki -

Published by dae over 1 year ago

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