Skip to content

deps: bump golang.design/x/clipboard from 0.7.1 to 0.8.0#73

Open
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/go_modules/golang.design/x/clipboard-0.8.0
Open

deps: bump golang.design/x/clipboard from 0.7.1 to 0.8.0#73
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/go_modules/golang.design/x/clipboard-0.8.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 20, 2026

Copy link
Copy Markdown
Contributor

Bumps golang.design/x/clipboard from 0.7.1 to 0.8.0.

Release notes

Sourced from golang.design/x/clipboard's releases.

v0.8.0 — a community milestone 🎉

This is by far the largest release in the project's history — and it exists because of you. Every feature below started as a community issue, a prototype, a design discussion, or a bug report. Thank you to everyone who reported, proposed, prototyped, reviewed, and pushed for these — your input directly shaped this release. 🙏

Heads up — one breaking change: Watch now returns <-chan Data instead of <-chan []byte. Migration is one line: read data.Bytes (and you can now inspect data.Format).

✨ Highlights

  • Cgo-free on every desktop platform. macOS (purego/Obj-C), Linux/X11, and the BSDs now talk to the OS clipboard with no C toolchain at build time and no libX11/libwayland at runtime (Windows was already Cgo-free). Cross-compiling to desktop "just works." (#69, #25, #55)
  • Native Wayland support. A pure-Go data-control backend (ext-data-control-v1 / zwlr_data_control_manager_v1), event-driven Watch, auto-selected over X11 when available, with XWayland fallback. (#6)
  • Custom, MIME-typed formats. Register(mime) Format + ReadAs[T] give raw, passthrough read/write/watch for any MIME type — no conversion, no new mandatory dependency, no platform detail leaking into your code. (#17, subsumes #40)
  • Clipboard enumeration. Formats() []Format reports what's on the clipboard right now (auto-registering MIME types it discovers), and Format.MIME() tells you what a token is. (#89)
  • Variadic, format-tagged Watch. Watch(ctx, ...Format) <-chan Data watches several formats at once and tags each change with its format (no args watches the built-ins). (#89)
  • Flexible image input. Write(FmtImage, …) now accepts JPEG/GIF/WebP/… (when you blank-import the decoder) and normalizes to canonical PNG; Read(FmtImage) always returns PNG. (#155)

🐛 Fixes

  • Windows: transparent images no longer paste too dark — images are stored/read with straight (non-premultiplied) alpha to match CF_DIBV5. Verified end-to-end via a real Windows consumer in CI. (#105)
  • Windows: 24-bit (and other non-32-bit) DIB images now decode instead of returning nil. (#65)
  • Windows: OpenClipboard no longer busy-waits forever — bounded backoff + timeout when another app holds the clipboard. (#144)
  • Watch no longer leaks — tickers are stopped and the send honors context cancellation. (#153)

📦 Dependencies

  • Adds the first-party, pure-Go X11 codec golang.design/x/x11 v0.2.0 (extracted from this repo; reusable elsewhere).
  • iOS/Android continue to use gomobile (Cgo); mobile keeps text-only support.

🙏 Thanks

This release is the work of many hands. With gratitude to:

…and everyone who joined the discussions, tested pre-release behavior, and filed clear, actionable issues. Thank you all. ❤️

Migration

// Before (v0.7.x):
for data := range clipboard.Watch(ctx, clipboard.FmtText) {
    use(data)            // data was []byte
}
// After (v0.8.0):
for data := range clipboard.Watch(ctx, clipboard.FmtText) {
</tr></table>

... (truncated)

Commits
  • a60465b docs: pre-v0.8.0 pass — refresh README, fix stale image/format claims (#159)
  • ac3069b clipboard: stop watch ticker and honor cancel during send (#153) (#158)
  • 67fa4dc clipboard: accept non-PNG image input, normalize to PNG (#155) (#157)
  • f0085eb windows: bound OpenClipboard retries with backoff and timeout (#144) (#156)
  • ebe38cf specs: mark darwin/linux/wayland Implemented with Outcome + deviations (#149)...
  • 43b7bc6 go.mod: tidy stale x/x11 v0.1.0 checksum from go.sum (#150)
  • 52e453a windows: store/read straight (non-premultiplied) alpha for images (#105) (#146)
  • 4cca821 windows: decode 24-bit (and other non-32-bit) DIB images (#65) (#143)
  • 7005910 docs: document Formats()/Format.MIME(); mark enumeration spec Implemented (#8...
  • f7f2c84 darwin: implement Formats() enumeration via NSPasteboard types (#89) (#141)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file go Pull requests that update go code labels Jun 20, 2026
Bumps [golang.design/x/clipboard](https://github.com/golang-design/clipboard) from 0.7.1 to 0.8.0.
- [Release notes](https://github.com/golang-design/clipboard/releases)
- [Commits](golang-design/clipboard@v0.7.1...v0.8.0)

---
updated-dependencies:
- dependency-name: golang.design/x/clipboard
  dependency-version: 0.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/go_modules/golang.design/x/clipboard-0.8.0 branch from 3a286f9 to ee36fbf Compare June 20, 2026 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file go Pull requests that update go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants