Skip to content

Releases: hmlongco/Factory

Release 2.3.2

17 Mar 21:22
Compare
Choose a tag to compare
  • 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

07 Oct 14:20
Compare
Choose a tag to compare
  • 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

30 Sep 05:51
Compare
Choose a tag to compare
  • 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

01 Jul 23:21
061b3af
Compare
Choose a tag to compare

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

30 Apr 14:50
Compare
Choose a tag to compare
  • Adds TimeToLive to scoped instances.

Release 2.1.4

15 Apr 16:10
1276137
Compare
Choose a tag to compare
  • Fix singletons in multiple modules keyed with same type and name. Issue - #99
  • Fix building on Linux. Issue - #100

Release 2.1.3

09 Apr 16:09
Compare
Choose a tag to compare
  • 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

Release 2.1.2

29 Mar 03:52
Compare
Choose a tag to compare
  • Fixing POD issue

Release 2.1.1

29 Mar 03:44
Compare
Choose a tag to compare
  • Fix SPM/POD build issue

Release 2.1.0

28 Mar 23:54
Compare
Choose a tag to compare
  • 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.