diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index fd874b0..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2024 tison -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -github: tisonkun - diff --git a/CHANGELOG-OLD.md b/CHANGELOG-OLD.md new file mode 100644 index 0000000..df59bd0 --- /dev/null +++ b/CHANGELOG-OLD.md @@ -0,0 +1,69 @@ +# Historical Changelog + +## v0.6.7 (2026-08-13) + +* Announce the upcoming `asyncband` rebrand. + +## v0.6.6 (2026-08-13) + +### Bug fixes + +* Prevent `OwnedMappedMutexGuard` from allowing invalid lifetime coercions. ([#121](https://github.com/fast/mea/pull/121)) +* Require the protected value of an `OwnedRwLockReadGuard` to be both `Send` and `Sync` before the guard can be sent across threads. ([#122](https://github.com/fast/mea/pull/122)) +* Prevent reentrant wakers from deadlocking or poisoning `Barrier`, `Latch`, `WaitGroup`, `Once`, and `broadcast::overflow` operations. ([#125](https://github.com/fast/mea/pull/125)) +* Retry spurious atomic failures when completing `Once` initialization. ([#126](https://github.com/fast/mea/pull/126)) +* Make cloning a `WaitGroup` panic on counter overflow instead of silently losing track of a handle. ([#128](https://github.com/fast/mea/pull/128)) +* Align `Condvar` with standard non-buffered notification semantics by notifying only current waiters and passing a cancelled `notify_one` wakeup to another current waiter. ([#132](https://github.com/fast/mea/pull/132)) +* Ensure polling or cancelling a contended `oneshot` receive does not wait for the sender to make progress. ([#138](https://github.com/fast/mea/pull/138)) +* Clean up uninitialized `OnceMap` and `singleflight::Group` entries once no callers remain after a failure, panic, or cancellation. ([#142](https://github.com/fast/mea/pull/142)) +* Keep a semaphore's permit count unchanged when `Semaphore::release` panics on overflow. ([#144](https://github.com/fast/mea/pull/144)) + +### Improvements + +* Remove unnecessary `Clone` bounds from `singleflight::Group` keys and custom hashers used by `OnceMap` and `singleflight::Group`. ([#142](https://github.com/fast/mea/pull/142)) + +## v0.6.5 (2026-07-30) + +### New features + +* Implement `admission::FairShare` to provide a work-conserving admission policy for workloads partitioned by key. + +## v0.6.4 (2026-05-28) + +### New features + +* Implement `shutdown::ShutdownWatch` to wait for the shutdown signal without blocking `ShutdownSend::await_shutdown`. + +## v0.6.3 (2026-01-21) + +### Improvements + +* `OnceMap` no longer requires `K: Clone` everywhere. + +## v0.6.2 (2026-01-21) + +### New features + +* Implement `once::OnceMap` to run computation only once and store the results in a hash map. +* `singleflight::Group` now supports custom hashers for keys. + +### Improvements + +* `singleflight::Group::forget` now accepts any `&Q` where `Q: ?Sized + Hash + Eq` and `K: Borrow` aligning with standard HashMap's interface. + +## v0.6.1 (2026-01-11) + +### New features + +* Implement `singleflight` pattern for deduplicating concurrent requests. + +## v0.6.0 (2026-01-04) + +### Breaking changes + +* All channel errors are now unified follow the same `[Try](Send|Recv)Error` pattern. ([#98](https://github.com/fast/mea/pull/98)) +* `broadcast::channel` and the related types are moved to one level deeper module `broadcast::overflow`. ([#99](https://github.com/fast/mea/pull/99)) + +### Improvements + +* `oneshot::Sender` and `oneshot::Receiver` now always implement `Debug`. diff --git a/CHANGELOG.md b/CHANGELOG.md index 872a9f8..e66ae38 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,75 +1,5 @@ -# CHANGELOG +# Changelog All notable changes to this project will be documented in this file. ## Unreleased - -## v0.6.7 (2026-08-13) - -### Breaking changes - -* Rename the project and published crate from MEA (`mea`) to Asyncband (`asyncband`). Users must update both their dependency declarations and `mea::` paths. No compatibility crate or re-export is provided under the old name. - -## v0.6.6 (2026-08-13) - -### Bug fixes - -* Prevent `OwnedMappedMutexGuard` from allowing invalid lifetime coercions. ([#121](https://github.com/fast/mea/pull/121)) -* Require the protected value of an `OwnedRwLockReadGuard` to be both `Send` and `Sync` before the guard can be sent across threads. ([#122](https://github.com/fast/mea/pull/122)) -* Prevent reentrant wakers from deadlocking or poisoning `Barrier`, `Latch`, `WaitGroup`, `Once`, and `broadcast::overflow` operations. ([#125](https://github.com/fast/mea/pull/125)) -* Retry spurious atomic failures when completing `Once` initialization. ([#126](https://github.com/fast/mea/pull/126)) -* Make cloning a `WaitGroup` panic on counter overflow instead of silently losing track of a handle. ([#128](https://github.com/fast/mea/pull/128)) -* Align `Condvar` with standard non-buffered notification semantics by notifying only current waiters and passing a cancelled `notify_one` wakeup to another current waiter. ([#132](https://github.com/fast/mea/pull/132)) -* Ensure polling or cancelling a contended `oneshot` receive does not wait for the sender to make progress. ([#138](https://github.com/fast/mea/pull/138)) -* Clean up uninitialized `OnceMap` and `singleflight::Group` entries once no callers remain after a failure, panic, or cancellation. ([#142](https://github.com/fast/mea/pull/142)) -* Keep a semaphore's permit count unchanged when `Semaphore::release` panics on overflow. ([#144](https://github.com/fast/mea/pull/144)) - -### Improvements - -* Remove unnecessary `Clone` bounds from `singleflight::Group` keys and custom hashers used by `OnceMap` and `singleflight::Group`. ([#142](https://github.com/fast/mea/pull/142)) - -## v0.6.5 (2026-07-30) - -### New features - -* Implement `admission::FairShare` to provide a work-conserving admission policy for workloads partitioned by key. - -## v0.6.4 (2026-05-28) - -### New features - -* Implement `shutdown::ShutdownWatch` to wait for the shutdown signal without blocking `ShutdownSend::await_shutdown`. - -## v0.6.3 (2026-01-21) - -### Improvements - -* `OnceMap` no longer requires `K: Clone` everywhere. - -## v0.6.2 (2026-01-21) - -### New features - -* Implement `once::OnceMap` to run computation only once and store the results in a hash map. -* `singleflight::Group` now supports custom hashers for keys. - -### Improvements - -* `singleflight::Group::forget` now accepts any `&Q` where `Q: ?Sized + Hash + Eq` and `K: Borrow` aligning with standard HashMap's interface. - -## v0.6.1 (2026-01-11) - -### New features - -* Implement `singleflight` pattern for deduplicating concurrent requests. - -## v0.6.0 (2026-01-04) - -### Breaking changes - -* All channel errors are now unified follow the same `[Try](Send|Recv)Error` pattern. ([#98](https://github.com/fast/mea/pull/98)) -* `broadcast::channel` and the related types are moved to one level deeper module `broadcast::overflow`. ([#99](https://github.com/fast/mea/pull/99)) - -### Improvements - -* `oneshot::Sender` and `oneshot::Receiver` now always implement `Debug`. diff --git a/taplo.toml b/taplo.toml index 0994a85..2cc783a 100644 --- a/taplo.toml +++ b/taplo.toml @@ -14,32 +14,3 @@ exclude = ["target/**"] include = ["Cargo.toml", "**/*.toml"] - -[formatting] -# Align consecutive entries vertically. -align_entries = false -# Append trailing commas for multi-line arrays. -array_trailing_comma = true -# Expand arrays to multiple lines that exceed the maximum column width. -array_auto_expand = true -# Collapse arrays that don't exceed the maximum column width and don't contain comments. -array_auto_collapse = true -# Omit white space padding from single-line arrays -compact_arrays = true -# Omit white space padding from the start and end of inline tables. -compact_inline_tables = false -# Maximum column width in characters, affects array expansion and collapse, this doesn't take whitespace into account. -# Note that this is not set in stone, and works on a best-effort basis. -column_width = 80 -# Indent based on tables and arrays of tables and their subtables, subtables out of order are not indented. -indent_tables = false -# The substring that is used for indentation, should be tabs or spaces (but technically can be anything). -indent_string = ' ' -# Add trailing newline at the end of the file if not present. -trailing_newline = true -# Alphabetically reorder keys that are not separated by empty lines. -reorder_keys = true -# Maximum amount of allowed consecutive blank lines. This does not affect the whitespace at the end of the document, as it is always stripped. -allowed_blank_lines = 1 -# Use CRLF for line endings. -crlf = false