Skip to content

Update Rust crate dark-light to v3 - #382

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/dark-light-3.x
Open

Update Rust crate dark-light to v3#382
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/dark-light-3.x

Conversation

@renovate

@renovate renovate Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
dark-light dependencies major 2.0.03.0.0

Release Notes

rust-dark-light/rust-dark-light (dark-light)

v3.0.0

Compare Source

We're thrilled to announce the release of version 3.0.0! 🚀

After listening to your feedback, this update brings exciting changes to the API.

Consumers can now react to system theme changes instead of only polling detect(). Two new entry points are available:

  • dark_light::subscribe() -> Result<Watcher, Error> — a blocking watcher for any thread or event-loop poll, no async runtime required.
  • dark_light::stream() -> Result<impl Stream<Item = Mode>, Error> — an async adapter over the same watcher. Enabled by default via the async-io feature, or tokio.

This works across all supported platforms: the XDG portal's SettingChanged D-Bus signal on Linux/BSD, RegNotifyChangeKeyValue on Windows, and the native MediaQueryList change event on WASM.

On macOS, changes are currently detected via a 1-second polling thread rather than a native notification. Observing NSDistributedNotificationCenter requires a hand-rolled Objective-C delegate that isn't yet safely exposed by the objc2 bindings we use, so we're shipping this version now and may revisit it later.

We had originally removed this feature entirely over the macOS limitation, but Linux, Windows, and WASM all had working implementations, and macOS was the only blocker. Dropping the feature for everyone over one platform's rough edges didn't sit right, so we're reintroducing it here.

What's Changed

New Contributors

Full Changelog: rust-dark-light/dark-light@2.0.0...3.0.0


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

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