DecksMD 2.9.4
Released 13 September 2026
Decks 2.9.4 — a note can belong to more than one tag
Until now a deck note had exactly one tag that mattered: a path under #decks that said both this is a deck and this is where it belongs. Nesting was the only way to group, so a note that belonged to two things at once had to pick one.
Every tag in a deck note's tags: property is now a row in the Tags section:
---
tags: [decks/spanish, math, retry]
---
That note appears under #decks/spanish, under #math and under #retry. All three can be studied, all three show counts, and all three can be given a profile.
#decks is still what makes a note a deck. A note tagged only #math is just a note.
Why
Nesting encodes one hierarchy, and cross-cutting groups are the case it cannot express. A case note may belong to two modules; a pathway may matter for both physiology and pharmacology. Under nesting you either duplicate the note — splitting its review history in two — or you pick one parent and lose the other grouping.
The note stays single. It has one set of cards with one history, and simply shows up in more than one place. Daily limits still count each card once, however many tags reach it.
Keeping the tag list readable
Most vaults carry tags that have nothing to do with studying. Two settings keep them out of the way:
- Settings → Decks → Parsing → Ignored tags — tags you never want to see, separated by commas or newlines. Ignoring a tag also hides everything beneath it, so
statuscoversstatus/todo. - Minimum cards per deck now applies to the Tags section as well, so a tag on one small note does not earn a row. Pinned rows are exempt.
Flat tags are matched case-insensitively, so #Math and #math are one group.
Which profile applies
A flat tag can carry a profile like any other tag, so a note can now be reached by several mapped tags at once. The order is fixed:
- The deck tag wins. If
#decks/spanishhas a profile mapped, that is the profile. - Otherwise the note's other tags are tried, most specific first.
- Otherwise Default.
Existing vaults are unaffected: a deck whose deck tag is already mapped keeps exactly the profile it had.
Also in this release
- Tag rows now study under their own profile. A tag with decks only below it —
#decks/spanishwhen the decks are at#decks/spanish/verbs— used to be a display-only folder, and studying it ignored daily limits. It is now a group like any other: its profile and limits apply, and it can be pinned. - The Deck tag filter matches any of a deck's tags, so a filter deck built on
#mathfinds the same decks the Tags section shows there. The flashcard manager's Deck tag column lists them all. - A note carrying two
#decks/...tags now picks one predictably. The deeper tag wins, and equal depths are decided by name. Previously the choice depended on scan order and could differ between devices.
Nothing moved
Flat tags live in your own frontmatter, so they travel with the markdown — between devices, in and out of a backup, through an export and back. No database change was needed, no settings need migrating, and a backup taken on this version still opens on the previous one.
Also on GitHub.