Releases: ankitects/anki
25.07.5
What's Changed
In 25.07
There have been major changes to the way Anki is packaged, and to FSRS. Please see the previous release announcement for more info:
https://github.com/ankitects/anki/releases/tag/25.07
In 25.07.5
- Fix launcher failing to work after installing older Anki version.
- Various other minor launcher fixes.
- Fix a link in the deck options to the manual.
25.07.4
What's Changed
In 25.07
There have been major changes to the way Anki is packaged, and to FSRS. Please see the previous release announcement for more info:
https://github.com/ankitects/anki/releases/tag/25.07
In 25.07.4
- Installation should no longer fail when anaconda is installed.
- Increase default network timeout in launcher.
- Provide better output when downloading versions fails.
- Fix errors recording voice (thanks to @abdnh)
- Prioritise prefix matches in tag autocomplete results by @iamllama in #4212
- Add last_review_time to _to_backend_card by @user1823 in #4218
- Add IO mask rotation snapping by @iamllama in #4214
- Bump form-data from 4.0.1 to 4.0.4 by @dependabot[bot] in #4219
- Set min size for card info dialog by @iamllama in #4221
Full Changelog: 25.07.3...25.07.4
25.07.3
What's Changed
In 25.07
There have been major changes to the way Anki is packaged, and to FSRS. Please see the previous release announcement for more info:
https://github.com/ankitects/anki/releases/tag/25.07
In 25.07.3
- Update to Qt 6.9, which should address crashes on macOS.
- Fixed 'same cloze' shortcut on macOS.
- Show Chromium version in about screen
- Allow creating deck via
#deck:...
if non-existent when importing by @iamllama in #4154 - Add
last_review_time
to card data for performance and accuracy by @L-M-Sherlock in #4124 - Use system font for webviews instead of bootstrap font stack and add exception for note editor by @GithubAnon0000 in #4163
- Debounce mathjax rendering via cooldown instead by @iamllama in #4173
- Re-order terminals, again, for better UX. by @Grinkers in #4186
- Skip unnecessary computations when the load balancer is disabled by @L-M-Sherlock in #4184
- Fix/FSRS simulator fallback to memory_state_from_sm2 when converting cards by @L-M-Sherlock in #4189
- set UV_PYTHON_DOWNLOADS=auto when doing
uv sync
by @Grinkers in #4191 - FIX Graph Tooltip uses wrong font by @GithubAnon0000 in #4193
- Add margin to QPushButton to prevent clipping by @jcznk in #4201
- fix: set cursor to pointer when on range by @bradleyszoke in #4197
- Minor string change by @brishtibheja in #4196
- Fix default-coloured IO masks not following css var by @iamllama in #4202
- Minor tweak in simulator string by @user1823 in #4204
- Add translator to about.py by @Danika-Dakika in #4211
- Fix wrong tab order in preferences by @abdnh in #4210
New Contributors
- @jcznk made their first contribution in #4201
- @bradleyszoke made their first contribution in #4197
Full Changelog: 25.07.2...25.07.3
25.07.2
What's Changed
- The first run of the launcher now installs the latest version automatically.
- When choosing a specific version, recent versions are shown.
- Feat/Confirmation box for save options to preset by @Luc-Mcgrady in #4172
- Respect env var UV_BINARY with OFFLINE_BUILD being set by @AlexBocken in #4170
- [A11Y] FIX: revert button is visible for screenreaders by @GithubAnon0000 in #4174
- Try unix terminals in roughly most specific to least specific. by @Grinkers in #4177
- Feat/Replace easy day table with display:grid by @Luc-Mcgrady in #4179
- Fix/Help modal appears behind simulator modal by @Luc-Mcgrady in #4171
- Aqt wheel: fix unintended inclusion of qt/aqt/data by @pHlt7 in #4180
Full Changelog: 25.07.1...25.07.2
25.07.1
What's Changed
If the existing launcher is working well for you, you don't need to download a new version - just use Tools>Upgrade/Downgrade inside Anki to update.
- Fixed regression in editor font by @dae in #4159
- Fixed launcher failing to run on some Linux distros by @Grinkers in #4162
- Add a contributor to about.py by @GithubAnon0000 in #4161
- Rename: true retention > retention rate by @brishtibheja in #4164
New Contributors
Full Changelog: 25.07...25.07.1
25.07
What's Changed
New Launcher
The way Anki is packaged and distributed has changed:
- You can use the launchers below to download the latest Anki version, and update to newer versions/downgrade to old ones.
- You'll find a Tools>Upgrade/Downgrade menu item inside Anki to return the launcher.
- The oldest supported Anki version to install is 2.1.50.
- The Mac and Linux launchers support both AMD64 (Intel) and ARM64 (Apple Silicon) machines. The Windows installer is AMD64-only, but will run in emulation mode on ARM Windows.
- On Linux, glibc 2.36 or later is now required.
- Anki now ships with Python 3.13 (but has not yet bumped the minimum Python from 3.9).
- The new launcher still has room for improvement.
Notable FSRS/Scheduling changes
- FSRS-6 brings further algorithm improvements by @L-M-Sherlock in #3929. Updated mobile clients should be ready shortly.
- Add "grade now" action by @L-M-Sherlock in #3840 and @iamllama in #4055
- Support load balance and easy days when rescheduling by @L-M-Sherlock in #3815
- Support load balance and easy days in FSRS simulator by @L-M-Sherlock in #3829
- Add a 'max interval too low' warning. by @Luc-Mcgrady in #3847
- The optimizer uses a better approach for evaluating optimizations by @L-M-Sherlock in #3962
The Evaluate button has been replaced with an optional health check that runs during optimization by @Luc-Mcgrady in
#4068 and #4047. If you wish to keep using the old evaluate, you can show the button with a debug console command: #4149. - Calculate accurate retrievability in card info by elapsed seconds by @L-M-Sherlock in #4034
- Desired retention warning improvements by @Luc-Mcgrady in #3995
- Set Due Date: Set interval to actual elapsed days when FSRS is enabled by @L-M-Sherlock in #4035
- Feat/Card ID special field by @Luc-Mcgrady in #4046
- Limit study time to hours in reviews graph by @user1823 in #4086
- Add search keyword to strip clozes beforehand by @iamllama in #4145
Other Notable Changes
- Add IO mask colour fill tool by @iamllama in #4048
- Allow rotating IO masks by @iamllama in #3987
- Add an option to disable middle click to paste on Linux by @derivativeoflog7 in #3904
- Allow drag-dropping into plaintext editor by @iamllama in #3902
- Cache rendered mathjax to avoid stalling when editing plaintext by @iamllama in #3828
- Consider leeches in FSRS simulator by @Luc-Mcgrady in #3837
- Copy card debug info by @Luc-Mcgrady in #3801
- Improve handling of 'ignore cards before' by @Luc-Mcgrady in #3910
- Improve performance of nested clozes and increase limit to 10 levels by @iamllama in #3886
- Replace some means in Stats with medians by @user1823 in #3900
Other Improvements
- Add a warning when there is a cloze in "back extra" and "text" is empty by @rreemmii-dev in #3912
- Add Cmd+W close shortcut (on Mac) to more dialogs by @beyondcompute in #3905
- Add help modal to TR table by @GithubAnon0000 in #3874
- Add hook for day rollover by @jakeprobst in #3817
- Add hooks for comparing answers by @chel-ou in #3855
- Add min-height to fields by @GithubAnon0000 in #3922
- Add title for some dialogs and avoid hardcoding the text of the discard changes dialog by @BrayanDSO in #3846
- Add-ons Dialog: disable View Config/Page/Files buttons when clicking them would not lead to useful result by @beyondcompute in #3869
- Added translation contributor by @Danika-Dakika in #3820
- Center align rows in FSRS simulator by @GithubAnon0000 in #3882
- Chore/Simulator modal i18n by @Luc-Mcgrady in #3927
- Cleanup old TODO by @GithubAnon0000 in #3903
- Cloze button get disabled outside of cloze field by @Arthur-Milchior in #3879
- Comment for translators for "Daily load" by @sommerluk in #3887
- Comment for translators for statistics-total by @sommerluk in #3880
- Comments for translators about sort order by @sommerluk in #3831
- Debounce mathjax rendering to avoid stalling by @iamllama in #3827
- Don't recalculate remaining steps, conditionally by @graves in #3849
- feat: add title to some of the sync dialogs by @BrayanDSO in #3838
- Feat/simplified relearning steps logic with updated FSRS training API by @L-M-Sherlock in #3867
- Fine-tune load balancer by @Expertium in #3864
- Fix autoplay not being stopped on editor close if it interrupted another by @iamllama in #3915
- Fix broken window decorations on unpackaged GNOME instances by @krischerven in #3858
- Fix card layout editor crash when editing while reviewing by @iamllama in #3814
- Fix cargo ignoring lockfile when building syncserver image by @iamllama in #3856
- Fix deck day limits incorrectly being carried over when importing by @iamllama in #3878
- Fix drag/drop breaking when editor is zoomed by @iamllama in #3916
- Fix error when middle clicking in editor on systems w/o global mouse selection by @iamllama in #3923
- Fix fields with
\n
being ignored when searching all fields w/o regex by @iamllama in #3943 - Fix flashing when opening the stats, empty cards or find dupes dialogs by @iamllama in #3928
- Fix panic when clearing today limits on the day collection was made by @iamllama in #3877
- Fix superfluous message when a deck is dragged to its parent by @krischerven in #3859
- Fix: Cloze cards missing "copy card info" button by @Luc-Mcgrady in #3811
- Fix: correct typo and adjust indentation in docstring by @babofitos in #3920
- fix: Task manager exception handling by @RisingOrange in #3839
- Fix/Calculate missing memory states on simulate by @Luc-Mcgrady in #3940
- Fix/incorrect initialization of SchedTimingToday in graphs/retrievability.rs by @L-M-Sherlock in #3857
- Fix/index out of bounds exception in Card Stats Data by @L-M-Sherlock in #3872
- Hide AverageForDaysStudied when studiedPercent = 100 by @user1823 in #3888
- Improve natural unit conversion for a time b/w 360 to 365 days by @user1823 in #3901
- Improve performance of stats revlog entries with memory state by @L-M-Sherlock in #3866
- Increase font size in mathjax preview for accessibility by @GithubAnon0000 in #3832
- Loosen csv metadata parsing by @iamllama in #3862
- Modify card rendering output to specify if rendered card is empty by @iamllama in #3890
- Move TR table upwards by @GithubAnon0000 in #3873
- NF: explaining the bridge between languages by @Arthur-Milchior in #3572
- NF: sligthly optimize cards.py by @Arthur-Milchior in #3870
- Persist tags when refetching csv metadata while importing by @iamllama in #3938
- Prevent accidental dragging of audio playback buttons and hint links by @beyondcompute in #3844
- Refactor: Make Load Balancer Optional Throughout Codebase by @YukiNagat0 in #3860
- Remove use of createClassComponent in mathjax-element.ts by @iamllama in #3919
- Return a copy of note type in ModelManager.get() by @abdnh in #3865
- Show "and others" at the end of the contributor list in the About dialog by @kri...
25.02.7
25.02.6
Another security update. Windows & Linux users are strongly recommended to update.
- Specially-crafted sound file references could cause files to be written to arbitrary locations on Windows & Linux. Thanks again to Michael Lappas for his investigation.
- References to audio files outside of the media folder are no longer allowed.
- Ensure mpv is tidied up even on a crash, which should fix the mpv errors some people got when updating.
Full Changelog: 25.02.5...25.02.6
25.02.5
More security fixes, thanks to some reports by Michael Lappas:
- Plug a hole that could allow a malicious shared deck on Windows to execute arbitrary commands when playing audio.
- Links to other apps (eg obsidian://...) will now request permission to open. Thanks to @soleuniverse101 for the UI improvements here.
Also, building of the Docker image for this release should be fixed, thanks to @KolbyML.
Full Changelog: 25.02.4...25.02.5
25.05 Beta 2
What's Changed
Various FSRS fixes:
- Update to FSRS-rs v3.0.0 (fix historic memory state) by @L-M-Sherlock in #3946
- Fix/FSRS-6 doesn't give <1d intervals & use log loss instead of RMSE(bins) by @L-M-Sherlock in #3948
- Update sorting by R for FSRS 6 by @user1823 in #3949
- Fix/No memory state cards have revlogs in reverse order on card stats screen. by @Luc-Mcgrady in #3951
- Fix/incorrect fallback of decay by @L-M-Sherlock in #3954
- Fix/missing-simulator-decay-for-FSRS-5 by @L-M-Sherlock in #3956
- Feat/CMRR uses simulate config by @Luc-Mcgrady in #3947
Other improvements:
- Add a way to pass information from browser_will_search to browser_did_search without having it going to the backend by @JSchoreels in #3945
- Fix docs of note_fields_check to match changes made in PR #3912 by @rreemmii-dev in #3944
- add toggle for browser sidebar by @JL710 in #3953
- Close only “child” window (e.g. Preview) inside Browser on Cmd+W by @beyondcompute in #3913
New Contributors
- @JSchoreels made their first contribution in #3945
- @JL710 made their first contribution in #3953
Full Changelog: 25.05b1...25.05b2