220 Commits

Author SHA1 Message Date
Dario Nieuwenhuis
9f12852c38 Read crate configs from metadata. 2025-08-25 19:44:50 +02:00
Ulf Lilleengen
6a347f1f09 feat: add semver checks and releasing to releaser
* List dependencies of a crate
* List dependents of a crate
* Perform semver-checks of a crate
* Prepare a release for a crate and all dependents
* Use a single release.toml for cargo-release
* Add changelogs where missing
2025-08-25 19:44:49 +02:00
Curly
368738bef4
chore: add more Debug impls to embassy-sync, particularly on OnceLock
All tests green
2025-08-19 22:36:49 -07:00
Ulf Lilleengen
c7b9060a74 fix: prepare embassy-sync 0.7.1 release
* Add newtype for moved type to preserve API compat
2025-08-12 21:05:32 +02:00
Ulf Lilleengen
3220878e13
Merge pull request #4485 from AnthonyGrondin/feat/lazy-lock-mut
feat(embassy-sync): Add `get_mut` for `LazyLock`
2025-08-08 08:03:03 +00:00
Brezak
89d5282756
embassy-sync: Update MultiWakerRegistration::register docs
In 3081ecf301a54f8ed3d0f72350dd21f8ac9e1b18 `register` was changed to clear the buffer when it's full, but the docs weren't updated.
2025-08-01 18:45:01 +02:00
Anthony Grondin
03b60dd561
feat(embassy-sync): Add get_mut for LazyLock 2025-07-30 16:15:58 -04:00
James Munns
ba5aea8e60
Merge pull request #4385 from us-irs/some-minor-doc-fixes
some minor documentation fixes
2025-07-09 12:54:27 +00:00
Robin Mueller
fa0f6bc670
Update embassy-sync/src/pubsub/publisher.rs
Co-authored-by: James Munns <james@onevariable.com>
2025-07-09 14:31:42 +02:00
Robin Mueller
554fbef571
Update embassy-sync/src/priority_channel.rs
Co-authored-by: James Munns <james@onevariable.com>
2025-07-09 14:31:04 +02:00
Robin Mueller
9892963da9
Update embassy-sync/src/priority_channel.rs
Co-authored-by: James Munns <james@onevariable.com>
2025-07-09 14:28:18 +02:00
Robin Mueller
da392ed942
Update embassy-sync/src/mutex.rs
Co-authored-by: James Munns <james@onevariable.com>
2025-07-09 14:26:20 +02:00
Robin Mueller
42c8379c5a some minor documentation fixes 2025-07-09 14:21:19 +02:00
Robin Mueller
e4aa539708 add embassy sync channel example for message passing between interrupt and task 2025-07-09 14:10:24 +02:00
Dario Nieuwenhuis
72248a601a Update Rust nightly, stable. 2025-07-04 00:23:22 +02:00
Melvin Wang
e19c3a0204 disable ui tests in miri 2025-06-18 16:20:50 -07:00
Melvin Wang
3a43292097 commit expected errors 2025-06-18 16:16:12 -07:00
Melvin Wang
051c63fea2 fix missing sync bounds 2025-06-18 15:38:57 -07:00
Melvin Wang
905aed45f9 add tests illustrating the problem 2025-06-18 15:37:05 -07:00
Dániel Buga
a0d17ea5ca
Remove futures-util where unnecessary 2025-06-16 13:57:19 +02:00
Corey Schuhen
5730b57094 Rename SendableDynamicReceiver to SendDynamicReceiver 2025-05-29 08:30:21 +10:00
Ulf Lilleengen
dfd2d31819 docs: update changelog for embassy-sync 2025-05-28 13:05:38 +02:00
Ulf Lilleengen
62cf9d592b
Merge pull request #4262 from cschuhen/send_on_dynamic_channel
Enable Sync and Send for DynamicSender and DynamicReceiver.
2025-05-28 10:43:33 +00:00
Corey Schuhen
277f6f7331 Make Sync capable versions of DynamicSender and DynamicReceiver.
DynamicSender and DynamicReceiver, just seem to be a fat pointer to a
Channel which is already protected by it's own Mutex already. In fact,
you can share the Channel already betwen threads and create Dynamic*er's
in the target threads. It should be safe to share the Dynamic*er's
directly. Can only be used when Mutex M of channel supoorts Sync.
2025-05-28 20:29:08 +10:00
Ulf Lilleengen
042abc805a feat: add support for channel peek
Add support for peeking into the front of the channel if the value
implements Clone. This can be useful in single-receiver situations where
you don't want to remove the item from the queue until you've
successfully processed it.
2025-05-28 11:34:57 +02:00
Matt Johnston
5e49985ed6 embassy-sync: bump to 0.7.0 2025-05-22 13:29:55 +08:00
Matt Johnston
2f8a8e817c embassy-sync: Update changelog 2025-05-22 13:29:55 +08:00
Yuri Astrakhan
ef0f29f0ed Update defmt dependencies 2025-05-18 20:52:09 +02:00
JuliDi
723ebfcb4f
clarify docs for signal and watch 2025-05-04 16:31:26 +02:00
ckrenslehner
c2173591aa docs: extend the waker documentation 2025-04-26 20:11:25 +02:00
Dario Nieuwenhuis
e0f85249f9
Merge pull request #3932 from AlixANNERAUD/add-rwlock
Add RwLock to embassy-sync
2025-04-14 00:50:49 +02:00
Alix ANNERAUD
181a324b4d Refactor RwLock implementation by removing unused map methods and cleaning up code for improved readability 2025-04-12 12:26:48 +02:00
Dániel Buga
c04b433991
embassy-sync, executor/wasm: don't select critical-section impl for std 2025-04-06 22:43:32 +02:00
Cyril Marpaud
f396579dff
docs: fix a typo 2025-03-31 13:07:03 +02:00
Alexander van Saase
7a031eed66 Add note about RefCell alternative 2025-03-21 23:22:21 +01:00
Alexander van Saase
f3b9be7bee embassy-sync: add lock_mut to blocking_mutex::Mutex 2025-03-19 20:24:52 +01:00
Alix ANNERAUD
bce15cc813 Enhance RwLock documentation and add map methods for read and write guards to improve data access flexibility 2025-03-17 20:03:36 +01:00
Alix ANNERAUD
41276de34f Refactor RwLock implementation to support try_read and try_write methods, enhancing lock acquisition flexibility 2025-03-17 19:56:17 +01:00
Alix ANNERAUD
e557ca9606 Remove blocking read-write lock module and its references and refactor rwlock for a simpler approach 2025-03-16 21:45:25 +01:00
Alix ANNERAUD
82c0ab01f1 Remove unnecessary comment in CriticalSectionRawRwLock implementation 2025-02-28 23:32:58 +01:00
Alix ANNERAUD
10fd6d1321 Refactor imports in raw read-write lock module for clarity 2025-02-28 23:30:01 +01:00
Alix ANNERAUD
f2afcecfa8 Remove obsolete raw_rwlock.rs file 2025-02-28 23:29:57 +01:00
Alix ANNERAUD
9cbdc9f11d Implement read-write lock methods in CriticalSectionRawRwLock and update tests 2025-02-28 23:26:59 +01:00
Alix ANNERAUD
5568478225 Fix module references in blocking read-write lock implementation 2025-02-28 16:41:41 +01:00
Alix ANNERAUD
33cf27adf6 Refactor blocking read-write lock module structure and improve assertions in ThreadModeRawRwLock 2025-02-28 16:32:12 +01:00
Alix ANNERAUD
a7ecf14259 Add blocking read-write lock implementation and remove obsolete tests 2025-02-28 16:28:10 +01:00
Alix ANNERAUD
114cfdd86b Add RawRwLock trait and RawRwLockImpl struct implementation
* Implement `RawRwLock` trait with methods for read and write locking
* Implement `RawRwLockImpl` struct with atomic state and waker
* Implement `RawRwLockImpl::lock_read`, `RawRwLockImpl::try_lock_read`, and `RawRwLockImpl::unlock_read` methods
* Implement `RawRwLockImpl::lock_write`, `RawRwLockImpl::try_lock_write`, and `RawRwLockImpl::unlock_write` methods
2025-02-28 16:22:16 +01:00
Alix ANNERAUD
6904b0cc64 2025-02-28 16:10:15 +01:00
Alix ANNERAUD
025d9f6e98 Add RwLock to embassy-sync
Fixes #1394

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/embassy-rs/embassy/issues/1394?shareId=XXXX-XXXX-XXXX-XXXX).
2025-02-28 15:52:07 +01:00
Dario Nieuwenhuis
a1e75841f8
Merge pull request #3797 from stargazing-dino/add-channel-stream
Add stream impl for embassy-sync Channels
2025-02-19 15:46:45 +01:00