Releases: RetroHazard/SwiftX
Release list
SwiftX 2026.7.1
SwiftX v2026.7.1 Release Notes
OAuth Provider Verification Update
Google Drive, YouTube and OneDrive work normally, but both app registrations are still going through provider review. During sign-in, you may see an unverified app warning.
Provider Status:
- Google (Drive, YouTube): Submitted for verification; review pending
- Microsoft (OneDrive): Not yet submitted; requires Microsoft Partner Center account for publisher verification
The warning is about SwiftX's registration status with the provider, not about what the app does with your data. Users encountering Google's verification screen should select Advanced → Go to SwiftX (unsafe) to proceed.
Uploads go straight from your Mac to your own account and the access tokens stay in your login Keychain — there is no SwiftX server anywhere in the path.
All other destinations remain unaffected, including S3, Backblaze B2, Azure, ownCloud/Nextcloud, Seafile, custom uploaders, and keyless hosts.
What's Changed
Windows ShareX Backup Import & Per-Type Upload Destinations (#21)
SwiftX now brings powerful features from ShareX to macOS:
ShareX Migration
- Import your entire Windows ShareX configuration from
.sxbbackup files - Seamlessly migrate settings, hotkeys, and custom uploaders to your Mac
- The system gracefully handles Windows-specific elements that don't translate to macOS, such as Windows paths and certain hotkey combinations
Per-Type Upload Routing
- Designate separate destinations for screenshots, text uploads, and files
- Route images to one service (e.g., Imgur), files to another (e.g., Backblaze B2), and text to a third (e.g., Pastebin)
- This advanced routing mirrors Windows ShareX's per-uploader configuration
Settings Reorganization
- The General settings pane has been split into separate "Menu Bar" and "Notifications" sections for better organization
- Status bar menu items can now be hidden individually through configurable settings
System Integration
- A new "Upload with SwiftX" option now appears in macOS Services menus (right-click context menus)
- Upload files, text, and links directly from Finder, Mail, or any app that supports Services
Release Infrastructure
- Implemented Calendar Versioning (YYYY.M.N format) for consistent version numbering
- Automated release workflows triggered by PR labels, streamlining the release process
OAuth Connection Fixes & Destination Filtering (#22)
Silent OAuth Failures Fixed
- Fixed critical issue where clicking "Connect" for Google Drive, YouTube, or OneDrive would fail silently with no error feedback
- Corrected loopback listener binding that could hang indefinitely during authentication flow
- Added visible error alerts so connection issues are immediately visible
- Made browser launch behavior observable, ensuring UI updates properly when authentication completes
Destination Type Filtering
- New "DestinationCatalog" system ensures upload destinations are matched to content types
- Image-only hosts (Chevereto, vgy.me) only appear for image uploads
- Video hosts (YouTube, Streamable) only appear for file/video uploads
- General storage destinations accept all three upload types
- Invalid configurations now display as "not valid for kind uploads" rather than silently breaking
This intelligent filtering prevents configuration errors and aligns with ShareX's uploader-type model.
macOS Share Extension Integration (#23)
SwiftX now integrates with macOS's native Share menu for seamless system integration:
Share Menu Integration
- SwiftX appears in the system Share menu alongside built-in sharing options
- Complements the existing right-click Services menu for multiple access points
Supported Content Types
- Share files directly from Finder
- Share images from Photos or any image viewer
- Share movies and video clips
- Share text snippets and notes
- Share URLs and web links
Security Architecture
- The Share extension runs in App Sandbox (required by macOS) while the main application remains unsandboxed for maximum file access
- Authentication occurs through UUID-only caller verification, preventing path forgery
- Requests expire after five minutes and can only be read once
- All operations are validated to prevent directory traversal
Implementation Details
- New
SwiftXShare.appexbundle embedded in the application - Custom build integration with
make-app.shscript handles proper XPC package configuration - Code signing is applied correctly before the app is sealed
- Reuses existing clipboard upload pipelines for consistent behavior
Contributors
Downloads
See assets below for downloadable files.
SwiftX 0.1.0
SwiftX v0.1.0 Release Notes
Welcome to SwiftX — a native macOS screenshot, screen recording, and file sharing application built from the ground up in Swift and SwiftUI.
The Swift Port
SwiftX represents a complete native rewrite of screenshot and sharing functionality for macOS. Rather than porting the Windows C# codebase directly, we've built a ground-up macOS application that leverages native frameworks—ScreenCaptureKit for capture, SwiftUI for modern interface design, and AppKit for system integration. This approach delivers a genuinely native experience while maintaining compatibility with Windows ShareX for configuration imports.
Core Capture & Recording
Screenshot & Region Capture
- Region selection with interactive guides and dimension readouts
- Display capture for full-screen screenshots
- Window capture with option to include/exclude drop shadows
- Cursor visibility toggle for all capture types
- Screenshot delay (0–5 seconds configurable) to allow positioning before capture
- Configurable cursor rendering on screenshots
Screen Recording
- Native MP4/GIF recording using ScreenCaptureKit
- Cursor tracking during recordings with visibility toggle
- Recording HUD with floating controls—elapsed time, pause/resume, stop, and abort buttons
- Start delay with cancellable countdown timer
- Fixed duration auto-stop mode
- Codec options including two-pass VP9/VP8 transcoding for optimized compression
File & Output Handling
- File collision detection (Ask/Overwrite/UniqueName/Cancel) when files already exist
- Image encoding options—PNG bit depth selection, GIF quality/grayscale, auto-JPEG quality
- Effects editor post-capture option to open the annotation canvas immediately
- Automatic file naming with timezone support
Annotation & Effects
Drawing Tools
- Canvas annotation with shapes, text, drawing, and speech balloons
- Text editor with font-family picker for flexible typography
- Arrow styling with Classic/Modern arrowhead options
- Undo/redo support for non-destructive editing
- Middle-click panning for navigating large canvases
Advanced Effects
- Image background remover using Apple's Vision framework (
VNGenerateForegroundInstanceMaskRequest) - Image comparer with side-by-side and slider-overlay modes for detailed analysis
- Filter library for color grading and effects application
Destinations & Upload Management
Supported Upload Services
- Amazon S3 with full bucket configuration
- Azure Blob Storage for cloud file hosting
- Google Drive (OAuth, pending provider verification)
- YouTube (OAuth, pending provider verification)
- OneDrive (OAuth, pending provider verification)
- Custom uploaders with full
.sxcuformat compatibility - URL shorteners (bit.ly, TinyURL)
- File hosts for direct sharing
- Windows ShareX custom uploader imports for migration from Windows
Upload Features
- Per-type destination routing—separate services for screenshots, text, and files
- Concurrent upload management with FIFO queueing to prevent overload
- Configurable retry logic with per-host settings
- Master disable switch for pausing uploads
- Batch warnings for uploads exceeding 10 files or individual files over 100 MB
- Export custom uploaders to
.sxcufiles for sharing and backup
URL & Clipboard Processing
- Regex replacements on result URLs
- HTTPS normalization for secure links
- URL shortening with multiple service support
- Early URL copying to place raw URLs on clipboard immediately
- Custom URL templates for clipboard, browser, and notification formatting
- Clipboard priority handling—URL downloads first, shortening second, general sharing third
- HTML index generation for shared folders
History & Management
Built-in History Database
- SQLite history compatible with Windows ShareX format
- Image thumbnails and metadata tracking
- Recursive folder imports to ingest existing screenshots and media
- Search and filtering across history entries
- Database schema validation against Windows ShareX v21.0.0
Settings & Configuration
- Native settings export/restore via encrypted
.ziparchives - Backup creation for settings, hotkeys, effects presets, and custom uploaders
- Deliberate secret exclusion—Keychain passwords never included in backups
- Seamless Windows ShareX JSON imports maintaining configuration compatibility
Security & Privacy
Trust Boundaries & Input Validation
- Explicit source verification—distinguishing trusted sources (launch argv) from untrusted (URL scheme, relay)
- Untrusted caller restrictions—no file path uploads, URL downloads, preset imports, or clipboard operations without explicit user confirmation
- Confirmation dialogs displaying resolved targets for all untrusted actions
Credential Security
- Keychain-backed credential storage for all secrets
- Loss-safe migration—gracefully degrades if Keychain is locked rather than destroying data
- S3 keys, host passwords, API tokens, and AI keys all stored securely in macOS Keychain
- Local file isolation—access tokens never leave your system
- No telemetry, no analytics, no phone-home
File & Download Safety
- Download size limits (256 MB maximum) preventing abuse
- Filename sanitization stripping shell metacharacters (backtick,
$,;,&) - Shell argument quoting preventing command injection in external programs
- No App Sandbox by deliberate choice, enabling direct file access while maintaining security through trust boundaries
Transparency
See SECURITY-MODEL.md in the repository for detailed documentation of trust boundaries, credential handling, and the security architecture.
System Integration
Hotkey Support
- System-wide hotkeys for instant capture (⌃⇧3 full screen, ⌃⇧4 region, ⌃⇧5 window)
- Customizable key bindings for all capture and upload functions
- Per-hotkey task settings for workflow automation
- Tray menu integration with quick access to capture modes
macOS Services
- Right-click context menu integration via NSServices
- "Upload with SwiftX" option for files and text from Finder and system-wide apps
Notifications & Feedback
- Capture completion notifications with custom sound
- Error alerts with action buttons for immediate response
- Copy URL button in notifications for sharing results
- Open file button to reveal uploaded content
- Tray menu submenus for upload queue and recent history
Advanced Settings
Destination Management
- Sidebar-based configuration for organized settings
- Permissions UI for managing system access
- Per-destination configuration with validation
- Status indicator for upload service connectivity
Preferences Organization
- Menu Bar settings for tray appearance and behavior
- Notifications settings for alert and sound configuration
- Per-type upload routing from unified settings pane
Project Status & Documentation
Website & Marketing
- Product-focused landing site at
swiftx.retrohazard.jp - Interactive feature showcase with visual demonstrations
- 12-phase development roadmap for future directions
- FAQ section addressing common questions
- Privacy Policy and Terms of Service for OAuth provider compliance
Developer Resources
- Comprehensive documentation for building and contributing
- Build requirements (macOS 14+, Swift 5.10+)
- OAuth configuration guide for development
- Contribution guidelines with dual copyright header system
- Security modeling documentation for security-conscious contributors
Roadmap
SwiftX is built on a phased development approach. This v0.1.0 release delivers Phases 1, 7, 13, 14, and 15 of the planned feature set. See the repository for the complete roadmap and development history.
Distribution
Availability
- Direct download via GitHub Releases
- Homebrew installation — tap this repository as a Homebrew cask source
- Code-signed with Developer ID Application certificate
- Notarized for Gatekeeper approval
- Universal binary supporting both Apple Silicon and Intel Macs
Installation Methods
- Download DMG from Releases and drag to Applications
- Install via Homebrew:
brew install retrohazard/swiftx/swiftx
Known Limitations & Future Work
- OAuth app registrations for Google Drive, YouTube, and OneDrive are pending provider verification—this is a registration status issue, not an application limitation
- App Sandbox is deliberately not used to maintain file access; security is provided through trust boundary enforcement
- Dropped uploaders—Imgur (no longer issues app IDs), Box (paid API access), and Dropbox (deliberate choice) are not supported
Contributors
@RetroHazard — Lead developer and primary contributor to the SwiftX native macOS port
Special thanks to the ShareX Team for the original Windows implementation, whose design principles and feature set informed this macOS rewrite.
System Requirements
- macOS 14+ (Sonoma or later)
- Apple Silicon or Intel Mac (universal binary)
- System Recording permission for screen capture
- Accessibility permission for hotkeys and automation
Credits & Attribution
This project builds on the design and concepts of Windows ShareX while delivering a native Swift implementation for macOS. The History database, custom uploader format, and configuration structure maintain compatibility with Windows ShareX v21.0.0 to ena...