### New Features

 - Add `easy::Tree::traverse()` platform
 - Add `easy::Commit` object
   It allows to more conveniently access commit information.
 - `easy::Oid::ancestors()` now supports `sorting()` and iteration by first commit only
   Especially the sorting is useful to avoid having to sort commits by
   hand after collecting them.
 - Use GITOXIDE_OBJECT_CACHE_MEMORY to control how much object cache is used
   Note that this is mostly for debugging or quickly seeing if object
   caches help with certain operations.
   
   Ideally the implementation knows themselves and sets up caches
   accordingly, probably after trying it with these environment variables.

### Changed (BREAKING)

 - rename `easy::Object` methods returning `Ref` objects to have `ref` in their name
   That way, it's more clear that the `Ref` versions are low-level ones
   whereas the `into_` ones are higher-level ones that are part of the
   `easy` suite.
 - Rename `OwnedObject` to `DetachedObject`
   The latter more clearly indicates what the difference is to
   `Object` (which is attached and carries a lifetime)
 - Remove easy::borrow::Error entirely; support for multiple objects per handle
   This massive simplification finally allows any amounts of objects to be
   created while adding support for reusing their data buffers thanks
   to a simple free-list stored with the handle.
 - rename `easy::Object` to `OwnedObject`; remove `Ref` suffix from `ObjectRef` and `TreeRef`
 - use `git_odb::Find*` traits in prelude, instead of `git_pack::Find*`
   These are higher-level and generally more desirable.
   The Find traits in `git-pack` are more useful internally when packs
   have to be handled directly, for example when generating packs.
 - rename easy::State to easy::Handle
   As the first step to remove the 'Easy' abstraction.
 - fully rely on OdbHandle in repository State
 - Rename `Repository::odb` to` Repository::objects`
   This way it's more inline with `Repository::refs`.
 - remove Repository::refresh_object_database()
   With the linked DB this is simply not possible anymore and we expect
   these updates to happen automatically in future for greater convenience.
   
   For now, in order to refresh a repository, one has to reopen it.
 - Rename `Handle` to `Cache`
   Because this is exactly what it is effectively.
   Also add some basic instantiation for the new object store.
 - remove borrowing Repo as possible failure cause
   The `easy::Handle` is now a full (but shared) clone of the original
   Rpeository with additional thread-local state, hence there is no more
   need for a way to access the original repository.
 - remove Easy… abstraction in favor of Handle
   This great reduction of complexity allows for being multi-threading
   capabie by default with the option to turn that off at compile time.
   
   All `to|into_easy…()` methods are removed in favor of `to_easy()`
   along with the removal of all `Easy` types in favor of the single
 - remove pack-cache from `Find::try_find(…)`
   With the new architecture this can be an implementation detail without
   forcing it to be Sync.
 - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait
   This will break a lot, but has to happen to prepare these traits for the
   next generation of object databases.

### Commit Statistics

 - 65 commits contributed to the release over the course of 51 calendar days.
 - 55 days passed between releases.
 - 18 commits where understood as [conventional](https://www.conventionalcommits.org).
 - 6 unique issues were worked on: #215, #266, #274, #279, #287, #293

### Commit Details

 * **#215**
    - `easy::Oid::ancestors()` now supports `sorting()` and iteration by first commit only (0ae2a8d)
    - refactor (9af2a94)
    - Use GITOXIDE_OBJECT_CACHE_MEMORY to control how much object cache is used (bc77534)
    - Don't read environment variables each time an pack cache is created (91d7ef2)
 * **#266**
    - Default handle refresh mode is the least surprising, with option to configure (1b74c14)
    - refactor (b88f253)
    - refactor (52a4dcd)
    - A quick and dirty version index iteration (0384007)
    - Use new store in git-repository (2f9e342)
    - add docs for handle-related functions (cf1b1e6)
    - use `git_odb::Find*` traits in prelude, instead of `git_pack::Find*` (f9c0493)
    - fix git-repository docs (3496a97)
    - remove borrowing Repo as possible failure cause (7a91212)
    - Adjust object-acess to test new contains method (8488b41)
    - remove Easy… abstraction in favor of Handle (b2cc0c6)
    - rename easy::State to easy::Handle (83d7b31)
    - Remove unnecessary error variants now that repo() is called less (afcd579)
    - assure loops can't happen anymore (f04ff80)
    - Use db handle for writing (053e7b6)
    - Adapt to changes in git-repository (3ab9b03)
    - fully rely on OdbHandle in repository State (5e7aa16)
    - Rename `Repository::odb` to` Repository::objects` (57de915)
    - Add odb handle to state (4e38da3)
    - remove Repository::refresh_object_database() (93db4a5)
    - remove pack-cache from `Find::try_find(…)` (ebc7f47)
    - Rename `Handle` to `Cache` (580e96c)
    - First sketch of general store (fc1b640)
    - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait (2290d00)
 * **#274**
    - Rename `OwnedObject` to `DetachedObject` (b673097)
    - Fix docs (acb0ccc)
    - Remove easy::borrow::Error entirely; support for multiple objects per handle (c4184f3)
    - rename `easy::Object` to `OwnedObject`; remove `Ref` suffix from `ObjectRef` and `TreeRef` (880b564)
 * **#279**
    - fix docs (b61a920)
    - rename `easy::Object` methods returning `Ref` objects to have `ref` in their name (6e3a745)
    - cargo fmt (8b9da35)
    - Deal with changes to git-odb `Write` trait (4d67122)
    - adapt to changes to `git-odb` (5b0e2b9)
    - First pieces of header parsing; allow to respect multi-index desired hash kind in git-odb (1a2a049)
    - refactor (4e89d8d)
    - Respect `core.multiPackIndex` option (1495efc)
 * **#287**
    - basic output for 'repo verify' json only (9f8d61f)
 * **#293**
    - make clear what 'steal' actually steals from (1b0ab44)
    - Make obvious that we steal data from the free list (3523aa4)
    - handle won't try to reuse empty buffers to allow it to be claimed (0fb4c91)
 * **Uncategorized**
    - Release git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (42ebb53)
    - Release git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (1b76119)
    - Release git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (8f57c29)
    - Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7)
    - Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8)
    - prepar changelogs for cargo-smart-release release (8900d69)
    - Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725)
    - remove debug-helper (c243215)
    - Don't use bleeding edge features (3de0ab1)
    - reference statistics for stats example (83b99ce)
    - Experiment with novel API idea around Tree breadthfirst traversal (2ee1890)
    - Add `easy::Tree::traverse()` platform (667485e)
    - (change!: consistently use `object_hash` instead of `hash_kind` #279) (81bd453)
    - Release git-chunk v0.2.0, safety bump 4 crates (b792fab)
    - Merge branch 'sync-db-draft' (7d2e20c)
    - Tests for Commit object (1130928)
    - Add `easy::Commit` object (8f650c0)
    - Episode 5 (8ba7fc8)
    - episode 4 (e7e54a2)
    - episode 3 (e107d9a)
    - make fmt (066f3ff)