### New Features

 - respect `safe.directory`.
   In practice, this code will rarely be hit as it would require very
   strict settings that forbid any operation within a non-owned git
   directory.
 - permissions for configuration.
   It provides fine-grained control over what sources to load.
 - `git-config` is now accessible in `git-repository::config`.
 - `gix config` lists all entries of all configuration files git considers.
   Filters allow to narrow down the output.
 - repository now initializes global configuration files and resolves includes
 - resolve includes in local repository configuration
 - `config::Snapshot::trusted_path()` to obtain trustworthy paths.
   We also apply trust-based config query during initialization to assure
   we don't use paths which aren't owned by the current user.
 - `Repository::config_snapshot()` to access configuration values.
 - Use `git-config` to write config file on initialization, including `logallrefupdates` and `precomposeunicode`.
 - respect `core.logallrefupdates` configuration setting.

### Changed (BREAKING)

 - Make `SignatureRef<'_>` mandatory for editing reference changelogs.
   If defaults are desired, these can be set by the caller.
 - `Repository::committer()` now returns an `Option`, see `::committer_or_default()` for a method that doesn't.
 - remove local-time-support feature toggle.
   We treat local time as default feature without a lot of fuzz, and
   will eventually document that definitive support needs a compile
   time switch in the compiler (`--cfg unsound_local_offset` or something).
   
   One day it will perish. Failure is possible anyway and we will write
   code to deal with it while minimizing the amount of system time
   fetches when asking for the current local time.
 - Associate `file::Metadata` with each `File`.
   This is the first step towards knowing more about the source of each
   value to filter them based on some properties.
   
   This breaks various methods handling the instantiation of configuration
   files as `file::Metadata` typically has to be provided by the caller
   now or be associated with each path to read configuration from.

### New Features (BREAKING)

 - Support for `lossy` load mode.
   There is a lot of breaking changes as `file::from_paths::Options` now
   became `file::init::Options`, and the same goes for the error type.
 - change mostily internal uses of [u8] to BString/BStr

### Commit Statistics

 - 72 commits contributed to the release over the course of 33 calendar days.
 - 39 days passed between releases.
 - 16 commits where understood as [conventional](https://www.conventionalcommits.org).
 - 1 unique issue was worked on: #331

### Thanks Clippy

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

### Commit Details

 * **#331**
    - Make lossy-configuration configurable (b0e4da6)
    - tests for author/committer/user (6d2e53c)
    - refactor (4dc6594)
    - default user signature now with 'now' time, like advertised. (ad40202)
    - Make `SignatureRef<'_>` mandatory for editing reference changelogs. (68f4bc2)
    - `Repository::committer()` now returns an `Option`, see `::committer_or_default()` for a method that doesn't. (f932cea)
    - first sketch of using configuration and environment variables for author/committer (330d0a1)
    - remove local-time-support feature toggle. (89a41bf)
    - a first sketch on how identity management could look like. (780f14f)
    - refactor (4f61312)
    - respect `safe.directory`. (1b765ec)
    - permissions for configuration. (840d9a3)
    - `git-config` is now accessible in `git-repository::config`. (6570808)
    - `gix config` lists all entries of all configuration files git considers. (d99453e)
    - adapt to changes in `git-config` (b52b540)
    - adapt to changes in `git-config` (3c57344)
    - adjust to changes in `git-config` for greater efficiency (e9afede)
    - adapt to changes in git-config (14ba883)
    - refactor (95ed219)
    - repository now initializes global configuration files and resolves includes (ebedd03)
    - adapt to changes in git-config (627a0e1)
    - only a select few early config attributes must be repo-local (be0971c)
    - resolve includes in local repository configuration (de8572f)
    - Adjust to changes in `git-config` (30cbe29)
    - solve cycle between config and ref-store (1679d56)
    - adapt to changes in `git-config` (7f41f1e)
    - prepare for resolving a complete config… (9be1dd6)
    - Allow to configure a different filter for configuration section. (e512ab0)
    - adjust to changes in `git-config` (ca89d0d)
    - refactor (5723730)
    - load configuration with trust information, needs cleanup (d8e41e2)
    - Add remaining config access, and an escape hatch. (81715ff)
    - `config::Snapshot::trusted_path()` to obtain trustworthy paths. (d5a48b8)
    - `Debug` for `config::Snapshot`. (2c21956)
    - `Repository::config_snapshot()` to access configuration values. (5f9bfa8)
    - adapt to changes in `git-config` (c9423db)
    - Support for `lossy` load mode. (d003c0f)
    - Associate `file::Metadata` with each `File`. (6f4eea9)
    - adjust to changes in `git-config` (81e63cc)
    - Use `git-config` to write config file on initialization, including `logallrefupdates` and `precomposeunicode`. (7f67b23)
    - respect `core.logallrefupdates` configuration setting. (e263e13)
    - adapt to breaking changes in `git-config` (a02d575)
    - adapt to changes in `git-config` (858dc8b)
    - adjustments due to breaking changes in `git-config` (924f148)
    - adjustments for breaking changes in `git-config` (d3841ee)
    - adjust to changes in `git-config` (c52cb95)
    - adjustments due to breaking changes in `git-config` (07bf647)
    - adapt to changes in `git-config` (363a826)
    - adjust to changes in `git-config` (920d56e)
    - adjustments required due to changed in `git-config` (41bfd3b)
    - adjust to breaking changes in `git-config` (5b66202)
    - adjustments due to breaking changes in `git_path` (4420ae9)
 * **Uncategorized**
    - Release git-config v0.6.0, git-credentials v0.3.0, git-diff v0.17.0, git-discover v0.3.0, git-index v0.4.0, git-mailmap v0.3.0, git-traverse v0.16.0, git-pack v0.21.0, git-odb v0.31.0, git-url v0.7.0, git-transport v0.19.0, git-protocol v0.18.0, git-revision v0.3.0, git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0 (aa639d8)
    - Release git-hash v0.9.6, git-features v0.22.0, git-date v0.0.2, git-actor v0.11.0, git-glob v0.3.1, git-path v0.4.0, git-attributes v0.3.0, git-tempfile v2.0.2, git-object v0.20.0, git-ref v0.15.0, git-sec v0.3.0, git-config v0.6.0, git-credentials v0.3.0, git-diff v0.17.0, git-discover v0.3.0, git-index v0.4.0, git-mailmap v0.3.0, git-traverse v0.16.0, git-pack v0.21.0, git-odb v0.31.0, git-url v0.7.0, git-transport v0.19.0, git-protocol v0.18.0, git-revision v0.3.0, git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0, safety bump 22 crates (4737b1e)
    - prepare changelog prior to release (3c50625)
    - thanks clippy (fddc720)
    - thanks clippy (0346aaa)
    - thanks clippy (b630543)
    - thanks clippy (d9eb34c)
    - avoid extra copies of paths using `PathCursor` tool during repo init (5771721)
    - make fmt (0700b09)
    - change mostily internal uses of [u8] to BString/BStr (311d4b4)
    - Merge branch 'main' into cont_include_if (daa71c3)
    - Merge branch 'normalize-values' (4e8cc7a)
    - thanks clippy (e1003d5)
    - Merge branch 'main' into cont_include_if (0e9df36)
    - Use git_path::realpath in all places that allow it right now (229dc91)
    - fix build warnings (84109f5)
    - Make a note to be sure we use the home-dir correctly in git-repository; avoid `dirs` crate (0e8cf19)
    - adjust to changes in git-config (7a1678d)
    - Merge branch 'main' into cont_include_if (41ea8ba)
    - Release git-path v0.3.0, safety bump 14 crates (400c9be)