All notable changes to ClipHive will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.3.2 - 2026-04-15
- Per-item delete button — Each clipboard entry now has a × button to remove it instantly
- Pin toggle — Click the pin icon on any item to keep it at the top; click again to unpin
- Hotkey toggle — Pressing Ctrl+Shift+V while the sidebar is open now closes it
- Keyboard focus on open — Typing works immediately after opening with Ctrl+Shift+V; no need to click the window first
- Image duplicates — Copying the same image no longer creates duplicate entries on each reopen
- Window rounded corners — Eliminated grey anti-aliasing on the window's rounded corners
- Item separation — Clipboard items now appear as distinct cards with visible spacing
- Arrow key navigation — Up/Down keys now work reliably after clicking an item
- Installer .NET detection — Checks six locations before prompting; offers "Continue anyway" instead of blocking
- Uninstaller cleanup — Uninstalling now removes all files including any added after installation
- Dark tooltip — Hover tooltips now match the dark theme instead of showing a white popup
- Button hover highlight — Pin and delete buttons no longer show a white hover background over the dark sidebar
1.3.0 - 2026-04-15
- Smart Contextual Actions — Sidebar items now detect their content type and surface instant actions: URLs show an "Open ↗" button that launches the browser; file paths show "Show in Explorer"; hex color codes (#RRGGBB) render a live color swatch powered by XAML data binding at the GPU level.
- Paste as Plain Text (Ctrl+Alt+V) — New global hotkey strips all RTF/HTML rich formatting from the current clipboard and pastes raw text into the target application. Configurable via Settings.
- Offline Image OCR — When an image or screenshot is copied, ClipHive silently runs
Windows' built-in OCR engine (
Windows.Media.Ocr) in the background and indexes the extracted text in SQLite. Images are now fully searchable by their text content. - Syntax Highlighting (AvalonEdit) — Clipboard items detected as code show a "⌄ view" button. Clicking it opens an inline AvalonEdit panel with instant syntax coloring (C#, Python, JavaScript, SQL auto-detected). Zero overhead for non-code items.
- Windows 11 Desktop Acrylic backdrop — On Windows 11 (Build 22000+), the sidebar
overlay now renders with native Desktop Acrylic glass via
DwmSetWindowAttribute. Falls back to the existing dark translucent background on Windows 10.
- Target framework updated from
net8.0-windowstonet8.0-windows10.0.17763.0to enable WinRT APIs (Windows.Media.Ocr,BitmapDecoder). Minimum OS remains Windows 10 1903+.
- Sidebar close now calls
GC.Collect()(×2) after releasing the DataContext, immediately returning XAML bitmap and item memory to the OS when the overlay is dismissed.
1.2.0 - 2026-04-14
- Data loss on restart (critical) — Encryption key was re-derived non-deterministically
on every launch using
ProtectedData.Protect(), which returns a different blob each call. Key is now generated once, DPAPI-protected (CurrentUserscope), and persisted to%LOCALAPPDATA%\ClipHive\key.dat. All history now survives shutdown and restart. - App crash on item click —
PasteAsync/PasteImageAsynccalledClipboard.SetTexton a non-STA threadpool thread (afterConfigureAwait(false)), causing an unhandledInvalidOperationException. Clipboard operations are now marshalled viaDispatcher.InvokeAsyncto the UI thread before paste simulation runs. - Double-close crash —
Window_Deactivatedfired while the window was already in the process of closing, triggering a secondClose()call. Fixed with a_closingguard flag. - Click-outside does not close sidebar — WPF's
Deactivatedevent is unreliable forWindowStyle=None/AllowsTransparency=Truewindows when clicking the desktop, taskbar, or other apps. Replaced with a Win32WM_NCACTIVATE/WM_ACTIVATEAPPhook viaHwndSource. A_isReadyguard prevents the window from closing during its own initial activation.
- "crafted by gmv ♥" credit — Subtle italic label at the bottom-right of the sidebar, visible each time the history panel is opened.
- Hide from tray setting — New toggle in Settings to hide the system tray icon. When hidden, the app is still accessible via the configured hotkey.
- Custom branding icon — ClipHive logo (purple/teal ribbon) replaces the generic
Windows application icon in all four locations:
- System tray
NotifyIcon - EXE file icon (visible in Explorer, Alt+Tab, taskbar)
- Inno Setup installer wizard
- Desktop shortcut (if created during install) Icon generated as a multi-size ICO (16 / 32 / 48 / 64 / 128 / 256 px) with background stripped via flood-fill, embedded as an assembly resource for single-file publish.
- System tray
- Sidebar UX — single click to paste — Selecting a history item now requires one click instead of a double-click. Clicking copies the item to the clipboard, simulates Ctrl+V into the previously focused window, and dismisses the sidebar.
- Footer buttons removed — "Clear All", "Settings", and "✕" buttons removed from the sidebar. The panel is now search box + history list only (Maccy-style). Settings remain accessible via the tray icon right-click menu.
- DPAPI scope changed — Encryption key protection changed from
LocalMachinetoCurrentUserscope.LocalMachinerequired elevated permissions on some configurations;CurrentUseris reliable across all standard Windows accounts. - Release workflow — Inno Setup version pin removed (
--version 6.4.3caused failures when a newer version was already installed on the runner). Now installs latest available. - AV-friendly publish flags —
EnableCompressionInSingleFile=falseprevents the self-extraction-to-TEMP pattern that triggers Windows Defender heuristics.PublishReadyToRun=truepre-compiles to native code for faster startup. - All repo URLs updated to
levitasOrg/cliphive. - Assembly metadata added:
Version,FileVersion,Copyright,Description,Companyfields now appear in the EXE's Properties dialog.
- README rewritten with full build guide, publish flag explanations, and 10 common failure scenarios with exact fixes (dotnet not found, NuGet failures, file locked, AV false positives, Inno Setup not found, runtime crashes).
1.0.0 - 2026-04-13
- Clipboard history sidebar with keyboard-driven navigation (↑/↓, Enter, Escape, Delete)
- Real-time search filtering with case-insensitive matching
- AES-256-GCM encryption for all stored clipboard data
- DPAPI key derivation (data stays on this machine only)
- SQLite backend with WAL mode for reliable concurrent access
- Auto-clear policies: 2 hours, 3 days, 15 days, 1 month, or never
- Pin items to keep them at the top of history indefinitely
- System tray icon with context menu (Open, Settings, Exit)
- Configurable global hotkey (default: Ctrl+Shift+V)
- Optional start-with-Windows via registry
- Settings window for hotkey, auto-clear, and startup preferences
- Slide-in sidebar animation (120 ms ease-out from right)
- Single-file self-contained build (no .NET pre-installed required)
- Inno Setup installer with repair/uninstall detection
- Zero network calls — no telemetry, no cloud sync