git-next/CHANGELOG.md
ForgeJo Action. See: https://git.kemitix.net/kemitix/rust 91c5973e31 chore: release
Signed-off-by: ForgeJo Action. See: https://git.kemitix.net/kemitix/rust <action@git.kemitix.net>
2024-09-14 14:24:04 +00:00

1175 lines
78 KiB
Markdown

# Changelog
All notable changes to this project will be documented in this file.
## `git-next-core` - [0.13.11](https://git.kemitix.net/kemitix/git-next/compare/git-next-core-v0.13.10...git-next-core-v0.13.11) - 2024-09-14
### Added
- should fetch repo on startup when not cloning
- Remove branches when fetching from remote
### Other
- reimplement git fetch using git
## `git-next` - [0.13.11](https://git.kemitix.net/kemitix/git-next/compare/v0.13.10...v0.13.11) - 2024-09-14
### Added
- *(tui)* add time and version in border
- should fetch repo on startup when not cloning
- Remove branches when fetching from remote
### Other
- Update TUI sooner when receiving CI status
- reimplement git fetch using git
- mark tui as complete on roadmap
- Add missing port mapping parameter for running in docker
## `git-next-forge-github` - [0.13.10](https://git.kemitix.net/kemitix/git-next/compare/git-next-forge-github-v0.13.9...git-next-forge-github-v0.13.10) - 2024-09-12
### Added
- optionally specify max commits between dev and main
## `git-next-forge-forgejo` - [0.13.10](https://git.kemitix.net/kemitix/git-next/compare/git-next-forge-forgejo-v0.13.9...git-next-forge-forgejo-v0.13.10) - 2024-09-12
### Added
- optionally specify max commits between dev and main
## `git-next-core` - [0.13.10](https://git.kemitix.net/kemitix/git-next/compare/git-next-core-v0.13.9...git-next-core-v0.13.10) - 2024-09-12
### Added
- optionally specify max commits between dev and main
## `git-next` - [0.13.10](https://git.kemitix.net/kemitix/git-next/compare/v0.13.9...v0.13.10) - 2024-09-12
### Added
- optionally specify max commits between dev and main
### Fixed
- *(tui)* make tui work from docker image
- *(tui)* alerts, such as WIP aren't being reset
- *(test)* tests requiring .git pass when not present
- *(tui)* update ui when push next or main finishes
- *(tui)* don't set background for normal repo alias
## `git-next` - [0.13.9](https://git.kemitix.net/kemitix/git-next/compare/v0.13.8...v0.13.9) - 2024-09-04
### Fixed
- *(tui)* alerts are cleared on next repo update
- shutdown properly on error
- shutdown properly on file parse error
### Other
- Expand docker docmentation
## `git-next-forge-forgejo` - [0.13.8](https://git.kemitix.net/kemitix/git-next/compare/git-next-forge-forgejo-v0.13.7...git-next-forge-forgejo-v0.13.8) - 2024-09-01
### Other
- flatten nested blocks with early returns
- rename method as peel
## `git-next-core` - [0.13.8](https://git.kemitix.net/kemitix/git-next/compare/git-next-core-v0.13.7...git-next-core-v0.13.8) - 2024-09-01
### Fixed
- use configured branch names in user notification
- create git graph log to after doing a fetch
### Other
- flatten nested blocks with early returns
- rename method as peel
## `git-next` - [0.13.8](https://git.kemitix.net/kemitix/git-next/compare/v0.13.7...v0.13.8) - 2024-09-01
### Added
- improved error display when startup fails
- *(tui)* clean up alert display
- *(tui)* remove some borders to clean up appearance
- *(tui)* make progression of branches clearer
- *(tui)* remove label from repo identity widget
- *(tui)* hightlight repo alias in red when in alert
- *(tui)* branch names look more like 'pills'
- *(tui)* highlight branchs in log
- *(tui)* hightlight status message in colour
- *(tui)* use moving heart emoji as liveness indicator
- *(tui)* add scrolling when overflow screen
- *(tui)* forge widgets only use required lines
- *(tui)* repo widgets only use required lines
- *(tui)* move forge alias to left and add prefix
- *(tui)* remove count of forges
- *(tui)* remove duplicate messages from repo body
- *(tui)* highlight user interventions in red
### Fixed
- use configured branch names in user notification
- remove unused imports
- *(tui)* remove logging from inside ui loop
- *(tui)* don't show HEAD in log
- *(tui)* improve colour contrast on light background
- *(tui)* remove unused import
- *(alert)* typo in email message
- *(repo)* avoid blocking threads when pausing
- *(test)* give actix more time to process message
- *(test)* give actix more time to process message
- *(test)* give actix more time to process message
- *(tui)* improve reliability of status updates
- create git graph log to after doing a fetch
- *(tui)* remove logging of tui updates
### Other
- flatten nested blocks with early returns
- merge identical match branches
- *(tui)* add regex dependency
- *(tui)* introduce LogLine to wrap log formatting
- *(tui)* simplify repo identity widget
- rename method as peel
- *(tui)* child widget can provide constraint to container
- *(tui)* merge repo widgets into one
## `git-next-core` - [0.13.7](https://git.kemitix.net/kemitix/git-next/compare/git-next-core-v0.13.6...git-next-core-v0.13.7) - 2024-08-25
### Added
- *(tui)* (experimental) show repo state, messages and git log
## `git-next` - [0.13.7](https://git.kemitix.net/kemitix/git-next/compare/v0.13.6...v0.13.7) - 2024-08-25
### Added
- *(tui)* (experimental) show repo state, messages and git log
## `git-next-forge-github` - [0.13.6](https://git.kemitix.net/kemitix/git-next/compare/git-next-forge-github-v0.13.5...git-next-forge-github-v0.13.6) - 2024-08-23
### Fixed
- *(github)* register webhook with valid callback url
## `git-next-core` - [0.13.6](https://git.kemitix.net/kemitix/git-next/compare/git-next-core-v0.13.5...git-next-core-v0.13.6) - 2024-08-23
### Added
- *(tui)* (experimental) tui option
## `git-next` - [0.13.6](https://git.kemitix.net/kemitix/git-next/compare/v0.13.5...v0.13.6) - 2024-08-23
### Added
- *(tui)* (experimental) tui option
### Fixed
- file_watcher runs on own thread
### Other
- test all feature combinations
## `git-next` - [0.13.5](https://git.kemitix.net/kemitix/git-next/compare/git-next-v0.13.4...git-next-v0.13.5) - 2024-08-10
### Added
- make forge and repo alias more prominent in email
### Fixed
- invalid config section typo in README
## `git-next-forge-github` - [0.13.4](https://git.kemitix.net/kemitix/git-next/compare/git-next-forge-github-v0.13.3...git-next-forge-github-v0.13.4) - 2024-08-08
### Other
- cleanup pedantic clippy in forge-github crate
## `git-next-forge-forgejo` - [0.13.4](https://git.kemitix.net/kemitix/git-next/compare/git-next-forge-forgejo-v0.13.3...git-next-forge-forgejo-v0.13.4) - 2024-08-08
### Other
- cleanup pedantic clippy in forge-forgejo crate
## `git-next-core` - [0.13.4](https://git.kemitix.net/kemitix/git-next/compare/git-next-core-v0.13.3...git-next-core-v0.13.4) - 2024-08-08
### Added
- add short git log graph to notifications
### Other
- macros use a more common syntax
- cleanup pedantic clippy in core crate
## `git-next` - [0.13.4](https://git.kemitix.net/kemitix/git-next/compare/v0.13.3...v0.13.4) - 2024-08-08
### Added
- add short git log graph to notifications
### Fixed
- remove dependcy on clang & mold
### Other
- macros use a more common syntax
- cleanup pedantic clippy in core crate
- cleanup pedantic clippy in cli crate
## `git-next-core` - [0.13.3](https://git.kemitix.net/kemitix/git-next/compare/git-next-core-v0.13.2...git-next-core-v0.13.3) - 2024-08-04
### Fixed
- shout.desktop should be optional
## `git-next` - [0.13.3](https://git.kemitix.net/kemitix/git-next/compare/v0.13.2...v0.13.3) - 2024-08-04
### Fixed
- shout.desktop should be optional
## `git-next` - [0.13.2](https://git.kemitix.net/kemitix/git-next/compare/v0.13.1...v0.13.2) - 2024-08-04
### Other
- timing test waits longer than expiry
## `git-next-forge-github` - [0.13.1](https://git.kemitix.net/kemitix/git-next/compare/git-next-forge-github-v0.13.0...git-next-forge-github-v0.13.1) - 2024-08-04
### Other
- remove unused dependencies
## `git-next-forge-forgejo` - [0.13.1](https://git.kemitix.net/kemitix/git-next/compare/git-next-forge-forgejo-v0.13.0...git-next-forge-forgejo-v0.13.1) - 2024-08-04
### Other
- remove unused dependencies
## `git-next-core` - [0.13.1](https://git.kemitix.net/kemitix/git-next/compare/git-next-core-v0.13.0...git-next-core-v0.13.1) - 2024-08-04
### Added
- prevent duplicate alerts
- add support for desktop notifications
### Other
- remove unused dependencies
- update tests to check for email config parsing
## `git-next` - [0.13.1](https://git.kemitix.net/kemitix/git-next/compare/v0.13.0...v0.13.1) - 2024-08-04
### Added
- prevent duplicate alerts
- add support for desktop notifications
### Fixed
- add example email config to server default template
### Other
- remove unused dependencies
- extract alerts into own actor
- add example to readme for listen, shout & storage
- add config details for sending emails
## `git-next-forge-github` [0.13.0](https://git.kemitix.net/kemitix/git-next/compare/git-next-forge-github-v0.12.1...git-next-forge-github-v0.13.0) - 2024-08-02
### Added
- [**breaking**] restructured server config into listen & shout sections
## `git-next-forge-forgejo` [0.13.0](https://git.kemitix.net/kemitix/git-next/compare/git-next-forge-forgejo-v0.12.1...git-next-forge-forgejo-v0.13.0) - 2024-08-02
### Added
- [**breaking**] restructured server config into listen & shout sections
## `git-next-core` [0.13.0](https://git.kemitix.net/kemitix/git-next/compare/git-next-core-v0.12.1...git-next-core-v0.13.0) - 2024-08-02
### Added
- send email notifications (sendmail/smtp)
- [**breaking**] restructured server config into listen & shout sections
- remove notification.type
- [**breaking**] reduce the max commit dev can be ahead of main
## `git-next` [0.13.0](https://git.kemitix.net/kemitix/git-next/compare/git-next-v0.12.1...git-next-v0.13.0) - 2024-08-02
### Added
- send email notifications (sendmail/smtp)
- [**breaking**] restructured server config into listen & shout sections
- remove notification.type
- terminate process if config file is invalid
- return better errors to user on server failure
- return better errors to the user on init
## [0.12.1] - 2024-07-29
### Bug Fixes
- Webhook secret doesn't need to be base64 encoded ([691a733](https://git.kemitix.net/kemitix/git-next/commit/691a733fc37cfba5d9be72b57e24c5b9d3c1218a))
- Remove requirement for RUSTFLAGS to be set ([e56d6a3](https://git.kemitix.net/kemitix/git-next/commit/e56d6a3ebbb4b4bfcaacc986269ba898ffbd1bc6))
- Make default server config example valid ([b7abe94](https://git.kemitix.net/kemitix/git-next/commit/b7abe949e2067e1c3663d45a520385d967f19af8))
### Miscellaneous Tasks
- Update create publishing command ([bf12712](https://git.kemitix.net/kemitix/git-next/commit/bf12712bcaaefe6ae7da113e03b739b42d860fcf))
- Remove deprecated crates ([5dc0de8](https://git.kemitix.net/kemitix/git-next/commit/5dc0de8a05d610c3a5b7be00aac1033763a76949))
## [0.12.0] - 2024-07-28
[656ec4a](https://git.kemitix.net/kemitix/git-next/commit/656ec4a534b5b55ddceb05eee6ed610207ac33d4)...[b89431b](https://git.kemitix.net/kemitix/git-next/commit/b89431b7798dec0ab80010d76327bef89b94eeb0)
### Bug Fixes
- Don't log content of internal messages ([3ae1132](https://git.kemitix.net/kemitix/git-next/commit/3ae113212af3ee43f36383a22984e03e3f44f3f2))
### Documentation
- Add missing readme for git-next-core ([11de4ef](https://git.kemitix.net/kemitix/git-next/commit/11de4efae6e8e460f93ba05e91278d9239d98c9c))
- Add missing notification config details ([991d0d1](https://git.kemitix.net/kemitix/git-next/commit/991d0d1a08c9730942d53313f9015f8f610dc8bb))
### Features
- Support macOS ([a56c6df](https://git.kemitix.net/kemitix/git-next/commit/a56c6df3f1ad8943185941ca733a4d91069994c1))
- Avoid resetting next to main when dev is ahead of main ([d2ea93f](https://git.kemitix.net/kemitix/git-next/commit/d2ea93f05ec81f7b9af4e2a347fc0b324eb3770f))
### Miscellaneous Tasks
- Remove deprecated crates ([5a595ec](https://git.kemitix.net/kemitix/git-next/commit/5a595ec9eed77cf961f01c671c69ca2bc7988092))
- Bump gix from 0.63 to 0.64 ([b24675d](https://git.kemitix.net/kemitix/git-next/commit/b24675d48a3e35a9d780a7f7f8cbfb1477765a7b))
- Bump mockall from 0.12 to 0.13 ([22faa85](https://git.kemitix.net/kemitix/git-next/commit/22faa851dcdd99451c736290bc17b17cbe6aa55c))
- Release 0.12.0 ([b89431b](https://git.kemitix.net/kemitix/git-next/commit/b89431b7798dec0ab80010d76327bef89b94eeb0))
### Refactor
- Merge server crate into cli crate ([1427284](https://git.kemitix.net/kemitix/git-next/commit/1427284c2a378d29246a7b92d4a5c5d9601793d0))
- Merge server-actor crate into cli crate ([a679abe](https://git.kemitix.net/kemitix/git-next/commit/a679abeafcb624f400c33721b5828c5137d96fc6))
- Merge file-watcher-crate into cli crate ([9ca532a](https://git.kemitix.net/kemitix/git-next/commit/9ca532a2b466b3a23e957a282e54c8985e0794d6))
- Merge file-watcher-crate into cli crate ([366930b](https://git.kemitix.net/kemitix/git-next/commit/366930bcfcdb424e853bb8f81fdad0d719a50a69))
- Merge webhook-actor crate into cli crate ([12ecc30](https://git.kemitix.net/kemitix/git-next/commit/12ecc308d559ed509da9db8016332c877efda3d0))
- Merge repo-actor crate into cli crate ([c1981d8](https://git.kemitix.net/kemitix/git-next/commit/c1981d862c2da6a992475effe70061f56a67ff10))
- Merge forge crate into cli crate ([5745817](https://git.kemitix.net/kemitix/git-next/commit/57458173d033936206d2225ec3b3b6fc8291229e))
## [0.11.0] - 2024-07-26
[f8fefcd](https://git.kemitix.net/kemitix/git-next/commit/f8fefcdeddf556b28dc611b85db8e2b5ffbb570d)...[656ec4a](https://git.kemitix.net/kemitix/git-next/commit/656ec4a534b5b55ddceb05eee6ed610207ac33d4)
### Bug Fixes
- Remove unused dependecy from file-watcher-actor ([b8f4ade](https://git.kemitix.net/kemitix/git-next/commit/b8f4adeb50a98e64efe2a1a9009c4d6a6b458e3b))
### Documentation
- Document Notifications to user ([1690e1b](https://git.kemitix.net/kemitix/git-next/commit/1690e1bff6a3b54ff59b0763ecc2e50c25f9b896))
- Update message graph for repo-actor ([758ca5c](https://git.kemitix.net/kemitix/git-next/commit/758ca5c2dc9273be15cdfb383bdc35095bc7834e))
- Update package graph ([768ec6a](https://git.kemitix.net/kemitix/git-next/commit/768ec6ae02fe7d850ff976d51aa3278c01ce1013))
### Features
- Enable configuration of a webhook for receiving notifications ([c86d890](https://git.kemitix.net/kemitix/git-next/commit/c86d890c2cbbbe87fde58664c68c91b698862044))
- Support sending messages to the user ([e9877ca](https://git.kemitix.net/kemitix/git-next/commit/e9877ca9fa0addf3f018527712355ca0c3d9eb77))
- Dispatch NotifyUser messages to server for user (1/2) ([bcf57bc](https://git.kemitix.net/kemitix/git-next/commit/bcf57bc728fd53f0abb9c4e94d9768fcce5e9dbe))
- Dispatch NotifyUser messages to server for user (2/2) ([288c20c](https://git.kemitix.net/kemitix/git-next/commit/288c20c24b59b2fa5054c81c22d42af2af06afc7))
- Post webhook notifications to user ([9e12f5e](https://git.kemitix.net/kemitix/git-next/commit/9e12f5eb5db5f3b150886b444af4c0ce3dbf2ed9))
### Miscellaneous Tasks
- Release 0.11.0 ([656ec4a](https://git.kemitix.net/kemitix/git-next/commit/656ec4a534b5b55ddceb05eee6ed610207ac33d4))
### Refactor
- Reduce cognitive complexity of `WebhookNotification` handler. 1/2 ([06292c2](https://git.kemitix.net/kemitix/git-next/commit/06292c2711f3aca6bc369b78f67e1936fdba7eb8))
- Reduce cognitive complexity of `WebhookNotification` handler. 2/2 ([c104dfe](https://git.kemitix.net/kemitix/git-next/commit/c104dfedc1f41020b3468d73a52ae49e0050ebb2))
- Reduce cognitive complexity of 'validate_position' ([92ebd45](https://git.kemitix.net/kemitix/git-next/commit/92ebd453076015993d25102d262a4821fe416e06))
- Flag internally that dev not based on main will require used intervention ([ba67b1e](https://git.kemitix.net/kemitix/git-next/commit/ba67b1ebcba46308a44d3f6dccc16ed8b0acefe3))
- Extract messages and handlers modules from webhook-actor ([8f95ae0](https://git.kemitix.net/kemitix/git-next/commit/8f95ae0058a9f426c5d3f8f96990f6b0eb358b9e))
- Use Option<&T> over &Option<T> ([4978400](https://git.kemitix.net/kemitix/git-next/commit/4978400ece7c37ed51328da0667b2abb1b528fc7))
- Merge actor-macros into core ([48c968d](https://git.kemitix.net/kemitix/git-next/commit/48c968db2d166942ba1be0f09f729d5611cedf18))
- Merge config crate into core crate ([ab728c7](https://git.kemitix.net/kemitix/git-next/commit/ab728c7364caa0c8481cd2a10c3fa57bdc7f2d16))
- Merge git create into core crate ([fa5fa80](https://git.kemitix.net/kemitix/git-next/commit/fa5fa809d99b70970d8f0f2f910afb99837e3913))
### Testing
- Restore unlinked test file ([2ec5ae1](https://git.kemitix.net/kemitix/git-next/commit/2ec5ae1d51b48198d0bb96ed5477e6e77f095f76))
## [0.10.0] - 2024-07-16
[41c8a31](https://git.kemitix.net/kemitix/git-next/commit/41c8a319b1344d2ce04bfa8f45eb9a267d8e9a3c)...[f8fefcd](https://git.kemitix.net/kemitix/git-next/commit/f8fefcdeddf556b28dc611b85db8e2b5ffbb570d)
### Bug Fixes
- Move server-default.toml inside crate that uses it ([639e561](https://git.kemitix.net/kemitix/git-next/commit/639e561be60a6e22eda14e2b44764eee6afb6ae7))
- Move default.toml inside crate that uses it ([e2b545a](https://git.kemitix.net/kemitix/git-next/commit/e2b545ae396354cd009c12dc44daadac923f140b))
### Documentation
- Update installation instructions ([050e117](https://git.kemitix.net/kemitix/git-next/commit/050e1171b3b047bc5b5dfd22c1e8d8f4f76efaab))
- Move main README into cli crate ([6981a7b](https://git.kemitix.net/kemitix/git-next/commit/6981a7b5e30c854ede6303958db9ab05600bca79))
- Add readmes to each crate to direct users to main crate ([6c92f64](https://git.kemitix.net/kemitix/git-next/commit/6c92f64f8bcec3306ef13a22e91939f555a9c77d))
- Add UnRegisterWebhook from RepoActor ([f44865f](https://git.kemitix.net/kemitix/git-next/commit/f44865fa92857c9c53c124e520a13cd10ce17a22))
- Update link from root README to cli README ([619e1d5](https://git.kemitix.net/kemitix/git-next/commit/619e1d517d07297fc1e9e0d89fafb93e9136cc07))
### Features
- Unregister webhooks form forge during shutdown ([b715755](https://git.kemitix.net/kemitix/git-next/commit/b715755b91cecd8fa6b67a58ac3e6fd322c9c005))
- Reload server config when file is touched ([33907a1](https://git.kemitix.net/kemitix/git-next/commit/33907a1d3284a2df27994f7da1ef65d3047f165f))
### Miscellaneous Tasks
- Restore clean check and tag checkout to publish script ([95129dd](https://git.kemitix.net/kemitix/git-next/commit/95129ddeefa26db7cb538f2be2ab5b3609e9a175))
- Release 0.10.0 ([f8fefcd](https://git.kemitix.net/kemitix/git-next/commit/f8fefcdeddf556b28dc611b85db8e2b5ffbb570d))
### Build
- Add more metadata for crates.io ([69211a8](https://git.kemitix.net/kemitix/git-next/commit/69211a87a3aaba2c8e4037d5f1a8adbca185f13d))
## [0.9.4] - 2024-07-14
[d24bcd9](https://git.kemitix.net/kemitix/git-next/commit/d24bcd9ab1a31afe20501c6b6e0f08436683c1c2)...[41c8a31](https://git.kemitix.net/kemitix/git-next/commit/41c8a319b1344d2ce04bfa8f45eb9a267d8e9a3c)
### Bug Fixes
- Add missing version for workspace dependencies ([fa7f78c](https://git.kemitix.net/kemitix/git-next/commit/fa7f78c7347ea2cd7a1a854e8aa07acb881911b2))
### Miscellaneous Tasks
- Release 0.9.4 ([41c8a31](https://git.kemitix.net/kemitix/git-next/commit/41c8a319b1344d2ce04bfa8f45eb9a267d8e9a3c))
### Revert
- Fix: explicitly specify version in each crate ([adf56c1](https://git.kemitix.net/kemitix/git-next/commit/adf56c1b38f7ae397a1187302cead4864b3bddab))
## [0.9.3] - 2024-07-14
[59e8fc0](https://git.kemitix.net/kemitix/git-next/commit/59e8fc050d70db2779855f7d1d73e4cf00edd461)...[d24bcd9](https://git.kemitix.net/kemitix/git-next/commit/d24bcd9ab1a31afe20501c6b6e0f08436683c1c2)
### Bug Fixes
- Explicitly specify version in each crate ([cd93d04](https://git.kemitix.net/kemitix/git-next/commit/cd93d047cb948118f32ae0b8b0880a42a74226fb))
### Miscellaneous Tasks
- Release 0.9.3 ([d24bcd9](https://git.kemitix.net/kemitix/git-next/commit/d24bcd9ab1a31afe20501c6b6e0f08436683c1c2))
## [0.9.2] - 2024-07-14
[4c2e122](https://git.kemitix.net/kemitix/git-next/commit/4c2e1223467a3799506d9f44931aeec1d51cd26c)...[59e8fc0](https://git.kemitix.net/kemitix/git-next/commit/59e8fc050d70db2779855f7d1d73e4cf00edd461)
### Bug Fixes
- Typo and missing repository entry in Cargo.toml files ([c289617](https://git.kemitix.net/kemitix/git-next/commit/c289617ba9d530fc04bb197745b75e0c852a7711))
### Miscellaneous Tasks
- Release 0.9.2 ([59e8fc0](https://git.kemitix.net/kemitix/git-next/commit/59e8fc050d70db2779855f7d1d73e4cf00edd461))
## [0.9.1] - 2024-07-14
[43c6e81](https://git.kemitix.net/kemitix/git-next/commit/43c6e812dc611a2538b45b48e2014e42ef492904)...[4c2e122](https://git.kemitix.net/kemitix/git-next/commit/4c2e1223467a3799506d9f44931aeec1d51cd26c)
### Documentation
- Server-actor: add readme showing message paths ([10e6389](https://git.kemitix.net/kemitix/git-next/commit/10e63894c215e90610e79a2950d3bd0b20f1a04b))
- Update changelog ([4c2e122](https://git.kemitix.net/kemitix/git-next/commit/4c2e1223467a3799506d9f44931aeec1d51cd26c))
### Miscellaneous Tasks
- Simplify workspace.members specification ([19d1f77](https://git.kemitix.net/kemitix/git-next/commit/19d1f770659e12bb6dc9733ebb1d134b96320898))
- Add license and descriptions for each crate ([e410cfc](https://git.kemitix.net/kemitix/git-next/commit/e410cfc4f187e77dbd323bd45c6fff1344aa5d0f))
- Release 0.9.1 ([fe23d3f](https://git.kemitix.net/kemitix/git-next/commit/fe23d3fe0aa2d6486024de15ebc6efe3f98faff9))
### Build
- Add publish-to-crates-io workflow ([9d11bb0](https://git.kemitix.net/kemitix/git-next/commit/9d11bb0e1fb97d67c5c734ffcfb6d1c48eb5d291))
- Add script to publish to crates.io ([0c7a060](https://git.kemitix.net/kemitix/git-next/commit/0c7a0602118f4873a185396f2da4d6e596143ad9))
- Disable broke publish workflow ([0981355](https://git.kemitix.net/kemitix/git-next/commit/0981355f28b0970f442f74386508e915e81a624e))
## [0.9.0] - 2024-07-12
[b0be0f6](https://git.kemitix.net/kemitix/git-next/commit/b0be0f636c2021d23448e4859f4ef8c3c58d2500)...[43c6e81](https://git.kemitix.net/kemitix/git-next/commit/43c6e812dc611a2538b45b48e2014e42ef492904)
### Bug Fixes
- Don't modify config of external repos ([57a614b](https://git.kemitix.net/kemitix/git-next/commit/57a614bad351c13788b6209635578b082abddb4d))
### Documentation
- Add roadmap to readme ([6a8d1bf](https://git.kemitix.net/kemitix/git-next/commit/6a8d1bf817b69766e15380e9f21679c5ea5d3c39))
### Features
- GitDir tracks when repo is cloned by git-next ([df35244](https://git.kemitix.net/kemitix/git-next/commit/df352443b7e990aecf15ca91b08fef510c391f22))
- Update auth of interal repos when changed in config ([9c20e78](https://git.kemitix.net/kemitix/git-next/commit/9c20e780d02dea6ede51ace2ebcba033d5fbd8e3))
- Log as an error when webhook url ends with a slash ([7578ab3](https://git.kemitix.net/kemitix/git-next/commit/7578ab31443a752c8f3ba792e782294e9518698c))
- Perform controlled shutdown on ctrl-c ([fd762e2](https://git.kemitix.net/kemitix/git-next/commit/fd762e2bd2fa054988f7ff31a37fb9a1cf603fd0))
- Recheck failed status ([5f36282](https://git.kemitix.net/kemitix/git-next/commit/5f36282667c8c2034f7259db0053d5561788047a))
### Miscellaneous Tasks
- Lint fix for Dockerfile ([cbf6c3b](https://git.kemitix.net/kemitix/git-next/commit/cbf6c3b73c04f844c30a26ade7b2ebd30d4c1e12))
- Bump docker runtime os image ([f61c556](https://git.kemitix.net/kemitix/git-next/commit/f61c556f5bd5d7206657a1958df16398271fdccd))
- Remove unused FakeOpenRepository ([d9feaea](https://git.kemitix.net/kemitix/git-next/commit/d9feaeaa7b06f7bdbf5988199a283eb6a7b4a6d9))
- Bacon treats clippy warnings as errors ([56756ca](https://git.kemitix.net/kemitix/git-next/commit/56756cab707c261f5bc7bcbfaa8f4b75f043eb96))
- Local dev used debug logging ([4252411](https://git.kemitix.net/kemitix/git-next/commit/425241196db84543be99dbd32acdbcaa6762a8fa))
- Release 0.9.0 ([43c6e81](https://git.kemitix.net/kemitix/git-next/commit/43c6e812dc611a2538b45b48e2014e42ef492904))
### Refactor
- Split git::repository::open::tests module ([2e374d3](https://git.kemitix.net/kemitix/git-next/commit/2e374d317a1870ee6331484f0429f5faa6b3511b))
- Split git::repository::tests module ([5ab075c](https://git.kemitix.net/kemitix/git-next/commit/5ab075c181557acad8e271ac08ddd0e729412ef8))
- Extract git::repository::factory module ([4e60be6](https://git.kemitix.net/kemitix/git-next/commit/4e60be61f752a1a2a4171d4266e0e21368f5c47c))
- Split server storage creation out from startup ([4276964](https://git.kemitix.net/kemitix/git-next/commit/4276964f4d0417b9deb953ae25ed54d02c80bab1))
- Split ReceiveServerConfig handler ([7212154](https://git.kemitix.net/kemitix/git-next/commit/721215403790283447b101652e80c1ef766f4611))
- Split messages and handlers for server-actor ([681b2c4](https://git.kemitix.net/kemitix/git-next/commit/681b2c4c10bd291c1a6772a2694c6abbb62c26da))
### Build
- Pin versions for docker base images ([6bbc894](https://git.kemitix.net/kemitix/git-next/commit/6bbc89490ae443871aa2a3a10ac4b503cee3157c))
## [0.8.1] - 2024-07-05
[8beef49](https://git.kemitix.net/kemitix/git-next/commit/8beef49b3e823444fb364cc1dcc4520edbe044d2)...[b0be0f6](https://git.kemitix.net/kemitix/git-next/commit/b0be0f636c2021d23448e4859f4ef8c3c58d2500)
### Bug Fixes
- Mermaid diagram syntax ([99d8672](https://git.kemitix.net/kemitix/git-next/commit/99d8672f553b97145feb756ac20ec57f90582474))
- Typos in mermaid diagram ([209b29d](https://git.kemitix.net/kemitix/git-next/commit/209b29d2172065d7529b395d256cf673cd9fd223))
- Default log level is info ([694135a](https://git.kemitix.net/kemitix/git-next/commit/694135a10b7262a3ad999443d91d42856b32d91f))
### Documentation
- Update crate interdependence graph ([9042005](https://git.kemitix.net/kemitix/git-next/commit/90420052cfca4100165e7af1b9cd7a15c0b269a7))
- Minor updates to README ([6c24a36](https://git.kemitix.net/kemitix/git-next/commit/6c24a364764c7cccc87dd5cc41b4671fb8afad47))
- Update installation instructions ([2483e85](https://git.kemitix.net/kemitix/git-next/commit/2483e851967a71efbeed02220197abd1b553bbe5))
### Miscellaneous Tasks
- Clean up footer of readme ([007a5bd](https://git.kemitix.net/kemitix/git-next/commit/007a5bd13c2255f4f407d2f122a5649f195e84f8))
- Directly re-export function and type ([7b19f3b](https://git.kemitix.net/kemitix/git-next/commit/7b19f3b66f0c8318613193f587a1e3401b97d33d))
- Remove unused token from github tests ([c2953ad](https://git.kemitix.net/kemitix/git-next/commit/c2953adba58f2dffca2160a410725a7c0a3cfd0d))
- Release 0.8.1 ([b0be0f6](https://git.kemitix.net/kemitix/git-next/commit/b0be0f636c2021d23448e4859f4ef8c3c58d2500))
### Refactor
- Cli don't depend directly on git crate ([3dec12d](https://git.kemitix.net/kemitix/git-next/commit/3dec12de2024ccbde94bd8b581c0397743f76bae))
- Server no longer depends directly on git crate ([12849d5](https://git.kemitix.net/kemitix/git-next/commit/12849d5a6956372b6fd0ee300570e078c3bd9346))
## [0.8.0] - 2024-07-02
[ea9a858](https://git.kemitix.net/kemitix/git-next/commit/ea9a858f4856600f955f6de45f0358414920d621)...[8beef49](https://git.kemitix.net/kemitix/git-next/commit/8beef49b3e823444fb364cc1dcc4520edbe044d2)
### Bug Fixes
- Remove unused GitDir::into_string() function ([65e9ddf](https://git.kemitix.net/kemitix/git-next/commit/65e9ddf5db05cf0ff2024ae70eb886475acf769a))
- Where repo config is in server should register webhook ([975c9e3](https://git.kemitix.net/kemitix/git-next/commit/975c9e315ce2a59ebb6742a0b1e42c1716dcec8c))
- Github: restarting server creates duplicate webhook for repo ([db90280](https://git.kemitix.net/kemitix/git-next/commit/db9028064188d766fc1ff872b81f63d1f6758fdd))
- Start validating repo after registering webhook ([68005d7](https://git.kemitix.net/kemitix/git-next/commit/68005d757d919a48bca3ac9d76583b9d98e3f89a))
- ReceiveRepoConfig tries to send two messages ([c9efbb9](https://git.kemitix.net/kemitix/git-next/commit/c9efbb993692a4a106d96eafb149e04f3aca0458))
- Don't retry validation when non-retryable error ([ae7933c](https://git.kemitix.net/kemitix/git-next/commit/ae7933c79ee6dc3190255282705ca030fd3d00a0))
- Github commit should use common headers ([73ab149](https://git.kemitix.net/kemitix/git-next/commit/73ab149aba4f6aac124b6a127514a443be91b914))
- Messages should always get delivered ([83ce957](https://git.kemitix.net/kemitix/git-next/commit/83ce95776e96639bfce09f5a6342f5d27eb0e8c6))
### Documentation
- Fix typo ([0796df0](https://git.kemitix.net/kemitix/git-next/commit/0796df00d49120004186ace7681815d0c4771fdb))
### Features
- Ignore github ping webhook messages ([55d8ccb](https://git.kemitix.net/kemitix/git-next/commit/55d8ccb0bd107bd9454c92569654aaf578074e0c))
- Load log levels from env RUST_LOG ([77d35e8](https://git.kemitix.net/kemitix/git-next/commit/77d35e8a0963f2223c20ff8032d3fb13f7cbedc3))
### Miscellaneous Tasks
- Remove dead code ([2acc43d](https://git.kemitix.net/kemitix/git-next/commit/2acc43d3d694c83e2ef9c1326a3c35c76b527de3))
- Remove unused Fake repo facade ([8ce4528](https://git.kemitix.net/kemitix/git-next/commit/8ce4528c88ae4fb1ad2f4eeb2fbe5ade8f3a7bb2))
- Fix name in config file ([f038ab5](https://git.kemitix.net/kemitix/git-next/commit/f038ab508b7dd24833ef3bd91248e8ed53f1325b))
- Bacon run job runs server ([880fa0c](https://git.kemitix.net/kemitix/git-next/commit/880fa0cc0e3a5492cad2932cf390159f5c893faf))
- Don't treat clippy warnings as errors ([7fdea29](https://git.kemitix.net/kemitix/git-next/commit/7fdea2913aabab23d0ad03897fea55b7f45d10ae))
- Set default logging lever back to info ([d0c731f](https://git.kemitix.net/kemitix/git-next/commit/d0c731fc013499e15b6874574b6fe070a4b44ad0))
- Release 0.8.0 ([8beef49](https://git.kemitix.net/kemitix/git-next/commit/8beef49b3e823444fb364cc1dcc4520edbe044d2))
### Refactor
- Tests: expand test given modules ([aa817a8](https://git.kemitix.net/kemitix/git-next/commit/aa817a8e95389b8f6767fd15cbe773743a4046a2))
- Use given::a_name in config tests ([b5c0f5b](https://git.kemitix.net/kemitix/git-next/commit/b5c0f5bd36d828879a761d8642ed3c33f9fa4093))
- Merge git::branch module into git::push ([c6a1d2c](https://git.kemitix.net/kemitix/git-next/commit/c6a1d2c21b3c4d48459678fc12bee505078a8885))
- Git::push::reset takes all params as refs ([dcd9473](https://git.kemitix.net/kemitix/git-next/commit/dcd94736a995a1b9401b350bba2e7487f91bc385))
- Rewrite git crate's mock repository ([926851d](https://git.kemitix.net/kemitix/git-next/commit/926851db1924e881a6d91e30c3d47c1229c06666))
- Clean up eprintln use ([9b97083](https://git.kemitix.net/kemitix/git-next/commit/9b970835c8f5576401784b0e80b0cf62837450d5))
- Add newtype macro ([2e71e40](https://git.kemitix.net/kemitix/git-next/commit/2e71e403789217afb05d40a4b7284865113a5f50))
- Start to use newtype macro ([5e9f9eb](https://git.kemitix.net/kemitix/git-next/commit/5e9f9eb80ff9e645576a73854a63b437d97731cf))
- Config: use newtype ([ea20afe](https://git.kemitix.net/kemitix/git-next/commit/ea20afee12f8f7e760e5641125dbf12cc073d74c))
- Create a RepositoryFactory trait ([94ad2c4](https://git.kemitix.net/kemitix/git-next/commit/94ad2c441c88563b501b5be570a3a1301a265349))
- Git: use newtype ([2cdaf39](https://git.kemitix.net/kemitix/git-next/commit/2cdaf39c0f0bd2ba1997faa141bbe24489591d0e))
- Forgejo: explain todo warnings ([601e400](https://git.kemitix.net/kemitix/git-next/commit/601e4003005df8fc678fd0015d45320aefc1531c))
- Repo-actor: rewrite tests using mockall ([ffab198](https://git.kemitix.net/kemitix/git-next/commit/ffab1986a77ab6c1fcc45788156b3168c85b8f56))
- Remove unused Forge Deref implementation ([f460cd4](https://git.kemitix.net/kemitix/git-next/commit/f460cd4b493210f81be625dd0276aa6efb61ae8c))
- Remove dead code ([6d9eb0a](https://git.kemitix.net/kemitix/git-next/commit/6d9eb0ab86b9fb5612b81cb365561a20c8b7e30c))
- Extract webhook actor ([eba00a1](https://git.kemitix.net/kemitix/git-next/commit/eba00a112f25ba0b2d8e8b71ae654803920efa32))
- Extract actor-macros crate ([2008afa](https://git.kemitix.net/kemitix/git-next/commit/2008afa4dd256d6796bf60203185f0fb66694c16))
- Extract file-watcher-actor crate ([52d442f](https://git.kemitix.net/kemitix/git-next/commit/52d442f2b05a743bdabe97c2ff2d44dbd44a9b51))
- Server: collapse tests to base of crate ([0fd3373](https://git.kemitix.net/kemitix/git-next/commit/0fd33739c108c22f7f8a36857dd04295a713fff7))
- Update macro signatures and add documentation support ([717cc8b](https://git.kemitix.net/kemitix/git-next/commit/717cc8b0bc19a5c02b6180521969a4fd7789644a))
- Remove dead code ([32fb92f](https://git.kemitix.net/kemitix/git-next/commit/32fb92fb8d14917c6ae82d42994b18770afeb025))
- CloneRepo use actor::do_send to send LoadConfigFromRepo ([c571e9e](https://git.kemitix.net/kemitix/git-next/commit/c571e9ee8ddad8333889846b59b612461248136f))
- Repo-actor: RepoActorLog: replace Mutex with RwLock ([3e137c6](https://git.kemitix.net/kemitix/git-next/commit/3e137c648099687a5faf52945650ec7325f8bc63))
- Tests: repo-actor: use methods on RepoActorLog ([52df211](https://git.kemitix.net/kemitix/git-next/commit/52df2114e5d6df2b150b64cd30e3c5a3c229fe28))
- Git: replace Mutex with RwLock in Repository ([73b416e](https://git.kemitix.net/kemitix/git-next/commit/73b416e3a010f9cd9522c01bca5e7b10dde1cb86))
- Repo-actor: replace Mutex with RwLock ([8fceafc](https://git.kemitix.net/kemitix/git-next/commit/8fceafc3e1f2d84299e4f2102881ec15c9688395))
- File-watcher doesn't debug log on each loop ([c85eee8](https://git.kemitix.net/kemitix/git-next/commit/c85eee85e94a6059efda1ac1ee3a0b3e59be17d1))
- Only start actor system when server starts ([dfc0c1d](https://git.kemitix.net/kemitix/git-next/commit/dfc0c1dc8097234daf5a9e44f40dc834778e4d5f))
### Testing
- Tidy up config, forgejo and git tests ([271f4ec](https://git.kemitix.net/kemitix/git-next/commit/271f4ec1dcb4fd0020221cbd600d3cb1dfdbf04c))
- Add more tests to git crate ([588666f](https://git.kemitix.net/kemitix/git-next/commit/588666ffe19d13c820c4f19dd162b9aea0a7f1b0))
- Make TestRepository from git crate available to other crates ([be78597](https://git.kemitix.net/kemitix/git-next/commit/be78597331380aded1f750bc11c5267ec492943f))
- Use println rather then eprintln in tests ([b9940cd](https://git.kemitix.net/kemitix/git-next/commit/b9940cd205678d8533f057e58e8d5ba1263e593f))
- Repo-actor: add more tests ([e585b07](https://git.kemitix.net/kemitix/git-next/commit/e585b07f6b987294a85107aa268b9083fa1495cc))
- Add more debug tracing ([40c61fa](https://git.kemitix.net/kemitix/git-next/commit/40c61fa9ff41c552aee7e08bc359113f47cc0515))
### Refactos
- Extract server-actor crate ([1131920](https://git.kemitix.net/kemitix/git-next/commit/113192042b8a2e43ccf37440ee85e4d1c280cc9d))
## [0.7.1] - 2024-06-06
[c1c62e7](https://git.kemitix.net/kemitix/git-next/commit/c1c62e7659f9c94a51da72a85a96ebf920457572)...[ea9a858](https://git.kemitix.net/kemitix/git-next/commit/ea9a858f4856600f955f6de45f0358414920d621)
### Bug Fixes
- Github: use correct url to check CI status ([46e2871](https://git.kemitix.net/kemitix/git-next/commit/46e2871e17677745ef6d11e7e3d50014d6da1e1d))
- Github: as soon as any check fails, ignore any pending ([7b280a2](https://git.kemitix.net/kemitix/git-next/commit/7b280a2a0a3090ad6726fe467d2c52d864a78fb9))
### Documentation
- Update installation instructions ([044790a](https://git.kemitix.net/kemitix/git-next/commit/044790a0194bf67e850ac6b04ece248bdc2c3c2f))
- Flesh out and update README ([8d42945](https://git.kemitix.net/kemitix/git-next/commit/8d42945c373dab179ea4ac9c0527f2cbcdc9893c))
- Fix typos and clarifications ([9462957](https://git.kemitix.net/kemitix/git-next/commit/9462957c5e09e9fef1db977cd0c46f01395801bc))
### Miscellaneous Tasks
- Remove unused dependencies ([235aee8](https://git.kemitix.net/kemitix/git-next/commit/235aee8b11e07926d8b507d4d4b5444a0b0c354a))
- Add grcov-coverage as an alternate report generation recipe ([d67b821](https://git.kemitix.net/kemitix/git-next/commit/d67b821130d1b73765ffcd60952a35141a4b8d3d))
- Ignore coverage metadata (profraw files) ([8609652](https://git.kemitix.net/kemitix/git-next/commit/86096529284ab1eea72b864cd33b68845eae7c7d))
- Release 0.7.1 ([ea9a858](https://git.kemitix.net/kemitix/git-next/commit/ea9a858f4856600f955f6de45f0358414920d621))
### Refactor
- Config: use thiserror and move tests about ([0b8e41a](https://git.kemitix.net/kemitix/git-next/commit/0b8e41a8ecca1ee8f565478f7b275b8228df123c))
- Git: use thiserror and cleanup errors ([621e599](https://git.kemitix.net/kemitix/git-next/commit/621e599b31b98b359bbe7afa2c239fa9a91c6dc7))
- Server: use thiserror ([e29c274](https://git.kemitix.net/kemitix/git-next/commit/e29c274aaf14c68761bf68e6a054985eba567fa5))
### Testing
- Add more tests to config crate ([1010eae](https://git.kemitix.net/kemitix/git-next/commit/1010eaec649329c4745740b25298824bfade43d5))
- Add more tests to forge crate ([98839c8](https://git.kemitix.net/kemitix/git-next/commit/98839c8a00148b1c6bfb3cd26f0780d1e66d451c))
- Add more tests to forge-forgejo crate ([c189aa3](https://git.kemitix.net/kemitix/git-next/commit/c189aa3ad3fe05d16b0310820c3f43d883db0ba7))
- Add more tests to forge-github crate ([309e523](https://git.kemitix.net/kemitix/git-next/commit/309e523cfe35d00fecdb61575bc339b1bf35024f))
## [0.7.0] - 2024-05-31
[17148e7](https://git.kemitix.net/kemitix/git-next/commit/17148e74b6390997cf673b47f18f4876ff97938c)...[c1c62e7](https://git.kemitix.net/kemitix/git-next/commit/c1c62e7659f9c94a51da72a85a96ebf920457572)
### Bug Fixes
- Add missing list webhooks implementation ([1eb4ed6](https://git.kemitix.net/kemitix/git-next/commit/1eb4ed6d2320f5b7117fc2d08fa68e5dae28c25b))
### Features
- Webhook query paths include forge alias ([206e64c](https://git.kemitix.net/kemitix/git-next/commit/206e64cd5b478a94cdbdebfde5b87dd36d92da77))
- Add support for GitHub ([46b6d86](https://git.kemitix.net/kemitix/git-next/commit/46b6d8680cc61ce22deeb6a28838eb3ea87e5cde))
### Miscellaneous Tasks
- Release 0.7.0 ([c1c62e7](https://git.kemitix.net/kemitix/git-next/commit/c1c62e7659f9c94a51da72a85a96ebf920457572))
## [0.6.2] - 2024-05-29
[3642b2c](https://git.kemitix.net/kemitix/git-next/commit/3642b2cdd11de2bf49c1214c9938a86517d6a7fd)...[17148e7](https://git.kemitix.net/kemitix/git-next/commit/17148e74b6390997cf673b47f18f4876ff97938c)
### Bug Fixes
- Remove old implementation of forgejo get all branches ([9f04b1a](https://git.kemitix.net/kemitix/git-next/commit/9f04b1ae6cd380318ab7b755d7adc6baf44f727a))
### Documentation
- Update dependency graph ([e62f5e2](https://git.kemitix.net/kemitix/git-next/commit/e62f5e23197731b2f7e62ad74b912821a8b47f1c))
### Miscellaneous Tasks
- Release 0.6.1 ([942a71e](https://git.kemitix.net/kemitix/git-next/commit/942a71efd4b6248a4a8c6ddab30fa544d641d50b))
- Release 0.6.2 ([17148e7](https://git.kemitix.net/kemitix/git-next/commit/17148e74b6390997cf673b47f18f4876ff97938c))
### Refactor
- Get commit from from local repo (part 2/3) ([8a35911](https://git.kemitix.net/kemitix/git-next/commit/8a35911d0064af6104490e215590c9e615b8ea70))
- Move validate_positions into git crate ([dd5532d](https://git.kemitix.net/kemitix/git-next/commit/dd5532d3a3c76ef8fc314fa963c74720cc8518c0))
- Merge git::validate module into git::validation ([f10dc25](https://git.kemitix.net/kemitix/git-next/commit/f10dc25aeb0117af9db1d815624ad1a5bffb96ff))
- Move repo_clone implementation to git crate ([d0638fd](https://git.kemitix.net/kemitix/git-next/commit/d0638fdbc44927ae7927dcf373b20158469e6af6))
- Move git::read_file implementation to git crate ([f259179](https://git.kemitix.net/kemitix/git-next/commit/f2591792741aa19b17eccb2f78fd3114555622a6))
- Move git::remote_branches to git crate ([012668d](https://git.kemitix.net/kemitix/git-next/commit/012668dd0a5125549ada440dd365a99b40e60863))
## [0.6.1] - 2024-05-25
[6cab8bb](https://git.kemitix.net/kemitix/git-next/commit/6cab8bb2baf7ae8300f9496c1e843531839e30e5)...[3642b2c](https://git.kemitix.net/kemitix/git-next/commit/3642b2cdd11de2bf49c1214c9938a86517d6a7fd)
### Bug Fixes
- New commit_log matches original from API request ([3642b2c](https://git.kemitix.net/kemitix/git-next/commit/3642b2cdd11de2bf49c1214c9938a86517d6a7fd))
## [0.6.0] - 2024-05-25
[8616225](https://git.kemitix.net/kemitix/git-next/commit/8616225a28d94964401c6de6442c7408848f6c1f)...[6cab8bb](https://git.kemitix.net/kemitix/git-next/commit/6cab8bb2baf7ae8300f9496c1e843531839e30e5)
### Features
- Config file watcher will respond to touch ([ebbb655](https://git.kemitix.net/kemitix/git-next/commit/ebbb655bfca3561059e068606a32dcb17d490f5e))
### Miscellaneous Tasks
- Don't directly open coverage report ([c92e41e](https://git.kemitix.net/kemitix/git-next/commit/c92e41ee564f36470511b2d093c1e00ae66078d4))
- Release 0.6.0 ([6cab8bb](https://git.kemitix.net/kemitix/git-next/commit/6cab8bb2baf7ae8300f9496c1e843531839e30e5))
### Refactor
- Disolve gitforge:errors module ([564e14a](https://git.kemitix.net/kemitix/git-next/commit/564e14a3704b3fac8c1477e47513e3ff0cdb3992))
- Move MessageToken to repo-actor crate ([4053563](https://git.kemitix.net/kemitix/git-next/commit/4053563b30b111f91b9cecb25184100a7b8d4e9c))
- Rename gitforge crate as forge ([f2af849](https://git.kemitix.net/kemitix/git-next/commit/f2af849d0b2ed122a11125b382017c714fbd96ad))
- Improve consistency of use of git types ([639223f](https://git.kemitix.net/kemitix/git-next/commit/639223fcaa1d570fa1ddf315f8a688c16f1a1cea))
- Move ForgeLike to git ([64cbe36](https://git.kemitix.net/kemitix/git-next/commit/64cbe36dac1a893ca892d04c9815dc39eb9ac5f1))
- Merge config and load modules ([17b1629](https://git.kemitix.net/kemitix/git-next/commit/17b1629cdf841102be1b9881024d2c749c8169db))
- Consitent use of config crate ([9e37c07](https://git.kemitix.net/kemitix/git-next/commit/9e37c073c2564e0d2c8de7068beb9707cd7f6a94))
- Extract forge-forgejo crate ([5253e13](https://git.kemitix.net/kemitix/git-next/commit/5253e136cc5cd352f6d7facc6b3b25b09229bd9f))
- Remove unused git branch error ([0202be1](https://git.kemitix.net/kemitix/git-next/commit/0202be19febfa7ce46c1137a18c37d0e2dfebfe7))
- Move forgejo branch test to forgejo crate ([7818b25](https://git.kemitix.net/kemitix/git-next/commit/7818b25a5c5b33c8a56cd597d48ded2296d1e7f3))
- Get commit log from local repo (step 1) ([7a0247e](https://git.kemitix.net/kemitix/git-next/commit/7a0247ea03b61b3b93a712db1db4aad52778d1c7))
### Testing
- Don't record coverage for mock forge ([d76be11](https://git.kemitix.net/kemitix/git-next/commit/d76be1197a7f96c4b5d6dd7d749d0cb07b45bf36))
### Build
- Forge only include forgejo crate when feature enabled ([4cd797a](https://git.kemitix.net/kemitix/git-next/commit/4cd797ac0a90516eabfb031132739614d87426fc))
## [0.5.2] - 2024-05-22
[e5744e8](https://git.kemitix.net/kemitix/git-next/commit/e5744e85adfbe55c6ef4e8c018de71e2b1266153)...[8616225](https://git.kemitix.net/kemitix/git-next/commit/8616225a28d94964401c6de6442c7408848f6c1f)
### Documentation
- Add diagram showing crate dependencies ([2dbd421](https://git.kemitix.net/kemitix/git-next/commit/2dbd42163aa88c62ea69a1a2cfc8fe5cc1c90fcf))
### Miscellaneous Tasks
- Remove feature declarations ([ac25c99](https://git.kemitix.net/kemitix/git-next/commit/ac25c9985e9e49c5495b77634755ae8ad7f2eb5f))
- Release v0.5.2 ([8616225](https://git.kemitix.net/kemitix/git-next/commit/8616225a28d94964401c6de6442c7408848f6c1f))
### Refactor
- Add mock repository and tests ([341dc97](https://git.kemitix.net/kemitix/git-next/commit/341dc97a51792b89fea6f60e9d3dbcf255e1d2cc))
- Collapse type module into gitforge module ([df8ebc6](https://git.kemitix.net/kemitix/git-next/commit/df8ebc6af7c5730e12d91ef740b506867b5097b6))
- Extract repo-actor and gitforge crates ([db9b422](https://git.kemitix.net/kemitix/git-next/commit/db9b4220ee64607529348d91bfba103f81a688c9))
## [0.5.1] - 2024-05-21
[eabeeed](https://git.kemitix.net/kemitix/git-next/commit/eabeeeda4791559afadd7d16f2d48fac755f953d)...[e5744e8](https://git.kemitix.net/kemitix/git-next/commit/e5744e85adfbe55c6ef4e8c018de71e2b1266153)
### Bug Fixes
- Invalid webhook authorisations ([e5744e8](https://git.kemitix.net/kemitix/git-next/commit/e5744e85adfbe55c6ef4e8c018de71e2b1266153))
## [0.5.0] - 2024-05-20
[d241273](https://git.kemitix.net/kemitix/git-next/commit/d241273345c73f7afb29bf1623b72b9680a5b7bb)...[eabeeed](https://git.kemitix.net/kemitix/git-next/commit/eabeeeda4791559afadd7d16f2d48fac755f953d)
### Bug Fixes
- Don't use gix in server ([4977619](https://git.kemitix.net/kemitix/git-next/commit/4977619c701358ae9a4a6c29387a8bfb048c932c))
- Git-cliff template add null check ([ba92f23](https://git.kemitix.net/kemitix/git-next/commit/ba92f23b4105725e02ce4e6d1ee736212f2db0db))
### Documentation
- Added ([5e5445f](https://git.kemitix.net/kemitix/git-next/commit/5e5445f45d393cfc5180cba81bedfefd3a8007cc))
- Updated for 0.5.0 release ([eabeeed](https://git.kemitix.net/kemitix/git-next/commit/eabeeeda4791559afadd7d16f2d48fac755f953d))
### Features
- Display expected auth in logs in invalid request ([c6c8dce](https://git.kemitix.net/kemitix/git-next/commit/c6c8dcedc5d074f0c136c6ebef36d448ebe6af92))
### Miscellaneous Tasks
- Version set to 0.5.0 ([692a860](https://git.kemitix.net/kemitix/git-next/commit/692a860f6c68e202a5176f01a694a23ff3ea79bd))
### Refactor
- Split mock, real and open into their files ([155497c](https://git.kemitix.net/kemitix/git-next/commit/155497c97f0c56a531fe5dd1a8e8919e22b0c0a3))
- Reporitory errors don't leak implementation ([70100f6](https://git.kemitix.net/kemitix/git-next/commit/70100f6dc54b413775e7317d861291be56a1cc31))
- Only expose OpenRepository from repository::open ([c3c4c41](https://git.kemitix.net/kemitix/git-next/commit/c3c4c41c732db52758d8ea42c0e4b6bad8a78ae1))
### Testing
- Add more tests ([f4b8401](https://git.kemitix.net/kemitix/git-next/commit/f4b8401bb113c3d645ba81a8765577829b2f2cb6))
### Build
- Validate format locally ([7b1575e](https://git.kemitix.net/kemitix/git-next/commit/7b1575eb09ddbfa383ff12991b04c2810a88f10a))
## [0.4.1] - 2024-05-19
[f302f7a](https://git.kemitix.net/kemitix/git-next/commit/f302f7a5f804390fa63003f8564e181f3b760cc1)...[d241273](https://git.kemitix.net/kemitix/git-next/commit/d241273345c73f7afb29bf1623b72b9680a5b7bb)
### Miscellaneous Tasks
- Version set to 0.4.1 ([d241273](https://git.kemitix.net/kemitix/git-next/commit/d241273345c73f7afb29bf1623b72b9680a5b7bb))
### Build
- Upgrade to clang-16 ([7b0d567](https://git.kemitix.net/kemitix/git-next/commit/7b0d56746fe559b44026d8b2144c1cd4967eb076))
### Revert
- "build(woodpecker): remove redundant build of a builder images" ([8e22a47](https://git.kemitix.net/kemitix/git-next/commit/8e22a472cb4e71e7bd49e4a89c7547af2133a24c))
## [0.4.0] - 2024-05-18
[a4694d4](https://git.kemitix.net/kemitix/git-next/commit/a4694d48f68c0caf4df8ff59912bec0d52b7fd25)...[f302f7a](https://git.kemitix.net/kemitix/git-next/commit/f302f7a5f804390fa63003f8564e181f3b760cc1)
### Documentation
- Remove build status badge from woodpecker ([4924e9b](https://git.kemitix.net/kemitix/git-next/commit/4924e9b3f0d60c0f654dd460ed51fe4c47a9fb43))
- Add prerequisits ([2cefe07](https://git.kemitix.net/kemitix/git-next/commit/2cefe07a80738c7127fc3c18a983b1455a211ad4))
- Add msrv and some formatting ([e3205af](https://git.kemitix.net/kemitix/git-next/commit/e3205af094a08436dce6cff86dcd6b9daad3ab61))
### Features
- Log errors in webhook requests ([6757723](https://git.kemitix.net/kemitix/git-next/commit/6757723b779ad0f0b9e239f3ff9757d40b4f91d4))
- Remove unused features from dependencies ([85d38ed](https://git.kemitix.net/kemitix/git-next/commit/85d38ede56b8b3f8220083a1309f083cbcd532ed))
- Don't log individual internal messages ([ee83def](https://git.kemitix.net/kemitix/git-next/commit/ee83def127272720232113ac83d41c66cc0eaae5))
- Don't log validation ok ([9d0f2d1](https://git.kemitix.net/kemitix/git-next/commit/9d0f2d1ba13539db7096f34c5641b438b23eb226))
- Warn when message is dropped ([f398fb3](https://git.kemitix.net/kemitix/git-next/commit/f398fb3b6a122a135f308fd54244f67c37d62670))
### Miscellaneous Tasks
- Add coverage recipe ([b7416c7](https://git.kemitix.net/kemitix/git-next/commit/b7416c7434d30aade3adea1a4402d4eaa08ba960))
- Remove dependency on terrors ([f56ac32](https://git.kemitix.net/kemitix/git-next/commit/f56ac321f4f6a36b011564d9bc39573eb4770dd0))
- Remove unused dependency anyhow ([f1a6d50](https://git.kemitix.net/kemitix/git-next/commit/f1a6d5089b69abfd5613924e7d38ee5e4d9038a3))
- Remove dependency test-log ([d6ca6ea](https://git.kemitix.net/kemitix/git-next/commit/d6ca6ea3b27a26dce0bf9ec44fec648b15ddd7cb))
- Remove dependency pretty_assertions ([6c06d63](https://git.kemitix.net/kemitix/git-next/commit/6c06d63c57c3d2abf9a40e4dc5e002022431e0d6))
- Remove unused dependency tempfile ([76472fa](https://git.kemitix.net/kemitix/git-next/commit/76472fa74abe6200f44092bd1ab582f58b4af33e))
- Version set to 0.4.0 ([f302f7a](https://git.kemitix.net/kemitix/git-next/commit/f302f7a5f804390fa63003f8564e181f3b760cc1))
### Refactor
- More use of derive_more ([c374076](https://git.kemitix.net/kemitix/git-next/commit/c3740763230f981a70e1ff43f7b36d8edbfdfa29))
- More derive_more replacing boilerplate ([d70baa4](https://git.kemitix.net/kemitix/git-next/commit/d70baa4350f175a32e25eb3689184ac595c98bd6))
- More derive_more replacing boilerplate ([eb7d14b](https://git.kemitix.net/kemitix/git-next/commit/eb7d14bc33fae76bcf7ca429a0ead521bd94d278))
- Rename RepoConfigValidationError as Error ([f8375ed](https://git.kemitix.net/kemitix/git-next/commit/f8375ed1fc58f5f2ee4c0997e91f92f2fae346f6))
- More derive_more replacing boilerplate ([d87af32](https://git.kemitix.net/kemitix/git-next/commit/d87af324d6dafce077979330211b131dafb275f3))
- Rename reset as push ([446300e](https://git.kemitix.net/kemitix/git-next/commit/446300e7869a154a83aa2a82cc18529db035c163))
### Testing
- Add tests ([a7e7d12](https://git.kemitix.net/kemitix/git-next/commit/a7e7d12928e93f451c2c1634fb9cd2048026ec44))
- Add some tests ([ac3e1be](https://git.kemitix.net/kemitix/git-next/commit/ac3e1be261e668762f879f9011de65a1d6e0cfa1))
- Add more tests ([896e1cb](https://git.kemitix.net/kemitix/git-next/commit/896e1cba42381da2fb1dded912cfb58e9a0cd435))
- Add more tests ([c3a5e50](https://git.kemitix.net/kemitix/git-next/commit/c3a5e50ad539387d276518df2d49bca2e30d6623))
- Make repository more testable ([58e991b](https://git.kemitix.net/kemitix/git-next/commit/58e991b2b7fae7aaf9fe26385131988c41835baf))
### Build
- Add demo action ([45e172e](https://git.kemitix.net/kemitix/git-next/commit/45e172e181f074dd321312b8ed65aad31bf39690))
- Triger action ([d909d42](https://git.kemitix.net/kemitix/git-next/commit/d909d427c7082dc0705d7b7f16d5093165764ecf))
- Add push-next job ([0f7d1a8](https://git.kemitix.net/kemitix/git-next/commit/0f7d1a8d4230a972caffc491b92621ec7de664b9))
- Drop action based on builder ([8107411](https://git.kemitix.net/kemitix/git-next/commit/8107411935d4c6d96d44cce1d055b6b7a225a10f))
- Remove build_and_lint and test from push-next ([c90aef3](https://git.kemitix.net/kemitix/git-next/commit/c90aef3796f55cd9d15f6978becee111a12ce487))
- Use rust action ([29c03b9](https://git.kemitix.net/kemitix/git-next/commit/29c03b936d910027a36714ed51a6eddeb71a3a0b))
- Remove redundant build of a builder images ([38f236f](https://git.kemitix.net/kemitix/git-next/commit/38f236fc37dfd3ca35e7f05442ac4cd42dce22d0))
## [0.3.3] - 2024-05-13
[1e38330](https://git.kemitix.net/kemitix/git-next/commit/1e383309143cc9e9287a2531115bd63c7e47bb88)...[a4694d4](https://git.kemitix.net/kemitix/git-next/commit/a4694d48f68c0caf4df8ff59912bec0d52b7fd25)
### Refactor
- Replace boilerplate with derive_more ([a4694d4](https://git.kemitix.net/kemitix/git-next/commit/a4694d48f68c0caf4df8ff59912bec0d52b7fd25))
### Build
- Install git ([c7c95a5](https://git.kemitix.net/kemitix/git-next/commit/c7c95a57508d44e36fe9edf2f4f0ee0e0f516dd3))
## [0.3.2] - 2024-05-13
[e34d5c2](https://git.kemitix.net/kemitix/git-next/commit/e34d5c2c2cc20ae11bea377f384806a9c50515ab)...[1e38330](https://git.kemitix.net/kemitix/git-next/commit/1e383309143cc9e9287a2531115bd63c7e47bb88)
### Features
- Add git_dir value to error when reset fails ([1e38330](https://git.kemitix.net/kemitix/git-next/commit/1e383309143cc9e9287a2531115bd63c7e47bb88))
## [0.3.1] - 2024-05-12
[1cd56d9](https://git.kemitix.net/kemitix/git-next/commit/1cd56d953ef084a19c6013eeffe34030d6230ef7)...[e34d5c2](https://git.kemitix.net/kemitix/git-next/commit/e34d5c2c2cc20ae11bea377f384806a9c50515ab)
### Bug Fixes
- Clippy fixes for tests ([a8eedfc](https://git.kemitix.net/kemitix/git-next/commit/a8eedfcac56779483c68bd507d8a773afff811fb))
### Miscellaneous Tasks
- Convert project into a cargo workspace ([834dff4](https://git.kemitix.net/kemitix/git-next/commit/834dff4370ec3d9c4c51a7c2fce52153c114f32c))
- Clean up dependencies for split crates ([87c762c](https://git.kemitix.net/kemitix/git-next/commit/87c762c59a1bb952e88d4f039790437ea3da4ab8))
### Refactor
- Extract server crate ([3a112dd](https://git.kemitix.net/kemitix/git-next/commit/3a112ddd8bcdce97358cf2f19fccfe7865a697fd))
- Specify server dependency in workspace ([740419f](https://git.kemitix.net/kemitix/git-next/commit/740419ffb8f82cc826dbbe82f13fb20c0aad0648))
- Extract modules config and git from server ([4d352f0](https://git.kemitix.net/kemitix/git-next/commit/4d352f005df8628733ed96e65b21f6b137ca93bd))
### Build
- Clean up and update debian version ([e34d5c2](https://git.kemitix.net/kemitix/git-next/commit/e34d5c2c2cc20ae11bea377f384806a9c50515ab))
## [0.3.0] - 2024-05-10
[3c60ff9](https://git.kemitix.net/kemitix/git-next/commit/3c60ff99ef2642b0ceb927a9076fc0c8cf973479)...[1cd56d9](https://git.kemitix.net/kemitix/git-next/commit/1cd56d953ef084a19c6013eeffe34030d6230ef7)
### Bug Fixes
- Deserialise gitdir as PathBuf, but expose it as GitDir ([ee8b1e9](https://git.kemitix.net/kemitix/git-next/commit/ee8b1e9fce87097548b0cc0544077c192c81bca5))
- Format path to clone into correctly ([555aada](https://git.kemitix.net/kemitix/git-next/commit/555aada7e99899ed53efcf51ecd13b37dc64e0b8))
- Use local repo or clone to allow git push ([5ba5a12](https://git.kemitix.net/kemitix/git-next/commit/5ba5a126c3d3ca74e64da370b22b14fa87b3b5fb))
- Don't try to reset next when dev is not based on main ([7e79f48](https://git.kemitix.net/kemitix/git-next/commit/7e79f4877a8a31e1a8610af5d9ca33a8bce7c651))
### Features
- Add recipe for exposing webhook server ([dfd7d32](https://git.kemitix.net/kemitix/git-next/commit/dfd7d32c948c7af3aec48927af9d7813e2fc2d04))
- Replace webhook if it already exists ([ec9571a](https://git.kemitix.net/kemitix/git-next/commit/ec9571a182598291a95357778870c8216b5cd7d8))
- Replace git abstraction ([adb44d1](https://git.kemitix.net/kemitix/git-next/commit/adb44d18c9209d8e73a4e5ae2c12f0fc8d927909))
- User can specify git directory to use for a repo ([7048530](https://git.kemitix.net/kemitix/git-next/commit/704853017b1e63c73a96f52cbb4813dccc2e765a))
- User must specify a directory to store data ([16dc823](https://git.kemitix.net/kemitix/git-next/commit/16dc823f58aded0bcabaea46efd223f6e0ee6904))
- Add ability to clone a repo ([9187005](https://git.kemitix.net/kemitix/git-next/commit/91870055b0ec2ff487724adc1f48a23aa28e43c2))
- Add GitDir type ([56e253b](https://git.kemitix.net/kemitix/git-next/commit/56e253b545188c4a0a114bd4a75501ea19f3a248))
- Use GitDir in place of raw PathBuf ([a024c3d](https://git.kemitix.net/kemitix/git-next/commit/a024c3de5e04d3fd1d339c91dca2c8598b70e3c1))
- Add gitdir to RepoDetails type ([b71aece](https://git.kemitix.net/kemitix/git-next/commit/b71aece8c90144baee2820e180570cf3d8a7641a))
- Clone repo when starting repo ([17f5f62](https://git.kemitix.net/kemitix/git-next/commit/17f5f62e614e97fec696c6f0c62dcafeaeda1300))
- Impl Deref for GitDir ([7b46045](https://git.kemitix.net/kemitix/git-next/commit/7b46045737696328f4bd10197559374ff786e8f1))
- Validate repo if it already exists ([ff6e61b](https://git.kemitix.net/kemitix/git-next/commit/ff6e61b0eefb326092af97dcc44c6d5623acbd43))
- Clone repo in-process ([bb67b7c](https://git.kemitix.net/kemitix/git-next/commit/bb67b7c66dfc52b16632834935d9b8157c63e1af))
- Use specified gitdir when supplied ([31ef0c1](https://git.kemitix.net/kemitix/git-next/commit/31ef0c19fbf10d0a91d830c6b1ec45208bdbed63))
- Remove redundant call to register webhook ([2c5f497](https://git.kemitix.net/kemitix/git-next/commit/2c5f497be2d6f6f175527ead3ebb7e988761c365))
- Avoid duplicate messages being passed for repo actor ([da5bc69](https://git.kemitix.net/kemitix/git-next/commit/da5bc6950817afb84a55b1e11a709ad199d1a2cd))
- Extract Server actor ([9b21117](https://git.kemitix.net/kemitix/git-next/commit/9b211179bf8c3a5a1273a7f343a56cf40628c733))
- Give Server an incremental generation counter ([b1638a6](https://git.kemitix.net/kemitix/git-next/commit/b1638a65fc6e41e1d1182974d4612ee003af4311))
- Restart server when config file is updated ([6d147ef](https://git.kemitix.net/kemitix/git-next/commit/6d147efe32f5591a84aff8780de03de2a28beee0))
- Don't load config from repo if repo config is in server config ([ec2ebe7](https://git.kemitix.net/kemitix/git-next/commit/ec2ebe70cf60ecfb2232729ef3ef2137f220c3a7))
- Reload .git-next.toml from repo when main branch updated ([e5a8051](https://git.kemitix.net/kemitix/git-next/commit/e5a8051a3160902b78f29b0e4fdf6dfbc1bbb295))
- Extract git::reset from gitforge::forgejo ([e806278](https://git.kemitix.net/kemitix/git-next/commit/e8062788a0a0195a4b16e7bdbb30ec331195b0ff))
- Include repo in missing handler logs ([b7aa417](https://git.kemitix.net/kemitix/git-next/commit/b7aa417831431c2fc835583daa2817d10056c9d4))
- Cache Repository in RepoActor ([992821d](https://git.kemitix.net/kemitix/git-next/commit/992821d563ade9ca109cd400614c28913b9ccf5e))
- Use cached Repository from RepoActor ([62bee38](https://git.kemitix.net/kemitix/git-next/commit/62bee38c85397bb4fcde8e05cca5872eed24843b))
- Allow specifying id address and port to bind to ([1cd56d9](https://git.kemitix.net/kemitix/git-next/commit/1cd56d953ef084a19c6013eeffe34030d6230ef7))
### Miscellaneous Tasks
- Version set to 0.3.0 ([c625105](https://git.kemitix.net/kemitix/git-next/commit/c6251052b78854c087e83d6907aefe976b8e4cca))
- Clean up and reformat logging ([7516ec1](https://git.kemitix.net/kemitix/git-next/commit/7516ec1dc17258fc2f362d53aaf39b2757e61433))
- More cleaning up of logging around fetch and reset ([709fde1](https://git.kemitix.net/kemitix/git-next/commit/709fde18d11c15c9ef51a3d8bdbf7c5052c6119a))
- Fix typo ([96994f2](https://git.kemitix.net/kemitix/git-next/commit/96994f23904833aff1e9893894f21f42b037e222))
### Refactor
- Migrate some types from forge ([0d57ee7](https://git.kemitix.net/kemitix/git-next/commit/0d57ee7bc0f60b7edf8c73cfda0631ddbafeec9e))
- Delete dead code ([0bfa1df](https://git.kemitix.net/kemitix/git-next/commit/0bfa1df875f7dc8dfeeecc173db6e0239d1c1166))
- Move server config loading out of forgejo module ([50a969e](https://git.kemitix.net/kemitix/git-next/commit/50a969ede64af5115bba2807bf0481db34b6bd29))
- Use 'server_repo_config' consistently ([1170510](https://git.kemitix.net/kemitix/git-next/commit/1170510c440f1d8384f1d6741115d650cfa56850))
- Use 'repo_path' use consistently ([18143c1](https://git.kemitix.net/kemitix/git-next/commit/18143c17fd519e5c80e6ea2a37c0095ba76b7a30))
- Move tests into their own file ([e10561f](https://git.kemitix.net/kemitix/git-next/commit/e10561f853b993e3c295d4da318c63c067211ff8))
- Rename config variables,etc as repo_config ([32d54cf](https://git.kemitix.net/kemitix/git-next/commit/32d54cfc1c5aefd0378f60cfea7e2ba84824f811))
- Rename name to repo_alias for consistency ([8b56a18](https://git.kemitix.net/kemitix/git-next/commit/8b56a185d37028c343054c768b17d52e8db9f152))
- Rename name to forge_name for consistency ([fc1c796](https://git.kemitix.net/kemitix/git-next/commit/fc1c79620cfea7d34c531ebc4f3690240b05b3b5))
- Rename forge as forge_config ([3dfbd44](https://git.kemitix.net/kemitix/git-next/commit/3dfbd44b373bbd0bcfc5e3a0d732945319e6cb83))
- Extract Repository::open and clone ([daa40e7](https://git.kemitix.net/kemitix/git-next/commit/daa40e762196d276df271a219de47a0c0931752c))
### Build
- Renovate should avoid pointless patch PRs ([60af21d](https://git.kemitix.net/kemitix/git-next/commit/60af21d07e6e1ba4c7211d71b44c318a2081e54c))
- Specify clippy flags in Cargo.toml ([d42c8fb](https://git.kemitix.net/kemitix/git-next/commit/d42c8fb8900a396b972e0d70ad58b9b59fc1bce4))
## [0.2.0] - 2024-04-14
[8ed942a](https://git.kemitix.net/kemitix/git-next/commit/8ed942a50137f1932500fa4cd64d1484600fb3d8)...[3c60ff9](https://git.kemitix.net/kemitix/git-next/commit/3c60ff99ef2642b0ceb927a9076fc0c8cf973479)
### Bug Fixes
- Avoid using terrors::OneOf across an await boundary ([0b427f1](https://git.kemitix.net/kemitix/git-next/commit/0b427f1d4cf6d46291520eb6d2b26334fc730ace))
- Don't reload config when updating next branch ([3735afb](https://git.kemitix.net/kemitix/git-next/commit/3735afb2f80d478573e8234fbc2507bec051ec7d))
- Prevent losing a task waker ([869935d](https://git.kemitix.net/kemitix/git-next/commit/869935dfc2a281f3c638c41812249390dbe78330))
- Treat a blank status check result as pending ([e8d174e](https://git.kemitix.net/kemitix/git-next/commit/e8d174ee846abe353d8859dfe0f822dbcab03c1b))
- Don't log url containing API token ([ee9cc53](https://git.kemitix.net/kemitix/git-next/commit/ee9cc53540c75e5c513b6204b28f5d7204770251))
- Visibility on methods ([af221f8](https://git.kemitix.net/kemitix/git-next/commit/af221f8a2f64f806a3699f60c410ab10527f3424))
- Always reschedule to validate repos ([e272ca2](https://git.kemitix.net/kemitix/git-next/commit/e272ca296bc1749865b284aeb66d39b5efebf56e))
- Update rust crate gix to 0.62 (#40) ([cfa25b7](https://git.kemitix.net/kemitix/git-next/commit/cfa25b7f677ecb777bf9973f838a1ca2d3a3a9a6)), Co-authored-by:Renovate Bot <renovate@kemitix.net>, Reviewed-on:https://git.kemitix.net/kemitix/git-next/pulls/40, Co-authored-by:renovate <renovate@noreply.kemitix.net>, Co-committed-by:renovate <renovate@noreply.kemitix.net>
- Revalidate positions in more conditions ([4c4ac4d](https://git.kemitix.net/kemitix/git-next/commit/4c4ac4df25d4f644357ba73ba0bb18631d11394b))
### Documentation
- Rewrite README ([be3aded](https://git.kemitix.net/kemitix/git-next/commit/be3aded38270b803fa9d336a7d00e3f83f979774))
- Rewrite README ([53f66d5](https://git.kemitix.net/kemitix/git-next/commit/53f66d5ee5bae811560cef42c8e02973fddb6bbe))
- Add docs to types ([229d47f](https://git.kemitix.net/kemitix/git-next/commit/229d47f7c7d61f62033101f7b48f8eefbc581ba6))
### Features
- Wrap API Token in a secrect::Secret and avoid logging ([cedaf16](https://git.kemitix.net/kemitix/git-next/commit/cedaf16acf75d10f6f126906b586c358f201121c))
- Don't advance next branch if the target commit message is invalid ([4e6a306](https://git.kemitix.net/kemitix/git-next/commit/4e6a306a723a24ebc7f385daed90d688e2a092ae))
- Abstract Git command execution into injectable enum ([5fcf16e](https://git.kemitix.net/kemitix/git-next/commit/5fcf16ea753466b1f375648c2d59d39d9c84c890))
- Isolate ForgeJo behind default feature 'forgejo' ([1ffa836](https://git.kemitix.net/kemitix/git-next/commit/1ffa8366e0ef919460464666a042d575822b8919))
- Allow repo config to be specified in server config ([0105631](https://git.kemitix.net/kemitix/git-next/commit/0105631e3ac27eee13b456f9055371bd0d3f5a06))
- Add webhook URL field to server config ([069b313](https://git.kemitix.net/kemitix/git-next/commit/069b313fc33f17b1744f7c22a2c7df902fe58860))
- Update next branch when not based on main ([0622e60](https://git.kemitix.net/kemitix/git-next/commit/0622e6092bf05da949903c6c6159e3fd67b099aa))
- Add webhook server ([df2d9d6](https://git.kemitix.net/kemitix/git-next/commit/df2d9d684c5cca1e724d42d3c455ec194a1e876f))
- Implement unregister webhook ([e706080](https://git.kemitix.net/kemitix/git-next/commit/e7060800eb959787c879559856335e53c0c74664))
- Implement register webhook ([dd91aa4](https://git.kemitix.net/kemitix/git-next/commit/dd91aa4f691937110004a059ad4dcff04f987ee7))
- Handle messages received via webhook for ForgeJo ([24cb485](https://git.kemitix.net/kemitix/git-next/commit/24cb485410e2aa54bf60b9eb31644890cdfc3dfd))
- Reschedule ValidateRepo when checks are Pending ([b398ac3](https://git.kemitix.net/kemitix/git-next/commit/b398ac3fd303980070d6e7a9719e34337416c5c1))
- Only accept authorised messages ([64a6b84](https://git.kemitix.net/kemitix/git-next/commit/64a6b84ee4e803a2f73a6c8f657e826fd48ca7a5))
### Miscellaneous Tasks
- Clean up some logging ([8c4ad4b](https://git.kemitix.net/kemitix/git-next/commit/8c4ad4b5348acbbbd4ca529f47dd4f5041ca42cf))
- Don't log fetch url ([fb74879](https://git.kemitix.net/kemitix/git-next/commit/fb74879309892e36eb7c10029049f19c8ea72458))
- Don't log success ([223dd42](https://git.kemitix.net/kemitix/git-next/commit/223dd426c68e8a2d01e9646e2a4880b499edcb1c))
- Reduce logging to debug ([9df732c](https://git.kemitix.net/kemitix/git-next/commit/9df732ce974038c784e60d1f8767b1087b39cb7e))
- Rename type `RepoName` as `RepoAlias` ([b21b808](https://git.kemitix.net/kemitix/git-next/commit/b21b80881eaa9cf0a138c935feca40aba5d1c234))
- Set to 0.2.0 ([3c60ff9](https://git.kemitix.net/kemitix/git-next/commit/3c60ff99ef2642b0ceb927a9076fc0c8cf973479))
### Refactor
- Extract get_commit_histories ([2055421](https://git.kemitix.net/kemitix/git-next/commit/205542106781b50ff0b9fc3d3db58b28502d7a77))
### Testing
- Create stub mock forge ([3bbe9ab](https://git.kemitix.net/kemitix/git-next/commit/3bbe9abbd97e7b986a1b02f4ab359f0b9b5b31a2))
### Build
- Add validate-dev-branch recipe ([eca45d0](https://git.kemitix.net/kemitix/git-next/commit/eca45d02384b92c5da7b3293b606cee2b431cae3))
## [0.1.2] - 2024-04-12
[7d3ebfb](https://git.kemitix.net/kemitix/git-next/commit/7d3ebfb320269f00895989b37e192705d4b1c4a6)...[8ed942a](https://git.kemitix.net/kemitix/git-next/commit/8ed942a50137f1932500fa4cd64d1484600fb3d8)
### Bug Fixes
- Remove extra StartRepo message ([8ed942a](https://git.kemitix.net/kemitix/git-next/commit/8ed942a50137f1932500fa4cd64d1484600fb3d8))
## [0.1.1] - 2024-04-11
[c9d52a5](https://git.kemitix.net/kemitix/git-next/commit/c9d52a5b7f230606449b6dc7b2b496ce4bc83dc7)...[7d3ebfb](https://git.kemitix.net/kemitix/git-next/commit/7d3ebfb320269f00895989b37e192705d4b1c4a6)
### Build
- Include default toml files in build context ([fad4867](https://git.kemitix.net/kemitix/git-next/commit/fad4867402c92543cef0a81f37d5f012f2ce45a0))
- Version set to 0.1.1 ([7d3ebfb](https://git.kemitix.net/kemitix/git-next/commit/7d3ebfb320269f00895989b37e192705d4b1c4a6))
## [0.1.0] - 2024-04-11
### Bug Fixes
- Parse the server file with sections ([f1041d6](https://git.kemitix.net/kemitix/git-next/commit/f1041d6fe6f0df35e01a72afae73898ee6c24f53))
- Update case for default forge_type ([4b64aa5](https://git.kemitix.net/kemitix/git-next/commit/4b64aa5a141e40f49444af0b46b4702002a70750))
- Fix typo ([b66b70c](https://git.kemitix.net/kemitix/git-next/commit/b66b70c08b18bb94d6f2c5ed71f4fa454389a944))
- Stop logging all network requests ([0721b63](https://git.kemitix.net/kemitix/git-next/commit/0721b63448f0f075bc64343f0362b2fdda4e7fff))
- Doesn't properly detect when dev or next are ahead ([50a56aa](https://git.kemitix.net/kemitix/git-next/commit/50a56aadee435b2369a4f709ba939f838adf3216))
- Pause before checking CI status when just updated branch ([9469d27](https://git.kemitix.net/kemitix/git-next/commit/9469d274767d335e1eb95b2969643b071400651b))
- Reduce complexity of StartMonitoring handler ([7dab1da](https://git.kemitix.net/kemitix/git-next/commit/7dab1da44b9ad3d4ebfcee2241425e5fa78c0e13))
- Clean up instrumentation ([1c9f7cb](https://git.kemitix.net/kemitix/git-next/commit/1c9f7cb4ea3387518540f1cd6bb04ba012ef86e6))
- Restore lost sleep ([bb4d171](https://git.kemitix.net/kemitix/git-next/commit/bb4d171174f4e7372fa4648ef70cf2621daa8fb7))
### Documentation
- Add initial notes ([856a73f](https://git.kemitix.net/kemitix/git-next/commit/856a73fa9857803a3b258778a3f7f4fd71ea7620))
- Add note on installing git-hooks ([9580f88](https://git.kemitix.net/kemitix/git-next/commit/9580f88c2f0e590e5f90bf049aca027117f9d7eb))
- Add build status badge ([634b040](https://git.kemitix.net/kemitix/git-next/commit/634b04070844f953b3a400a6d8ab2c991a73ff80))
- Update copyright name ([e863f4a](https://git.kemitix.net/kemitix/git-next/commit/e863f4ad4aad8232f97e895d0bdcc36198baef85))
### Features
- Parse commands from args ([dd124d1](https://git.kemitix.net/kemitix/git-next/commit/dd124d11ae7ee0b40fa49897d1aaaaebbf792cb4))
- Creates a default configuration file ([aa27e96](https://git.kemitix.net/kemitix/git-next/commit/aa27e96d538f86f393d1e768201ea5f2050e246b))
- Creates a default server configuration file ([1e3ca5b](https://git.kemitix.net/kemitix/git-next/commit/1e3ca5b7119d4b243f005be0d08fa49c0cbfd62e))
- Add stub for server start command ([e25ff50](https://git.kemitix.net/kemitix/git-next/commit/e25ff500d80855d42ca04373e23217888898b04b))
- Log when not overwritting exiting file ([d341647](https://git.kemitix.net/kemitix/git-next/commit/d341647d7dcd1f58daf9e4a006e311ec5501389e))
- Add Filesystem to wrap fs operations ([1207bbc](https://git.kemitix.net/kemitix/git-next/commit/1207bbcff3ace7af19eeabb1a73f2a9554ca4306))
- Add initial example server configuration ([7890423](https://git.kemitix.net/kemitix/git-next/commit/78904230776e2c820cbb75538059cc8410c1aa2e))
- Add read_file() ([90f9ab8](https://git.kemitix.net/kemitix/git-next/commit/90f9ab8e96f16a71bdf0ff5c9fba0a8faab9d089))
- Parse file ([efb55e4](https://git.kemitix.net/kemitix/git-next/commit/efb55e4b3bba61081d2641e244777d7389536fe2))
- Rename property type as forge_type ([cb0a7f7](https://git.kemitix.net/kemitix/git-next/commit/cb0a7f7cd722d3e2c6127fccdf3b4064340c9011))
- Rename propery url as hostname ([a3c52c7](https://git.kemitix.net/kemitix/git-next/commit/a3c52c77611588676b4aff589375b3b0665b33ab))
- Implement Display for ForgeType ([dc41105](https://git.kemitix.net/kemitix/git-next/commit/dc4110596f9b4e2e2203935c048b3ae94a4f38f2))
- Log error when fails to load config ([ef75ecd](https://git.kemitix.net/kemitix/git-next/commit/ef75ecda08e1c0899ac0735454deb408ced75bd6))
- Log parsed config ([1de2bd2](https://git.kemitix.net/kemitix/git-next/commit/1de2bd2ecb0806a28dfebb566388605d97409c18))
- Add ForgeDetails and RepoDetails types ([3ac4894](https://git.kemitix.net/kemitix/git-next/commit/3ac4894d68bb4a7a0a78ce1b4b85bf7ae8aa5d9d))
- Create stub RepoActor ([eacefef](https://git.kemitix.net/kemitix/git-next/commit/eacefefe201d56dc59eabb4e0cc5aa67e07db23d))
- Start repo actors ([ca673f9](https://git.kemitix.net/kemitix/git-next/commit/ca673f95456e901ac5212c9befa43138a914309a))
- Repos specify which branch to read config from ([e9685ab](https://git.kemitix.net/kemitix/git-next/commit/e9685abf5fc29fe2bee0fd7140f72e2264fc8bd0))
- Impl Display for RepoDetails ([7770503](https://git.kemitix.net/kemitix/git-next/commit/77705035f9b2a0c7b10f8a151ab068714a41745e))
- Make RepoDetails Clone ([a4e781d](https://git.kemitix.net/kemitix/git-next/commit/a4e781d4e40580622baf2b4a901c7f619ceb274a))
- Parse RepoConfig ([c3f2266](https://git.kemitix.net/kemitix/git-next/commit/c3f2266dc1ab507a9f217c005bbee7372d8f3dfb))
- Add RepoActor::new ([abbd2e6](https://git.kemitix.net/kemitix/git-next/commit/abbd2e66e6c8143cdeac4e5094f6f0e6a4ebce5a))
- Add ApiToken newtype ([3c4a0d5](https://git.kemitix.net/kemitix/git-next/commit/3c4a0d52b1653aa14828fcff1591f669ad88023f))
- Use accesors for hostname and user ([be01d10](https://git.kemitix.net/kemitix/git-next/commit/be01d106a4cfea0a912c5b07006f5e13938e1543))
- Replace own filesystem module with kxio lib ([f255c44](https://git.kemitix.net/kemitix/git-next/commit/f255c44dfae61655c7e1e909d66d6b2a8eb8054b))
- Define default repo config ([25a1886](https://git.kemitix.net/kemitix/git-next/commit/25a1886e942b0f7e862eb94d9f4099ecb4846b3f))
- Load repo config ([b093c00](https://git.kemitix.net/kemitix/git-next/commit/b093c002d4ff6e11ce3149c4069b54e317765662))
- Verify branches exist in repo ([ca37045](https://git.kemitix.net/kemitix/git-next/commit/ca37045e3aba342eceeef18127ea6ff89ed66e64))
- Create stub for validating branch positions ([bdea942](https://git.kemitix.net/kemitix/git-next/commit/bdea942bcbd8fdc9b706bbe9631ba88ce904d308))
- Fetch commit histories ([9eb7660](https://git.kemitix.net/kemitix/git-next/commit/9eb7660f7bbfe8d8a82776351e4ea3c5f16e7247))
- Validate branch head positions ([3203bbd](https://git.kemitix.net/kemitix/git-next/commit/3203bbd967d84d7dba0c43a7db7d857fecd55e48))
- Assess next action for repo ([70e0f94](https://git.kemitix.net/kemitix/git-next/commit/70e0f94042856c824127d97a55d89ffee699b205))
- Add stub for branch::advance_main ([7ed30fc](https://git.kemitix.net/kemitix/git-next/commit/7ed30fc382d95f2a4ad3dbd15d9a0fdaedd2f273))
- Add message and handler for AdvanceMainTo(Commit) ([ad7d513](https://git.kemitix.net/kemitix/git-next/commit/ad7d5134810c9ec2175f15494defc6bab6a586a9))
- Add deserialise types for commit status ([8ad84bc](https://git.kemitix.net/kemitix/git-next/commit/8ad84bc72b8e58eab208941503da47ac19ede551))
- Add stub for forge::forgejo::get_commit_status ([a7a3f8a](https://git.kemitix.net/kemitix/git-next/commit/a7a3f8a67b0b8ae9f58a17431cf3db59f440f432))
- Implement repo::status::check_next ([c66170c](https://git.kemitix.net/kemitix/git-next/commit/c66170c3b442f1f25b7600f595c9dd5540e7b390))
- Next commit status is returned as pass, fail ro pending ([546d915](https://git.kemitix.net/kemitix/git-next/commit/546d91554c7e1fe45f87ea0f9ef3d891436a75c7))
- Implement Display for forge::Commit ([d64024e](https://git.kemitix.net/kemitix/git-next/commit/d64024e1abb439283ae0f244efba506fccb54946))
- Add marker info logs for advance main and next ([5c4b745](https://git.kemitix.net/kemitix/git-next/commit/5c4b745c00a71af7d15e83d4a6ff679484709602))
- Log returned status for next branch ([e27b050](https://git.kemitix.net/kemitix/git-next/commit/e27b050a093df37719a966e18e49d940105202ed))
- Implement forge::forgejo::get_commit_history ([a5e9421](https://git.kemitix.net/kemitix/git-next/commit/a5e94214053022f82004001aaf83110d93e9a901))
- Implement advancing main branch to the next commit ([3a761b5](https://git.kemitix.net/kemitix/git-next/commit/3a761b5b21f464eac889209234d0ff4a7cdd6661))
- Add branch::reset function ([ed1ab6f](https://git.kemitix.net/kemitix/git-next/commit/ed1ab6faa519969c39c054af560a0b7ee08c18c5))
- Force push next branch to main when it isn't a dev ancestor ([115b353](https://git.kemitix.net/kemitix/git-next/commit/115b353389365795afbc688c45578bf2bb04b4f2))
- Git command output is suppressed ([f7dc27f](https://git.kemitix.net/kemitix/git-next/commit/f7dc27f67ec3d452c7f4f7a3a8f919d9000076ba))
- When no action to take, wait 10 seconds then restart ([c9d52a5](https://git.kemitix.net/kemitix/git-next/commit/c9d52a5b7f230606449b6dc7b2b496ce4bc83dc7))
### Miscellaneous Tasks
- Cargo init ([1dc9c38](https://git.kemitix.net/kemitix/git-next/commit/1dc9c38165ad99d649f32250728124ab2a77d188))
- Add cc-cli support for conventional commits ([4e27cd0](https://git.kemitix.net/kemitix/git-next/commit/4e27cd0719bee8c3151434feda7ed4a2617ebd55))
- Remove redundant logging ([3a253d8](https://git.kemitix.net/kemitix/git-next/commit/3a253d8568b3c95488474d7008a264fec1ca09fe))
- Remove cc-cli from dev dependencies ([e63f54d](https://git.kemitix.net/kemitix/git-next/commit/e63f54d4b969393e67311bc28aae436cdd06d6fe))
- Configure Renovate (#5) ([4a4da2f](https://git.kemitix.net/kemitix/git-next/commit/4a4da2f8c0c8a60b1d4ecfa76cda05228f72f758)), Co-authored-by:Renovate Bot <renovate@kemitix.net>, Reviewed-on:https://git.kemitix.net/kemitix/git-next/pulls/5, Co-authored-by:renovate <renovate@noreply.kemitix.net>, Co-committed-by:renovate <renovate@noreply.kemitix.net>
- Rename server.rs as server/mod.rs ([1d42c63](https://git.kemitix.net/kemitix/git-next/commit/1d42c63e53335f4f42b25c254cd9ac5cea558d45))
- Add anyhow dependency ([7155cf7](https://git.kemitix.net/kemitix/git-next/commit/7155cf7628fec25ac98a1b035c0e446328cd3a9b))
- Cargo clippy fixes ([cd8d236](https://git.kemitix.net/kemitix/git-next/commit/cd8d2369409cfcfb2bc349fb3402ae627885213d))
- Don't track user files ([cf10aa3](https://git.kemitix.net/kemitix/git-next/commit/cf10aa39126494a7be3a05abdce26a701a6e6fa3))
- Add assert2 dependency ([376830c](https://git.kemitix.net/kemitix/git-next/commit/376830c8a6be56328cf1143f2ee5ffdda07373fe))
- Add config file ([a7a64f5](https://git.kemitix.net/kemitix/git-next/commit/a7a64f5a07a957e265727485e85d811a0ba27b37))
### Refactor
- Use info! rather than event! ([2c07bb5](https://git.kemitix.net/kemitix/git-next/commit/2c07bb5af3089d78373ee262cd598b52bfa0a38a))
- Rename Config as ServerConfig ([d5e9b14](https://git.kemitix.net/kemitix/git-next/commit/d5e9b14e3d6b0797179bc6f3fadbd90bfe396ccc))
- Compare whole server config in one go ([aaaa975](https://git.kemitix.net/kemitix/git-next/commit/aaaa9759115128c000c2551a36328614e9114120))
- Reduce complexity starting server ([7e08640](https://git.kemitix.net/kemitix/git-next/commit/7e08640743fa68bf924f65e54405646c36ca9cf3))
- Inline console_subscriber ([0b85ac3](https://git.kemitix.net/kemitix/git-next/commit/0b85ac3f8d213b7c52535791f1ed79eafebba842))
- Pass RepoDetails by reference ([d2d49f3](https://git.kemitix.net/kemitix/git-next/commit/d2d49f353c8cd09ca75646ccba6b585921ed0c8a))
- Reuse branch::reset to advance main branch to next ([ab58981](https://git.kemitix.net/kemitix/git-next/commit/ab58981f87cacfc971dc1f269d272f2023e4e3ad))
- Reuse branch::reset to advance main branch to next ([6bad8a2](https://git.kemitix.net/kemitix/git-next/commit/6bad8a27f70b68699c9deeb1d567d60cc12fcedb))
- Reuse branch::reset to advance next towards dev ([e0b1571](https://git.kemitix.net/kemitix/git-next/commit/e0b15712c2cfe5bf226055edf6b2ef7e04744f62))
- Rename ResetForce::Normal as None ([ec258bc](https://git.kemitix.net/kemitix/git-next/commit/ec258bca97eb79b8720dfa7cd4b44feaa3e548eb))
### Build
- Add cargo config file ([866d386](https://git.kemitix.net/kemitix/git-next/commit/866d38674a15aa19d8965f940c03c5b6fdf1432d))
- Add initial CI ([1d03fbf](https://git.kemitix.net/kemitix/git-next/commit/1d03fbfb06780fb44e4c884345b68c1165763dc3))
- Add bacon.toml config ([cb46138](https://git.kemitix.net/kemitix/git-next/commit/cb46138cdc5473610a3f2445c647c4eecab2a9f6))
- Add Dockerfile and builder ([b5a1dd4](https://git.kemitix.net/kemitix/git-next/commit/b5a1dd4326855a63701ac2720c67f749160d9584))
- TODO checker ignores git hook samples ([161377f](https://git.kemitix.net/kemitix/git-next/commit/161377f54d8bd1255fa724c522c920cf77b4c67d))
- Run on cron and push to main ([ac37e9e](https://git.kemitix.net/kemitix/git-next/commit/ac37e9e19951fc991b161015de3f32dac79a6b0a))
- Don't include Cargo.lock in image ([edf551b](https://git.kemitix.net/kemitix/git-next/commit/edf551b72a5a3dbdabbe7274cd89300875bbb8af))
- Don't specify patch level for todo checker ([d2e0a7c](https://git.kemitix.net/kemitix/git-next/commit/d2e0a7ce8cde7a2ec66731195f0e80e8b9d84266))
- Don't run todo checker on cron ([1b0c09d](https://git.kemitix.net/kemitix/git-next/commit/1b0c09d3fe370cdacedc5a7817fbd21cadf01649))
- Run checks against next branch too ([cdaca82](https://git.kemitix.net/kemitix/git-next/commit/cdaca8258d24fc531f25667f8f5aa1c4d1249cc9))
- Split updating docker builder into seperate job ([0b5c91f](https://git.kemitix.net/kemitix/git-next/commit/0b5c91fedbb1909e188f3fb67a3b0dfe9b6289ba))
- Merge and rename jobs ([ca30d1b](https://git.kemitix.net/kemitix/git-next/commit/ca30d1bd11683ccd716e24267344679ec1d3445f))
- Restore dropped cargo build ([cd18dbe](https://git.kemitix.net/kemitix/git-next/commit/cd18dbe7812c33d99efd8fa3ade82477ff6436a6))
### Config
- Add token field to Forge ([a148493](https://git.kemitix.net/kemitix/git-next/commit/a1484939ab9b0c76a5df9a000318ae2ecca94f72))
<!-- generated by git-cliff -->