Releases: bkonkle/nakago
Releases · bkonkle/nakago
v0.25.0
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.6nakago-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
v0.24.0
0.24.0
Added
nakago-axum
- Added aToken<T>
extractor that uses theT
for private claims using biscuit::ClaimsSet.
Removed
nakago-ws
- RemovedSession
in favor of a generic type parameter for theConnections
struct.
Changed
nakago-axum
- Renamed the authValidator
toJWKSValidator
for clarity.nakago-axum
- Moved the Unverified Validator out to a separate struct that is only built whencfg(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
- Updatednakago-axum
.
v0.23.0
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
- RemovedApplication
,Hooks
, thelifecycle::EventType
andlifecycle::Events
enums. Theconfig
utilities were moved tonakago-figment
.nakago-axum
- RemovedAxumApplication
,Route
, andRoutes
in favor of a more generic approach. Use the newInject
extractor to access dependencies in your Axum handlers.nakago-warp
- RemovedWarpApplication
,Route
, andRoutes
in favor of a more generic approach. Use thewith_injection()
Filter to access dependencies in your Warp handlers.
Changed
nakago
- The tag-based container operations were previously the default mode of working withInject
. 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
- Theinject
namespace has been promoted to the top level. Wherenakago::inject
was used before,nakago
should now be the equivalent.nakago
- Theconfig
utilities were moved tonakago-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 newInject
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 AxumState
to make theInject
container available to your handlers.nakago-figment
- Generic config utilities extracted from the corenakago
package.
v0.22.0
v0.21.0
0.21.0
Changed
nakago-axum
- Changed theInject
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
- Updatednakago-axum
nakago-ws
- Updatednakago-axum
nakago-examples-async-graphql
- Updated the example to use the newInject
extractor.
v0.20.0
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 newnakago-ws
package for Websocket support.
Fixed
nakago-derive
: Properly namespaced theInject
usage
v0.19.1
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
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'sFromRef
utility, so that it can be used without importing Axum itself.nakago-derive
: Updated to support the FromRef utility.
Changed
- Updated
mockall
andtokio-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.