Skip to content

Releases: akade/Akade.IndexedSet

v1.2.0

16 Jun 17:35
0fcac95
Compare
Choose a tag to compare

What's Changed

  • Multi-keys everything: You can now use any index with multiple keys per element, whether it the keys must be unique or you want to index. Opens up lots of possibilities, especially for the text indices #110
  • Source-Link support (if it works, hence the beta tag)
  • Depricated .NET 7: You can still use the .NET 6 version in your .NET 7 app, but .NET 7 is deprecated as of 14.05.2024 and the explicit target has been removed #127

Note that in theory, the first change is a breaking change as you could theoretically have IEnumerable as keys themselves - which will now bind to the method that picks up the elements as individual keys. However, this would most likely have been unintended an hence, the change is not expected to break anyone.

Full Changelog: v1.1.0...v1.2.0

v1.2.0-beta: Multikeys everything

15 May 18:02
054a48f
Compare
Choose a tag to compare
Pre-release

What's Changed

  • Multi-keys everything: You can now use any index with multiple keys per element, whether it the keys must be unique or you want to index. Opens up lots of possibilities, especially for the text indices #110
  • Source-Link support (if it works, hence the beta tag)
  • Depricated .NET 7: You can still use the .NET 6 version in your .NET 7 app, but .NET 7 is deprecated as of 14.05.2024 and the explicit target has been removed #127

Note that in theory, the first change is a breaking change as you could theoretically have IEnumerable<T> as keys themselves - which will now bind to the method that picks up the elements as individual keys. However, this would most likely have been unintended an hence, the change is not expected to break anyone.

Full Changelog: v1.1.0...v1.2.0-beta

v1.1.0: .NET 8

20 Nov 19:58
21a1f7e
Compare
Choose a tag to compare

What's Changed

  • .NET 8 #83
  • FrozenDictionary speeds up performance of index name lookups #83
  • Real world benchmark by #74, that is included in dotnet/performance
  • ConcurrentSet.Read: Method that allows to perform read operations on the underlying set while being protected by a Read-Lock. Allows to perform filtering using multiple indices (or if you must, FullScan()) and only paying the materialization cost on the resulting set: concurrentSet.Read(set => set.Where(x => x.Index1, 1).Concat(set.Where(x => x.Index2, 2))); Includes an analyzer to prevent you from accidently performing writes. #87

Full Changelog: v1.0.1...v1.1.0

v1.0.1

17 Jul 07:45
3dc5c74
Compare
Choose a tag to compare

What's Changed

  • [Fix] Fixes incorrect warnings on ConcurrentSet.Update by @akade in #53

Full Changelog: v1.0.0...v1.0.1

v1.0.0: Growing up

11 Jul 19:41
f5d7646
Compare
Choose a tag to compare

Growing up - It's v1

This release contains various improvements nad some bug fixes. The highlights:

  • More TryGetSingle-Methods that might make your life easier (In strange cases, this could be a breaking changes, read more in the PR) #17
  • [Fix] Fixes fuzzy searches if the first character was an edit #46
  • [Fix] Fixes #41: Add & AddRange cleanup partial adds after an exception #51
  • Source generated ConcurrentIndexedSet: Allowing to more easily add additional methods by slashing some of the involved boilerplate #17
  • Dependabot: Let the machines work for us 🤖
  • Shared test methods for all index types and unifying behavior of different index types. In case that you have been listening to certain exceptions, this could be a breaking change. This will lower the fear of breaking things when introducing new index types, variants of existing types or improving performance 🚀 #50

New Contributors

Full Changelog: v0.8.0...v1.0.0

Analyzer Release

18 Feb 22:29
b75ff4b
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.7.0...v0.8.0

.NET 7 Release

27 Nov 19:53
88df7ab
Compare
Choose a tag to compare

What's Changed

  • Public API Analyzers activated by @akade in #12
  • Updated to .NET 7 by @akade in #13 - .NET 6 is still fully supported

Full Changelog: v0.6.0...v0.7.0

v0.6.0 - Simplification for string indices & convenient updating

27 Oct 15:57
3a9c6e9
Compare
Choose a tag to compare

What's Changed

  • ReadOnlyMemory<char> switched to String/ReadOnlySpan<char>. Note that this is a breaking change, read more in #11
  • Convenient methods to update elements within the set including thread-safe variant for the concurrent set. Read more here.
  • Clear()

Full Changelog: v0.5.0...v0.6.0

v0.5.0

27 Jul 19:42
1000e34
Compare
Choose a tag to compare

ConcurrentIndexedSet - Happy thread-safe indexing

This release introduces a thread-safe wrapper, the ConcurrentIndexedSet.
Usage is simple as writing .BuildConcurrent() instead of Build().

Full Changelog: v0.4.0...v0.5.0

v0.4.0

25 May 19:42
5c2319f
Compare
Choose a tag to compare

String queries support including fuzzy matching 🚀

Prefix & Suffix-Trie based indices that support efficient string queries:

  • Prefix Index supports StartsWith-Queries
  • FullText Index additionaly supports Contains-Queries
  • Fuzzy string matching support for both StartsWith & Contains