Changelog
All notable changes to godi are documented here. This project follows Semantic Versioning and uses Conventional Commits for automatic versioning.
4.0.0 (2025-08-18)
⚠ BREAKING CHANGES
Module path updated from v3 to v4
Complete architectural refactor of the dependency injection system
Service registration now happens through Collection interface instead of ServiceProvider
Provider interface is now immutable after build
Scope extends Provider interface for unified API
Removed Decorator functionality
Changed HasService to Contains and HasKeyedService to ContainsKeyed
Transient services can no longer depend on scoped services
Migration Guide:
Update import paths to use
/v4Replace ServiceProvider with Collection for service registration
Use Collection.Build() to create an immutable Provider
Update all resolution calls to use Provider interface
Replace HasService/HasKeyedService calls with Contains/ContainsKeyed
Features
refactor entire DI system with new Collection and Provider architecture
add immutable Provider pattern with build-time validation
implement new reflection system for improved performance
add support for instance registration without constructors
allow multiple return values from constructors
add comprehensive error wrapping and typed errors
implement dependency graph with cycle detection
add newScope method for scope creation
register internal services when building collection
Bug Fixes
do not allow transient instances to depend on scoped instances
fix not being able to get scope from context
cache instances that do not have a constructor
fix lifetime tests and validation
fix security issues in dependency resolution
fix graph dependency resolution issues
fix scope context test
fix all tests after refactoring
Performance Improvements
refactor reflection system for better performance
refactor instance caching mechanisms
Code Refactoring
rename HasService to Contains and HasKeyedService to ContainsKeyed
remove decorator functionality
clean up createInstance method
restructure error handling with typed errors
update to v4 module path
3.0.0 (2025-07-28)
⚠ BREAKING CHANGES
All resolution functions (Resolve, ResolveKeyed, ResolveGroup) now accept a Scope parameter instead of ServiceProvider. This enforces proper lifetime constraints between Singleton and Scoped services.
Migration: Replace ServiceProvider parameters with Scope in all calls to:
Resolve[T](s ServiceProvider) -> Resolve[T](s Scope)
ResolveKeyed[T](s ServiceProvider, key) -> ResolveKeyed[T](s Scope, key)
ResolveGroup[T](s ServiceProvider, group) -> ResolveGroup[T](s Scope, group)
Features
replace ServiceProvider with Scope in resolution functions (f131f95)
2.1.0 (2025-07-22)
Features
add Decorate method to ServiceProvider and ServiceProviderScope for enhanced service modification (4e19a8c)
2.0.5 (2025-07-22)
Bug Fixes
2.0.4 (2025-07-22)
Bug Fixes
resolve context registration conflict in service scope (43ceb3a)
2.0.3 (2025-07-22)
Bug Fixes
handle duplicate service registrations with As and Group options (e30fd66)
2.0.2 (2025-07-21)
Bug Fixes
update installation instructions to use v2 of godi (9c62926)
2.0.1 (2025-07-21)
Bug Fixes
2.0.0 (2025-07-21)
⚠ BREAKING CHANGES
Service lifetimes have been redesigned and group resolution has been added. This is a breaking change from the previous API.
redesign service lifetimes and add group resolution (#9)
Features
1.6.2 (2025-07-17)
Bug Fixes
update changelog reference to use markdown file and remove obsolete changelog.rst (011286d)
1.6.1 (2025-07-17)
Bug Fixes
update changelog handling to skip commit and tag creation (3d0538b)
1.6.0 (2025-07-17)
Features
ensure changelog has proper formatting and amend commit if necessary (93a8ac2)
1.5.1 (2025-07-17)
Bug Fixes
update installation instructions to use version placeholders (4cb376e)
1.5.0 (2025-07-17)
Features
update version handling in Sphinx config and adjust installation instructions to use version placeholders (b156b4c)
1.4.0 (2025-07-17)
Features
1.3.3 (2025-07-16)
Bug Fixes
ci: allow deps scope for Dependabot commits PR (0f92ef1)
1.3.2 (2025-07-16)
Bug Fixes
ci: allow deps scope for Dependabot commits (3c8bcbc)
1.3.1 (2025-07-16)
Bug Fixes
release: update git message format to use {tag} instead of v{version} (67d7ea7)
1.3.0 (2025-07-16)
Features
scope: add public ScopeFromContext function with error handling (7a95acb)
1.2.2 (2025-07-16)
1.2.1 (2025-07-15)
1.2.0 (2025-07-14)
1.1.0 (2025-07-14)
⚠ BREAKING CHANGES
refactor interfaces and module system for better composability (v1.1.0)
Features
refactor interfaces and module system for better composability (v1.1.0) (8d7bb85)