Skip to content

Latest commit

 

History

History
50 lines (34 loc) · 1.74 KB

RELEASES.md

File metadata and controls

50 lines (34 loc) · 1.74 KB

Releases

Release 0.1.0

  • initial release

Release 0.1.1

  • Fixes closing behavior of Semaphore: Acquired Permits were not (always) returned to the Semaphore.
  • Fixes closing behavior of mpsc Senders: Closing or dropping the last sender would not wake up a waiting receiver.

Release 0.2.0

  • Includes Semaphore API to acquire multiple permits in a single call
  • Introduces alloc feature and enables semaphore without it, i.e., Semaphore now requires zero allocations.
  • Enables non-allocating oneshot channel uses without alloc feature.
  • Document panic behavior when creating bounded channels with zero capacity.
  • Adds from_iter APIs for bounded and unbounded channels
  • Adds bounded::[Channel|Sender|SenderRef]::unbounded_send API.
  • Adds Semaphore::outstanding_permits for accounting handed out permits

Breaking Changes

  • Renames Semaphore::[try_]acquire_one to [try]_acquire
  • Introduces split alloc and std features, bounded and unbounded no longer exist without the alloc feature enabled, oneshot::Channel::into_split likewise requires alloc.

Release 0.2.1

  • Fixes a bug Semaphore that would not wake waiters on close.
  • Change Semaphore::acquire[_many] to return a named Future type.

Release 0.2.2

  • Fixes a bug where a Waker registered by a Semaphore would not be dropped, causing memory leaks.

Release 0.3.0

  • Performance improvements to Semaphore.

Breaking Changes

  • Removes bound::[Channel|Sender|SenderRef]::unbounded_send
  • Removes Semaphore::outstanding_permits and Semaphore::return_permits
  • Alters the behaviour of bounded::Channel::from_iter to use the maximum of the iterator's length and the given capacity as the channel's capacity.