Skip to content

Commit fb19d48

Browse files
rbenzingclaude
andcommitted
docs: update README and CHANGELOG for v2.6.2 multi-targeting
- Badge: .NET 8.0 -> .NET 8.0 | 10.0 - Install snippet: version 2.6.0 -> 2.6.2 - Requirements: .NET 8.0 or later -> .NET 8.0 or .NET 10.0 (both LTS) - CHANGELOG: add 2.6.2 entry covering multi-targeting, CPM, package validation, MSTest upgrade, CA2264 fixes Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 960fcd2 commit fb19d48

2 files changed

Lines changed: 21 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [2.6.2] - 2026-06-19
11+
12+
### Added
13+
- **Multi-Framework Targeting**: Library now targets both `net8.0` and `net10.0` (both LTS). NuGet package ships a `lib/net8.0/` and `lib/net10.0/` asset, giving consumers first-class builds on either runtime.
14+
- **Centralized Package Management**: All NuGet dependency versions centralised in `Directory.Packages.props`; no inline `Version=` attributes in project files.
15+
- **NuGet Package Source Mapping**: `NuGet.config` restricts all package resolution to `nuget.org`, preventing dependency-confusion attacks.
16+
- **Package Validation**: `EnablePackageValidation=true` enforces identical public API surface across both TFMs on every `dotnet pack`.
17+
- **CI TFM Matrix**: GitHub Actions now runs a `tfm: [net8.0, net10.0]` matrix axis so each framework is independently built and tested on every push.
18+
19+
### Changed
20+
- **MSTest upgraded**: Test project bumped from 2.2.10 to 3.11.1.
21+
- **Microsoft.Extensions.\* upgraded**: `DependencyInjection.Abstractions` and `Logging.Abstractions` upgraded from 9.0.4 to 10.0.0, picking up native `net10.0` TFMs.
22+
- **Microsoft.CodeAnalysis.NetAnalyzers upgraded**: 8.0.0 → 10.0.100 (SDK RTM build).
23+
24+
### Fixed
25+
- **CA2264**: Removed five dead `ArgumentNullException.ThrowIfNull()` calls on `KeyPair readonly struct` parameters (`DeviceLinkingService`, `ProtocolAdapter`, `DoubleRatchetProtocol`, `SessionPersistenceManager`, `X3DHProtocol`). `ThrowIfNull` on a non-nullable value type is a no-op; struct fields are already validated in the constructor.
26+
- **Microsoft.TestPlatform removed from library project**: The test-runner package was incorrectly referenced as a production dependency of `LibEmiddle.csproj`; it has been removed.
27+
1028
## [2.6.0] - 2026-03-21
1129

1230
### Added

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
![Build Status](https://img.shields.io/badge/build-passing-brightgreen)
44
![Coverage](https://img.shields.io/badge/coverage-90%25-brightgreen)
55
![License](https://img.shields.io/badge/license-AGPL--3.0-blue)
6-
![.NET](https://img.shields.io/badge/.NET-8.0-purple)
6+
![.NET](https://img.shields.io/badge/.NET-8.0%20%7C%2010.0-purple)
77
![Version](https://img.shields.io/badge/version-2.6.2-blue)
88

99
A comprehensive, production-ready end-to-end encryption library for .NET applications implementing modern cryptographic protocols with a focus on security, privacy, and usability. Now with advanced features including post-quantum cryptography preparation, WebRTC transport, message batching, and enterprise-grade monitoring capabilities.
@@ -489,7 +489,7 @@ client.KeyRotated += (sender, args) =>
489489

490490
### NuGet Package
491491
```bash
492-
dotnet add package LibEmiddle --version 2.6.0
492+
dotnet add package LibEmiddle --version 2.6.2
493493
```
494494

495495
### Package Manager Console
@@ -498,7 +498,7 @@ Install-Package LibEmiddle -Version 2.6.2
498498
```
499499

500500
### Requirements
501-
- .NET 8.0 or later
501+
- .NET 8.0 or .NET 10.0 (both LTS)
502502
- Windows, Linux, or macOS
503503
- libsodium native library (included in package)
504504

0 commit comments

Comments
 (0)