Skip to content

Commit 5bacf9d

Browse files
authored
docs(changelog): v1.6.0 (#60)
1 parent e10179f commit 5bacf9d

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,30 @@
1+
## v1.6.0 (2026-04-21)
2+
3+
### Fix
4+
5+
- **priority**: `MarshalJSON` now emits elements in priority order (was: arbitrary heap-array order)
6+
- **blocking**: `Reset` honours capacity instead of restoring the untrimmed initial slice
7+
- **blocking**: `Reset` broadcasts `notFullCond` so producers blocked in `OfferWait` wake
8+
- **blocking**: `NewBlocking` copies the caller's slice instead of aliasing it
9+
- **blocking**: `Get` and `Clear` zero popped slots so pointer `T` no longer leaks via the backing array
10+
- **blocking**: producers `Broadcast` instead of `Signal`; drop the fragile `PeekWait` cascade
11+
- **circular**: `Reset` honours capacity when `len(initial) > capacity` (was: corrupt size)
12+
- **circular**: `Reset` zeros slots past the initial set so pointer `T` is reclaimable
13+
- **priority**: `Reset` allocates a fresh backing slice instead of leaking past the new length
14+
- Validate capacity at construction; panic with a clear message on `<= 0` (Circular) / `< 0` (Priority)
15+
16+
### Perf
17+
18+
- **linked**: internal free list recycles popped nodes; steady-state offer/get drops to 0 allocs
19+
- **circular**: `Contains` and `MarshalJSON` walk in two contiguous chunks instead of per-element modulo
20+
- **priority**: `MarshalJSON` sorts a copy with `sort.Slice` instead of `heap.Init` + N `heap.Pop`
21+
22+
### Docs / refactor
23+
24+
- Refresh README benchmarks
25+
- Fix stale package overview ("2 implementations" → 4) and copy-paste comment typos
26+
- `Linked.Iterator` holds the lock for the whole call (consistency with other queues)
27+
128
## v1.5.0 (2026-04-20)
229

330
### Fix

0 commit comments

Comments
 (0)