Skip to content

Releases: NikSativa/DIKit

3.2.4

17 Apr 10:04

Choose a tag to compare

thread-safe Lazy resolution

Full Changelog: 3.2.3...3.2.4

3.2.3

14 Apr 10:43

Choose a tag to compare

Fix container key collision for parameterized existentials (any P<X>).

  • Add EntityKeyProviding protocol so types can supply an explicit container key.
  • Derive the default key through a fallback chain: EntityKeyProviding → Mirror subjectType → String(reflecting:)ObjectIdentifier hash.
  • README: document the parameterized-existential crash and the workaround.

3.2.2

14 Apr 10:01

Choose a tag to compare

Replace _mangledTypeName with ObjectIdentifier-based key derivation. The former could return nil for parameterized existentials crossing module boundaries, triggering the <<< invalid type >>> fallback and colliding keys. ObjectIdentifier uses the runtime metadata pointer and is unique for every representable metatype.

3.2.1

14 Apr 09:57

Choose a tag to compare

Fix key collision for parameterized existentials (any P<X>). Previously String(reflecting:) returned <<< invalid type >>> for these types at runtime, causing distinct registrations to collide under the same storage key. Container now uses _mangledTypeName for key derivation.

  • Bump Threading to 2.3.1

3.2.0

27 Mar 14:11

Choose a tag to compare

  • macOS minimum updated to 14.0
  • SpryKit dependency updated to 3.2.0
  • Threading dependency updated to 2.3.0
  • All platform versions aligned across frameworks

3.1.4

26 Feb 22:37

Choose a tag to compare

Full Changelog: 3.1.3...3.1.4

3.1.3

26 Feb 22:09

Choose a tag to compare

Lazy and Provider as @propertyWrapper

Full Changelog: 3.1.2...3.1.3

3.1.2

08 Jul 11:03

Choose a tag to compare

IsolatedMainRegistrator

Full Changelog: 3.1.1...3.1.2

3.1.1

11 Jun 16:46

Choose a tag to compare

upd SwiftFormat rules and github actions and Threading with new AtomicValue

Full Changelog: 3.1.0...3.1.1

3.1.0

22 Mar 11:57

Choose a tag to compare

ThreadSafe Container

Full Changelog: 3.0.5...3.1.0