Releases: ankitects/anki
25.01beta1
What's Changed
- Upgraded the graphics toolkit to Qt 6.8. Please report any improvements or regressions.
- Qt 5 builds are no longer provided.
- Intel Mac builds now require macOS 12+.
- Linux builds now require glibc 2.35+.
Lots of fixes and minor tweaks:
- Fix deck button not clickable in stats screen for smaller screens by @Sawansunar56 in #3602
- Hide progress when CMRR is done by @bpnguyen107 in #3609
- update error message by @brishtibheja in #3612
- Slider easy day gui by @Luc-Mcgrady in #3605
- Change font of debug console to Consolas by @user1823 in #3606
- Remove infinite spinning icon for reset parameters dropdown and add a question mark by @bpnguyen107 in #3603
- Snap: keep LD_LIBRARY_PATH when in snap environment by @boukendesho in #3618
- Add "No reviews to optimize" message by @Luc-Mcgrady in #3610
- Fix reuse internal clipboard for primary selection pasting by @bpnguyen107 in #3613
- Fix segfault when closing Anki on Linux with "QT_DEBUG_PLUGINS=1" by @rbrownwsws in #3620
- Fix deck options button twitching on hover by @BlueGreenMagick in #3623
- Apply gradient effect to forgetting curve by @OuOu2021 in #3604
- [Qt 6.7] Set ForceDarkMode attribute in AnkiWebView by @louwers in #3622
- Remove hardcoded note/card colours from switch.py by @iamllama in #3629
- Fix CardInfoPlaceholder not showing when card id is invalid by @iamllama in #3631
- typeanswer: [type:nc] - use nfkd again by @twwn in #3627
- Remove use of window.location.href in CardInfoDialog by @iamllama in #3621
- Allow object to move to right edge and bottom edge and allow scroll of note fields when not using IO by @krmanik in #3630
- Fix "Show in folder" on windows when path has spaces by @iamllama in #3641
- Fix/FSRS Simulator Failure: min > max by @L-M-Sherlock in #3644
- Fix/fallback to non-manual entry when first_of_last_learn_entries non found by @L-M-Sherlock in #3639
- Replace use of window.postMessage in card info by @iamllama in #3646
- Fix Fsrs simulator input problems by @Luc-Mcgrady in #3642
- Fix easy days causing load balancer to disproportionately schedule graduates to the furthest day by @jakeprobst in #3643
- Fix/dataPoint index is off by one day in simulator & remove moving average by @L-M-Sherlock in #3645
- Fix/forget to update memory state during relearning by @L-M-Sherlock in #3648
- Make the "True Retention" table pretty by @rbrownwsws in #3640
- TTS: Fix text starting with "<" being treated as XML by @bpnguyen107 in #3651
- Fix missing buttons on bottom bar when window is narrow by @iamllama in #3653
- Add memorized option to FSRS simulation graph by @Luc-Mcgrady in #3655
- Translation comments for actiony-all-selected and actiony-any-selected by @sommerluk in #3658
- Add some unit tests by @user1823 in #3678
- Allow choosing filtered decks in stats by @iamllama in #3687
- avoid warning by setting SYNC_PORT as ARG in Dockerfile by @omarkohl in #3675
- update docker deps and docker docs by @niclasheinz in #3671
- Stop audio playback on editor close by @iamllama in #3666
- Tweak how the True Retention stats table displays numbers by @rbrownwsws in #3677
- replace localhost with 127.0.0.1 in syncserver Dockerfile by @omarkohl in #3673
- Don't Exclude Suspended Cards from Retreivability Graph by @brishtibheja in #3665
- Remove broken editor image menu when on qt5 by @iamllama in #3685
- Fix card info failing to load with qt5 by @iamllama in #3681
- IO: Prevent text masks from flipping by @bpnguyen107 in #3672
- Prevent simulate button spam by @Luc-Mcgrady in #3670
- Fix SpinBox and ParamsInput's rounding causing "discard changes" to appear in deck options by @iamllama in #3686
- Fix "discard changes" appearing on deck options by @iamllama in #3689
- Deck options without bridge by @Arthur-Milchior in #3571
- Sort FSRSItems by RevlogId for training by @L-M-Sherlock in #3660
- Easy days: revisited by @jakeprobst in #3661
- Fix/last date of existing card should not be positive in simulation by @L-M-Sherlock in #3667
- Qt 6.8.1 by @dae in #3633
- Simulator legend tooltip by @Luc-Mcgrady in #3676
- Fix EasyDays not applying defaults correctly in deck options by @iamllama in #3691
- Added colour to simulator tooltip by @Luc-Mcgrady in #3692
- Issue 2563 - remove mhchem by @Delizald in #3705
- Fix image field not being saved if a mask is created too quickly by @iamllama in #3706
- Feat/support new cards ignore review limit in simulator by @L-M-Sherlock in #3707
- Fix IO editor always starting in "hide all, guess one" mode by @iamllama in #3709
- Add support for html comments to template syntax by @iamllama in #3662
- Fix mpv loadfile syntax change 2 by @kelciour in #3711
- Fix menubar in fullscreen by @YukiNagat0 in #3710
- Ensure data is stored in a volume in anki-sync-server Docker image by @omarkohl in #3674
- Fix "Note Types" dialog moving down each time it is opened by @rbrownwsws in #3718
- Refactor/Small refactoring on fullscreen and comments for clarification by @YukiNagat0 in #3721
- Unpin svelte and update sveltekit-svg by @wackbyte in #3722
- Reduce use of type casting by @wackbyte in #3723
- Fix csv columns potentially being numbered wrongly in the header when exporting by @iamllama in #3690
- Fix newer notes incorrectly being skipped when importing successive exports by @iamllama in #3693
- Fix flaky tests by @abdnh in #3724
- Use platform-native button layout in dialogs and messageboxes by @iamllama in #3725
- "Copy template as markdown" button. by @Luc-Mcgrady in #3719
- Clear memory states during bulk action if item is None by @user1823 in #3717
- Comments for translators by @sommerluk in #3729
- Don't treat manually scheduled cards with no reps as new cards by @user1823 in #3727
- Fix issue in regex for underscored CSS imports by @abdnh in #3728
- Fix "Create copy" for IO notes by @iamllama in #3730
New Contributors
- @Sawansunar56 made their first contribution in #3602
- @boukendesho made their first contribution in #3618
- @rbrownwsws made their first contribution in #3620
- @OuOu2021 made their first contribution in #3604
- @iamllama made their first contribution in #3629
- @sommerluk made their first contribution in #3658
- @omarkohl made their first contribution in #3675
- @niclasheinz made their first contribution in #3671
- @Delizald made their first contribution in #3705
- @YukiNagat0 made their first contribution in #3710
- @wackbyte made their first contribution in #3722
Full Changelog: 24.11...25.01beta1
24.11
What's Changed
Compatibility
- The Linux package now requires glibc 2.31+ (2019 Ubuntu/Fedora, and 2021 Debian).
- The Qt5 builds are no longer linked from the website, and will be dropped in the next release.
New Features
FSRS
FSRS has received significant changes in this release, and should be even more
efficient. It is recommended that you optimize your presets after updating.
To avoid errors on older clients, updated parameters will only be visible to
Anki releases from 24.11 on. Older clients will continue to work, but may
give you different scheduling results when reviews are done on them.
By @L-M-Sherlock in #3298.
Other new features:
- Add FSRS simulator to deck options by @L-M-Sherlock in #3257
- Add forgetting curve to card info by @L-M-Sherlock in #3437
- Let FSRS control short term schedule when no (re)learning steps are set. This is experimental. By @L-M-Sherlock in #3375 and #3505 and #3367
Scheduling
- Load balancing: within your fuzz range, Anki will now try to pick days that have fewer reviews waiting. By @jakeprobst in #3230.
- Easy days: you can now tell Anki to try avoid certain days of the week. By @L-M-Sherlock in #3442
- Decks can now be sorted by descending retrievability. Simulations have shown this is a better choice
when you have a backlog, and this sort order is likely to become the default in the future.
Stats/Graphs
- Add true retention stats by @L-M-Sherlock in #3425
- Estimated total knowledge by note, and daily load by @L-M-Sherlock in #3507
Other Features
- Add "open image" option to editor by @user1823 in #3431
- Add an option to show image from editor in folder by @user1823 in #3412
- Add card position column and always show position in card info by @taylorobyen in #3471
- Add option for toggling update checks by @voczi in #3346
- Add revert to backup option to file menu by @taylorobyen in #3434
- Empty Cards can now be undone by @Arthur-Milchior in #3386
- If deck options are modified, ask before closing by @Arthur-Milchior in #3410
- Integrate AnkiHub Sign-in into the preferences screen by @abdnh in #3232.
- Support {{type:nc:...}} to ignore combining characters by @twwn in #3422
Other Changes
This is not a comprehensive list; a big thank you also to people who have contributed
things like behind-the-scenes improvements, and fixes to regressions that occurred during
development.
- Allow maximizing the notetypes screen by @cdonat2 in #3328
- Apply fuzz to SM2 lapse interval and respect max ivl by @user1823 in #3275
- Do not show warning if Browser Appearance has no field references by @abdnh in #3566
- Do not strip quotation marks from deck/tag names by @abdnh in #3407
- Don't exclude suspended cards when updating all FSRS params.
- Don't hide text when hiding I/O masks by @escribapetrus in #3277
- Don't ignore buried cards in future due graph by @jakeprobst in #3368
- Ensure profile name is treated in a case-insensitive manner by @abdnh in #3372
- Escape special search characters in preset name by @abdnh in #3554
- Exclude new cards from Future Due stats by @user1823 in #3576
- Fix .DS_Store file shown as an unused media file by @bpnguyen107 in #3380
- Fix 'NoneType object is not subscriptable' error by @davidculley in #3286
- Fix bug with “A 100 day interval will become X days.” by @bpnguyen107 in #3432
- Fix editor loses focus when toggling list if list item empty by @cy7sh in #3483
- Fix editor losing focus when toggling list and copy selects wrong target deck for filtered decks by @singurty in #3465
- Fix error when exporting from empty cards screen
- Fix field focus lost when pressing alt in the editor by @abdnh in #3378
- Fix FSRS progress sometime shows 0 reviews by @L-M-Sherlock in #3591
- Fix FSRS progress update issues by @abdnh in #3420
- Fix graph averages by @abdnh in #3406
- Fix imports of decks with file paths using special URL characters by @themis-d in #3377
- Fix inconsistent retrievability calculations between normal/filtered decks and display/sorting by @L-M-Sherlock in #3582
- Fix incorrect canvas bounds calculations in image occlusion by @taylorobyen in #3457
- Fix invalid preset search matching cards in filtered decks
- Fix minimum interval warning shown when FSRS is enabled by @abdnh in #3409
- Fix Mnemosyne importer choking on due dates >= 2038 by @bpnguyen107 in #3459
- Fix reschedule not working on cards in filtered deck by @L-M-Sherlock in #3441
- Fix setting tags column to first unmapped column in CSV importer by @RumovZ in #3568
- Fix UI hanging when update check stalls
- Fix unused parent tags getting cleared by @abdnh in #3299
- Hide right click copy option in deck list by @bpnguyen107 in #3363
- Improve the accessibility of the Preferences dialog by @RastislavKish in #3255
- Include backlog cards in today in future due graph by @jakeprobst in #3379
- More closely match performance of Python FSRS optimizer by @L-M-Sherlock in #3540
- Remove legacy import option by @abdnh in #3536
- Stop automatically adding Image Occlusion type in Add screen by @abdnh in #3408
- Truncate in the middle of a deck name in the browse screen, not the end by @bpnguyen107 in #3387
New Contributors
- @RastislavKish made their first contribution in #3255
- @davidculley made their first contribution in #3293
- @isym444 made their first contribution in #3284
- @brishtibheja made their first contribution in #3288
- @Expertium made their first contribution in #3314
- @cdonat2 made their first contribution in #3328
- @asukaminato0721 made their first contribution in #3330
- @DillBal made their first contribution in #3345
- @bpnguyen107 made their first contribution in #3356
- @jakeprobst made their first contribution in #3230
- @themis-d made their first contribution in #3377
- @gregorylearns made their first contribution in #3399
- @taylorobyen made their first contribution in #3404
- @lukesbart made their first contribution in #3398
- @krischerven made their first contribution in #3413
- @cy7sh made their first contribution in #3465
- @phu54321 made their first contribution in #3467
- @lima-limon-inc made their first contribution in #3485
Full Changelog: 24.06.3...24.11
24.06.3
What's Changed
Please see https://github.com/ankitects/anki/releases/tag/24.06 for earlier changes, including security fixes.
- Fix deck options failing to appear in Qt5 build
- Fix deck config input's background color in Qt5 by @abdnh in #3243
- Fix relearning cards' Intervals don't update after changing Desired Retention by @L-M-Sherlock in #3236
- Fix renaming note fields not updating custom browser appearance by @jamesnelmore in #3245
- Fix image occlusion flicker caused by setupI18n() by @abdnh in #3253
- Restore $deckOptions by @abdnh in #3265
- Fix FSRS easy interval being same as good interval in relearning cards by @user1823 in #3256
- Remove threshold of compute minimum recommended retention by @L-M-Sherlock in #3246
- Shuffle identical values in filtered deck sort by @abdnh in #3259
- Make SvelteCheck and ViteTest respect
YARN_BINARY
by @antecrescent in #3231
New Contributors
- @jamesnelmore made their first contribution in #3245
Full Changelog: 24.06.2...24.06.3
24.06.2
What's Changed
Please see https://github.com/ankitects/anki/releases/tag/24.06 for earlier changes, including security fixes.
- Fix image occlusion errors in previewer and card template editor by @glutanimate in #3228
Full Changelog: 24.06.1...24.06.2
24.06.1
What's Changed
- Fix image occlusion not working during review
- Fix for building with custom yarn by @AlexBocken in #3226
Please see https://github.com/ankitects/anki/releases/tag/24.06 for earlier changes, including security fixes.
New Contributors
- @AlexBocken made their first contribution in #3226
Full Changelog: 24.06...24.06.1
24.06
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 #3106 and #3200
- Return current weights if fsrs items is zero & handle error in evaluation and optimal retention by @L-M-Sherlock in #3141
- Update optimal retention and parameters tooltip by @L-M-Sherlock in #3148
- Show review count with FSRS evaluation results by @abdnh in #3165
- Show review count for Evaluate/Optimize button by @abdnh in #3170
- Use median in calculating cost and remove outliers by @L-M-Sherlock in #3181
- Fix/exclude suspended cards when optimize all presets by @L-M-Sherlock in #3198
- Fix/ignore revlogs when there is not learn entry after the last forget entry by @L-M-Sherlock in #3199
- Tweaks to the 'optimize all presets' progress
Other improvements:
- Highlight the current I/O shape during review by @krmanik in #3098
- Auto-answer can now show reminder instead of answer (#3064) by @Loudwig in #3119
- Switch to SvelteKit by @dae in #3077
- Optimum → Minimum retention by @user1823 in #3133
- Add Margins on the Buttons on the About Page by @Ianwu0812 in #3137
- Improve typing of custom fabric.Object properties by @abdnh in #3134
- Fix IO text size in review screen by @abdnh in #2986
- Ignore errors in do_window_cleanup to fix shutdown issue by @abdnh in #3142
- Fix spacebar causing stutter when editing cards by @abdnh in #3150
- Fix auto sync not working on Windows shutdown by @abdnh in #3153
- Add minimalist mode tooltip by @hnvy in #3155
- Fix dark mode icons by @RumovZ in #3135
- Add number truncation before back-end translation by @lucasscharenbroch in #3162
- Add keyboard shortcuts for empty cards and toggle mask on image occlusion by @escribapetrus in #3136
- Use key instead of code in type-in field by @abdnh in #3166
- Improve and unify web dialog styling by @RumovZ in #3167
- fix polygon tool draw by @krmanik in #3184
- Clean up #3167 by @RumovZ in #3186
- Do not clear unused parent tags by @abdnh in #3174
- Fix '366 of 365 days studied' by @abdnh in #3182
- Fix IO event handlers being run on normal notes by @abdnh in #3195
- Fix finished preview learning cards being repeated by @abdnh in #3196
- Use SplashScreen flag for all aqt tooltips by @voczi in #3194
- Do not show media auto sync errors by @abdnh in #3197
- HMR on Windows by @RumovZ in #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 #3202
- Fix future due search missing cards on last day by @abdnh in #3206
- Do not recreate io page when toggle button used by @krmanik in #3208
- Reschedule → Reposition by @user1823 in #3209
- Add support for custom certificates by @voczi in #3203
- Another try at fixing IO events issue by @abdnh in #3210
- Fixes shift click selection after programmatic selection in most cases, Issue #2469 by @RRomeroJr in #3213
- Reword sync conflict explanation by @abdnh in #3221
- Add a preference to toggle LaTeX generation by @abdnh in #3218
- Pass -- to mpv/mplayer before filename by @abdnh in #3219
- Add starting window class by @upsuper in #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 #3222
- Work around RuntimeError in _update_button_label() by @abdnh in #3224
- Mention missing field's name in CardTypeError by @abdnh in #3225
- Fix missing i18n module in IO review screen by @abdnh in #3223
New Contributors
- @jthulhu made their first contribution in #3108
- @escape0707 made their first contribution in #3114
- @Ianwu0812 made their first contribution in #3137
- @Loudwig made their first contribution in #3119
- @voczi made their first contribution in #3194
- @RRomeroJr made their first contribution in #3213
- @upsuper made their first contribution in #3216
Full Changelog: 24.04.1...24.06
24.04.1
- Fix crashing on first sync.
- Image occlusion fixes, thanks to @krmanik and @abdnh.
- Fix dark mode not being detected on Intel Macs.
- Another attempt at fixing a rounding issue with optimal retention.
- Rename optimal retention and clarify wording, thanks to @AntoineQ1.
- Fix an error that can occur when using Linux distro packages, thanks to @escape0707.
24.04
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 #3056
- Keep previous FSRS parameters if they get worse when optimizing by @abdnh in #2996
- The I/O editor better preserves images quality when zooming in, and supports two-finger pinch/drag on mobile platforms. By @krmanik in #3052
- Improved pan/zoom in image occlusions: middle mouse button, space, or ctrl/shift/alt with two fingers by @krmanik in #3080 and #3066
- Improvements/simplifications to FSRS optimal retention feature by @L-M-Sherlock in #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 #3055
- Use system certificate store by @abdnh in #3050
- Ignore some extra chars in no-combining search by @abdnh in #2929
- Add "select all" shapes tool by @krmanik in #2981
- Maintain original IO cloze order in editing mode by @abdnh in #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 #2957
- Add log-in button to preferences screen by @lucasscharenbroch in #2994
- Add support for offline builds by @knobix in #2963
- Add support for python logging by @cav71 in #2969
- Add View Files button to Check Media screen by @abdnh in #3006
- Allow > inside HTML attributes by @vaxr in #2918
- Americanize "synchronisation" by @hnvy in #2935
- Change default font in code editors by @abdnh in #2985
- Check required review count for FSRS after filtering by @abdnh in #3019
- clamp interval before fuzz_bounds by @L-M-Sherlock in #3024
- Clear out old FSRS progress as new operation starts
- Default to 'Bury Card' action consistently by @abdnh in #2950
- Do not reset original_due when card stays in filtered deck by @abdnh in #2988
- Don't urllib.unquote when using requests by @vaxr in #2943
- Fix 'ignore this update' not working.
- Fix
processEvents()
reentrancy bug in progress manager window handling by @kieranlblack in #3030 - Fix a 'protocol wrong type' message sometimes popping up.
- Fix circular import in legacy importer by @abdnh in #3007
- Fix code completion in Qt forms by @abdnh in #2993
- Fix corner rounding of alignment buttons in editor by @lucasscharenbroch in #2989
- Fix crash in Reviewer by @mjuhanne in #2945
- Fix deck names differing in case being duplicated in CSV import by @abdnh in #3008
- Fix error after notetype merge + downgrade.
- Fix flicker when hovering over deck list by @abdnh in #2958
- Fix Image field not hidden until user selects an image by @abdnh in #2960
- Fix importing of Mnemosyne due dates by @dae in #2936
- Fix inconsistent count in optimize/evaluate.
- Fix MathJax editor not opening when navigating into blocks by @abdnh in #2953
- Fix maybe_coalesce_note_undo_entry() by @abdnh in #2992
- Fix misaligned image occlusions in RTL languages by @abdnh in #3018
- Fix note id mix-up when resolving notetype conflicts by @RumovZ in #2940
- Fix notetype conflict resolution by @RumovZ in #2967
- Fix preset: search ignoring cards in filtered decks by @abdnh in #2997
- Fix progress manager window race condition by @kieranlblack in #3029
- Fix regex skipping over all src except the last by @vaxr in #3021
- Fix text input custom style wiping out base user style by @kieranlblack in #3031
- Fix title of Auto Advance section by @abdnh in #2949
- Fix toolbar button shifting on hover by @BlueGreenMagick in #2928
- Fix undo handling of group and some other IO tools by @abdnh in #2931
- Fix visual behavior of modal buttons in editor by @lucasscharenbroch in #3009
- Fix windows build issue by @qxo in #2947
- Fix/ignore revlogs before Forget entry by @L-M-Sherlock in #3002
- Flip indent/outdent buttons for RTL by @abdnh in #2930
- FSRS - Ignore revlogs before date while optimizing by @Luc-Mcgrady in #2922
- Honor NINJA_STATUS if already set by @knobix in #2984
- Improve appearance of resize handles in I/O by @krmanik in #2919
- Improve typing
deck_due_tree()
by @nix6839 in #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 #2971
- Initialize Browser.aspect_ratio earlier to fix AttributeError by @abdnh in #2924
- Make a deep copy in addcards/set_note by @lucasscharenbroch in #3013
- Make image occlusion's option buttons tabbable by @PLameiras in #2966
- Make sure editor note is saved before triggering buttons by @abdnh in #2995
- Make tags and tag suggestions able to be styled by add-ons by @glutanimate in #2941
- More precise percent of days studied by @user1823 in #2889
- Refactor text attribute button components by @lucasscharenbroch in #3012
- Shift the default network timeout back to 60 seconds.
- Show message if current FSRS parameters are optimal by @abdnh in #3014
- Show total review count when optimizing FSRS parameters by @abdnh in #3027
- Tweak type-in-answer filter hack by @lucasscharenbroch in #3010
- update FSRS to v0.2.0 by @L-M-Sherlock in #2977
- Use card.reps - 1 when calculating fuzz by @dae in #2933
- Use our translation of 'Discard' by @abdnh in #2920
- Containerize anki-sync-server by @jeankhawand in #3036
- Fix alert not appearing when FSRS parameters input is focused by @abdnh in #3053
- Adjust HTML editor / add-on config editor font by @abdnh in #3054
- Fix/set pretrain_only by fsrs_items by @L-M-Sherlock in #3051
- Use
Card %d
for IO template names by @BrayanDSO in #3049 - alert when the resp.weights is empty by @L-M-Sherlock in #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 #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 #3071
- fix: cloze_numbers_in_string treating
{{c0::}}
as valid by @BrayanDSO in #3059 - Display deck names when deleting by @escribapetrus in #3058
- Rename "Forget" to "Reset" (#3078) by @vasll in #3088
- Reset original id when cloning notetypes by @RumovZ in #3089
- Use rmse in comparing parameters by @L-M-Sherlock in #3087
- Fix summary string for notes that failed to be imported by @RumovZ in #3092
- Disable ligatures in type-in highlighting by @abdnh in #3093
- Sync-server: add option to store hashed passwords by @laalsaas in #3083
*...
23.12.1
What's Changed
- Revert Qt to 6.5 on Mac to fix crashes some users were experiencing.
- Update FSRS to fix an overly-aggressive outlier filter by @L-M-Sherlock in open-spaced-repetition/fsrs-rs#146
- Fix incorrect retention estimates in deck options by @L-M-Sherlock in #2911
- Improve description of stability in graphs by @user1823 in #2910
- Fix I/O shortcuts conflicting with editor on mobile by @krmanik in #2916
- Fix some bugs in notetype merging by @RumovZ in #2912
Full Changelog: 23.12...23.12.1
23.12
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 open-spaced-repetition/fsrs-rs#111 and open-spaced-repetition/fsrs-rs#119 and #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 open-spaced-repetition/fsrs-rs#122 and open-spaced-repetition/fsrs-rs#124
- The search used for optimizing presets is now remembered. By @abdnh in #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 #2832
- Ignore filtered revlog in time of last review by @L-M-Sherlock in #2845
- Fix FSRS scheduling when add-ons manually convert cards to learning by @L-M-Sherlock in #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 #2888
- FSRS ignores revlog entries with time = 0 when calculating time taken. By @L-M-Sherlock in #2870
- Keep two decimals for stability by @L-M-Sherlock in #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 #2824
- Added an auto-advance feature. Activate from More menu; configure via deck options. By @abdnh in #2765
- The deck options screen now opens faster.
- Change link to manual in help screen from icon to text by @Gustaf-C in #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 #2857
- Do not close web pages when Esc is pressed and a modal is open by @abdnh in #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 #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 #2828
- Support all MathJax modules in review screen by @abdnh in #2836
- Add hint for zero minutes in filtered deck by @Gustaf-C in #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 #2809
and #2847 - Fix image occlusion not showing up in Qt5 by @hikaru-y in #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 #2878
- Fix switching of add & history buttons when selecting IO notetype by @akashreddy03 in #2833
- Fix IO card count by @abdnh in #2884
Import/export:
- Allow importing/exporting with/without deck configs by @RumovZ in #2804
- Fix CSV importer dropdowns not updating after changes by @RumovZ in #2885
- Fix inability to search for existing notes in CSV import screen by @RumovZ in #2898
- Fix broken HTML in CSV import screen.
Editor:
- Fix image overlay not closing when clicking outside on Qt6.6 by @hikaru-y in #2861
- Clear editor's internal copied text on cut/copy by @abdnh in #2866
- Fix Mathjax can only be pasted once by @akashreddy03 in #2869
- Improve confirmation message in Add screen by @abdnh in #2903
- Fix macOS clipboard issues by @msisovic in #2900
- Improve visibility of clicked buttons in editor by @Gustaf-C in #2841
Card info:
- Show due date of buried/suspended cards in card info by @abdnh in #2820
- Hide "position" in card info when card not new.
- Show actual due date of learning cards in Card Info screen by @abdnh in #2865
- Bring card info window to top if card info action used again by @akashreddy03 in #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 #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 #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 #2850
- Mention environment variable YARN_BINARY in documentation by @antecrescent in #2851
Other:
- Improve keyboard handling and accessibility of dropdown boxes by @grepgrok in #2811
- Resolve some accessibility issues for tag options buttons by @grepgrok in #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 #2864
- Ignore rescheduled cards in old stats page by @user1823 in #2863
- Do not add a fallback field reference if front side contains conditionals by @abdnh in #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 #2899
- Make the error dialog shown when an error occurs more friendly.
- Refresh model list when legacy addon adds notetype by @kieranlblack in #2825
New Contributors
- @msisovic made their first contribution in #2900
- @gustavosmendes1 made their first contribution in #2855
- @sartak made their first contribution in #2864
- @grepgrok made their first contribution in #2787
- @akashreddy03 made their first contribution in #2833
- @antecrescent made their first contribution in #2850