23.12
ankitects/anki23.12Dec 25, 2023by dae
AI Summary
Major FSRS overhaul, deck options updates, and image occlusion keyboard shortcuts.
Key Highlights
- FSRS v4.5 updates including a rewrite of the optimal retention code.
- Deck options screen now includes auto-advance feature.
- Image occlusion now supports keyboard shortcuts.
- Deck options now includes a v3 option to limit child decks.
New Features
- Auto-advance feature in deck options
- v3 option to limit child decks by parent
- Image occlusion keyboard shortcuts
Full Release Notes
## What's Changed FSRS: * Minor improvements to the algorithm (FSRS 4.5). While not essential, we recommend you re-optimize your FSRS parameters after updating. By @L-M-Sherlock and @asukaminato0721 in https://github.com/open-spaced-repetition/fsrs-rs/pull/111 and https://github.com/open-spaced-repetition/fsrs-rs/pull/119 and https://github.com/ankitects/anki/pull/2901. * The deck options Save dropdown now lets you optimize all presets at once. * Rewrite the optimal retention code. The new code will give different results. By @L-M-Sherlock and @asukaminato0721 in https://github.com/open-spaced-repetition/fsrs-rs/pull/122 and https://github.com/open-spaced-repetition/fsrs-rs/pull/124 * The search used for optimizing presets is now remembered. By @abdnh in https://github.com/ankitects/anki/pull/2827 * Exclude suspended cards from optimization by default. * When using 'deck:*' in the search, reviews from deleted cards are included. * The reschedule-on-parameters-change option is now shared between all presets, and will default to off each time. * When cards are rescheduled multiple times without reviews, extra entries will not be added to the review log. * Fix some bugs in sorting by FSRS retrievability. * Clarify learning steps recommendation by @user1823 in https://github.com/ankitects/anki/pull/2832 * Ignore filtered revlog in time of last review by @L-M-Sherlock in https://github.com/ankitects/anki/pull/2845 * Fix FSRS scheduling when add-ons manually convert cards to learning by @L-M-Sherlock in https://github.com/ankitects/anki/pull/2849 * Better approximate average retention/ease/difficulty. * Don't use SM2 memory state when cards are manually introduced. * Fix incorrect search being used when evaluating parameters. * Recompute FSRS memory state when cards moved into different deck. * Correct the description of FSRS Difficulty in Stats by @user1823 in https://github.com/ankitects/anki/pull/2888 * FSRS ignores revlog entries with time = 0 when calculating time taken. By @L-M-Sherlock in https://github.com/ankitects/anki/pull/2870 * Keep two decimals for stability by @L-M-Sherlock in https://github.com/ankitects/anki/pull/2873 * Improve calculated difficulty for cards that skipped initial learning. * Catch NaNs in FSRS parameters. Deck options screen: * Added a new v3 option to limit child decks by their parent, when clicking on the child. By @RumovZ in https://github.com/ankitects/anki/pull/2824 * Added an auto-advance feature. Activate from More menu; configure via deck options. By @abdnh in https://github.com/ankitects/anki/pull/2765 * The deck options screen now opens faster. * Change link to manual in help screen from icon to text by @Gustaf-C in https://github.com/ankitects/anki/pull/2886 * Make help button more obvious, and remove hover animations. * Add a globe icon to global settings in the deck options. * Fix some RTL issues in help modals by @abdnh in https://github.com/ankitects/anki/pull/2857 * Do not close web pages when Esc is pressed and a modal is open by @abdnh in https://github.com/ankitects/anki/pull/2894 Other scheduling/review-related changes: * When rescheduling is disabled in a filtered deck, you can now choose different delays for again, hard and good. Set to 0 to have that button immediately remove the card. * The 'preview new cards' option in custom study now uses note-added order. * Don't restrict answer key shortcuts to alphanumeric characters and a few symbols. * Include elapsed_secs in learning card state by @Gustaf-C in https://github.com/ankitects/anki/pull/2862 * Fix cards showing up due in the past in a filtered deck. * Fix filtered deck ordering of intraday learning cards and reviews by @abdnh in https://github.com/ankitects/anki/pull/2828 * Support all MathJax modules in review screen by @abdnh in https://github.com/ankitects/anki/pull/2836 * Add hint for zero minutes in filtered deck by @Gustaf-C in https://github.com/ankitects/anki/pull/2887 * Fix relative overdueness order error in filtered deck. Image occlusion: * Add keyboard shortcuts to Image Occlusion, and fix a number of issues. By @krmanik in https://github.com/ankitects/anki/pull/2809 and https://github.com/ankitects/anki/pull/2847 * Fix image occlusion not showing up in Qt5 by @hikaru-y in https://github.com/ankitects/anki/pull/2829 * Don't show an error when opening add screen when the existing I/O notetype is invalid. * Fix overlapping I/O icons in some languages * Fix changes to groups of I/O masks not saving by @abdnh in https://github.com/ankitects/anki/pull/2878 * Fix switching of add & history buttons when selecting IO notetype by @akashreddy03 in https://github.com/ankitects/anki/pull/2833 * Fix IO card count by @abdnh in https://github.com/ankitects/anki/pull/2884 Import/export: * Allow importing/exporting with/without deck configs by @RumovZ in https://github.com/ankitects/anki/pull/2804 * Fix CSV importer dropdowns not updating after changes by @RumovZ in https://github.com/ankitects/anki/pull/2885 * Fix inability to search for existing notes in CSV import screen by @RumovZ in https://github.com/ankitects/anki/pull/2898 * Fix broken HTML in CSV import screen. Editor: * Fix image overlay not closing when clicking outside on Qt6.6 by @hikaru-y in https://github.com/ankitects/anki/pull/2861 * Clear editor's internal copied text on cut/copy by @abdnh in https://github.com/ankitects/anki/pull/2866 * Fix Mathjax can only be pasted once by @akashreddy03 in https://github.com/ankitects/anki/pull/2869 * Improve confirmation message in Add screen by @abdnh in https://github.com/ankitects/anki/pull/2903 * Fix macOS clipboard issues by @msisovic in https://github.com/ankitects/anki/pull/2900 * Improve visibility of clicked buttons in editor by @Gustaf-C in https://github.com/ankitects/anki/pull/2841 Card info: * Show due date of buried/suspended cards in card info by @abdnh in https://github.com/ankitects/anki/pull/2820 * Hide "position" in card info when card not new. * Show actual due date of learning cards in Card Info screen by @abdnh in https://github.com/ankitects/anki/pull/2865 * Bring card info window to top if card info action used again by @akashreddy03 in https://github.com/ankitects/anki/pull/2896 Browser: * Ensure cloze numbers sort in order when sorting by card template. * Fix sorting by due column in notes mode. * When sorting by due, intraday and interday intervals are no longer separated. By @abdnh in https://github.com/ankitects/anki/pull/2840 * Calculate elapsed days for intraday learning cards in browse screen and relative overdueness sorting. Platform changes: * Update to PyQt 6.6.1 on all platforms. * Platform CSS has been reimplemented. Standard selectors like .win and .mobile should continue to work; more obscure ones that weren't documented will not. By @abdnh in https://github.com/ankitects/anki/pull/2854 * Automatically disable sandbox on Qt5 PyPi/packaged builds on Linux, as is required on modern glibc versions. * The Qt6 Apple Silicon build now correctly declares it requires macOS 12+ to run, instead of crashing on startup. * Update licensing info of a few third-party modules by @antecrescent in https://github.com/ankitects/anki/pull/2850 * Mention environment variable YARN_BINARY in documentation by @antecrescent in https://github.com/ankitects/anki/pull/2851 Other: * Improve keyboard handling and accessibility of dropdown boxes by @grepgrok in https://github.com/ankitects/anki/pull/2811 * Resolve some accessibility issues for tag options buttons by @grepgrok in https://github.com/ankitects/anki/pull/2787 * Ensure deck browser fetches collection data in the background. * Fix sync status check blocking collection access when network offline. * Ensure correct endpoint is used when syncing from Rust. By @sartak in https://github.com/ankitects/anki/pull/2864 * Ignore rescheduled cards in old stats page by @user1823 in https://github.com/ankitects/anki/pull/2863 * Do not add a fallback field reference if front side contains conditionals by @abdnh in https://github.com/ankitects/anki/pull/2859 * Ensure progress windows get cleaned up. * Fix mpv idle notification not using main thread. * Fix mpv not working out of the box in win32 source build. * Handle invalid install timestamps in add-ons. * Offer to save changes when card layout screen is closed by @abdnh in https://github.com/ankitects/anki/pull/2899 * Make the error dialog shown when an error occurs more friendly. * Refresh model list when legacy addon adds notetype by @kieranlblack in https://github.com/ankitects/anki/pull/2825 ## New Contributors * @msisovic made their first contribution in https://github.com/ankitects/anki/pull/2900 * @gustavosmendes1 made their first contribution in https://github.com/ankitects/anki/pull/2855 * @sartak made their first contribution in https://github.com/ankitects/anki/pull/2864 * @grepgrok made their first contribution in https://github.com/ankitects/anki/pull/2787 * @akashreddy03 made their first contribution in https://github.com/ankitects/anki/pull/2833 * @antecrescent made their first contribution in https://github.com/ankitects/anki/pull/2850