diff --git a/HdrHistogram.Benchmarking/HdrHistogram.Benchmarking.csproj b/HdrHistogram.Benchmarking/HdrHistogram.Benchmarking.csproj
index 61b025b..8cda37b 100644
--- a/HdrHistogram.Benchmarking/HdrHistogram.Benchmarking.csproj
+++ b/HdrHistogram.Benchmarking/HdrHistogram.Benchmarking.csproj
@@ -2,7 +2,7 @@
Exe
- net8.0
+ net10.0;net9.0;net8.0
diff --git a/HdrHistogram.Examples/HdrHistogram.Examples.csproj b/HdrHistogram.Examples/HdrHistogram.Examples.csproj
index 36b80e7..ca04f59 100644
--- a/HdrHistogram.Examples/HdrHistogram.Examples.csproj
+++ b/HdrHistogram.Examples/HdrHistogram.Examples.csproj
@@ -2,7 +2,7 @@
Exe
- net8.0
+ net10.0
diff --git a/HdrHistogram.UnitTests/HdrHistogram.UnitTests.csproj b/HdrHistogram.UnitTests/HdrHistogram.UnitTests.csproj
index 6c96532..4380f81 100644
--- a/HdrHistogram.UnitTests/HdrHistogram.UnitTests.csproj
+++ b/HdrHistogram.UnitTests/HdrHistogram.UnitTests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0;net9.0;net8.0
diff --git a/HdrHistogram/HdrHistogram.csproj b/HdrHistogram/HdrHistogram.csproj
index 88dedf7..26279d1 100644
--- a/HdrHistogram/HdrHistogram.csproj
+++ b/HdrHistogram/HdrHistogram.csproj
@@ -1,7 +1,7 @@
- net8.0;netstandard2.0
+ net10.0;net9.0;net8.0;netstandard2.0
HdrHistogram supports low latency recording and analyzing of sampled data value counts across a configurable integer value range with configurable value precision within the range.
Gil Tene, Lee Campbell
Net 8.0 release
@@ -24,7 +24,15 @@
bin\Release\net8.0\HdrHistogram.xml
-
+
+
+ bin\Release\net9.0\HdrHistogram.xml
+
+
+
+ bin\Release\net10.0\HdrHistogram.xml
+
+
bin\Release\netstandard2.0\HdrHistogram.xml
RELEASE;NETSTANDARD2_0
diff --git a/HdrHistogram/HistogramLogReader.cs b/HdrHistogram/HistogramLogReader.cs
index 1a98b4d..c861b59 100644
--- a/HdrHistogram/HistogramLogReader.cs
+++ b/HdrHistogram/HistogramLogReader.cs
@@ -18,7 +18,7 @@ public sealed class HistogramLogReader : IDisposable, IHistogramLogV1Reader
private static readonly Regex BaseTimeMatcher = new Regex(@"#\[BaseTime: (?\d*\.\d{1,3}) ", RegexOptions.Compiled);
//Content lines - format = startTimestamp, intervalLength, maxTime, histogramPayload
private static readonly Regex UntaggedLogLineMatcher = new Regex(@"(?\d*\.\d*),(?\d*\.\d*),(?\d*\.\d*),(?.*)", RegexOptions.Compiled);
- private static readonly Regex TaggedLogLineMatcher = new Regex(@"((?Tag=.+),)?(?\d*\.\d*),(?\d*\.\d*),(?\d*\.\d*),(?.*)", RegexOptions.Compiled);
+ private static readonly Regex TaggedLogLineMatcher = new Regex(@"((?Tag=[^,]+),)?(?\d*\.\d*),(?\d*\.\d*),(?\d*\.\d*),(?.*)", RegexOptions.Compiled);
private readonly TextReader _log;
private double _startTimeInSeconds;
diff --git a/autonomous/Dockerfile b/autonomous/Dockerfile
index 092588e..053ba65 100644
--- a/autonomous/Dockerfile
+++ b/autonomous/Dockerfile
@@ -2,8 +2,11 @@
# HdrHistogram.NET Agent Container
# .NET SDK + Claude Code + gh CLI + firewall
# =============================================================================
-FROM mcr.microsoft.com/dotnet/sdk:9.0-bookworm-slim
+FROM mcr.microsoft.com/dotnet/sdk:10.0-bookworm-slim
RUN dotnet_version=8.0 \
+ && curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin \
+ --runtime dotnet --channel $dotnet_version --install-dir /usr/share/dotnet \
+ && dotnet_version=9.0 \
&& curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin \
--runtime dotnet --channel $dotnet_version --install-dir /usr/share/dotnet
diff --git a/spec/tech-standards/build-system.md b/spec/tech-standards/build-system.md
index f78100c..0792541 100644
--- a/spec/tech-standards/build-system.md
+++ b/spec/tech-standards/build-system.md
@@ -22,26 +22,28 @@ HdrHistogram.sln
### Main Library (HdrHistogram.csproj)
```xml
-net8.0;netstandard2.0
+net10.0;net9.0;net8.0;netstandard2.0
```
| Target | Description |
|--------|-------------|
-| `net8.0` | Modern .NET (primary target) |
+| `net10.0` | Modern .NET (current LTS target) |
+| `net9.0` | Modern .NET (STS target) |
+| `net8.0` | Modern .NET (LTS target) |
| `netstandard2.0` | Broad compatibility (.NET Framework 4.6.1+, .NET Core 2.0+) |
### Test Project
```xml
-net8.0
+net10.0;net9.0;net8.0
```
### Benchmarking Project
-Targets the current LTS runtime only (developer tool, not a shipped library):
+Targets all supported modern runtimes (developer tool, not a shipped library):
```xml
-net8.0
+net10.0;net9.0;net8.0
```
## Dependencies
@@ -224,7 +226,9 @@ dotnet run -c Release -- -f *Recording*
### Benchmark Configuration
BenchmarkDotNet is used with these targets:
-- `net8.0` (current LTS runtime)
+- `net10.0` (current LTS runtime)
+- `net9.0` (STS runtime)
+- `net8.0` (LTS runtime)
- Windows diagnostics support
- Memory allocation tracking
@@ -251,7 +255,7 @@ HdrHistogram/bin/{Configuration}/{TargetFramework}/
### Prerequisites
-- .NET 8.0 SDK (or later)
+- .NET 10.0 SDK (or later)
- Visual Studio 2022 (optional, for IDE development)
- Git