Repository navigation
Releases: SWHL/GitPaste
Releases · SWHL/GitPaste
Release list
GitPaste v0.7.1
Fixed
- Fixed desktop clipboard image uploads on macOS when VS Code exposes clipboard images with the
filesMIME type. - Kept explicit clipboard upload requests available until the paste provider consumes them, covering delayed macOS paste dispatch.
Tests
- Added regression coverage for desktop shortcut declarations and delayed explicit paste requests.
Release v0.7.0
Added
- Added optional SHA-256 content-addressed upload paths with duplicate image reuse. The default timestamp naming strategy remains unchanged.
- Drag and drop one or more image files into Markdown or MDX editors. Images are inserted at the drop position and use the existing upload progress, cancellation, and cleanup flow.
Improved
- GitHub uploads, file lookups, deletions, and configuration checks now share a timeout-aware request layer with cancellation support.
- Network failures and transient GitHub responses (
408,429,500,502,503, and504) are retried automatically with bounded exponential backoff. GitPaste also honorsRetry-Afterand GitHub's rate-limit headers. - GitHub errors now distinguish request timeouts and network failures, preserve actionable permission guidance, and include the remaining API quota and reset time when available.
Fixed
- Keep Delete GitPaste Image available in Markdown and MDX editor context menus even when the cursor context has not finished updating. The command still validates the image syntax, repository mapping, and supported extension before deleting anything.
- Treat the end of a Markdown image and the end of its URL as outside the image, preventing boundary-position misclassification.
Tests
- Added coverage for automatic recovery during uploads and file lookups, plus rate-limited deletion and API quota reporting.
Release v0.6.1
Improved
- GitPaste commands in the editor context menu and Command Palette now use a clear
GitPaste: ...prefix, making them easier to distinguish from VS Code and other extensions. - Removed redundant command categories so GitPaste commands do not display a duplicated prefix in the Command Palette.
Release v0.6.0
Added
- Added Delete GitPaste Image to the Markdown/MDX editor context menu and Command Palette. When the cursor is on a managed image URL, GitPaste confirms the target, deletes the GitHub file, and removes the local Markdown reference.
- Added a guidance prompt for image pastes in Plain Text or other unsupported language modes. The prompt explains that Markdown or MDX is required and can open the language mode selector directly.
Improved
- The delete command is shown only when the current URL maps to the configured GitHub repository, branch, public URL template, and image directory, with a supported image extension.
- Ordinary text pastes and existing Markdown/MDX upload and replacement workflows remain unchanged.
Release v0.5.0
Improved
- Image paste uploads now use a two-stage editor flow in desktop VS Code and VS Code for the Web. GitPaste immediately inserts a GitHub-style
![Uploading filename...]()placeholder, then replaces it with the final Markdown image link after the upload completes. - Uploads now begin only after the placeholder has been accepted by the editor, so users receive immediate feedback and can continue editing while the image is uploaded.
- Image replacement uses the same placeholder flow, keeping the replacement target stable while the upload runs.
Release v0.4.1
Fixed
- Command-based uploads now keep the insertion target captured when the command starts and track edits before that target instead of following later cursor movement.
- Paste uploads now verify that the editor applied the returned Markdown and offer cleanup when a canceled paste completed its remote upload.
- Image replacement now tolerates unrelated document edits while canceling safely if the target image itself changes.
Release v0.4.0
Fixed
- Replace Image at Cursor now works in VS Code for the Web by accepting the next pasted image as the replacement, while desktop continues to use the file picker.
- Pending Web replacement requests now expire after 60 seconds and are canceled when the target changes.
Release v0.3.0
Added
- Added workspace-scoped repository configuration. Configure GitHub Repository now lets each project use its own repository, branch, and image directory while preserving global settings as the fallback.
- Added GitPaste: Check Configuration to validate repository syntax, write permission, branch access, repository paths, conflict settings, and filename, public URL, commit message, and output templates without creating a test commit.
- Added GitPaste: Replace Image at Cursor for inline Markdown images. It uploads a replacement, updates the Markdown, and can optionally delete the old GitHub file when the old URL maps unambiguously to the configured repository.
- Added
gitpaste.github.conflictStrategywithrename,overwrite, andpromptmodes. The defaultrenamemode preserves existing files by adding a numeric suffix.
Improved
- Multi-image uploads can now retry a failed image, skip it and continue, or stop the batch.
- Stopped and incomplete command-based uploads can clean up files newly created earlier in the same operation.
- Existing remote files are read before overwrite and deletion operations so GitHub receives the current file SHA.
- Configuration errors now fail early with actionable messages instead of surfacing during the first upload.
- Expanded the English and Chinese documentation with workflow guidance, safety boundaries, complete setting descriptions, and template variable references.
Safety and Compatibility
- Cleanup never deletes overwritten files because GitPaste does not retain their previous contents.
- Cleanup verifies that a newly uploaded file still has the same SHA and refuses to delete a file changed by another process.
- Old-image deletion requires explicit confirmation and is only offered for URLs associated with the active GitPaste repository configuration.
- GitHub deletion creates a deletion commit; it does not erase the file from Git history or immediately invalidate every CDN cache.
- Desktop clipboard behavior is unchanged.
gitpaste.uploadOnPasteremains Web-only, and desktop users continue to use the dedicated clipboard shortcut. - Existing global settings remain valid. Workspace settings override global values only while that workspace is open.
Release v0.2.0
- Added the
gitpaste.includeImageNamesetting to control whether generated Markdown image links include the uploaded filename as alt text. It defaults totrueto preserve existing output; set it tofalseto generate.
Release v0.1.0
- Rebuilt the extension as GitPaste with a browser-compatible entry point.
- Added automatic Markdown and MDX image paste uploads.
- Added GitHub Contents API uploads without desktop-only runtime dependencies.
- Added VS Code GitHub authentication and SecretStorage-backed personal access tokens.
- Added workspace file, URI, and HTTP URL upload commands.
- Added configurable filenames, repository paths, public URLs, commit messages, and output formats.
- Added a provider interface for future storage platforms.
- Added unit tests for naming, path safety, public URLs, and output formatting.