AnkiDroid 2.21.0 Changelog

It’s been a while… AnkiDroid 2.21 time! AnkiDroid 2.22 (with Anki 25.07/FSRS6) is in alpha, and should be ready to go when the Anki website is updated with the stable releases.

Firstly, thank you so much for the donations, we really appreciate it! :heart:


General releases should be rolling out once Google are done with their reviews, they’ll be available:


Changelog

AnkiDroid (& features from Anki 25.02.7)

  • Browser: Multi-column support and ‘Manage columns’ screen
  • Controls: Support previewer shortcuts
  • Reviewer: Much better multilingual support, via the Noto Sans Mono font for type-in-answer
  • Deck Picker: allow panel resize on larger screens
  • Custom Study: Anki Desktop ‘custom study by tags functionality’
  • Browser: New option: ignore accents
  • Card Template Editor: Support ‘restore to default’
  • Browser: Support FSRS columns (Difficulty/Stability/Retrievability)
  • Export: Use modern export format by default [apkg/colpkg]
  • Reposition: Implement all upstream functionality (steps, randomize order, shift cards)
  • Reposition: Display queue positions
  • Tags: huge performance improvements
  • Set Due Date: Display interval of card
  • Previewer: Add ‘Front is empty’ indicator
  • Previewer: Keyboard/controller remappable bindings
  • Previewer: support non-combining (nc:) typed answers
  • Browser: Support sorting by deck name
  • Congrats Screen: support unburying only siblings/manually buried cards
  • Note Editor: Allow pasting images as PNG
  • Note Editor: Add MathJax block and MathJax chemistry
  • Check Media: Anki compatibility (tag missing, media report, keep notes, make undoable)
  • Import: Support text files from more apps (Gmail etc…)
  • Import: Add drag-and-drop support for txt/csv/tsv
  • Import: Add support for sharing .txt files to AnkiDroid
  • Settings: Add Option to remove Deck Picker background
  • Settings - Controls: Show keyboard shortcuts if keyboard attached
  • Settings - Controls: Support one-sided gestures
  • Shared Deck Download: Warn if no internet connection
  • Shared Deck Download: Add ‘manual download’ link on download failure
  • Undo Made more actions undoable (for example: “empty filtered deck”)
  • Translations: add Uyghur language
  • Error Dialog: copy stack trace & debug info
  • About: Add licenses wiki page link
  • Reviewer: Support localStorage again in JavaScript (via Advanced Setting)
  • JS API: Added setTags and getTags
  • API: reimplement ‘empty_cards’

Design Improvements

  • Settings - Controls: Improved UI for control and gesture entry
  • Note Editor: Add tooltips
  • Reposition Field: Pre-fill previous value
  • Set Keyboard Hint: Improve dialog
  • Deck Options/Import/Export: Improve progress notifications
  • Set Due Date: hide ‘set interval to same value’ if FSRS is enabled
  • Deck Overview: stopped “+0 buried” being displayed
  • Deck Picker Support multi-line footer
  • Debug Info: Better output for copying
  • Login Fix truncated text issues
  • Widgets: Better resizing support & add rounded corners
  • Black Theme: Better dialog themes
  • Browser Appearance: improve icon design
  • Settings: Fix status bar color
  • Predictive back gesture support
  • A preview of the previous screen is now displayed
  • Improve transition animations
  • Various improvements when using a large font
  • Translatable strings: improve newlines after digits
  • Right to left language support improvements
  • Screen reorientation / app reopen improvements
  • Various menu, icon & tooltip related improvements
  • Various keyboard appearance/focus improvements

Fixes

  • Sync: Fixed our top crash bug! (issues with collection open on media sync)
  • Sync: Fixed UI hanging if app did not have notification permission when syncing
  • Sync: Ensure latest note type data is used after a sync
  • LTR languages: fix layout padding
  • Deck Options: Only show ‘discard changes’ if changes occurred
  • Deck Picker: Various fixes for the deck expansion arrow
  • Crop Fix crash if image is too large
  • Settings: Fixed missing entries in the search
  • Deck Picker: Hide background image if no cards available
  • Deck Picker: Handle quotes in deck names and searches
  • Note Editor: Options no longer open more than once
  • Note Editor: Fixed conversion to JPG on image crop
  • Import: up to 100x import speed improvement
  • (when importing from outside AnkiDroid)
  • Image Occlusion: better handle files with special chars in filename
  • Card Browser: Maintain selection after changing flags
  • Card Browser: A flag name may no longer be blank
  • Card Browser: Maintain scroll positioning
  • Card Browser: Fix keyboard not closing after search
  • Preview Fix audio autoplay
  • Settings: Correctly highlight header on tablets
  • Shared Deck Download: Fix ‘navigate’ button
  • Reviewer: Reset zoom on card flip
  • Reviewer Improve deep link support
  • Deck Picker: Improve congrats message when no cards due later in day
  • Deck Picker: Only show Backup prompt dialog at startup if there is no one-way or auto sync
  • Deck Picker: “Deck is empty” no longer appears when deck has empty subdecks
  • Deck Picker: Adding to an empty deck adds to the correct deck
  • Deck Picker: Allow search to show subdecks if they match the searched term
  • Stability: Fix a number of memory leaks

Feature Removals

  • Keyboard shortcuts: Card Template Editor - Change Ctrl+A to Ctrl+N
  • Keyboard shortcuts: Remove Alt + K keyboard dialog shortcut
  • Gestures: Remove long touch
  • Custom Study: Remove ‘Study a random selection of cards’
  • Equivalent functionality in ‘Study by state or tag’
  • Remove Automatic Display Answer global setting
  • Now in the Deck Preset, for Anki Compatibility
  • Remove “Close review screen and sync” action

See more in the Anki 25.02 changelog


Release Statistics:


If you encounter any problems, please don’t hesitate to get in touch, either on this post, or Discord [#mobile-apps]. Working in public is preferred, but my DMs are open if you need anything.

Thanks for using AnkiDroid,

David (on behalf of the AnkiDroid Open Source Team)


All our thanks goes out to the developers who made this release possible: @disconnect821 @Akshit517 @alisherbu @Amit-kumar80844 @xenonnn4w @argon2r @arooooon @Arthur-Milchior @criticalAY @BrayanDSO @david-allison @Scapesfear @DrunkenCloud @Haz3-jolt @Henriqueist @deshkaustubh @KushagraPatni @mikehardy @oyeraghib @MorenoTropical @NALLAPANENILAKSHMISOWJANYA @itsbilolbek @Pankajkumar2608 @Prince-kushwaha @ProtonStar12 @QuantumPineapple68 @Rdkang @RivanParmar @Robozinho@Sagar0-0 @Sahil06012002 @SanjaySargam @theMr17 @Shrot101 @shkshreyas @ShridharGoel@Siddheshjondhale @ericli3690 @spoisseroux @Ssdosaofc @sydon1 @Tushar4059x @VictoriaTaiwan @Aryan171 @realBoltDev @devyk100 @dorrin-sot @gautambhetanabhotla @gayatriii0803 @highyield @iamit @jainv4156 @iamllama @lukstbit @rahul31124 @samirsuroshe18 @snowtimeglass @ujjol1234 @user1823

Want to be on this list for 2.22? Get started here


10 Likes

After the update my audio files don’t play anymore (using both my registered gesture and the button from the menu). It seems that I’ve used a way to add sound which isn’t supported anymore. I couldn’t find it in the docs though.

I’ve got a field Sound on my note which I previously added as <!-- {{Sound}} -->, which before added the sound but hid the play button.

I removed the comment markers and now it shows correctly for Front → Back. Unfortunately it still doesn’t show for Back → Front.

When I add the sound as [sound:googletts-18d042b1-7250e324-0f489342-173721df-966ff1f0.mp3] directly in a field on a card then it works in both.

Did this replacement stop working?

Many thanks in advance :smiling_face:.

Front → Back:

<div class=chinese>
{{Color}}
{{Sound}}
</div>
<br><br>

<div style='font-family: Liberation Sans; font-size: 20px;'>{{Context}}</div>
<br><br>
<div class=reading>{{Reading}}</div>

Back → Front:

<div>{{English}}</div>

Hi, could you:

We’ll take a look

1 Like

This stopped working in Anki 25.02 because Anki changed how it handled HTML comments. See:

I’m not sure what is going on with it working Front → Back but not Back → Front once you take it out of the comment though.

1 Like

I just thought, are you sure you have uncommented {{Sound}} in all templates?
There should be 4 templates but you have only shown 2:

  1. Card 1: Front → Back (Front Template)
  2. Card 1: Front → Back (Back Template)
  3. Card 2: Back → Front (Front Template)
  4. Card 2: Back → Front (Back Template)

2 Likes

That’s it, thanks a million. I didn’t see the distinction on the buttons below, I only checked one template and wondered :sweat_smile:. It’s such a long time I changed this, and I’m currently without a desktop.

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.