Changelog
All notable changes to kotlin-container.
0.4.02026-03-29
Added
- Thread-safe concurrent resolution: singletons created exactly once, scoped instances once per scope, per-thread circular dependency detection
- Convenience extensions:
resolveOrNull,has,lazyonResolver Container { }DSL builder for setup-in-one-shotscope(vararg providers) { }extension for scopes with pre-registered providers- Concurrency test suite
Changed
- Internal collections replaced with
ConcurrentHashMap,ThreadLocal,@Volatile, andsynchronizeddouble-checked locking
0.3.12026-03-29
Added
- Circular dependency detection with clear error messages and resolution chain reporting
- Deep auto-resolution tests
Changed
- Improved parameter resolution handling
- Enforced single-assignment constraint on scoped
onClosehooks
0.3.02026-03-28
Added
- Parameterless registration overloads:
singleton<T>(),factory<T>(),scoped<T>()for auto-resolved constructors - Convention-based service providers with auto-resolved
register()parameters
0.2.02026-03-28
Added
- Scoped bindings with lifecycle management (
scoped,onClose,AutoCloseablesupport) - Nested scopes with cascading close
scope { }block-based syntax for automatic cleanupScopeinterface extendingContainerandAutoCloseable- Published to Maven Central via Vanniktech plugin
0.1.02026-03-28
Added
- Core container with
factoryandsingletonbindings - Auto-resolution of concrete classes via Kotlin reflection
- Service providers with
register()convention - Callable injection via
call() AutoResolverpluggable strategy- Interface segregation:
Registrar,Resolver,Caller,Container