Skip to content

chore(deps): bump golang.design/x/clipboard from 0.7.1 to 0.8.0#38

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

chore(deps): bump golang.design/x/clipboard from 0.7.1 to 0.8.0#38
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/go_modules/golang.design/x/clipboard-0.8.0

Conversation

@dependabot

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

Copy link
Copy Markdown

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 compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

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 @github

dependabot Bot commented on behalf of github Jun 9, 2026

Copy link
Copy Markdown
Author

Labels

The following labels could not be found: dependencies, go. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants