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