The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Release 2.3.2
5 weeks ago
* 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
28 weeks ago
* Fix for SpinLock on Linux
* Add action to test linux - Issue #113
* Add various aliases to avoid external naming conflicts - Issue #154
Release 2.3.0
29 weeks ago
* 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
42 weeks ago
## 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
51 weeks ago
* Adds TimeToLive to scoped instances.
* Fix singletons in multiple modules keyed with same type and name. Issue - #99
* Fix building on Linux. Issue - #100
* Fix singleton scope issue with SharedContainer across multiple container types. Issue - #92
* Fix unit test context to detect when run from command line. Issue - #94
* Fix where new registration on Factory also clears singleton cache. Issue - #96
* Minor update to trace logging for better presentation of nil optionals
* Fixing POD issue
* Fix SPM/POD build issue
* Contexts allow quick and easy Factory customization when doing previews, debugging and testing.
* Provides once modifier which allows one-time initialization on a per-Factory basis.
* Let's you define the default scope used for a given container.
* Allows you to specify promised optionals that warn when registrations are not provided.
* Singletons now span containers and are cached separately.
* Factory library now implemented across multiple files.