Skip to content

Releases: iikuzmychov/BidirectionalDictionary

v3.1.5

24 May 10:11

Choose a tag to compare

What's new

  • Fixed ConcurrentBidirectionalDictionary.Clear to release locks that were already acquired if lock acquisition fails.
  • Fixed ConcurrentBidirectionalDictionary concurrencyLevel validation to reject values that would overflow internal lock array sizing.
  • Fixed ReadOnlyBidirectionalDictionary non-generic enumerator bounds checks so Current, Entry, Key, and Value throw before enumeration starts or after it ends.
  • Added nullable annotations for supported TryGetValue, Remove, and TryRemove out parameters.

v3.1.4

22 May 01:34

Choose a tag to compare

What's new:

  • Fixed ICollection.CopyTo on Keys/Values of ReadOnlyBidirectionalDictionary, which assumed the underlying collection implemented non-generic ICollection

v3.1.3

17 May 11:51

Choose a tag to compare

What's new

  • Value comparer usage is fixed for key-value pair contains and remove operations.
  • Indexer assignment is fixed to preserve the stored key instance in the inverse dictionary.
  • Concurrent dictionary value updates are fixed to keep inverse mappings consistent.

v2.0.2

17 May 11:35

Choose a tag to compare

What's new

  • Value comparer usage is fixed for key-value pair contains and remove operations.
  • Indexer assignment is fixed to preserve the stored key instance in the inverse dictionary.

v1.4.2

17 May 11:34

Choose a tag to compare

What's new

  • Value comparer usage is fixed for key-value pair contains and remove operations.
  • Indexer assignment is fixed to preserve the stored key instance in the inverse dictionary.

v3.1.2

16 May 01:31

Choose a tag to compare

What's new

  • Added missing documentation
  • Added debug symbols

v3.1.1

13 May 22:05

Choose a tag to compare

What's new

  • Documentation fix

v3.1.0

12 May 23:25

Choose a tag to compare

What's new

  • ConcurrentBidirectionalDictionary<TKey, TValue> — thread-safe variant of BidirectionalDictionary<TKey, TValue>.
    Thanks to @DarkRubin for proposition such variant!

v3.0.0

06 May 21:27

Choose a tag to compare

What's New

  • Added non-generic IDictionary support.
  • Improved enumeration performance.
  • Added benchmarks.
  • Expanded test coverage.

Breaking Changes

  • Replaced public key and value collection types with custom collection types.
  • Replaced mutable dictionary enumeration with a custom enumerator.
  • Changed read-only dictionary enumeration to return generic key/value pair enumerators.
  • Made the backing dictionary private, which may affect derived classes.

Fixes

  • Fixed netstandard2.0-specific bug where the IEnumerable constructor overload with a custom key comparer does not preserve that comparer.
  • Improved exception messages.
  • Updated CI and docs.

v2.0.1

06 May 21:47

Choose a tag to compare

Fixed netstandard2.0-specific bug where the IEnumerable constructor overload with a custom key comparer does not preserve that comparer.