Skip to content

Releases: bkonkle/nakago

v0.25.0

08 Jan 20:19
Compare
Choose a tag to compare

0.25.0

Changed

  • nakago-axum - Upgrade Axum to v0.8, with breaking changes.
  • nakago-ws - Upgrade Axum to v0.8, with breaking changes.
  • nakago-warp - Upgrade tower-http to v0.6
  • nakago-async-graphql - Upgrade Axum to v0.8 and async-graphql to a git branch for compatibility.
  • (all packages) - Other minor dependency updates.

v0.24.1

07 Jan 23:24
Compare
Choose a tag to compare

0.24.1

Changed

  • (all packages) - Remove the git = "<https://github.com/cksac/fake-rs.git>" parameter from the fake dependency, as it is no longer needed.
  • nakago-axum - Change std::panic::PanicInfo to std::panic::PanicHookInfo

v0.24.0

24 Sep 01:31
bc2461f
Compare
Choose a tag to compare

0.24.0

Added

  • nakago-axum - Added a Token<T> extractor that uses the T for private claims using biscuit::ClaimsSet.

Removed

  • nakago-ws - Removed Session in favor of a generic type parameter for the Connections struct.

Changed

  • nakago-axum - Renamed the auth Validator to JWKSValidator for clarity.
  • nakago-axum - Moved the Unverified Validator out to a separate struct that is only built when cfg(test) is enabled.
  • nakago-ws - Handlers now accept a new Token type, which contains the JWT string and the Registered Claims for use in more complex authorization scenarios.
  • nakago-ws - Changed the signature of Handlers to use Results for better error handling.
  • nakago-async-graphql - Updated nakago-axum.

v0.23.0

28 Aug 05:29
5087518
Compare
Choose a tag to compare

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.

Take a look at examples like the Axum / Async-GraphQL demo for more details!

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.

v0.22.0

28 Aug 04:51
0acfaab
Compare
Choose a tag to compare

0.22.0

Changed

  • nakago-sea-orm - Removed the argument from nakago_sea_orm::connection::Provide::new(), because there is the with_config_tag chained helper to provide that.

v0.21.0

15 Jul 21:16
86b80c7
Compare
Choose a tag to compare

0.21.0

Changed

  • nakago-axum - Changed the Inject extractor to be a wrapper around the Nakago dependency injection container, rather than a direct extractor. This makes it much more convenient to use it in an idiomatic way with Axum.
  • nakago-async-graphql - Updated nakago-axum
  • nakago-ws - Updated nakago-axum
  • nakago-examples-async-graphql - Updated the example to use the new Inject extractor.

v0.20.0

15 Jul 21:15
61766fa
Compare
Choose a tag to compare

0.20.0

Added

  • nakago-ws: New package for Websocket utilities

Changed

  • nakago: Major change - types are now the primary interface, with tags being used only when needed.
    • Tags introduced more boilerplate than I liked, and they're really only necessary when you're dealing with multiple instances of the same type. This change makes the API more ergonomic and easier to understand.
    • Operations like .get_type() and .provide_type() have been moved to methods like .get() and .provide(), and the existing tag methods were moved to methods like .get_tag() and .provide_tag().
  • nakago-examples-async-graphql: Updated to use the new nakago-ws package for Websocket support.

Fixed

  • nakago-derive: Properly namespaced the Inject usage

v0.19.1

26 Jan 02:34
3147fc8
Compare
Choose a tag to compare

0.19.1

Changed

  • nakago-example-async-graphql: Cleaned up some imports that weren't being used.
  • Removed the 'config' directories in the example projects and moved the config files up to the root folder of each project.
  • Updated config loaders to act on Figments, making it easier to take full advantage of the Figment library.

v0.19.0

26 Jan 02:06
2803b49
Compare
Choose a tag to compare

0.19.0

Added

  • nakago-warp: A new Warp adapter that works in a similar way to the Axum adapter.
  • nakago-examples-simple-warp: A new example project that uses the Warp adapter.
  • nakago: Added a copy of Axum's FromRef utility, so that it can be used without importing Axum itself.
  • nakago-derive: Updated to support the FromRef utility.

Changed

  • Updated mockall and tokio-tungstenite requirements, and removed temporary tokio-tungstenite fork.
  • nakago-axum: Simplified the route Init Hook.
  • nakago-axum, nakago-async-graphql, nakago-sea-orm: Updated to use the new FromRef utility.

v0.18.0

08 Dec 05:34
3e85d32
Compare
Choose a tag to compare

0.18.0

Changed

  • nakago: Errors were split into 3 - one for Injection, one for Providers, and one for Hooks.
  • nakago-derive: Updated to use the updated error type for Providers.