Releases: olekpuchka/ai-setup-sync
Releases · olekpuchka/ai-setup-sync
Release list
v1.7.6
Changed
- First-run nudge can be dismissed for good — the "Add a GitHub repository" welcome notification now has a Don't Show Again button alongside Open Settings. Choosing it silences the nudge permanently across all windows and projects. Previously the only way to stop the reminder was to configure a repository, so users who deliberately left a project unconfigured were re-prompted on every window reload.
v1.7.5
Changed
- Refreshed the extension description — the Marketplace listing and READMEs now lead with "syncs AI setup files and MCP configs (Claude Code, Copilot, Cursor, Codex, Antigravity and more)," making the MCP-config support explicit and consistent across every surface.
v1.7.4
Fixed
- No leftover block in
.git/info/exclude— when the last synced file is removed (or a sync matches no files, e.g. a wrong branch), the extension now fully strips its managed block from.git/info/excludeinstead of leaving an empty one behind. Previously the empty block could linger even after uninstall.
v1.7.3
Security
- Sync source restricted in untrusted workspaces —
repositoryandbranchset in workspace settings are ignored until you trust the workspace, so a cloned repo can't repoint your sync. User (global) settings are unaffected. - Post-sync command trust-restricted —
postSyncCommandis now declared restricted, so VS Code ignores a workspace's command until you trust it. - Changed commands ask before running — if
postSyncCommanddiffers from the one you last approved (e.g. agit pullswapped it), you're shown it in a dismissible notification and it runs only when you click Run. An unchanged command never prompts.
Changed
- A newly added or edited post-sync command now runs on the next sync even when no files changed (once approved), instead of staying silent until the next real change.
- New "Run Post Sync Command" action — run the configured command on demand from the status-bar menu or Command Palette, without waiting for a sync.
- Clearer post-sync command feedback — a brief notification when it finishes, an error toast (with Show Log and Open Settings) if it fails, plus a status-bar warning that persists across reloads until it succeeds. Run Sync Now to retry a failed command.
Fixed
- Large repos no longer fail to sync — pulling many files at once could trip GitHub's rate limit and fail with HTTP 403. Syncs now use gentler concurrency, wait and retry when GitHub asks, and show a clear rate-limit message instead of a cryptic per-file error.
- A failed sync no longer gets stuck showing "synced" with no files — after a failure the next sync re-fetches and retries the files that didn't download, instead of assuming nothing changed.
v1.7.2
Security
- Sync never writes into
.git/— path mappings and target folders can't place a file inside the git directory..github,.gitignore, and.gitattributesare unaffected. - Path mappings reject control characters — a destination with a newline or other control character is rejected.
- Tokens bind to their host sooner — a token saved before a repository is configured now binds on the next sync. Existing setups are unchanged.
v1.7.1
Security
- Token stays on its own host — your GitHub token is only sent to the host it was saved for, so a project can't redirect the repository URL and leak it. Repos on the same host work as before.
- Token dropped on cross-host redirects — it's never forwarded to a different host.
- Safer path mappings — mapping destinations with backslashes or drive letters (e.g.
C:\…) are rejected.
Fixed
- Synced files stay hidden from git after a failed download — if one file failed mid-sync, the files that did sync no longer show up as untracked changes.
- Temporary GitHub errors are retried —
502/503/504responses retry automatically, so a brief GitHub hiccup no longer fails the sync. If one still fails, the notification is short and clear with a Show Log button.
v1.7.0
Added
postSyncCommandsetting — run a shell command after a sync changes files, e.g. to generate configs from synced templates. Runs from the workspace folder, only in trusted workspaces, with a 2-minute timeout; output goes to the AI Setup Sync log, and a failure never fails the sync. Empty by default.- First-run setup prompt — opening a project with no repository configured shows a notification pointing to the repository setting, so a fresh install isn't silent. It stops for good once a repository is set.
v1.6.0
Added
- Status-bar action menu — clicking the AI Setup Sync status-bar item now opens a quick-pick menu — Sync Now, Show Log, Open Settings, Remove Synced Files, Set GitHub Token — instead of syncing immediately. Sync Now is the first (default) item, so a click + Enter still syncs. The menu's header line shows status at a glance: when you last synced, how many files, and from which repo. Every command is now reachable without the Command Palette.
- Sync progress notification — a sync that downloads files now shows a progress notification with a bar that fills as it goes and a live "Syncing X of Y files" count. It appears only while files are actually being transferred, so routine no-op syncs on window focus stay silent.
v1.5.8
Changed
- New extension logo — refreshed the icon to a transparent, theme-adaptive mark (blue→purple sync arrows around a
{ ⋮ }core). It's a proper 256×256 PNG with no background, so it reads cleanly in both light and dark VS Code themes and on the Marketplace.
v1.5.7
Added
.antigravity.mdsynced by default — Google Antigravity (IDE and CLI share config) reads an Antigravity-specific project context file,.antigravity.md, which takes precedence over the legacyGEMINI.mdwhen both exist. It's now included in the defaulttargetFoldersalongside.agentsandAGENTS.md, completing Antigravity support.- Cursor ignore files synced by default — added
.cursorignore(files the AI cannot access) and.cursorindexingignore(files excluded from indexing). These live at the repo root rather than inside.cursor/, so they weren't previously covered. Syncing them lets you standardize AI file-access rules — e.g. blocking.env, keys, and build artifacts — across every project.