Skip to content

0.9.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 15:45
0ef1daa

Features

  • feat(bases): readable card labels and letterbox-free thumbnails
  • feat(settings): add playlist conversion button
  • feat(migration): clearer conversion preview
  • feat(migration): convert playlist notes to bases command
  • feat(thumbnails): clear action and Bases rows use the cache
  • feat(thumbnails): cache track thumbnails in the plugin folder
  • feat(bases): note player view for playlist bases
  • feat(settings): folder dropdowns and searchable property pickers
  • feat(playlists): bases-backed playlists with membership property
  • feat(library): derive playlists from membership links and base sort
  • feat(bases): build playlist base and companion note content
  • feat(migration): plan conversion of playlist notes to bases

Fixes

  • fix(playlists): register Create playlist Enter through the modal scope
  • fix(bases): preserve user card options; no empty or duplicate notices
  • fix(playlists): submit Create playlist on Enter
  • fix(bases): rename the old Player view to Cards on upgrade
  • fix(library): short notice for an unreadable base
  • fix(migration): preview copy for base-only upgrades
  • fix(migration): no empty progress notice
  • fix(library): isolate per-base read failures
  • fix(migration): report base-only upgrades separately
  • fix(library): isolate unparseable playlist bases
  • fix(migration): count each playlist once in the preview
  • fix(bases): upgrade views via parsed YAML
  • fix(migration): count plugin-created playlists as already converted
  • fix(playlists): keep the selected playlist after renaming it
  • fix(player): report loading until audio actually plays
  • fix(migration): match whole frontmatter keys only
  • fix(migration): detect flow-style malformed candidates
  • fix(migration): classify malformed notes from content
  • fix(migration): skip unrelated notes with malformed YAML
  • fix(scope): vault root includes subfolders
  • fix: library refresh on folder change, truthful folder setting, notice copy, play scope, picker order
  • fix(ui): short labels for bare-path missing references
  • fix(ui): hide migration marker and render author links
  • fix(bases): pair base embeds with subpaths consistently
  • fix(migration): resolve short base embeds, idempotent user embeds, lifecycle waiters
  • fix(migration): decide from file content with an owned embed marker
  • fix(migration): public-api cache currency
  • fix(migration): truthful no-op and already-resolved cache
  • fix(migration): use Obsidian's parsed embeds after settle
  • fix(migration): base embed check reads the file, not stale cache
  • fix(migration): address gate review
  • fix(settings): register animation listener through lifecycle
  • fix(thumbnails): cancel pending frame on unload
  • fix(thumbnails): lifecycle, concurrency and clear safety
  • fix(bases): lifecycle-safe listeners and registration warning
  • fix(settings): safe folder options and lifecycle cleanup
  • fix(settings): match native dropdown look and refresh folder options
  • fix(library): never let a stale refresh overwrite a newer one
  • fix(migration): keep planner idempotent for tracks_legacy

Other

  • docs: update repository owner links after transfer
  • perf(startup): defer library discovery until layout is ready
  • refactor(bases): use the native cards view for playlists
  • refactor(playlists): move rename handling out of main
  • Revert "fix(player): report loading until audio actually plays"
  • docs: describe folder scope
  • refactor(bases): require explicit property mapping
  • test(settings): exercise the real control save path
  • refactor(settings): one property per role without fallbacks
  • chore(deps): update obsidian and eslint-plugin-obsidianmd