From 969dc4d80a99b26c8534a82c9b0142523c010dd4 Mon Sep 17 00:00:00 2001 From: Brandon Konkle Date: Tue, 27 Aug 2024 22:42:44 -0600 Subject: [PATCH] Update the changelog --- CHANGELOG.md | 25 ++++++++++++++++++++++++- examples/async-graphql/Cargo.toml | 16 ++++++++-------- examples/cqrs-es/Cargo.toml | 4 ++-- examples/simple-warp/Cargo.toml | 10 +++++----- examples/simple/Cargo.toml | 10 +++++----- nakago/Cargo.toml | 4 ++-- nakago_async_graphql/Cargo.toml | 10 +++++----- nakago_axum/Cargo.toml | 8 ++++---- nakago_derive/Cargo.toml | 2 +- nakago_figment/Cargo.toml | 6 +++--- nakago_sea_orm/Cargo.toml | 8 ++++---- nakago_warp/Cargo.toml | 8 ++++---- nakago_ws/Cargo.toml | 8 ++++---- 13 files changed, 71 insertions(+), 48 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c8866e7..3e1d4f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,28 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.23.0] + +Major pivot! Until now, Nakago has been aimed at growing into a full-scale API server framework. However, I've realized that the core value of Nakago is the Dependency Injection system, and that it can be used in a wide variety of contexts. This release is a pivot to focus on the DI system itself, and to make it more flexible and easier to use in a variety of contexts. + +### Removed + +- `nakago` - Removed `Application`, `Hooks`, the `lifecycle::EventType` and `lifecycle::Events` enums. The `config` utilities were moved to `nakago-figment`. +- `nakago-axum` - Removed `AxumApplication`, `Route`, and `Routes` in favor of a more generic approach. Use the new `Inject` extractor to access dependencies in your Axum handlers. +- `nakago-warp` - Removed `WarpApplication`, `Route`, and `Routes` in favor of a more generic approach. Use the `with_injection()` Filter to access dependencies in your Warp handlers. + +### Changed + +- `nakago` - The tag-based container operations were previously the default mode of working with `Inject`. This proved to be more verbose and than necessary in most cases, however. The new default mode is to use the type-based operations, which are more ergonomic and easier to use. The tag-based operations are still available, but they are now suffixed with `_tag` to make it clear that they are a different mode of operation. The type-based operations are no longer suffixed with `_type`, because they are now the default. +- `nakago` - The `inject` namespace has been promoted to the top level. Where `nakago::inject` was used before, `nakago` should now be the equivalent. +- `nakago` - The `config` utilities were moved to `nakago-figment`. +- `nakago-examples-simple`, `nakago-examples-async-graphql`, `nakago-examples-simple-warp` - Updated with the new approach. See these examples for more information about how to use the tools mentioned above. + +### Added + +- `nakago-axum` - Added a new `Inject` extractor to access dependencies in your Axum handlers. This is a much more idiomatic way to use Nakago with Axum, and it's more flexible than the previous approach. Use the provided Axum `State` to make the `Inject` container available to your handlers. +- `nakago-figment` - Generic config utilities extracted from the core `nakago` package. + ## [0.22.0] ### Changed @@ -362,7 +384,8 @@ Expect major changes to the Application and Lifecycle systems going forward, bui - Injection Providers - Documentation -[unreleased]: https://github.com/bkonkle/nakago/compare/0.22.0...HEAD +[unreleased]: https://github.com/bkonkle/nakago/compare/0.23.0...HEAD +[0.23.0]: https://github.com/bkonkle/nakago/compare/0.22.0...0.23.0 [0.22.0]: https://github.com/bkonkle/nakago/compare/0.21.0...0.22.0 [0.21.0]: https://github.com/bkonkle/nakago/compare/0.20.0...0.21.0 [0.20.0]: https://github.com/bkonkle/nakago/compare/0.19.1...0.20.0 diff --git a/examples/async-graphql/Cargo.toml b/examples/async-graphql/Cargo.toml index 8fe1b18..c7033fa 100644 --- a/examples/async-graphql/Cargo.toml +++ b/examples/async-graphql/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nakago-examples-async-graphql" -version = "0.30.0" +version = "0.23.0" authors = ["Brandon Konkle "] edition = "2021" description = "A lightweight Rust framework for sharp services 😎" @@ -33,13 +33,13 @@ figment = { version = "0.10", features = ["env", "toml", "yaml", "json"] } futures = "0.3" hyper = "1.0" log = "0.4" -nakago = "0.30" -nakago-async-graphql = "0.30" -nakago-axum = "0.30" -nakago-derive = "0.30" -nakago-figment = "0.30" -nakago-sea-orm = "0.30" -nakago-ws = "0.30" +nakago = "0.23" +nakago-async-graphql = "0.23" +nakago-axum = "0.23" +nakago-derive = "0.23" +nakago-figment = "0.23" +nakago-sea-orm = "0.23" +nakago-ws = "0.23" oso = "0.27" pico-args = "0.5.0" pretty_env_logger = "0.5" diff --git a/examples/cqrs-es/Cargo.toml b/examples/cqrs-es/Cargo.toml index df8bb6f..eb0caa0 100644 --- a/examples/cqrs-es/Cargo.toml +++ b/examples/cqrs-es/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nakago-examples-cqrs-es" -version = "0.30.0" +version = "0.23.0" authors = ["Brandon Konkle "] edition = "2021" description = "A lightweight Rust framework for sharp services 😎" @@ -17,7 +17,7 @@ pretty_env_logger = "0.5" serde = { version = "1.0", features = ["derive"] } serde_derive = "1.0" serde_json = "1.0" -nakago = "0.30" +nakago = "0.23" [dev-dependencies] criterion = "0.5" diff --git a/examples/simple-warp/Cargo.toml b/examples/simple-warp/Cargo.toml index 6359dc1..7127e29 100644 --- a/examples/simple-warp/Cargo.toml +++ b/examples/simple-warp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nakago-examples-simple-warp" -version = "0.30.0" +version = "0.23.0" authors = ["Brandon Konkle "] edition = "2021" description = "A lightweight Rust framework for sharp services 😎" @@ -26,10 +26,10 @@ figment = { version = "0.10", features = ["env", "toml", "yaml", "json"] } futures = "0.3" hyper = "1.0" log = "0.4" -nakago = "0.30" -nakago-figment = "0.30" -nakago-warp = "0.30" -nakago-derive = "0.30" +nakago = "0.23" +nakago-figment = "0.23" +nakago-warp = "0.23" +nakago-derive = "0.23" pico-args = "0.5.0" pretty_env_logger = "0.5" rand = "0.8" diff --git a/examples/simple/Cargo.toml b/examples/simple/Cargo.toml index b0b1b00..55bd8cb 100644 --- a/examples/simple/Cargo.toml +++ b/examples/simple/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nakago-examples-simple" -version = "0.30.0" +version = "0.23.0" authors = ["Brandon Konkle "] edition = "2021" description = "A lightweight Rust framework for sharp services 😎" @@ -27,10 +27,10 @@ figment = { version = "0.10", features = ["env", "toml", "yaml", "json"] } futures = "0.3" hyper = "1.0" log = "0.4" -nakago = "0.30" -nakago-axum = "0.30" -nakago-derive = "0.30" -nakago-figment = "0.30" +nakago = "0.23" +nakago-axum = "0.23" +nakago-derive = "0.23" +nakago-figment = "0.23" pico-args = "0.5.0" pretty_env_logger = "0.5" rand = "0.8" diff --git a/nakago/Cargo.toml b/nakago/Cargo.toml index a329538..d704955 100644 --- a/nakago/Cargo.toml +++ b/nakago/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nakago" -version = "0.30.0" +version = "0.23.0" authors = ["Brandon Konkle "] edition = "2021" description = "A lightweight Rust framework for sharp services 😎" @@ -18,7 +18,7 @@ derive-new = "0.6" fnv = "1.0.7" futures = "0.3.28" log = "0.4" -nakago-derive = "0.30" +nakago-derive = "0.23" pretty_env_logger = "0.5" rand = "0.8" serde = { version = "1.0", features = ["derive"] } diff --git a/nakago_async_graphql/Cargo.toml b/nakago_async_graphql/Cargo.toml index ab51e10..b676673 100644 --- a/nakago_async_graphql/Cargo.toml +++ b/nakago_async_graphql/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nakago-async-graphql" -version = "0.30.0" +version = "0.23.0" authors = ["Brandon Konkle "] edition = "2021" description = "An Async-GraphQL integration for Nakago" @@ -28,10 +28,10 @@ fake = { version = "2.9", features = [ figment = { version = "0.10", features = ["env"] } hyper = "1.0" log = "0.4" -nakago = "0.30" -nakago-axum = "0.30" -nakago-derive = "0.30" -nakago-figment = "0.30" +nakago = "0.23" +nakago-axum = "0.23" +nakago-derive = "0.23" +nakago-figment = "0.23" pretty_env_logger = "0.5" rand = "0.8" reqwest = { version = "0.12", features = ["json"] } diff --git a/nakago_axum/Cargo.toml b/nakago_axum/Cargo.toml index 6be6fea..44c2fd2 100644 --- a/nakago_axum/Cargo.toml +++ b/nakago_axum/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nakago-axum" -version = "0.30.0" +version = "0.23.0" authors = ["Brandon Konkle "] edition = "2021" description = "An Axum HTTP routes integration for Nakago" @@ -32,9 +32,9 @@ futures-util = { version = "0.3", default-features = false, features = [ hyper = "1.0" jsonwebtoken = "9.0" log = "0.4" -nakago = "0.30" -nakago-derive = "0.30" -nakago-figment = "0.30" +nakago = "0.23" +nakago-derive = "0.23" +nakago-figment = "0.23" pretty_env_logger = "0.5" rand = "0.8" reqwest = { version = "0.12", features = ["json"] } diff --git a/nakago_derive/Cargo.toml b/nakago_derive/Cargo.toml index 921436b..ae69f42 100644 --- a/nakago_derive/Cargo.toml +++ b/nakago_derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nakago-derive" -version = "0.30.0" +version = "0.23.0" authors = ["Brandon Konkle "] edition = "2021" description = "Macros for nakago" diff --git a/nakago_figment/Cargo.toml b/nakago_figment/Cargo.toml index f94dca5..097c214 100644 --- a/nakago_figment/Cargo.toml +++ b/nakago_figment/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nakago-figment" -version = "0.30.0" +version = "0.23.0" authors = ["Brandon Konkle "] edition = "2021" description = "Figment config loading utils for Nakago" @@ -20,8 +20,8 @@ fake = { version = "2.9", features = [ ], git = "https://github.com/cksac/fake-rs.git" } figment = { version = "0.10", features = ["env", "toml", "yaml", "json"] } log = "0.4" -nakago = "0.30" -nakago-derive = "0.30" +nakago = "0.23" +nakago-derive = "0.23" mockall = "0.12" pretty_env_logger = "0.5" rand = "0.8" diff --git a/nakago_sea_orm/Cargo.toml b/nakago_sea_orm/Cargo.toml index 6eacdbd..6c20c25 100644 --- a/nakago_sea_orm/Cargo.toml +++ b/nakago_sea_orm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nakago-sea-orm" -version = "0.30.0" +version = "0.23.0" authors = ["Brandon Konkle "] edition = "2021" description = "A SeaORM integration for Nakago" @@ -16,9 +16,9 @@ axum = { version = "0.7", features = ["macros"] } derive-new = "0.6" figment = { version = "0.10", features = ["env"] } log = "0.4" -nakago = "0.30" -nakago-derive = "0.30" -nakago-figment = "0.30" +nakago = "0.23" +nakago-derive = "0.23" +nakago-figment = "0.23" pretty_env_logger = "0.5" rand = "0.8" sea-orm = { version = "0.12", features = [ diff --git a/nakago_warp/Cargo.toml b/nakago_warp/Cargo.toml index f96b0cb..d8f44c8 100644 --- a/nakago_warp/Cargo.toml +++ b/nakago_warp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nakago-warp" -version = "0.30.0" +version = "0.23.0" authors = ["Brandon Konkle "] edition = "2021" description = "A Warp HTTP routes integration for Nakago" @@ -29,9 +29,9 @@ futures-util = { version = "0.3", default-features = false, features = [ hyper = "1.0" jsonwebtoken = "9.0" log = "0.4" -nakago = "0.30" -nakago-derive = "0.30" -nakago-figment = "0.30" +nakago = "0.23" +nakago-derive = "0.23" +nakago-figment = "0.23" pretty_env_logger = "0.5" rand = "0.8" reqwest = { version = "0.12", features = ["json"] } diff --git a/nakago_ws/Cargo.toml b/nakago_ws/Cargo.toml index 0ee0b08..2a8ec55 100644 --- a/nakago_ws/Cargo.toml +++ b/nakago_ws/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nakago-ws" -version = "0.30.0" +version = "0.23.0" authors = ["Brandon Konkle "] edition = "2021" description = "Websocket utils for Nakago" @@ -25,9 +25,9 @@ futures = "0.3" hyper = "1.0" jsonwebtoken = "9.0" log = "0.4" -nakago = "0.30" -nakago-axum = "0.30" -nakago-derive = "0.30" +nakago = "0.23" +nakago-axum = "0.23" +nakago-derive = "0.23" mockall = "0.12" pretty_env_logger = "0.5" rand = "0.8"