All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Simplified devcontainer implementation to use official .NET 10.0 base image
- Replaced custom Dockerfile and docker-compose setup with simpler configuration
- Removed unnecessary devcontainer documentation files
- Streamlined VS Code extensions to only essential tools for .NET development
- Added post-create and post-start scripts for container initialization
0.5.0 / 2025-11-27
- Added
net10.0TFM support (#346) - Added
netstandard2.0TFM support (#355) - Added
StringSegmentLinkedList.EndsWith(ReadOnlySpan<char>,IEqualityComparer<char>)method (#287) - Optimized memory usage of
StringSegmentLinkedList- Added new constructors for
StringSegmentNodeandStringSegmentLinkedList - Improved
AppendandInsertAtmethods to handle different types of inputs - Added
Compactmethod to reduce node count and improve locality
- Added new constructors for
- Removed unnecessary imports and simplify code
- Added performance tests for
StringSegmentLinkedList
0.4.2 / 2025-11-11
- Add missing
ParseandTryParsemethods forNonNegativeIntegerandPositiveIntegertypes. - Add mising
PositiveInteger.ToString()to better display positive integer values in logs. - Updated all dependencies to their latest versions.
0.4.1 / 2025-08-12
- Revert usage of weak references to optimize
StringSegmentLinkedListmemory consumption.
- Fix versioning for hotfix branches.
0.4.0 / 2025-08-08
- Added
StringSegmentLinkedList.StartsWith(ReadOnlySpan<char>,IEqualityComparer<char>)method (#287) - Added
net9.0support
- Optimize
StringSegmentLinkedListmemory consumption by using weak references when possible. - updated cache key for Stryker config file.
0.3.1 / 2025-07-27
StringSegmentLinkedList.GetHashCodethrowsNotSupportedException(#301)
- Reinitialized
parameters.local.jsoncontent
0.3.0 / 2025-07-13
- Moved all types from
Candoumbe.Typesnamespace fromCandoumbe.TypesNuGet package intoCandoumbe.Types.CoreNuGet package - Moved all types from
Candoumbe.Types.Numericsnamespace fromCandoumbe.TypesNuGet package intoCandoumbe.Types.NumericsNuGet package - Moved all types from
Candoumbe.Types.Calendarnamespace fromCandoumbe.TypesNuGet package intoCandoumbe.Types.CalendarNuGet package - Moved all types from
Candoumbe.Types.Stringsnamespace fromCandoumbe.TypesNuGet package intoCandoumbe.Types.StringsNuGet package - Replaced
StringSegmentLinkedList.IsEquivalentTo(StringSegmentLinkedList)withStringSegmentLinkedList.Equals(StringSegmentLinkedList)
- Added
NonNegativeLongtype (#43) - Added
PositiveLongtype (#43) - Added
StringSegmentLinkedList.Equals(StringSegmentLinkedList, IEqualituComparer<char>) - Added
StringSegmentLinkedList.Contains(ReadOnlySpan<char>)(#284) - Added
StringSegmentLinkedList.Contains(ReadOnlySpan<char>, IEqualityComparer<char>)(#284)
- Moved to central package management
0.2.1 / 2025-06-17
- Renamed
StringSegmentLinkedList.Equals(StringSegmentLinkedList, IEqualityComparer<char>)toStringSegmentLinkedList.IsEquivalentTo(StringSegmentLinkedList, IEqualityComparer<char>)
- Fixed
ArgumentOutOfRangeExceptionthrown byStringSegmentLinkedList.Replace(Func<char, bool>, IReadOnlyDictionary<char, ReadOnlyMemory<char>>)when there are more than 1 match in a node. - Fixed incorrect behavior of
StringSegmentLinkedList.IsEquivalentTo(#283)
- Added documentation.
- Updated GitVersion configuration to better handle hotfix versioning
- Move to central package management
- Add
DotNet.ReproducibleBuildspackage tocore.props - Update
Candoumbe.Pipelinesto0.13.2 - Update
README.mdwith new badges for nightly and main branches, and mutation testing - Improve
StringSegmentLinkedList.Replacewhen replacing astringby astringmethod to reduce memory allocations- Optimize character replacement logic
- Avoid unnecessary allocations by using
ReadOnlyMemory<char>andReadOnlySpan<char> - Refactor code for better readability and performance
- Add
DotNet.ReproducibleBuildspackage tocore.props - Update
Candoumbe.Pipelinesto0.13.2 - Update
README.mdwith new badges for nightly and main branches, and mutation testing - Improve
StringSegmentLinkedList.Replacewhen replacing astringby astringmethod to reduce memory allocations- Optimize character replacement logic
- Avoid unnecessary allocations by using
ReadOnlyMemory<char>andReadOnlySpan<char> - Refactor code for better readability and performance
- Updated GitHub workflows to download required SDKs when running CI.
0.2.0 / 2024-12-03
- Added
NonNegativeIntegertype (#43) - Added
PositiveIntegertype (#43) - Added
net8.0support - Added
StringSegmentLinkedListtype - Added collection expression support for
MultiTimeOnlyRange,MultiDateTimeRangeandMultiDateOnlyRange(#205) - Added
IRangeinterface - Added ICanRepresentEmpty interface
- Added ICanRepresentInfinite interface
- Dropped
net6.0support as it's no longer maintained by Microsoft (#216). - Dropped
net7.0support as it's no longer maintained by Microsoft. - Removed
Rangesproperty fromMultiDateTimeRange,MultiTimeOnlyRangeandMultiDateOnlyRangewhich is now redundant - Added
NonNegativeLongtype (#70) - Added
PositiveLongtype (#70)
- Code refactoring to be able to add more numeric types (#70)
- Fixed incorrect package and repository urls which caused report of mutation tests to not be sent.
- Bumped
Candoumbe.Pipelinesdependency to0.11.0 - Added benchmarks for
StringSegmentLinkedListtype - Added
DotNet.ReproducibleBuildsNuGet dependency when running on CI server
0.1.0 / 2023-01-29
- Initial release