### New Features

 - more efficient distribution of tasks to threads during pack resolution.
   This clearly is a peak-performance optimization as it will now
   efficiently distribut tree-root nodes to threads one at a time by
   means of shared memory, which is accessed mutably yet safely.
   
   This change can also further reduce peak memory usage as it will not
   keep buffers of more resolved deltas then necessary, as it only handles
   one at a time per thread.

### Bug Fixes

 - reduce memory usage for pack resolution by 18%…
   …compared to where it started out before.
   
   This is the result of using u32 intead of usize where possible,
   leveraging the object limit of u32 in packs.
   
   This change makes the biggest difference by not keeping the decompressed
   memory of leaf nodes alive for longer than needed, at the cost of
   some code duplication which could be extracted into a function if one
   was inclined to deal with the boilerplate and lots of generics.
 - Allow verification of empty packs and indices.
   Empty packs are fine, even though the implementation should probably
   assure to not write them, or remove them after having been written.
 - increase pack-receive performance using a BufWriter
   Previously the NamedTempFile would receive every little write request
   for millions of objects, consuming considerable amounts of time.
   
   Now a buf writer alleviates this issue entirely.
 - `bundle::write::Error` is now publicly available

### Bug Fixes (BREAKING)

 - Reading and writing empty packs is explicitly allowed.
   This can happen when sending packs that don't actually contain changes,
   but need to be sent to conform to the protocol.

### Other (BREAKING)

 - <csr-id-b46347fd3d50886eeca500e31e1e12b354711309/> `index::write::Outcome::index_kind` -> `::index_version`.
 - <csr-id-591afd56d9862a6348ef8b3af61798004b36aa19/> `bundle::write::Options::index_kind` -> `::index_version`.

### Commit Statistics

 - 32 commits contributed to the release over the course of 20 calendar days.
 - 20 days passed between releases.
 - 8 commits were understood as [conventional](https://www.conventionalcommits.org).
 - 1 unique issue was worked on: #450

### Thanks Clippy

[Clippy](https://github.com/rust-lang/rust-clippy) helped 2 times to make code idiomatic. 

### Commit Details

 * **#450**
    - prefix created pack files with `pack-` (e489b10)
    - increase pack-receive performance using a BufWriter (a745512)
    - `index::write::Outcome::index_kind` -> `::index_version`. (b46347f)
    - add test to show that empty packs won't be written as expected behaviour. (72ce7fd)
    - `bundle::write::Error` is now publicly available (0b6ed60)
    - `bundle::write::Options::index_kind` -> `::index_version`. (591afd5)
 * **Uncategorized**
    - prepare changelogs for release (d232567)
    - Merge branch 'fix-smart-release' (aa80b60)
    - make fmt (7b9c065)
    - Merge branch 'main' into new-http-impl (702a161)
    - Merge branch 'main' into clone (acb0738)
    - Merge branch 'delta-tree-parallelization' (cca2ad5)
    - Don't enforce Send bounds in serial version of `in_parallel_with_slice()` (dda661e)
    - thanks clippy (583f2ca)
    - more efficient distribution of tasks to threads during pack resolution. (6836cb1)
    - refactor (0e2ca47)
    - Try to use counters directly in delta-tree resolution (c6ded26)
    - reduce memory usage for pack resolution by 18%… (ec58bef)
    - Merge branch 'reduce-pack-resolve-mem-consumption' (a8ced57)
    - minor refactor after trying more memory foot-print related changes (5852334)
    - simplify size-related tests (fb2b2a8)
    - cut the size of bytes needed to store children in half for a lower footprint (38c96f2)
    - Merge branch 'crates-index-diff-fixes' (b09bad7)
    - thanks clippy (851bc79)
    - Allow verification of empty packs and indices. (49d168a)
    - refactor (38a7452)
    - Reading and writing empty packs is explicitly allowed. (5a75afe)
    - make fmt (53acf25)
    - Merge branch 'fetch-pack' (f47c891)
    - Merge branch 'fetch-pack' (3c49400)
    - Merge branch 'fix-git-features' (82fd251)
    - Merge branch 'diff' (25a7726)