Skip to content

Package Dependencies & Versions

This document outlines all NuGet package dependencies used in the Rapp project, their current versions, and verification that they are using the latest compatible versions.

Core Dependencies

Rapp Library (src/Rapp/Rapp.csproj)

PackageVersionStatusNotes
Microsoft.Extensions.Caching.Hybrid10.1.0LatestModern .NET caching abstractions
MemoryPack1.21.4LatestHigh-performance binary serialization

Source Generator (src/Rapp.Gen/Rapp.Gen.csproj)

PackageVersionStatusNotes
Microsoft.CodeAnalysis.CSharp5.0.0Latest CompatibleRoslyn compiler API for C#
Microsoft.CodeAnalysis.Analyzers3.11.0Latest CompatibleRoslyn code analysis rules

Compatibility Note: Roslyn analyzer packages have strict target framework requirements. We use standard 2.0 compatible versions where applicable to ensure broad compatibility.

Testing & Benchmarking

Benchmark Project (src/Rapp.Benchmark/Rapp.Benchmark.csproj)

PackageVersionStatusNotes
BenchmarkDotNet0.15.8LatestPerformance benchmarking framework
System.Text.Json10.0.1LatestJSON serialization for comparisons

Web & ASP.NET

Playground Project (src/Rapp.Playground/Rapp.Playground.csproj)

PackageVersionStatusNotes
Microsoft.AspNetCore.OpenApi10.0.1LatestOpenAPI/Swagger generation
MemoryPack1.21.4LatestBinary serialization

Version Update Process

Package versions are regularly verified against NuGet.org to ensure we're using the latest compatible versions:

  1. Automated Checks: CI/CD pipeline verifies no outdated packages
  2. Manual Verification: Quarterly review using NuGet API queries
  3. Compatibility Testing: All updates tested across all target frameworks
  4. Documentation Updates: This document updated when versions change

Build Requirements

  • .NET SDK: 10.0 or later
  • Target Frameworks:
    • net10.0 (main library)
    • netstandard2.1 (source generator)
  • OS Support: Windows, macOS, Linux
  • Architecture: x64, ARM64

Dependency Management

Package Reference Strategy

  • Core Dependencies: Explicit version pinning for stability
  • Development Tools: Latest versions for best tooling experience
  • Analyzer Packages: Compatible versions for target framework support
  • Private Assets: Analyzer dependencies marked as private to avoid transitive exposure

Update Policy

  • Security Updates: Immediate application
  • Bug Fixes: Applied in next minor release
  • Feature Updates: Evaluated for compatibility impact
  • Breaking Changes: Major version updates only

Verification Commands

To verify package versions manually:

bash
# Check specific package latest version
curl -s "https://api.nuget.org/v3-flatcontainer/{package-name}/index.json" | grep -o '"[0-9]\+\.[0-9]\+\.[0-9]\+"' | tail -5

# Build verification
dotnet build Rapp.sln --configuration Release

# Restore verification
dotnet restore Rapp.sln

Version History

DateActionDetails
2025-12-31Initial verificationAll packages confirmed at latest compatible versions
2025-12-31Roslyn analyzer compatibilityConfirmed 4.10.0/3.3.4 are latest compatible with .NET Standard 2.1
2026-01-07Update verificationAll packages updated to latest. CodeAnalysis updated to 4.14.0/3.11.0.

This document is automatically updated when package versions change. Last verified: January 7, 2026

Released under the MIT License.