Skip to content

Latest commit

 

History

History
293 lines (193 loc) · 26.8 KB

File metadata and controls

293 lines (193 loc) · 26.8 KB

1.5.9 (2026-08-20)

Bug Fixes

  • ci: harden provider e2e failures (948df28)
  • ci: move matrix-dependent E2E gating out of job-level if (155e55c)
  • e2e: dedupe push/pull_request E2E runs on the same branch (04cd91a), closes #124
  • e2e: fix CI workflow-file rejection and Sonar security gate (a44520a)
  • e2e: fix commit-count pagination bug, guard teardown, log gitea failures (147736e)
  • e2e: fix NOSONAR placement on line-continued curl calls (b944023)
  • e2e: fix real CI failures found by the first live run (b3c6b81)
  • e2e: prevent indefinite curl hangs in gitea provisioning (2e083c2)
  • gitea: preserve update semantics in mixed batch commits (6569895)
  • sync: resolve batch conflicts before atomic push (c8b4a84)
  • sync: route all push entry points through the batch push pipeline (2d93d77)
  • sync: unify push pull and move decisions (dff95db)
  • ui: make conflict viewer use available desktop space (c802166)

Documentation

  • e2e: document real-provider E2E setup, CI, and troubleshooting (60e2d2c)
  • progress: record Phase 0 E2E reconcile evidence (a4de430)
  • progress: record PR #124's three CI/Sonar fixes and final green state (c42fa35)
  • progress: record real CI results and gitea-disable follow-up (c3acf83)
  • record provider ci verification (5f9d528)

Code Refactoring

  • sync: delete legacy single-file push orchestration (3b3fd2e)

1.5.8 (2026-08-13)

1.5.7 (2026-08-07)

Bug Fixes

  • scanner: remove Node E2E source (002000e)

1.5.6 (2026-08-07)

Bug Fixes

  • e2e: correct gitlab suite against real GitLab.com behavior (77a3355), closes #101 #101

Documentation

  • e2e: write GitHub E2E test plan (3cef03e)

1.5.5 (2026-08-07)

Bug Fixes

  • provider: preserve sync correctness (ce61588)

Documentation

  • tighten token permission guidance to least-privilege scopes (#116) (45dc39d)

1.5.4 (2026-08-07)

Bug Fixes

  • sync: ensure parent dirs exist when reverting file moves (#114) (cda7137), closes #94 #6

1.5.3 (2026-08-07)

Bug Fixes

  • gitlab: fix sha/revision semantics for optimistic locking (#113) (ad15238), closes #101

1.5.1 (2026-07-31)

Bug Fixes

  • deps: release patched transitive dev-dep versions (dc9525b), closes #87
  • release: correct commit-analyzer releaseRules precedence (b4b1808), closes #87

Documentation

  • add simplified Chinese guide (e7d5307)
  • archive session state as of 2026-07-31 (908ebf7), closes #87 #87

1.5.0 (2026-07-28)

Features

  • add sync plan preview before applying changes (#63) (1f227b2)
  • changelog: add 1.5.0 update notes (4385dcb)
  • initial release (118aaee)
  • initial release (80a9111)
  • sync: commit renames as a real move with a dedicated moved status (7eb1141)
  • sync: refresh status on startup (22c5ace)
  • sync: update a file's sync status live when it's edited in scope (3373262)
  • sync: update sync status live when a file is renamed or moved (ae227a9)
  • ui: add sync status tree view (4426b24)
  • ui: collapse folder moves into a single row (49a8816)
  • ui: use status dropdown on mobile (eeef970)

Bug Fixes

  • sync: backfill syncMetadata when a status refresh finds a file already synced (1646ead)
  • sync: detect a folder move even when the plugin missed the live rename event (c806e22)
  • sync: honor ignore patterns for direct push (61ca728)
  • synchronize manifest version with git tag and assets (d9eab83)
  • sync: keep a single-file push's status as synced, not unsynced (690b8ee)
  • sync: reconcile moves from legacy metadata (ed04867)
  • sync: show progress toast and avoid N sequential rename checks on single-file push (217dcf5)
  • sync: stop clearing rename metadata on generic vault delete events (c9d0cde), closes #66
  • sync: track a moved folder's files, not just moved files (ee217b1), closes #66 #67
  • trigger release to publish updated manifest (ab538d8)
  • ui: show diff for moved files (9f82d36)

Documentation

  • record direct push ignore guard (fe084b4)
  • record legacy move reconciliation (3e65e63)
  • record rename regression coverage (c648712)
  • record shared sync status state (7510ce7)
  • record sync status refactor handoff (ac6eec6)

Code Refactoring

  • sync-status: centralize status classification (c610dde)
  • sync-status: share status state with sync manager (9cefb25)
  • ui: move tree view controls (e47d44b)

1.4.0 (2026-07-23)

Features

Bug Fixes

  • github: read the snapshot's branch head over GraphQL (0af0746)
  • ui: let desktop diff tab fill the full pane height (72a2c97), closes #69
  • ui: prune the selection to the filter instead of clearing it (109a77f)

1.3.2 (2026-07-23)

Bug Fixes

  • github: retry batch pushes when the branch head moves (65b5a3c)
  • sync: record a blob sha for batch-pushed files (44716e3)

Performance Improvements

  • sync: decide gitignore and pull work from the remote tree (6ed91d9)
  • sync: stop probing paths the remote tree already rules out (4b65fb7)

1.3.1 (2026-07-23)

Performance Improvements

  • push: avoid stale rename lookup requests (f8a0a26)
  • push: eliminate redundant GitHub requests (0445b17)

1.3.0 (2026-07-14)

Features

  • add i18n (multi-language) support (#38) (144eb28)
  • add Simplified Chinese locale, settings what's-new banner, and 1.3.0 changelog (72ed2cd)
  • resize conflict modal, add connection status badge, and local ignore patterns (28f4f8e), closes #42 #41
  • settings: add folder picker for root path and vault folder settings (c107979), closes #48
  • show new feature tips after update (4eebebc), closes #39
  • ui: show connection status in the global status bar (83499c9)

Bug Fixes

  • don't mark the symlink-pull fix as notable in 1.3.0 changelog (1fc27ab)
  • normalize vaultFolder-relative path before gitService.deleteFile (fa42fea)
  • push: avoid stale remote-tree read right after a batch push (7676325)
  • push: retry GitHub commit mutations on a stale expectedHeadOid (33d41ac)
  • remote-repo root path picker, delete-remote-only-file errors, symlinked-folder EISDIR (896d77b), closes firstsun-dev/blog#78
  • satisfy Obsidian plugin scan (undescribed directive, popout-window timers) (09bdf0c)
  • surface a clear error when requestUrl() itself rejects with HTML content (a867217), closes #31
  • symlinked directories no longer break pull discovery (4c8896b), closes #33
  • sync: clear sync metadata on vault file delete (1a369b3)
  • ui: connection status badge text invisible on some themes (12cce64)

Performance Improvements

  • delete: batch-commit remote-only file deletion (d8e3663)
  • push: batch-commit push-all files + SHA-based diffing (c28e0ec)
  • push: GitHub batch push/delete via GraphQL createCommitOnBranch (114a575)
  • push: parallelize blob creation within a batch commit (c7ae0f6)
  • refresh: use tree blob SHAs to avoid per-file content fetches (2ed5a43), closes #36

Code Refactoring

  • tests: dedupe TextComponent/TextAreaComponent mocks (f5ae8ef), closes #49

1.2.1 (2026-07-07)

Bug Fixes

  • compat: support Obsidian down to 1.11.0 (d896015)

Documentation

  • restyle README, host demo videos on R2, use official download stats (#44) (0a4cff5)

1.2.0 (2026-07-05)

Features

  • add Gitea support as third-party Git provider (130bd93), closes #26
  • sync: detect symbolic links and add a configurable handling setting (62b475d)
  • sync: real symbolic link support (GitHub) with configurable handling (9bcaed6)

Bug Fixes

  • deprecations: migrate off deprecated Obsidian APIs (5c64b96)
  • deps: resolve Dependabot security alerts in dev dependencies (a47cfcb)
  • lint: resolve Obsidian plugin linter warnings (d11ca94)
  • services: clear error when Git API returns HTML instead of JSON (bcc5cda)
  • services: omit blank sha so creating a new file doesn't 422 (339d5cb)
  • services: stop logging expected 404s as errors during refresh (c474a7e)
  • settings: mask personal access token fields (235d9e0)
  • sync: clearer branch-not-found errors and connection test (2f6859a)
  • sync: fall back to adapter read for symlinked files (76405cf)
  • sync: stop batch push/pull from silently overwriting conflicts (1364b94)
  • sync: stop false-positive rename detection and 422 on rename push (06953e1)
  • ui: keep ribbon/command labels in sync with configured Git service (acebafd)
  • ui: match Open sync status ribbon icon to the view icon (9bc8ab7)
  • use two-step branch→SHA resolution in GiteaService.listFiles (7648eef)

Performance Improvements

  • ui: parallelize refresh status checks and throttle re-renders (1e21061)

Documentation

  • add video (#30) (49bfe9f)
  • fix CLAUDE.md to match actual codebase and remove subagent delegation directives (#32) (85bcaba)
  • update intro video with refreshed content (df44a96)
  • update USAGE_zh.md with Gitea support and provider compatibility table (615819c)

Code Refactoring

  • ui: unify Sync Status icons via Lucide setIcon (d8d6f9d)

1.1.2 (2026-06-16)

Bug Fixes

  • lint: replace activeWindow.setTimeout with setTimeout (4099f44)

1.1.1 (2026-06-16)

Bug Fixes

  • ci: switch to shared workflow v1 and fix repository url (3a0f99e)

1.1.0 (2026-06-16)

Features

  • support hidden file sync and expand binary extension list (649d732)

Documentation

  • remove SonarCloud quality gate badge from README (d907baf)
  • update README badges (7cd9e38)

Code Refactoring

  • test: eliminate duplicate code flagged by SonarCloud (f49600e)
  • test: extract shared SyncManager mock setup to reduce duplication (1f71a43)

1.0.6 (2026-05-20)

Bug Fixes

  • release: trigger patch release on chore(deps) commits (910305a)
  • test: add @types/jsdom and fix Element type cast in setup-dom (8f7207a)
  • ui: real-time file status during refresh and unsynced file actions (c6152a6)

Code Refactoring

  • code quality enhancements for issue #23 (7f223e3)
  • code quality enhancements for issue #23 (31ac918)
  • eliminate code duplication flagged by SonarCloud (556f9e9)

1.0.5 (2026-04-26)

Code Refactoring

  • address SonarCloud issues and reduce code duplication (#20) (4574abc)
  • fix quality gate issues, improve type safety and pagination (#21) (70171fd)

Changelog