Skip to content

v0.6.0

Choose a tag to compare

@Edu4rdSHL Edu4rdSHL released this 26 May 22:31
· 42 commits to main since this release

What's Changed

Added

  • Lazy, full-history search. Search now covers the entire stored history (up to max-history) instead of an arbitrary 500-result cap, and renders a page at a time as you scroll instead of building every match at once. Results are snapshotted once and paged from memory, so scrolling never re-queries.

Fixed

  • Non-PNG/JPEG images were silently dropped. GIF, WebP, BMP, TIFF and ICO are now decoded and stored (the daemon previously only had PNG/JPEG decoders). AVIF and SVG are no longer accepted, rather than accepted-then-dropped.
  • Search no longer blinks (paints an empty list) between keystrokes — the first page renders in the same frame as the clear.
  • Search render races fixed: a fast new query can no longer be blocked by a superseded render, render a previous query's stale results, or leave a pruned item behind as a phantom row on scroll.
  • ItemAdded preview length now matches the history/search queries (200 chars), so a just-copied row and the same row after a reload show identical text.
  • Deterministic ordering for items sharing a millisecond timestamp (created_at DESC, rowid DESC), so pruning can't evict the wrong one.
  • Lowering max history now prunes stored items immediately instead of waiting for the next copy.
  • Extension lifecycle leaks closed: the excluded-apps settings handler and the daemon force-kill timer are released on disable; the exclusion-path delete is null-guarded.
  • The daemon requests its bus name with AllowReplacement for a clean hand-off on reload; the Wayland monitor clears stale offers on clipboard clear.

Changed

  • Image rows show a generic "Image" label instead of singling out PNG.

See CHANGELOG.md for full details.