DecksMD 2.0.3
Released 6 June 2026
Decks 2.0.3 — protect your review history
This release fixes a serious data-loss bug in the database upgrade, makes failed upgrades non-destructive, and adds a one-click recovery tool. If you ever saw cards reset to New with a blank heatmap after updating, this is for you.
Upgrades no longer drop review history
The database upgrade rebuilds the review_logs table. Previously, any older log row whose values didn't fit the new format exactly (e.g. a capitalized rating label, a retired profile name, or a missing field) was silently skipped — and once those logs were gone, the cards they belonged to reverted to New on the next sync. The upgrade now normalizes those values instead of discarding the rows, so your full history carries forward. If anything still can't be migrated, you'll get a clear notice with the count instead of a silent loss.
A failed upgrade no longer resets your database
If the schema upgrade hits an unexpected error, Decks now leaves your existing data untouched and asks you to update or restore a backup — instead of replacing it with a fresh, empty database. Nothing is deleted on failure.
Recover cards that lost their scheduling
A new Rebuild from history button under Settings → Restore backup rebuilds each card's scheduling (state, due date, stability, difficulty) from its most recent review log. Use it if cards show as New even though their review history is still present. It takes a safety backup first and only touches cards that actually have logs.
Smoother upgrades from older versions
The retired Intensive profile is now treated as Standard everywhere — in storage, scheduling, and the optimizer — so older vaults and review logs upgrade cleanly without errors.
Fixes & polish
- The backup/restore buttons now wrap within the settings panel instead of overflowing the edge with longer (e.g. translated) labels.
If you already lost history on a previous update, your pre-update automatic backups still hold it — restore one via Settings → Restore backup → Restore from file, then this version's upgrade will preserve it. Backups live in your vault under
.obsidian/plugins/decks/backups/.
Also on GitHub.