24.04

ankitects/anki24.04Mar 31, 2024by dae

AI Summary

Major update including Qt 6.6.2, FSRS v0.2.0, and image occlusion improvements.

Key Highlights

  • Updated Qt to 6.6.2, fixing Japanese input issues on macOS.
  • Updated FSRS to version 0.2.0.
  • Image occlusion improvements: zoom, pinch/drag, and new 'select all' shapes tool.
  • Added 'View Files' button to Check Media screen.

New Features

  • Offline builds support
  • Python logging support
  • Select all shapes tool in Image Occlusion
  • View Files button in Check Media

Full Release Notes

## What's Changed

* Update Qt to 6.6.2. On macOS, this should fix issues with Japanese input.
* Update FSRS & export benchmark API by @L-M-Sherlock in https://github.com/ankitects/anki/pull/3056
* Keep previous FSRS parameters if they get worse when optimizing by @abdnh in https://github.com/ankitects/anki/pull/2996
* The I/O editor better preserves images quality when zooming in, and supports two-finger pinch/drag on mobile platforms. By @krmanik in https://github.com/ankitects/anki/pull/3052
* Improved pan/zoom in image occlusions: middle mouse button, space, or ctrl/shift/alt with two fingers by @krmanik in https://github.com/ankitects/anki/pull/3080 and #3066 
* Improvements/simplifications to FSRS optimal retention feature by @L-M-Sherlock in https://github.com/ankitects/anki/pull/3065 and #3072
* When updating all FSRS parameters at once, exclude suspended cards.
* Move most FSRS options into their own section of the deck options.
* Don't hide FSRS optimization section.
* Show a warning in the optimization section if all presets haven't been optimized for 30 days or longer.
* Show preset and original deck in card info by @abdnh in https://github.com/ankitects/anki/pull/3055
* Use system certificate store by @abdnh in https://github.com/ankitects/anki/pull/3050
* Ignore some extra chars in no-combining search by @abdnh in https://github.com/ankitects/anki/pull/2929
* Add "select all" shapes tool by @krmanik in https://github.com/ankitects/anki/pull/2981
* Maintain original IO cloze order in editing mode by @abdnh in https://github.com/ankitects/anki/pull/2987
* Fix occasional 'failed to fetch' message popping up.
* Fix pasted images failing to download from some sites.
* Add by creation date review sort order by @abdnh in https://github.com/ankitects/anki/pull/2957
* Add log-in button to preferences screen by @lucasscharenbroch in https://github.com/ankitects/anki/pull/2994
* Add support for offline builds by @knobix in https://github.com/ankitects/anki/pull/2963
* Add support for python logging by @cav71 in https://github.com/ankitects/anki/pull/2969
* Add View Files button to Check Media screen by @abdnh in https://github.com/ankitects/anki/pull/3006
* Allow > inside HTML attributes by @vaxr in https://github.com/ankitects/anki/pull/2918
* Americanize "synchronisation" by @hnvy in https://github.com/ankitects/anki/pull/2935
* Change default font in code editors by @abdnh in https://github.com/ankitects/anki/pull/2985
* Check required review count for FSRS after filtering by @abdnh in https://github.com/ankitects/anki/pull/3019
* clamp interval before fuzz_bounds by @L-M-Sherlock in https://github.com/ankitects/anki/pull/3024
* Clear out old FSRS progress as new operation starts
* Default to 'Bury Card' action consistently by @abdnh in https://github.com/ankitects/anki/pull/2950
* Do not reset original_due when card stays in filtered deck by @abdnh in https://github.com/ankitects/anki/pull/2988
* Don't urllib.unquote when using requests by @vaxr in https://github.com/ankitects/anki/pull/2943
* Fix 'ignore this update' not working.
* Fix `processEvents()` reentrancy bug in progress manager window handling by @kieranlblack in https://github.com/ankitects/anki/pull/3030
* Fix a 'protocol wrong type' message sometimes popping up.
* Fix circular import in legacy importer by @abdnh in https://github.com/ankitects/anki/pull/3007
* Fix code completion in Qt forms by @abdnh in https://github.com/ankitects/anki/pull/2993
* Fix corner rounding of alignment buttons in editor by @lucasscharenbroch in https://github.com/ankitects/anki/pull/2989
* Fix crash in Reviewer by @mjuhanne in https://github.com/ankitects/anki/pull/2945
* Fix deck names differing in case being duplicated in CSV import by @abdnh in https://github.com/ankitects/anki/pull/3008
* Fix error after notetype merge + downgrade.
* Fix flicker when hovering over deck list by @abdnh in https://github.com/ankitects/anki/pull/2958
* Fix Image field not hidden until user selects an image by @abdnh in https://github.com/ankitects/anki/pull/2960
* Fix importing of Mnemosyne due dates by @dae in https://github.com/ankitects/anki/pull/2936
* Fix inconsistent count in optimize/evaluate.
* Fix MathJax editor not opening when navigating into blocks by @abdnh in https://github.com/ankitects/anki/pull/2953
* Fix maybe_coalesce_note_undo_entry() by @abdnh in https://github.com/ankitects/anki/pull/2992
* Fix misaligned image occlusions in RTL languages by @abdnh in https://github.com/ankitects/anki/pull/3018
* Fix note id mix-up when resolving notetype conflicts by @RumovZ in https://github.com/ankitects/anki/pull/2940
* Fix notetype conflict resolution by @RumovZ in https://github.com/ankitects/anki/pull/2967
* Fix preset: search ignoring cards in filtered decks by @abdnh in https://github.com/ankitects/anki/pull/2997
* Fix progress manager window race condition by @kieranlblack in https://github.com/ankitects/anki/pull/3029
* Fix regex skipping over all src except the last by @vaxr in https://github.com/ankitects/anki/pull/3021
* Fix text input custom style wiping out base user style by @kieranlblack in https://github.com/ankitects/anki/pull/3031
* Fix title of Auto Advance section by @abdnh in https://github.com/ankitects/anki/pull/2949
* Fix toolbar button shifting on hover by @BlueGreenMagick in https://github.com/ankitects/anki/pull/2928
* Fix undo handling of group and some other IO tools by @abdnh in https://github.com/ankitects/anki/pull/2931
* Fix visual behavior of modal buttons in editor by @lucasscharenbroch in https://github.com/ankitects/anki/pull/3009
* Fix windows build issue by @qxo in https://github.com/ankitects/anki/pull/2947
* Fix/ignore revlogs before Forget entry by @L-M-Sherlock in https://github.com/ankitects/anki/pull/3002
* Flip indent/outdent buttons for RTL by @abdnh in https://github.com/ankitects/anki/pull/2930
* FSRS - Ignore revlogs before date while optimizing by @Luc-Mcgrady in https://github.com/ankitects/anki/pull/2922
* Honor NINJA_STATUS if already set by @knobix in https://github.com/ankitects/anki/pull/2984
* Improve appearance of resize handles in I/O by @krmanik in https://github.com/ankitects/anki/pull/2919
* Improve typing `deck_due_tree()` by @nix6839 in https://github.com/ankitects/anki/pull/3003
* Include details on what's missing when a NotFound error is triggered.
* Increase parent limits in custom study when 'limits start from top' is enabled by @RumovZ in https://github.com/ankitects/anki/pull/2971
* Initialize Browser.aspect_ratio earlier to fix AttributeError by @abdnh in https://github.com/ankitects/anki/pull/2924
* Make a deep copy in addcards/set_note by @lucasscharenbroch in https://github.com/ankitects/anki/pull/3013
* Make image occlusion's option buttons tabbable by @PLameiras in https://github.com/ankitects/anki/pull/2966
* Make sure editor note is saved before triggering buttons by @abdnh in https://github.com/ankitects/anki/pull/2995
* Make tags and tag suggestions able to be styled by add-ons by @glutanimate in https://github.com/ankitects/anki/pull/2941
* More precise percent of days studied by @user1823 in https://github.com/ankitects/anki/pull/2889
* Refactor text attribute button components by @lucasscharenbroch in https://github.com/ankitects/anki/pull/3012
* Shift the default network timeout back to 60 seconds.
* Show message if current FSRS parameters are optimal by @abdnh in https://github.com/ankitects/anki/pull/3014
* Show total review count when optimizing FSRS parameters by @abdnh in https://github.com/ankitects/anki/pull/3027
* Tweak type-in-answer filter hack by @lucasscharenbroch in https://github.com/ankitects/anki/pull/3010
* update FSRS to v0.2.0 by @L-M-Sherlock in https://github.com/ankitects/anki/pull/2977
* Use card.reps - 1 when calculating fuzz by @dae in https://github.com/ankitects/anki/pull/2933
* Use our translation of 'Discard' by @abdnh in https://github.com/ankitects/anki/pull/2920
* Containerize anki-sync-server by @jeankhawand in https://github.com/ankitects/anki/pull/3036
* Fix alert not appearing when FSRS parameters input is focused by @abdnh in https://github.com/ankitects/anki/pull/3053
* Adjust HTML editor / add-on config editor font by @abdnh in https://github.com/ankitects/anki/pull/3054
* Fix/set pretrain_only by fsrs_items by @L-M-Sherlock in https://github.com/ankitects/anki/pull/3051
* Use `Card %d` for IO template names by @BrayanDSO in https://github.com/ankitects/anki/pull/3049
* alert when the resp.weights is empty by @L-M-Sherlock in https://github.com/ankitects/anki/pull/3061
* When cards become due on the congrats screen, switch to overview, not back into study.
* Adding a note to the import options to indicate that leech and marked tags will be removed if disabled by @arbyste in https://github.com/ankitects/anki/pull/3067
* Fix full sync dialog failing to appear.
* Fix consolas not being used in editor.
* qt/aqt/__init__.py: Skip GL library workaround for FreeBSD by @knobix in https://github.com/ankitects/anki/pull/3071
* fix: cloze_numbers_in_string treating `{{c0::}}` as valid by @BrayanDSO in https://github.com/ankitects/anki/pull/3059
* Display deck names when deleting by @escribapetrus in https://github.com/ankitects/anki/pull/3058
* Rename "Forget" to "Reset" (#3078) by @vasll in https://github.com/ankitects/anki/pull/3088
* Reset original id when cloning notetypes by @RumovZ in https://github.com/ankitects/anki/pull/3089
* Use rmse in comparing parameters by @L-M-Sherlock in https://github.com/ankitects/anki/pull/3087
* Fix summary string for notes that failed to be imported by @RumovZ in https://github.com/ankitects/anki/pull/3092
* Disable ligatures in type-in highlighting by @abdnh in https://github.com/ankitects/anki/pull/3093
* Sync-server: add option to store hashed passwords by @laalsaas in https://github.com/ankitects/anki/pull/3083
* Refactor offline build process and add offline generation of Sphinx docs by @antecrescent in https://github.com/ankitects/anki/pull/3082
* Replace deprecated method `chrono::NaiveDateTime::timestamp_millis` by @ijqq in https://github.com/ankitects/anki/pull/3097
* Update optimal retention tooltip, and add a few extra translations.
* Possible workaround for sporadic toolbar height warning.
* "Full sync" -> "One-way sync".
* rename sm2 retention to historical retention by @L-M-Sherlock in https://github.com/ankitects/anki/pull/3101
* Use "importing-added" string in importing detail table by @snowtimeglass in https://github.com/ankitects/anki/pull/3104
* Fix mpv loadfile syntax change by @kelciour in https://github.com/ankitects/anki/pull/3105
* Improve timer interval display (#3096) by @AntoineQ1 in https://github.com/ankitects/anki/pull/3100
* Fix incorrect search results after preset used.

## New Contributors
* @vaxr made their first contribution in https://github.com/ankitects/anki/pull/2918
* @hnvy made their first contribution in https://github.com/ankitects/anki/pull/2935
* @PLameiras made their first contribution in https://github.com/ankitects/anki/pull/2966
* @knobix made their first contribution in https://github.com/ankitects/anki/pull/2963
* @lucasscharenbroch made their first contribution in https://github.com/ankitects/anki/pull/2989
* @cav71 made their first contribution in https://github.com/ankitects/anki/pull/2969
* @nix6839 made their first contribution in https://github.com/ankitects/anki/pull/3003
* @jeankhawand made their first contribution in https://github.com/ankitects/anki/pull/3036
* @Foxy-null made their first contribution in https://github.com/ankitects/anki/pull/3060
* @arbyste made their first contribution in https://github.com/ankitects/anki/pull/3067
* @escribapetrus made their first contribution in https://github.com/ankitects/anki/pull/3058
* @vasll made their first contribution in https://github.com/ankitects/anki/pull/3088
* @laalsaas made their first contribution in https://github.com/ankitects/anki/pull/3083
* @ijqq made their first contribution in https://github.com/ankitects/anki/pull/3097
* @AntoineQ1 made their first contribution in https://github.com/ankitects/anki/pull/3100

**Full Changelog**: https://github.com/ankitects/anki/compare/23.12.1...24.04