Releases: aznan-triks/trello-vault-sync
Releases · aznan-triks/trello-vault-sync
Release list
1.17.2
Fixed
- Re-cut the release with the plugin files properly attached — 1.17.1 went out without them due to a packaging slip caught by the Obsidian community validator. No source change from 1.17.1.
Full Changelog: 1.17.1...1.17.2
1.17.1
Fixed
- Fixed more findings from the Obsidian community validator on the new Changelog tab — a raw HTML heading is now a proper settings heading, and the changelog content is now built as real page elements instead of injected as a block of HTML text.
- Patched a packaging gap where 1.17.0 was missing from the plugin's own version-compatibility table (
versions.json).
Full Changelog: 1.17.0...1.17.1
1.17.0
Added
- Plain: You can now read and search the full version history directly inside the plugin's settings via a brand new Changelog tab, with instant filtering between plain-English and technical descriptions, category badges, and a refresh button to pull the latest notes live from Git.
Technical: Ported the Keep-a-Changelog parsing and display engine modeled aftertop-des-tops. Addedsrc/core/changelog.tswith line-anchored voice block isolation (parseChangelogVoiceBlocks), safe markdown-to-HTML parser preventing inline code underscore mangling (renderChangelogMarkdown), and multi-criteria reactive filtering (filterAndGroupChangelog). InSettingsTab.ts, added the "Changelog" tab with live GitHub fetching viarequestUrl, bundled offline fallback (src/core/bundledChangelog.tssynced viascripts/sync-changelog.mjs), interactive category chips (Added,Changed,Fixed,Removed,Security), view mode segmented control (All,Plain,Technical), sort toggle, version range selectors, and styled timeline cards under.tvs-cl-*instyles.css.
1.16.8
Added
- Plain: "Linked cards" (the wikilinks a card-link attachment resolves to) now has its own on/off switch, separate from "Sync attachments" — you can keep plain attachment urls syncing while turning off the linked-card wikilinks.
Technical: NewsyncLinkedCards: booleansetting (defaulttrue, matching the previous un-toggleable behavior).convergeAttachments(features/syncNote.ts) skips reading/writing the linked-cards key when off, without touching plain attachment urls or costing an extra Trello request. Toggle added toSettingsTab.tsright below "Sync attachments".
1.16.7
Fixed
- Plain: A card's cover image was silently never reaching the note's frontmatter, no matter which sync settings you had on or off — this is now fixed, so the cover shows up as soon as "Sync card cover" is enabled.
Technical: Trello's API was silently droppingcover.scaled(the image renditionscoverImageUrl()reads) whenever the card request'sfieldsparameter named an explicit whitelist instead ofall— confirmed against the live API, seeaudits/AUDIT_cover-scaled-fields.md.CARD_FIELDS(src/trello/client.ts) now requestsfields=allongetCard/getBoardCards/getListCards.trello_attachmentswas independently confirmed to never leak whensyncAttachmentsis off (convergeAttachmentsstays gated on it,syncNote.ts). - Plain: Fixed two more findings from the Obsidian community validator — a redundant type check and an unnecessary style override, neither changing how the plugin behaves.
Technical: Removed the unnecessaryas unknown as Windowtype assertion in the timer-host fallback (asyncUtil.ts,client.ts) — the receiver's declared type already acceptsglobaldirectly. Removed the redundant!importanton.tvs-sidebar__search-clear.is-hiddeninstyles.css, where the compound class selector already outranks the base rule's specificity in the same stylesheet.
1.16.6
Fixed
- Plain: Fixed community validator and linter findings across settings search filtering and timer hosts.
- Technical: Replaced direct
.style.displayassignments inSettingsTab.tswith the standard.is-hiddenCSS class satisfyingobsidianmd/no-static-styles-assignment, eliminatedglobalThisidentifiers inasyncUtil.tsandclient.tsfor pop-out-safe timer resolution across Obsidian and Vitest, and removed deprecatedsetDynamicTooltip()on the similarity slider.
1.16.5
Changed
- Plain: The sidebar view opened via "Open Trello Vault Sync" has been completely redesigned into a compact, practical command center featuring real-time search, category filtering tabs, quick dry-run toggle at the top, semantic action cards, and a manageable activity journal.
- Technical:
SidebarView.tsreplaces the vertical full-setting rows with a modern layout: header with quick settings shortcut and refresh button, status badges (connection and mappings count), top-level Dry-run toggle with real-timeSIMULATION/LIVEmode badge, search input with instant matching and dynamic results counter (Found N actions), category pills (All,Active note,Folders,Vault) with count badges, compact accessible action cards with semantic tone icons (sync,pull,push,link,audit,history) supporting click and keyboard (Enter/Space) activation, and an activity journal with count badge and display-clear button.styles.cssadds scoped styles under.tvs-sidebar*. All 24 commands from the registry are preserved and verified by an independent regression monitor agent and automated unit tests (tests/sidebarView.test.ts). - Plain: Fixed analyzer and linter findings across settings filtering and timer hosts.
- Technical: Replaced direct
.style.displayassignments inSettingsTab.tswith the.is-hiddenCSS class satisfyingobsidianmd/no-static-styles-assignment, removedglobalThisidentifiers inasyncUtil.tsandclient.tsfor timer host resolution under Node and Obsidian, and dropped deprecatedsetDynamicTooltip()from the similarity threshold slider.
1.16.4
Added
- Plain: A new "Auto-create report notes" setting (on by default) makes the audit commands create their report note the first time, instead of blocking with a "Report note not found" error.
Technical:types.tsaddsautoCreateReportNote: boolean(defaulttrue);requireReportNote(features/auditShared.ts) is now async and callsvault.create(reportPath, "")when the note is missing and the flag is on;auditChanges/auditLinks/auditLocationsawait it and forwardoptions.autoCreateReportNote;main.tspassessettings.autoCreateReportNoteintoAuditOptions;SettingsTab.tsadds the toggle and drops the "It must already exist" wording from the three report-path descriptions. - Plain: You can now choose to replace the remote Trello image URL for a card's cover with a local link to the downloaded image file in your vault (either as a vault path or an Obsidian wikilink like
[[Attachments/cover.jpg]]).
Technical:types.tsaddspreferLocalCover: boolean(defaultfalse) andcoverLocalFormat: "vault-path" | "wikilink"(default"vault-path");syncNote.tsrunsconvergeAttachmentDownloadsbeforeconvergeCover, caches attachments oncard.attachments, and checks for the downloaded file on disk (vault.binarySize), writingplanned.pathorformatWikilink(planned.path)when present, with automatic fallback tocoverImageUrl(card.cover)when absent;SettingsTab.tsexposes "Prefer local cover" and "Local cover format" in the Sync Rules tab under "Attachments";main.tsthreads both options intonoteOptions().
Changed
- Plain: The settings tab is now organized into five clean categories (General & Scope, Sync Rules, Mappings, Automation & History, Advanced) with instant global search, compact mapping cards with collapsible override options, state summary badges, and an eye toggle to show or hide the API token.
Technical:SettingsTab.tsintroduces tabbed navigation (SETTINGS_TABS), instant live CSS search filtering (updateVisibility) preserving input focus without DOM rebuilding, mapping card layout with collapsible<details>for per-mapping create/delete overrides and status badges, token visibility toggle, and connection/mapping/auto-sync status badges without passive network calls.styles.cssadds scoped styles for tabs, badges, mapping cards, and search feedback. All 48 settings, suggesters, and imperativedisplay()compatibility are 100% preserved and verified by an independent regression monitor agent.
1.16.3
Fixed
- Plain: A checklist section left over from a time when "Sync checklists" was turned on no longer leaks into the card's description on Trello, or gets wiped out, once you turn that setting back off.
Technical:syncNoteWithCard(features/syncNote.ts) now always passeschecklistHeadingtoextractBody/replaceBody, decoupling "split off the checklist section" from thesyncCheckliststoggle — only the active reconciliation against Trello's own checklists stays gated by the setting. - Plain: If your note's own text happens to contain a line matching the checklist heading (e.g.
## Checklist) before the real checklist section, the plugin no longer mistakes that line for the start of the checklist and overwrites everything after it.
Technical:splitChecklistSection(core/noteBody.ts) now matches the LAST line equal toheading, not the first, consistent with the documented invariant that the checklist section is always the last thing in a note's body. - Plain: Cancelling a running sync while attachments are downloading now stops immediately instead of finishing the whole batch first.
Technical:downloadAttachments(features/attachmentDownload.ts) now checkssignal?.abortedat the top of its loop, matching the pattern already used byconvergeChecklists/convergeAttachments/etc.convergeAttachmentDownloads(features/syncNote.ts) also now actually forwards itssignaltodownloadAttachments— it was never wired through before, so the new guard would otherwise have had no effect.
Bugs found and confirmed by re-reading the code against an external review (Grok) supplied by the user; three other claims from that review were checked and declined.
1.16.2
Fixed
- Plain: Creating a note manually from a Trello card now warns you the same way a folder sync already does, if your template doesn't link the note back to its card — instead of silently creating an orphaned note.
Technical:createInFolder(commands/createNoteCommand.ts, now exported for testing) callstemplateMissingCardRefKey(core/template.ts) beforecreateNoteFromCardand logs a"warn"via the run reporter — the same guard already wired insyncFolder.ts, previously missing from the manual "Create note from a Trello card" command.
Changed
- Plain: The cover-image settings ("Sync card cover", "Cover key") now live under "Attachments" instead of their own separate section, since downloading the cover is really just a special case of attachment handling.
Technical:SettingsTab.tsremoves the standalonerenderCovermethod and its call indisplay(); its twoSettingblocks move intorenderAttachments, and the section description is updated to mention the cover. No settings added or renamed, no behavior change.