Releases: talentdedcat/Veloop
Release list
Veloop 0.3.0
What changed
- Added localized software update checks with bilingual release notes and a manual status in Veloop settings.
- Kept every update action user-controlled: skip the version, be reminded after 24 hours, or open the official GitHub Release page.
- Hardened update metadata validation, response-size limits, failure diagnostics, and recovery after system clock changes.
Verification
- Passed all 266 Swift tests.
- Passed 40 update-related tests with Thread Sanitizer enabled.
- Verified the universal DMG, ad-hoc signatures, arm64 and x86_64 binaries, local installation, and idle resource usage.
Installation notes
Veloop is ad-hoc signed and not notarized. Only remove quarantine from a copy downloaded from this repository:
xattr -dr com.apple.quarantine /Applications/Veloop.app
open /Applications/Veloop.appBecause the code hash changes between ad-hoc signed releases, macOS may require Accessibility to be enabled again after updating.
Download integrity
- Asset:
Veloop-0.3.0-universal.dmg - SHA-256:
7a0615660bbcbab629b6e8257af3ba36dbac919185bc804473f452e2fe8f04d0 - Asset:
update.json - SHA-256:
91f340fe863bba85e5008a6d085199c3b446a11e5f0c40e6316de25c61a4aa36
Veloop 0.2.3
What changed
- Fixed caret placement after switching between text fields when an application retained an older input-method context.
- Kept caret and permission preparation off the global keyboard callback so a failed lookup falls back to normal paste without freezing or swallowing Command-V.
- Prevented cancelled caret lookups from publishing stale positions into the next paste cycle.
- Improved Palette upgrades by finding the installed helper by its exact executable path and waiting for the old process to exit before replacement.
Verification
swift test: 230 tests passed with 0 failures.- The release DMG passed its read-only packaging contract, ad-hoc signature verification, and arm64/x86_64 architecture checks.
- The Palette Objective-C source passed ARC and module syntax checking.
Installation notes
Veloop is ad-hoc signed and not notarized. After replacing the application, remove quarantine before launch:
xattr -dr com.apple.quarantine /Applications/Veloop.app
open /Applications/Veloop.appBecause the updated binary has a new ad-hoc identity, macOS may require Accessibility to be enabled again.
Download integrity
- Asset:
Veloop-0.2.3-universal.dmg - SHA-256:
bbee2d3b51c0a1561386f276ec0edb1d3dd93a3e33d2629b247470b33bed3ecf
Veloop 0.2.2
What changed
- Improved caret placement for empty text controls when direct text geometry is unavailable.
- Added a bounded Accessibility fallback that targets the current frontmost process, validates collapsed selections against the focused control, and avoids estimating geometry for non-text or non-empty controls.
- Preserved Palette geometry as the first choice while making fallback failures fast and non-blocking.
- Updated the public version, Homebrew Cask, bilingual download links, and release contracts for 0.2.2.
Verification
swift test: 218 tests passed, 0 failures.- The release build completed for both
arm64andx86_64. - Strict code-signature verification, read-only DMG contract verification, and
hdiutil verifypassed. - The Homebrew Cask checksum matches the published DMG.
Installation notes
Veloop 0.2.2 remains ad-hoc signed and is not notarized. Because the binary hash changes between releases, macOS may require Accessibility to be enabled once for the updated app.
Download integrity
- Asset:
Veloop-0.2.2-universal.dmg - SHA-256:
403ba0b535f36588d68af175b8c00bdefad1be2ef55e202eed9202e3413742bb
Veloop 0.2.1
What changed
- Fixed caret placement in empty text fields by querying the zero-length Palette range and adding an Accessibility Text Marker fallback before legacy selection bounds.
- Made Accessibility the single permission gate and refreshed permission state at 100 ms while System Settings is active.
- Added bounded Agent recovery for permission changes so normal Command-V input remains fail-open instead of stalling.
- Added permission recovery, empty-caret, and release packaging regression coverage.
Verification
swift test: 209 tests passed, 0 failures.- Universal release binaries verified for
arm64andx86_64. - Strict code-signature verification and read-only DMG verification passed.
- An empty web text field resolved to a valid 1 x 19 caret rectangle through the Palette path; Accessibility fallback behavior is covered by unit and source-contract tests.
Installation notes
Veloop 0.2.1 remains ad-hoc signed and is not notarized. Because the binary hash changes between releases, macOS may require Accessibility to be enabled once for the updated app.
Download integrity
- Asset:
Veloop-0.2.1-universal.dmg - SHA-256:
2d8d7ee76eda3331f5cae98d6234e73324a846e5bd08ebf20bd323d5940b9620
Veloop 0.2.0
What changed
- Unified the control app and background runtime under the single
Velooppermission identity, with Accessibility as the only permission users configure. - Refreshed permission state when Veloop becomes active, kept Open Settings available in every state, and stopped triggering proactive macOS permission prompts.
- Improved caret placement by preferring the bundled Palette and falling back to the focused Accessibility element when needed.
- Added two direct-to-Trash uninstall policies: preserve history and settings, or remove everything. Homebrew uninstall performs a complete purge.
- Kept clipboard capture, history, previews, and restoration local to the Mac.
Verification
swift test: 198 tests passed with 0 failures.- The release build completed for
arm64andx86_64. - The DMG verifier confirmed version
0.2.0(build5), the singleVeloop.appidentity, required resources, both architecture slices, and valid ad-hoc code signatures. hdiutil verifyconfirmed the disk image checksum. The x86_64 slices were verified but were not run on Intel hardware during this publication.
Installation notes
Veloop 0.2.0 is ad-hoc signed and not notarized. After copying Veloop.app to Applications and before the first launch, run:
xattr -dr com.apple.quarantine /Applications/Veloop.app
open /Applications/Veloop.appAn ad-hoc binary update changes its code hash. If macOS does not retain the previous grant, enable Veloop again in System Settings > Privacy & Security > Accessibility.
Download integrity
- Asset:
Veloop-0.2.0-universal.dmg - Size:
3,291,091 bytes - SHA-256:
6676a7efd675c9cf51654c838bd09fa546ef2a0693a2f5992e74e98a65fc835b
Veloop 0.1.2
What changed
- Moved permission status ownership fully into the background Agent. Each IPC state request now reads Input Monitoring, event-posting, and Accessibility access live through the public macOS preflight APIs.
- Registered and started the current embedded Agent before the control app requests permission state, with finite nonblocking IPC retries while the Agent becomes ready.
- Restarted the launchd-managed Agent after returning from System Settings, then waited for IPC recovery before refreshing permission state.
- Separated permission preflight from permission requests. Normal launch and activation never prompt; request APIs run only after an explicit click for a permission group that is currently missing.
- Added distinct Checking, Allowed, Required, and Agent Unavailable states. Agent startup or IPC failure is no longer displayed as missing authorization, and stale permission snapshots are cleared after terminal failures.
- Required both event-posting access and Accessibility trust for the Accessibility row, preventing partially authorized states from being reported as allowed.
- Moved Agent registration, restart, preference updates, IPC calls, and retry delays off the main thread. Added cancellation and overlapping-operation protection so older results cannot overwrite newer state.
- Kept the Agent identity stable at
com.veloop.service, with the embedded pathVeloop.app/Contents/Library/LoginItems/Veloop.appand the display/executable nameVeloop. - Fixed the public source tree so the required configuration sources and bundle metadata are included, while local release tooling remains excluded from GitHub.
- Improved Homebrew uninstall cleanup so the runtime-installed input method and LaunchAgent plist are removed during a normal uninstall.
Verification
- Added automated coverage for launch ordering, Agent-owned permission state, return-from-settings restart, allowed-state rendering, no unsolicited prompts, bounded retry, explicit unavailable errors, cancellation, and Agent registration behavior.
- Passed 147 automated tests.
- Verified App and Agent sources with complete Swift concurrency checking and warnings as errors.
- Verified the DMG, nested ad-hoc runtime signatures, stable bundle identifiers, and universal
arm64+x86_64architectures for the App, Agent, Palette, and CLI.
Installation note
Veloop 0.1.2 remains ad-hoc signed and is not notarized. After installation, run:
xattr -dr com.apple.quarantine /Applications/Veloop.appBecause the ad-hoc code identity changes when the executable changes, upgrading may require enabling Veloop again under Input Monitoring and Accessibility.
Download integrity
- Asset:
Veloop-0.1.2-universal.dmg - SHA-256:
6ad90b9d6e7055d9d09f0553b2261450b8a7150f4e908564707121cca532eb72
Veloop 0.1.1
Fixes Palette replacement during reinstall and upgrade so already-open text clients can reconnect without restarting. The installer now disables the input source before stopping the Helper, allows a short bounded disconnect grace period, and uses bounded termination with SIGTERM fallback.
Verified with Microsoft Edge, Terminal, and ChatGPT left open across the upgrade. Veloop remains ad-hoc signed and is not notarized; macOS may require permissions to be granted again when the Agent code identity changes.
Veloop 0.1.0
Veloop 0.1.0 is the initial public release of the native macOS clipboard history app.
Highlights
- Opens local clipboard history beside the active text caret.
- Preserves rich pasteboard representations, files, images, and custom data when available.
- Keeps clipboard history and application data on the Mac.
- Includes Universal arm64 and x86_64 binaries for the App, Agent, Palette, and CLI.
Install
Download Veloop-0.1.0-universal.dmg, open it, and drag Veloop.app to Applications.
This release is ad-hoc signed and not notarized. On first launch, macOS may require approval through System Settings > Privacy & Security > Open Anyway.
SHA-256: 056c226734157d03f19bbac929aed92f908cbbf1b49b48b1ade88427a5f635db