Skip to content

Commit 813aec1

Browse files
committed
Release 5.19.1
1 parent 5a61ee9 commit 813aec1

File tree

14 files changed

+52
-39
lines changed

14 files changed

+52
-39
lines changed

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
11
Release Notes
22
====
33

4+
# 03-06-2025
5+
<a href="https://www.nuget.org/packages/dotnext/5.19.1">DotNext 5.19.1</a>
6+
* Smallish performance improvements of `SparseBufferWriter<T>`
7+
8+
<a href="https://www.nuget.org/packages/dotnext.metaprogramming/5.19.1">DotNext.Metaprogramming 5.19.1</a>
9+
* Updated dependencies
10+
11+
<a href="https://www.nuget.org/packages/dotnext.unsafe/5.19.1">DotNext.Unsafe 5.19.1</a>
12+
* Updated dependencies
13+
14+
<a href="https://www.nuget.org/packages/dotnext.threading/5.19.1">DotNext.Threading 5.19.1</a>
15+
* Fixed weight counting in `RandomAccessCache<TKey, TValue, TWeight>` class
16+
17+
<a href="https://www.nuget.org/packages/dotnext.io/5.19.1">DotNext.IO 5.19.1</a>
18+
* Updated dependencies
19+
20+
<a href="https://www.nuget.org/packages/dotnext.net.cluster/5.19.1">DotNext.Net.Cluster 5.19.1</a>
21+
* Updated dependencies
22+
23+
<a href="https://www.nuget.org/packages/dotnext.aspnetcore.cluster/5.19.1">DotNext.AspNetCore.Cluster 5.19.1</a>
24+
* Updated dependencies
25+
426
# 03-03-2025
527
<a href="https://www.nuget.org/packages/dotnext/5.19.0">DotNext 5.19.0</a>
628
* Added `ConsoleLifetimeTokenSource` that exposes the cancellation token bounded to the console application lifetime

README.md

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -44,31 +44,27 @@ All these things are implemented in 100% managed code on top of existing .NET AP
4444
* [NuGet Packages](https://www.nuget.org/profiles/rvsakno)
4545

4646
# What's new
47-
Release Date: 03-03-2025
47+
Release Date: 03-06-2025
4848

49-
<a href="https://www.nuget.org/packages/dotnext/5.19.0">DotNext 5.19.0</a>
50-
* Added `ConsoleLifetimeTokenSource` that exposes the cancellation token bounded to the console application lifetime
51-
* Added more pipelined methods to work with `Optional<T>` and `Result<T>` in async code
49+
<a href="https://www.nuget.org/packages/dotnext/5.19.1">DotNext 5.19.1</a>
50+
* Smallish performance improvements of `SparseBufferWriter<T>`
5251

53-
<a href="https://www.nuget.org/packages/dotnext.metaprogramming/5.19.0">DotNext.Metaprogramming 5.19.0</a>
52+
<a href="https://www.nuget.org/packages/dotnext.metaprogramming/5.19.1">DotNext.Metaprogramming 5.19.1</a>
5453
* Updated dependencies
5554

56-
<a href="https://www.nuget.org/packages/dotnext.unsafe/5.19.0">DotNext.Unsafe 5.19.0</a>
55+
<a href="https://www.nuget.org/packages/dotnext.unsafe/5.19.1">DotNext.Unsafe 5.19.1</a>
5756
* Updated dependencies
5857

59-
<a href="https://www.nuget.org/packages/dotnext.threading/5.19.0">DotNext.Threading 5.19.0</a>
60-
* Added weight-based cache on top of existing `RandomAccessCache<TKey, TValue>` class
61-
* Fixed potential race conditions within `RandomAccessCache<TKey, TValue>` class
62-
* `RandomAccessCache<TKey, TValue, TWeight>` can grow dynamically depending on the number of hash collisions
58+
<a href="https://www.nuget.org/packages/dotnext.threading/5.19.1">DotNext.Threading 5.19.1</a>
59+
* Fixed weight counting in `RandomAccessCache<TKey, TValue, TWeight>` class
6360

64-
<a href="https://www.nuget.org/packages/dotnext.io/5.19.0">DotNext.IO 5.19.0</a>
61+
<a href="https://www.nuget.org/packages/dotnext.io/5.19.1">DotNext.IO 5.19.1</a>
6562
* Updated dependencies
6663

67-
<a href="https://www.nuget.org/packages/dotnext.net.cluster/5.19.0">DotNext.Net.Cluster 5.19.0</a>
68-
* Reused FNV1a hash implementation
69-
* Improved WAL performance if `WriteMode.NoFlush` is chosen
64+
<a href="https://www.nuget.org/packages/dotnext.net.cluster/5.19.1">DotNext.Net.Cluster 5.19.1</a>
65+
* Updated dependencies
7066

71-
<a href="https://www.nuget.org/packages/dotnext.aspnetcore.cluster/5.19.0">DotNext.AspNetCore.Cluster 5.19.0</a>
67+
<a href="https://www.nuget.org/packages/dotnext.aspnetcore.cluster/5.19.1">DotNext.AspNetCore.Cluster 5.19.1</a>
7268
* Updated dependencies
7369

7470
Changelog for previous versions located [here](./CHANGELOG.md).

src/DotNext.IO/DotNext.IO.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<Authors>.NET Foundation and Contributors</Authors>
1212
<Company />
1313
<Product>.NEXT Family of Libraries</Product>
14-
<VersionPrefix>5.19.0</VersionPrefix>
14+
<VersionPrefix>5.19.1</VersionPrefix>
1515
<VersionSuffix></VersionSuffix>
1616
<AssemblyName>DotNext.IO</AssemblyName>
1717
<PackageLicenseExpression>MIT</PackageLicenseExpression>

src/DotNext.Metaprogramming/DotNext.Metaprogramming.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<ImplicitUsings>true</ImplicitUsings>
99
<IsAotCompatible>false</IsAotCompatible>
1010
<Features>nullablePublicOnly</Features>
11-
<VersionPrefix>5.19.0</VersionPrefix>
11+
<VersionPrefix>5.19.1</VersionPrefix>
1212
<VersionSuffix></VersionSuffix>
1313
<Authors>.NET Foundation</Authors>
1414
<Product>.NEXT Family of Libraries</Product>

src/DotNext.Tests/DotNext.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<LangVersion>latest</LangVersion>
77
<ImplicitUsings>true</ImplicitUsings>
88
<EnableNETAnalyzers>false</EnableNETAnalyzers>
9-
<Version>5.17.0</Version>
9+
<Version>5.19.0</Version>
1010
<IsPackable>false</IsPackable>
1111
<Authors>.NET Foundation and Contributors</Authors>
1212
<Product>.NEXT Family of Libraries</Product>

src/DotNext.Threading/DotNext.Threading.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<ImplicitUsings>true</ImplicitUsings>
88
<IsAotCompatible>true</IsAotCompatible>
99
<Features>nullablePublicOnly</Features>
10-
<VersionPrefix>5.19.0</VersionPrefix>
10+
<VersionPrefix>5.19.1</VersionPrefix>
1111
<VersionSuffix></VersionSuffix>
1212
<Authors>.NET Foundation and Contributors</Authors>
1313
<Product>.NEXT Family of Libraries</Product>

src/DotNext.Threading/Runtime/Caching/RandomAccessCache.Dictionary.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ public Bucket()
170170
}
171171

172172
[DebuggerBrowsable(DebuggerBrowsableState.Never)]
173-
internal int CollisionCount => count;
173+
internal readonly int CollisionCount => count;
174174

175175
[ExcludeFromCodeCoverage]
176176
[DebuggerBrowsable(DebuggerBrowsableState.Never)]
@@ -392,7 +392,6 @@ internal void Invalidate(Action<KeyValuePair> cleanup)
392392
}
393393
}
394394

395-
[MethodImpl(MethodImplOptions.AggressiveInlining)]
396395
public readonly Enumerator GetEnumerator() => new(first);
397396

398397
[StructLayout(LayoutKind.Auto)]

src/DotNext.Unsafe/DotNext.Unsafe.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<Nullable>enable</Nullable>
88
<ImplicitUsings>true</ImplicitUsings>
99
<IsAotCompatible>true</IsAotCompatible>
10-
<VersionPrefix>5.19.0</VersionPrefix>
10+
<VersionPrefix>5.19.1</VersionPrefix>
1111
<Features>nullablePublicOnly</Features>
1212
<VersionSuffix></VersionSuffix>
1313
<Authors>.NET Foundation and Contributors</Authors>

src/DotNext/Buffers/SparseBufferWriter.cs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -169,9 +169,10 @@ public void Write(ReadOnlyMemory<T> input, bool copyMemory = true)
169169
{
170170
ObjectDisposedException.ThrowIf(IsDisposed, this);
171171
if (input.IsEmpty)
172-
goto exit;
173-
174-
if (copyMemory)
172+
{
173+
// return, nothing to write
174+
}
175+
else if (copyMemory)
175176
{
176177
Write(input.Span);
177178
}
@@ -185,17 +186,14 @@ public void Write(ReadOnlyMemory<T> input, bool copyMemory = true)
185186
last = new ImportedMemoryChunk(input, last);
186187
length += input.Length;
187188
}
188-
189-
exit:
190-
return;
191189
}
192190

193191
/// <summary>
194192
/// Adds a single item to the buffer.
195193
/// </summary>
196194
/// <param name="item">The item to add.</param>
197195
/// <exception cref="ObjectDisposedException">The builder has been disposed.</exception>
198-
public void Add(T item) => Write(CreateReadOnlySpan(ref item, 1));
196+
public void Add(T item) => Write(new(ref item));
199197

200198
/// <inheritdoc />
201199
void IGrowableBuffer<T>.Write(T value) => Add(value);

src/DotNext/DotNext.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<Authors>.NET Foundation and Contributors</Authors>
1212
<Company />
1313
<Product>.NEXT Family of Libraries</Product>
14-
<VersionPrefix>5.19.0</VersionPrefix>
14+
<VersionPrefix>5.19.1</VersionPrefix>
1515
<VersionSuffix></VersionSuffix>
1616
<AssemblyName>DotNext</AssemblyName>
1717
<PackageLicenseExpression>MIT</PackageLicenseExpression>

0 commit comments

Comments
 (0)