- Only .NET 10+ support.
- Some computed properties in
BufferWrapper{T}were madereadonlyto hint the compiler to not create defensive copies. PersistentDictionaryin all of its variants have been removed - usedArrowDbinstead.SerializableObject<T>,MonitoredSerializableObject<T>andThreadSafe<T>have all been combined intoSynchronized<T>which is much simpler, more performant. But can be more manual as it isn't coupled withFile.IO. Instead it provides a delegate that can be provided and called on update.Collections.IsNullOrEmptyand all the other alias functions forCollectionsMarshalhave been removed.Utilssubclasses have been flattened and all the contents will reside directly inUtils.Strings.FormatByteshave been removedPathutilities were also removed - useAppContextinstead.String.IsNullOrEmpty|IsNullOrWhiteSpace|Concatwere also removed to enforce build-in language features.TryConvertFromTo32was also removed -int.Parse|TryParseare more than fast enough now.
- A struct
PooledArrayOwner{T}was added to rent arrays fromArrayPool{T}without additional penalties.- Extensions to match were added to any
ArrayPool{T}includingShared, they allow you to get the owner and the array at the same time.using var owner = ArrayPool{T}.Shared.Rent(minLength, out T[] array); - You can then proceed to use
BufferWrapper{T}.Create(array)to get anIBufferWriterimplementation over it.
- Extensions to match were added to any