24.06

ankitects/anki24.06Jun 7, 2024by dae

AI Summary

Includes security fixes and significant FSRS updates, plus UI improvements and a switch to SvelteKit.

Key Highlights

  • Security fixes for handling shared decks.
  • FSRS updates including median calculation and review count display.
  • Switch to SvelteKit framework.
  • Improved I/O editor with better text size handling.

New Features

  • SvelteKit migration
  • Auto-answer can show reminder instead of answer
  • Toggle LaTeX generation preference
  • Support for custom certificates

Full Release Notes

## What's Changed

This release includes some security fixes for the handling of shared decks. If you make use of shared decks from untrusted authors, updating to the latest version is recommended. A big thank you to Autumn and Jay for the reports.

Image occlusion during review has been reported as broken in this release. An update is expected to follow in a day or so.

Changes in FSRS:

* Update to latest FSRS by @L-M-Sherlock in https://github.com/ankitects/anki/pull/3106 and https://github.com/ankitects/anki/pull/3200
* Return current weights if fsrs items is zero & handle error in evaluation and optimal retention by @L-M-Sherlock in https://github.com/ankitects/anki/pull/3141
* Update optimal retention and parameters tooltip by @L-M-Sherlock in https://github.com/ankitects/anki/pull/3148
* Show review count with FSRS evaluation results by @abdnh in https://github.com/ankitects/anki/pull/3165
* Show review count for Evaluate/Optimize button by @abdnh in https://github.com/ankitects/anki/pull/3170
* Use median in calculating cost and remove outliers by @L-M-Sherlock in https://github.com/ankitects/anki/pull/3181
* Fix/exclude suspended cards when optimize all presets by @L-M-Sherlock in https://github.com/ankitects/anki/pull/3198
* Fix/ignore revlogs when there is not learn entry after the last forget entry by @L-M-Sherlock in https://github.com/ankitects/anki/pull/3199
* Tweaks to the 'optimize all presets' progress

Other improvements:

* Highlight the current I/O shape during review by @krmanik in https://github.com/ankitects/anki/pull/3098
* Auto-answer can now show reminder instead of answer (#3064) by @Loudwig in https://github.com/ankitects/anki/pull/3119
* Switch to SvelteKit by @dae in https://github.com/ankitects/anki/pull/3077
* Optimum → Minimum retention by @user1823 in https://github.com/ankitects/anki/pull/3133
* Add Margins on the Buttons on the About Page by @Ianwu0812 in https://github.com/ankitects/anki/pull/3137
* Improve typing of custom fabric.Object properties by @abdnh in https://github.com/ankitects/anki/pull/3134
* Fix IO text size in review screen by @abdnh in https://github.com/ankitects/anki/pull/2986
* Ignore errors in do_window_cleanup to fix shutdown issue by @abdnh in https://github.com/ankitects/anki/pull/3142
* Fix spacebar causing stutter when editing cards by @abdnh in https://github.com/ankitects/anki/pull/3150
* Fix auto sync not working on Windows shutdown by @abdnh in https://github.com/ankitects/anki/pull/3153
* Add minimalist mode tooltip by @hnvy in https://github.com/ankitects/anki/pull/3155
* Fix dark mode icons by @RumovZ in https://github.com/ankitects/anki/pull/3135
* Add number truncation before back-end translation by @lucasscharenbroch in https://github.com/ankitects/anki/pull/3162
* Add keyboard shortcuts for empty cards and toggle mask on image occlusion by @escribapetrus in https://github.com/ankitects/anki/pull/3136
* Use key instead of code in type-in field by @abdnh in https://github.com/ankitects/anki/pull/3166
* Improve and unify web dialog styling by @RumovZ in https://github.com/ankitects/anki/pull/3167
* fix polygon tool draw by @krmanik in https://github.com/ankitects/anki/pull/3184
* Clean up #3167 by @RumovZ in https://github.com/ankitects/anki/pull/3186
* Do not clear unused parent tags by @abdnh in https://github.com/ankitects/anki/pull/3174
* Fix '366 of 365 days studied' by @abdnh in https://github.com/ankitects/anki/pull/3182
* Fix IO event handlers being run on normal notes by @abdnh in https://github.com/ankitects/anki/pull/3195
* Fix finished preview learning cards being repeated by @abdnh in https://github.com/ankitects/anki/pull/3196
* Use SplashScreen flag for all aqt tooltips by @voczi in https://github.com/ankitects/anki/pull/3194
* Do not show media auto sync errors by @abdnh in https://github.com/ankitects/anki/pull/3197
* HMR on Windows by @RumovZ in https://github.com/ankitects/anki/pull/3144
* Mnemosyne importer now handles float values for due date and interval
* Fix Mnemosyne importer clobbering source file
* Ensure DB check tooltip appears in main window
* Call profile_did_open hook at the end of loadProfile by @abdnh in https://github.com/ankitects/anki/pull/3202
* Fix future due search missing cards on last day by @abdnh in https://github.com/ankitects/anki/pull/3206
* Do not recreate io page when toggle button used by @krmanik in https://github.com/ankitects/anki/pull/3208
* Reschedule → Reposition by @user1823 in https://github.com/ankitects/anki/pull/3209
* Add support for custom certificates by @voczi in https://github.com/ankitects/anki/pull/3203
* Another try at fixing IO events issue by @abdnh in https://github.com/ankitects/anki/pull/3210
* Fixes shift click selection after programmatic selection in most cases, Issue #2469 by @RRomeroJr in https://github.com/ankitects/anki/pull/3213
* Reword sync conflict explanation by @abdnh in https://github.com/ankitects/anki/pull/3221
* Add a preference to toggle LaTeX generation by @abdnh in https://github.com/ankitects/anki/pull/3218
* Pass -- to mpv/mplayer before filename by @abdnh in https://github.com/ankitects/anki/pull/3219
* Add starting window class by @upsuper in https://github.com/ankitects/anki/pull/3216
* Remove empty cards shortcut key, as it conflicts.
* Honor night mode when switching between cards in card info.
* Probable fix for crash when syncing from preferences screen.
* Avoid askUser() in sync dialogs by @abdnh in https://github.com/ankitects/anki/pull/3222
* Work around RuntimeError in _update_button_label() by @abdnh in https://github.com/ankitects/anki/pull/3224
* Mention missing field's name in CardTypeError by @abdnh in https://github.com/ankitects/anki/pull/3225
* Fix missing i18n module in IO review screen by @abdnh in https://github.com/ankitects/anki/pull/3223

## New Contributors
* @jthulhu made their first contribution in https://github.com/ankitects/anki/pull/3108
* @escape0707 made their first contribution in https://github.com/ankitects/anki/pull/3114
* @Ianwu0812 made their first contribution in https://github.com/ankitects/anki/pull/3137
* @Loudwig made their first contribution in https://github.com/ankitects/anki/pull/3119
* @voczi made their first contribution in https://github.com/ankitects/anki/pull/3194
* @RRomeroJr made their first contribution in https://github.com/ankitects/anki/pull/3213
* @upsuper made their first contribution in https://github.com/ankitects/anki/pull/3216

**Full Changelog**: https://github.com/ankitects/anki/compare/24.04.1...24.06