Anki

Latest version: v24.4.1

Safety actively analyzes 630026 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 9 of 10

2.1.25

(build tag on PyPi: 6046bbc7)

- Fix a change to deck configurations that was breaking AnkiDroid.
- Fix deck configurations not deleting.
- Fix angle brackets inside cloze+MathJax not working properly.
- The DB check fixes an AnkiMobile bug where tags were not searchable.
- Revert to an earlier macOS toolchain to work around recordings not working.
- The media check no longer fails when files with very long filenames are in the folder.
- More gracefully handle case where deck conf is missing.
- Don't throw an error when cards have an invalid due number.
- {{type::Field}} now marks the card as non-empty if Field is non-empty.
- Tweak tab width in card layout screen (thanks to BlueGreenMagick).
- Build fixes (thanks to Evandro).

2.1.24

Searching:

- You can use `w:something` to search on word boundaries, eg:
- `w:dog`
search for "dog" on a word boundary - will match "dog", but not "doggy"
or "underdog".
- `w:dog*`
will match "dog" and "doggy", but not "underdog".
- `w:*dog`
will match "dog" and "underdog", but not "doggy".
- You can now use `re:something` to search via regular expression, eg:
- `"re:(some|another).*thing"`
find notes that have "some" or "another" on them, followed by 0 or more characters, and then "thing"
- `re:\d{3}`
find notes that have 3 digits in a row
- When searching by regex, unicode case folding is used, so searching for `re:über` will
show a card that has "Über" on it.
- `nc:something` (short for "no combining (characters)") can be used to search while
ignoring accents, eg `nc:uber` will match both "über" and "Über". This behaves the same way as the "Ignore Accents" add-on, but is about 16x faster.
- You can now sort on the deck, card template, note type and tags columns.
- You can now use wildcards when limiting the search to a field, eg `field*:something`.
- You can now use wildcards when searching for a card template or note type by name.
- `rated:x` searches are now capped to a year instead of a month.
- You can now escaped double-quotes in a search - eg `"foo\"bar"`
- Single-quote searches are no longer supported.
- Because the searching code has been rewritten, add-ons that modify the search
code will need to be updated to support 2.1.24. It is no longer possible to
override the Finder class - add-ons will need to use the new hooks in the
browser screen to either rewrite the search text, or perform their own lookups
instead. The Advanced Browser add-on has already been updated, and can be used
as an example of how to accomplish things in 2.1.24.
- Non-wildcard searches now do full unicode case folding (eg 'tag:masse' matches 'Maße').
- Wildcard searches do simple unicode case folding.
- The tag list in the Browse screen now uses unicode case folding.

macOS dark mode handling:

- Anki now solely relies on the night mode setting in the preferences to decide
whether to show in light or dark mode. Some users wanted to run Anki in light
mode while keeping the rest of their system dark, and there were various
display problems when dark mode was changed after Anki started that couldn't
be easily worked around.
- Users who only use dark mode, and preferred the native look of widgets in dark
mode, can achieve the previous appearance by running the following command in
the terminal:

:warning: This will only work if your system is permanently in dark mode!
If you switch between dark and light mode, the interface will render incorrectly.


defaults write net.ankiweb.dtop NSRequiresAquaSystemAppearance -bool no


And the following in the debug console:


mw.pm.meta["dark_mode_widgets"] = True


Database changes (mainly of interest to add-on developers):

- Anki now uses Rust's sqlite libraries instead of Python's.
- The 'db' object on the collection retains most of the same API as before, minimizing the amount of immediate code changes that are required.
- Custom sql functions are no longer supported, and named DB arguments (eg "where id = :id") are deprecated.
- The old database code remains in db.py, and add-ons can continue to use it for accessing
their own databases.
- The database is now behind a mutex, and can be safely accessed from a background thread.
- Various screens like the database check have been updated to run on a background thread,
so they no longer lock up the UI while they're running.
- The database progress handler has been removed. Anki previous had sqlite call back into
Python periodically during long-running DB operations so it could drain the UI queue,
but this would vary in choppyness depending on the type of DB operation being performed,
and it was the cause of some crashes in the past. Add-ons that perform long-running operations
should instead use mw.taskman.run_in_background() or their own threading solution moving forward.

Other changes:

- A tweak which should fix some broken add-ons from preventing the collection from being loaded.
- Add socks support to media sync.
- Allow dragging fields to change their position (thanks to BlueGreenMagick).
- Allow selecting add-on config help text (thanks to ijgnd).
- Allow the type answer arrow to be styled (thanks to Evandro).
- Anki will now wait for a media sync to complete or be aborted before closing the collection.
- Build improvements (thanks to Evandro).
- Changed the way cloze deletions in RTL fields are handled, which should address some corner cases.
- Clean up the previewing code (thanks to Arthur). Add-ons that modify the preview screen will need updating.
- Don't force a full sync when DB check finds cards with a high due number.
- Don't show a popup when a network error occurs while syncing media.
- Fixed a case where decks could be sorted incorrectly (thanks to Arthur).
- Fixed a useless log file being created when exporting.
- Fixed add-ons with multiple branches not updating properly.
- Fixed an error that could occur when performing an operation in the browse screen then immediately closing it.
- Fixed Anki closing after a full sync on collection load.
- Fixed current card sometimes not being centered when searching.
- Fixed deck_browser_did_render hook.
- Fixed editor buttons not being highlighted (thanks to Simone).
- Fixed interface getting stuck when a corrupt collection was encountered.
- Fixed media sync waiting forever when connection dropped.
- Fixed progress dialogs failing to appear in a timely manner.
- Fixed tag searches in custom study (thanks to zjosua).
- Fixed the collection_did_load add-on hook.
- Fixed the wrong language shown in the preferences screen for some languages.
- GitHub now checks Windows and Mac builds as well (thanks to Evandro).
- Handle renamed cloze fields when previewing (thanks to BlueGreenMagick).
- Ignore .DS_Store files in the media trash folder.
- Improved invalid HTML/JS error messages (thanks to Evandro).
- Improved the handling of deck deletions (thanks to Arthur).
- Improvements to debug console (thanks to BlueGreenMagick).
- Left-align tags in the browser.
- Media syncs no longer take time to abort.
- More hooks (thanks to Arthur).
- Moved the scheduling options in the preferences to a separate tab, so options fit on the screen even on devices with small screens.
- Prepare for uploading releases to PyPI (thanks to Evandro).
- The media check will now fix file references in fields that broke because a filename was shortened as part of a sync.
- Updated config handling. While there should be no immediate breakages, if you're an add-on author and
store lists or dicts in Anki's config, please see 676f4e74a.

2.1.23

A macOS-only build that fixes a problem syncing media files
with non-Latin filenames added by previous Anki versions on macOS.

Please see 2.1.22 below for the bulk of the changes.

2.1.22

Media syncing improvements:

- Media syncing now happens in the background, so you can continue using
Anki while the media sync completes.
- Aside from syncing at open and close, Anki will sync any media changes
every 15-20 minutes.
- You can click on the sync button while the spinner is active to monitor
progress.
- Long filenames and problematic characters should be handled smoothly now,
instead of causing syncing errors.
- Anki should no longer sometimes forget to download files when a media
sync fails due to network errors.
- When media files are added within Anki, Anki now marks them
in the database immediately, which can make things faster for people with
slower disks if they are not modifying the media folder externally.

Media check improvements:

- The Check Media function now shows progress, and can be interrupted.
- There is now a separate button to generate missing LaTeX.
- If LaTeX fails to build, the problem card will be revealed in the browse
screen.
- When Anki finds files that are too long or would cause errors on some
operating systems, it will automatically rename them and update your notes
to point to the new filename.

Both media sync and the media check now place deleted files in a media.trash
folder inside your profile, instead of placing the files in the system trash.
You can use the Check Media function to either empty the trash, or restore
the deleted files back to your media folder.

Other changes:

- You can now export .apkg files with the V2 scheduler enabled.
- Add "New " prefix to the due column for new cards.
- Fixed audio getting stuck on Windows.
- Clear the audio queue when moving between cards with autoplay off.
- Fixed play icons not appearing in browser preview when autoplay off.
- Show next learning card due time, and count for today.
- Restored grey styling of zeros in the deck list that got lost in the night mode changes.
- Improvements to the readability of the scheduling code (thanks to Arthur)
- Add-on hook improvements, thanks to Glutanimate and Arthur.
- Fixed fields containing a filename with non-Latin text from being corrupted when editing HTML (thanks to Evandro).
- Support for validating add-on config schemas (thanks to Arthur).
- Removed the 'too many decks' message in the deck list screen.
- Fix for issue playing audio from flash drive.
- Fixed Anki getting stuck when importing an invalid file.
- More type hints in the code (thanks to Alan).
- Improvements to the build process and building on Windows (thanks to Evandro).
- Support '/' separator in add-on web paths on Windows (thanks to BlueGreenMagick)
- Fix tags that are in the wrong encoding as part of the DB check.
- Hide the default deck in more cases (thanks to Arthur).
- Updates to the translation infrastructure, including tweaks to the way
the answer buttons and the review history screen show intervals.

2.1.20

2.1.15

Page 9 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.