Releases: ankitects/anki
25.09.4
What's Changed
This is a security release. Please upgrade as soon as possible using Tools > Upgrade/Downgrade.
Importing untrusted decks (.apkg files) had the ability to read local files. This has now been fixed.
Other fixes and new features will follow in the next beta release.
Installing
- If you're a new user, please grab the latest launcher from https://apps.ankiweb.net
- If you already have the 25.09 launcher, you can use
Tools>Upgrade/Downgradeinside Anki. - If you have an older launcher/Anki, please grab the latest launcher first, as the older one may or may not work.
25.09.3
What's Changed
This is a security release. Please upgrade as soon as possible using Tools > Upgrade/Downgrade.
Anki's local media server did not sufficiently validate requests, which could allow a malicious website to read local files while Anki was running. This had the potential to affect mostly Firefox and Safari users. Chrome already restricts local network access. Thanks to the great Tavis Ormandy (@taviso) for the report.
All other fixes and new features since 25.09.2 will follow in a separate beta release.
Installing
- If you're a new user, please grab the latest launcher from https://apps.ankiweb.net
- If you already have the 25.09 launcher, you can use Tools>Upgrade/Downgrade inside Anki.
- If you have an older launcher/Anki, please grab the latest launcher first, as the older one may or may not work.
25.09.2
Installing
- If you're a new user, please grab the latest launcher from https://apps.ankiweb.net
- If you already have the 25.09 launcher, you can use Tools>Upgrade/Downgrade inside Anki.
- If you have an older launcher/Anki, please grab the latest launcher first, as the older one may or may not work.
What's Changed
- Fix custom colors not saving by @iamllama in #4326
- Decode images asynchronously during review. Please let us know if images in the review screen load faster or slower for you. By @abdnh in #4320
- Prevent clipping for QPushButton:default:hover by @jcznk in #4323
- Updated Dockerfile to use Ninja build system by @e-hamrin in #4321
- Fix/Add lower review limit to health check. by @Luc-Mcgrady in #4334
- Make timebox message translatable with flexible variable order by @snowtimeglass in #4338
- (UI polish) Improved margins in Card Browser's "Previewer" by @jcznk in #4337
New Contributors
Full Changelog: 25.09...25.09.2
25.09.1
25.09
Installing
- Install the latest launcher from below
- Run Anki. If you already had it installed, use Tools>Upgrade/Downgrade
What's Changed
New Features
- Per-deck desired retention by @L-M-Sherlock in #4194
- Desired retention info graphs by @Luc-Mcgrady in #4199
- Use cached workload values by @Luc-Mcgrady in #4208
- Expected_workload_with_existing_cards implementation by @Luc-Mcgrady in #4243
- Show health check and already optimal at the same time by @Luc-Mcgrady in #4238
- Card stats update review time by @Luc-Mcgrady in #4236
- Neaten dr graph x-axis by @Luc-Mcgrady in #4251
- Enable nc: to only search in a specific field (#4276) by @maxr777 in #4312
- Show the number of cards added when adding by @iamllama in #4310
- Expose control over AppNap for AnkiConnect
Launcher Updates
Windows
- You can now tell the launcher to store files in a custom location. Updated flash drive instructions here: https://github.com/ankitects/anki-manual/pull/444/files
- Fix 'applink' startup errors on some systems
- Fix launcher display on Upgrade/Downgrade on Windows 10
macOS
- New users will no longer see pop-ups prompting you to install developer tools, or warnings about install_name_tool.
- Fix install failures on systems with the wrong Xcode arch installed.
- Fix the launcher sometimes respawning terminals repeatedly.
Linux
- Added an experimental new mode to use your system's Qt version, for things like Fcitx: https://github.com/ankitects/anki-manual/pull/445/files
- Possible fix for launcher failing to appear to some Linux systems
All platforms
- The launcher now has a download mirror option for users in China, and no longer auto-downloads on first run. The version check should now also work with SOCKS proxies.
- Fix mirror configuration not working during launcher download by @aldlss in #4280
- Fix install problems on some systems with UV_* env vars defined.
Other Improvements
- A small clarification in deck-config.ftl by @Expertium in #4264
- Add desired_retention field to NormalDeckSchema11 by @L-M-Sherlock in #4292
- Chore/Remove CMRR from fsrs help modal by @Luc-Mcgrady in #4290
- Fix #4253 by @Luc-Mcgrady in #4259
- Fix crash when disabling FSRS
- FIX gap above bury by @GithubAnon0000 in #4298
- Fix importing of Mnemosyne collections with missing cards
- Fix LRT database check for cards with no usable reviews by @user1823 in #4284
- Fix Mnemosyne fact ID in error messages by @abdnh in #4266
- Fix ninja BuildAction name sanitization by @memchr in #4291
- Fix recording errors on some system
- Fix sync errors not being reported in some cases by @abdnh in #4281
- Fix theme/checkboxes when path contains an apostrophe
- Fix/Invalid memory states in simulator after parameters changed by @Luc-Mcgrady in #4317
- Fix/Learn count not included in workload graph by @Luc-Mcgrady in #4274
- Fix/recompute memory state when deck-specific DR is changed by @L-M-Sherlock in #4293
- Fix/Simulator intervals decending overflows by @Luc-Mcgrady in #4275
- Fix/System locale for simulator percentages by @Luc-Mcgrady in #4260
- Fix/Workload simulator config deck_size unset by @Luc-Mcgrady in #4283
- Hi res microhpone icon for the recording dialog by @Madoshakalaka in #4262
- Improve elapsed seconds calculation for learning cards in browser table by @user1823 in #4255
- Increase randomness in random sorting of new cards by @user1823 in #4286
- Make simulator fill missing values of DR and decay too by @user1823 in #4269
- Replace activeWindow() with activeModalWidget() by @abdnh in #4267
- Replace deprecated $app/stores with $app/state in SvelteKit frontend by @leedoughty in #4282
- Revert "Fix/Retention help button bounds" by @dae in #4258
- Update record dialog microphone icon to respect dark mode by @leedoughty in #4297
- Use existing translation instead of adding new one (#4310) by @iamllama in #4316
- Update stale comment by @user1823 in #4235
- "Workload" variable typo by @Luc-Mcgrady in #4239
- Fix/use real step count to simulate by @L-M-Sherlock in #4240
- Statistics "Reviews" graph, make the color of "New" and "Learning" cards consistent with the color of card count by @thomasrixen in #4245
- Fix simulator graph not visible when viewport height < 400px by @iamllama in #4248
- Fix show_exception's messagebox always formatting as plaintext by @iamllama in #4246
- Limit time studied today to minutes by @user1823 in #4242
- Fix Cards with Missing Last Review Time During Database Check by @L-M-Sherlock in #4237
- Use space-around for tabbed values by @Luc-Mcgrady in #4252
- Fix/Retention help button bounds by @Luc-Mcgrady in #4253
- Fix/Exclude new cards from is_due_in_days by @user1823 in #4249
- Refactor IO fill tool target check logic by @iamllama in #4222
- Fix/use current_retrievability_seconds in SQL to keep consistent with card info by @L-M-Sherlock in #4231
- Update deck-config.ftl by @sommerluk in #4319
New Contributors
- @thomasrixen made their first contribution in #4245
- @Madoshakalaka made their first contribution in #4262
- @leedoughty made their first contribution in #4282
- @memchr made their first contribution in #4291
- @aldlss made their first contribution in #4280
- @maxr777 made their first contribution in #4312
Full Changelog: 25.07.5...25.09
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_timeto 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 syncby @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