### New Features

 - add threading primitives with feature toggle
   If the `threading` feature is set, the `threading` module will contain thread-safe primitives
   for shared ownership and mutation, otherwise these will be their single threaded counterparts.
   
   This way, single-threaded applications don't have to pay for threaded primitives.

### Changed (BREAKING)

 - parallel utilities now use `Send + Clone` insted of `Send + Sync`
   This helps to assure that thread-local computations always work with the
   kind of types we provide. The ones that are carrying out actions are
   notably not `Sync` anymore.
   
   We cater to that by defining our bounds accordingly, but for those
   who want to use other utilities that need Sync, using types like
   `Repository` and `thread_local!()` is the only way to make this
   work.

### Commit Statistics

 - 8 commits contributed to the release over the course of 5 calendar days.
 - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
 - 2 unique issues were worked on: #259, #263

### Thanks Clippy

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

### Commit Details

 * **#259**
    - unify trait bounds for parallel code: prefer Clone over Sync (c805d0b)
    - remove trait bounds to allow single-threaded applications to exist (3c790e0)
 * **#263**
    - Make it possible to return read guards with packed buffers (f5c3c8f)
    - parallel utilities now use `Send + Clone` insted of `Send + Sync` (e7526b2)
    - A mad attempt to use thread-local everywhere and avoid Sync… (0af5077)
    - add threading primitives with feature toggle (7e95d8a)
 * **Uncategorized**
    - Adjust changelogs prior to release (ec38950)
    - thanks clippy (db1bb99)