Repository navigation
Releases: StudioLE/di
Releases · StudioLE/di
Release list
v0.6.0
Changes
New Features
provider: Add `expect` and `expect_init` panicking convenience methods 004ca84
expect::<T>(),expect_async::<T>(),expect_trait::<T>(),expect_trait_async::<T>()resolve or panicexpect_init()runs init closures or panics- Update tests to use new convenience methods
Warning
Breaking Change: provider: Make `ServiceProvider::init` chainable e3b84ea
init(self) -> Result<Self, Report<InitError>>consumes and returns provider- Enables
build().init()?fluent pattern
v0.5.1
v0.5.0
Changes
New Features
Add `Init` trait for post-construction service initialization 4549672
Inittrait withinit(&self, &ServiceProvider)for one-time setupServiceBuilder::with_init::<T>()registers init closures in orderServiceProvider::init()runs closures; returnsAlreadyInitializedon repeat callInitErrorenum withInitandAlreadyInitializedvariants
Refactor
Route macro-generated paths through `prelude` module f0cdde2
- Generated impls now reference
::studiole_di::prelude::instead of::studiole_di::- Remove redundant root-level re-exports from
lib.rs
v0.4.0
v0.3.0
Changes
New Features
Warning
Breaking Change: Complete rewrite to support sync and async constructors, resolve by type or trait, and singleton or transient scopes cee6bd2
- Replace async
Servicetrait with syncFromServicesand asyncFromServicesAsync - Add
ServiceBuilderwith singleton/transient scope viawith_type/with_type_transient - Add trait object resolution via
Unsizecoercion behindtraitsfeature (nightly) - Add
asyncfeature forFromServicesAsync,get_async, andget_trait_async - Rewrite
di-macroswith#[derive(FromServices)],#[derive(FromServicesAsync)], and#[di(default)] - Add migration guide, updated README, and
rust-toolchain.toml
v0.2.1
v0.2.0
v0.1.0
Changes
New Features
Add `studiole-di` and `studiole-di-macros` crates a3df943
- Async dependency injection container with
Servicetrait andServiceProvider#[derive(Service)]proc-macro for auto-implementingService- CI/CD workflow, license, and README