Releases: hmlongco/Factory
Releases · hmlongco/Factory
Release 2.4.3
Release 2.4.2
- Adds isolated(any) in order to properly resolve actor-isolated Factory's
Release 2.4.1
- Adds DynamicProperty wrapper - PR #220
Release 2.4.0
- Updated to properly manage new concurrency warnings and errors in Xcode 16 and Swift 6
- Updated documentation in light of Xcode 16's new Swift Testing framework
- Fixes issue with Promised generating errors during Previews
Release 2.3.2
- Project updated CocoaPods to 1.15.2
- Public aliases for masked Factory objects - Issue #154
- Fix key issue when building xcframeworks - Issue #173
- Add VisionOS target to package.swift - PR #186
- Add Privacy Manifest file - PR #180
- Update README to include example for use with Swift's new Observable macro - PR #172
Release 2.3.1
Release 2.3.0
- Dramatic performance enhancements:
Up to 200% faster in debug builds!
Up to 400% faster in production builds! - Fixed bug where registering a context in the Factory definition cleared the scope cache. - Issue #146
Note that issue #146 could be a breaking change if your code attempts to replace a scoped context registration.
Add a manual reset.
Container.shared.myService.reset(.scope).onTest { MockService() }
See The Factory Wins section in the Modifiers documentation for more on this. - Update trace output to also show actual instance type
Release 2.2.0
2.2.0
- Converts "shared" container variables from var to let. - Issue #111
- Add convenience reset() function to container. - Issue #111
Note that issue #111 could be a breaking change if your code attempts to "replace" a shared container. Do reset instead.
Container.shared.reset() // Do this...
Container.shared = Container() // Not this... - Removes @mainactor from @InjectedObject property wrapper variables. - Issue #107
- Fix registering a new context doesn't clear existing cache as did register. - Issue #114
- Fix FactoryContext not public. - Issue #116
- Update Modular Application documentation. - Issue #121
- Adds $service.resolvedOrNil() function to LazyInjected and WeakLazyInjected. - Issue #122
- Adds keypath-based global resolutions functions for shared containers.
- Removes func register(scope:factory:) function deprecated in 2.1
Use container.service.scope(.cached).register { Service() } instead.
Release 2.1.5
- Adds TimeToLive to scoped instances.