### New Features

 - Make `git_url::Url` available under `git_repository::Url`
 - add easy::ext::ObjectAccessExt::tag(…) to create tag objects
   It's a quick sketch on how tag object creation could work.
   
   Note the duplication the method name using traits, which seems like a good solution
   to the problem of differentiating tag objects and tag references while
   keeping the method name short.
   
   Most will only ever need one, right?
   
   Even in my example that's not the case, so maybe we have to rename it.
 - Make `git_url::Url` available under `git_repository::Url`


### BREAKING Changes

 - Use 'to_*' when converting `easy::Object` to specific object kind
   This also makes the API more consistent while being more idiomatic.
 - Avoid duplicate module paths in 'tree' and 'commit'
 - rename ObjectIdExt::ancestors_iter() to *::ancestors()
 - rename `easy::Object::to_(commit|tag)_iter()`…
   …to  `easy::Object::try_to_(commit|tag)_iter()` for consistency.
 - rename `*::State` into `*::Platform`
 - various small API changes
 - move easy::head::peel::Error -> easy::head::peel::to_id::Error
 - rename path::is_git to path::is
 - rename easy::reference::log::State to easy::reference::Logs

### Changed (BREAKING)

 - `easy::Object::try_to_commit()` now returns `Result<CommitRef>`…
   …without the nested `Option`, folding the type mismatch into a specific
   `conversion::Error` instad.
 - rename `ObjectAccessExt::tag(…)` to `*::tag_reference(…)`, add `easy::Object::try_to_tag()`
   This one also contains the first and probably only test for tag object
   creation.

### Commit Statistics

 - 93 commits contributed to the release over the course of 33 calendar days.
 - 38 commits where understood as [conventional](https://www.conventionalcommits.org).
 - 4 unique issues were worked on: #164, #198, #200, #67

### Thanks Clippy

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

### Commit Details

 * **#164**
    - path::is (1f4e45a)
    - rename path::is_git to path::is (ac3b9ef)
    - path::discover (1958e8a)
    - Avoid duplicate module paths in 'tree' and 'commit' (2f2d856)
    - top-level of 'path' module (066f59b)
    - object_id (329d183)
    - rename ObjectIdExt::ancestors_iter() to *::ancestors() (a19567e)
    - repository (1a1959f)
    - ext::tree (5e091fb)
    - easy::object::peel (e376067)
    - easy::object::errors (de004b3)
    - rename `easy::Object::to_(commit|tag)_iter()`… (61793ff)
    - easy::object, sans a few child-modules (f582439)
    - update 'platform' information to reflect the current usage (42080ae)
    - rename easy::reference::log::State to easy::reference::Logs (03fe8a7)
    - rename `*::State` into `*::Platform` (0cd585e)
 * **#198**
    - git::remote_url() is now optional (e16603b)
    - `easy::Object::try_to_commit()` now returns `Result<CommitRef>`… (c3385cd)
    - rename `ObjectAccessExt::tag(…)` to `*::tag_reference(…)`, add `easy::Object::try_to_tag()` (e59f901)
    - add easy::ext::ObjectAccessExt::tag(…) to create tag objects (80b8331)
    - prettify changelog also to practice user segments (5c57264)
    - Fix git-url re-export to respect feature flags (ec4e3ca)
    - deduplicate conventional message ids (e695eda)
    - regenerate all changelogs to get links (0c81769)
    - pass actual repository url down from commands (4e03515)
    - Make `git_url::Url` available under `git_repository::Url` (0ebfeb6)
    - Mention actual issues that where worked on (a517e39)
    - Allow 'refactor' and 'other' in conventional messages if they have breaking changes (4eebaac)
    - merge doesn't consider user generated sections, only the ones it would want to add (ebbebdd)
    - Rebuild all changelogs to assure properly ordered headlines (4a9a05f)
    - Sort all commits by time, descending… (f536bad)
    - greatly reduce changelog size now that the traversal fix is applied (a0bc98c)
    - Use hashmap based lookup for trees… (48a0c76)
    - Fixup remaining changelogs… (2f75db2)
    - Generate changelogs with details (e1861ca)
    - Update all changelogs with details (58ab2ae)
    - Update changelogs (c857d61)
    - Avoid adding newlines which make writing unstable (6b5c394)
    - Fix section headline level (9d6f263)
    - Write first version of changlogs thus far… (719b6bd)
    - Use 'to_*' when converting `easy::Object` to specific object kind (1cb41f8)
    - Fix panic related to incorrect handling of character boundaries (9e92cff)
    - Fix build (d0a956f)
    - refactor!: Use git_object::commit::MessageRef::summary()… (13e7c3a)
    - Sketch data for parsed messages (32dd280)
    - smart-release: a seemingly slow version of path lookup, but… (41afad3)
    - configure caches with env vars using `apply_environment()` (d422b9a)
    - refactor (e7c061b)
    - set package cache via RepositoryAccessExt (66292fd)
    - smart-release(feat): Add GITOXIDE_PACK_CACHE_MEMORY_IN_BYTES=536870912 to control pack-cache size… (5aadf75)
    - allow disabling the pack cache with GITOXIDE_DISABLE_PACK_CACHE (d79a1b7)
    - prepare for configurable pack cache (7d2b6b6)
    - object-cache to allow for a speed boost… (06996e0)
    - smart-release: build commit history for later use in changelog generation (daec716)
    - Allow object access during commit ancestor traversal… (4fe4786)
    - smart-release: sketch history acquisition (debe009)
    - various small API changes (89f1505)
    - add 'Head::peeled()' method (56e39fa)
    - move easy::head::peel::Error -> easy::head::peel::to_id::Error (f644d0e)
    - loose reference iteration with non-dir prefixes… (293bfc0)
    - Add 'references().all().peeled().'… (6502412)
    - smart-release: filter refs correctly, but… (2b4a615)
 * **#200**
    - feat: Lift io::Errors to response::Error::UploadPack(…)… (f293b63)
 * **#67**
    - split data::output::count::objects into files (8fe4612)
    - use new git_pack::cache::Object trait (b209da2)
    - remove object cache impl which now lives in git-pack (741558d)
    - Use Easy in the one spot where it is possible… (6a97bfa)
    - try to create persistent Easy iterator, but can't make it Send… (54a64a5)
 * **Uncategorized**
    - thanks clippy (bcc9871)
    - Adjusting changelogs prior to release of git-hash v0.7.0, git-features v0.16.5, git-actor v0.5.3, git-validate v0.5.3, git-object v0.14.1, git-diff v0.10.0, git-tempfile v1.0.3, git-lock v1.0.1, git-traverse v0.9.0, git-pack v0.12.0, git-odb v0.22.0, git-packetline v0.11.0, git-url v0.3.4, git-transport v0.12.0, git-protocol v0.11.0, git-ref v0.8.0, git-repository v0.10.0, cargo-smart-release v0.4.0, safety bump 3 crates (a474395)
    - make fmt, but now it picked up some parts that usually don't get altered… (01f7b72)
    - Update changelogs just for fun (21541b3)
    - Merge branch 'main' into changelog-generation (c956f33)
    - thanks clippy (ae7826e)
    - thanks clippy (b02edb5)
    - thanks clippy (68ea77d)
    - improved changelog… (8b82f7d)
    - Bump git-traverse v0.9.0, safety bump 8 crates (d39fabb)
    - Bump git-repository v0.10.0 (5a10dde)
    - [repository #164] docs for easy::reference::log (7de7c7e)
    - [repository #164] docs for easy::reference::iter (d86c713)
    - [repository #164] refactor (437e63b)
    - [repository #164] docs for top-level of easy::reference (9e465e0)
    - [repository #164] docs for easy::oid (b66b6fe)
    - [repository #164] docs for easy::commit and easy::odb (abf37e5)
    - [repository #164] Documentation for `easy::borrow` (3e612f4)
    - [repository #164] docs for easy::head::* (516fde7)
    - [repository #164] refactor (65b0e0f)
    - [repository #164] docs for `easy::ext::ReferenceAccessExt` (ab4910f)
    - [repository #164] docs for easy::ext::RepositoryAccessExt (9041d47)
    - [repository #164] another test and fix for `commit()` (8d676d7)
    - [repository #164] easy::ext::ObjectAccessExt docs (c4984af)
    - [repository #164] (4111d22)