- Fully support optional register.
c.register { optionalValue }now can correct resolve. - Improve logs for optional register if optional is nil.
- Fix
register1- now onlyregister - Sorry. Stop support swift 3.x
- Fix IBDesignable crash
- Support Swift 5
- Remove scan
- Support custom/user scopes.
- Improve description for Component
- more improve speed
- Support arguments for providers
- Add empty Lazy/Provider initialization with fatalError
- Support container Hierarchy
- Fix swift 4.2 support
- Support Carthage
- Support Swift 4.2
- New feature
Arguments for initialization: ivlevAstef#123
- Add extension to container. for example
container.extension(for: Home.self) - Support arguments into extensions
container.extension(for: Home.self).setArgs("arg1", arg2, ...) - Add modificator
arg-container.register{ YourClass(p1: $0, p2: arg($1)) }
- Support static library for cocoapods. Needs cocoapods version 1.5.0 up
- Support static library for cocoapods. Needs cocoapods version 1.4.0 up
- Up code coverage to 90%
- Fix postInit - now method call after executed cycle injection
- Fix hard cycle potensial bug.
- fix crash when using Lazy/Provider with Optional types.
- fix swizzling bug.
- New feature: inject into subviews, cells, items. Thanks 'Nekitosss'
- Support delayed injection. Now have Lazy and Provider injection.
- support swift4.1 Thanks 'Nekitosss'
- rename lifetimes: single, perRun(weak/strong), perContainer(weak/strong), objectGraph, prototype.
- small improve internal code
- support injection by keyPath for swift4
- small improve logging - add new log level
.verbose
- Support multiply using tag and many
- Add new lifetime
perContainer
- Improved speed by optimizing logging
- Support change bundle for DIFramework. Needed for static library
- feature: You can now pass the bundle from which to retrieve the object
- bugfix: When created ViewController, library didn't consider storyboard bundle
- swift4 support
- bugfix: Improve validate graph cycle, and logs.
- bugfix: Support recursive inject into ViewControllers.
- bugfix: Fix component bundle source.
- bugfix: Fix valid method, for hard dependency graph.
- Rename
validtovalidate(checkGraphCycles:)
- Changed hierarchy/default logic. Now component inside framework a upper priority than 'default'
- Small improve code documentantion
- Added generated documentation for the code
- Now thread safe supported for
append(framework:),append(part:),import() - Now
append(framework:)also callimport()
- Added migration documentation.
- Added code documentation.
- Accelerated library work 30 times. Now twice as fast swinject.
- Reduced library size by 40%, but number of parameters is increased.
- Supported StoryboardReference. Even with many containers.
- Removed very old manual syntax. Now the library knows entire dependency graph.
- Improved graph validation. Removed exceptions.
- Changed concept - container builder removed. Now only container.
- The library itself understands what you need - nor any
try?and.optional - Changed lifetimes on:
single,lazySingle,weakSingle,objectGraph,prototype - A single syntax for creating a hierarchy. Now it is
FrameworkandPart - Logging as part of the library.
- Single cocoapods spec without subspecs.
- fixed API. No more global syntax changes.
- But:
- Removed runtime args - there will be a new more powerful concept.
- Fix bug (issue98) into methods initial(useStoryboard:identifier:) and initial(nib:).
- Fix modularity bug - reorganization internal work with modularity and access levels
- Supported settings for set default behavior
- Improve injection into ViewControllers. Now app crash if found injections for VC but can’t injection into VC
- Fix modularity access level for complex dependencies
- Move logger into default subspec and change realization
- Fix 'as' short style operation - add @discardableResult
- Improve intersectionNames error - now this error contains only incorrect types
- Fix scan components for Modular - now scan component is an public component
- Add tags
- Add logs
- Removed supported errors
- Simplified error names
- Improved separate project for
module - Separation
injectionmethod on:injection(.manual),injection(.optional),injection,postInit
- Add documentation for migration
- A full update documentation
- Remove Lazy
- Remove DynamicAssembly. Now there are late binding
- Rename DIModule -> DIComponent and DIAssembly -> DIModule
- Support area of vision for the components using modules
- Add weak single
- Add error description
- Greatly improve old syntax
- Separate library on modules:
Core,Description,Component,Module,Storyboard,Scan,RuntimeArgs - Support auto inject properties for Obj-C types
- Much more
- Support Lazy
DILazy - Add documentation for lazy
- Improved typing - now
DITypeit'sAny.Typefor a placeAny
- Update documentation
- Update README
- Remove lifetime: .perRequest
- Change arrangement works with ViewControllers
- Fix critical bug (issue-69): App Crash if call DIStoryboard get ViewController methods after short period of time
- Write Test by issue-69
- Update documentation
- Added base types: DIType, DIMethodSignature, DIComponent
- Improved DIError - changed names, and added additional parameters
- Change lifetime syntax - now it's method
lifetime(enum) - Fix scan bug: not supported recursive check superclass.
- Improved internal code style
- Change scan syntax: replace ScannedModule and ScannedAssembly to Scanned + Module and Scanned + Assembly
- Update documentation page scan
- Added Scan (ScannedModule, ScannedAssembly, ScanModule, ScanAssembly)
- Update documentation - added scan page
- Supported macOS
- Added tvOS
- Added short registration syntax for types
- Added short registration syntax for UIViewController
- Renamed resolve functions with parameter 'Name:' to 'name:'
- Added tests
- Supported Carthage
- Added Travis
- Supported SwiftPM