SystemIOCompression.Zstandard.Backporting 11.0.4

dotnet add package SystemIOCompression.Zstandard.Backporting --version 11.0.4
                    
NuGet\Install-Package SystemIOCompression.Zstandard.Backporting -Version 11.0.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SystemIOCompression.Zstandard.Backporting" Version="11.0.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SystemIOCompression.Zstandard.Backporting" Version="11.0.4" />
                    
Directory.Packages.props
<PackageReference Include="SystemIOCompression.Zstandard.Backporting" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SystemIOCompression.Zstandard.Backporting --version 11.0.4
                    
#r "nuget: SystemIOCompression.Zstandard.Backporting, 11.0.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SystemIOCompression.Zstandard.Backporting@11.0.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SystemIOCompression.Zstandard.Backporting&version=11.0.4
                    
Install as a Cake Addin
#tool nuget:?package=SystemIOCompression.Zstandard.Backporting&version=11.0.4
                    
Install as a Cake Tool

SystemIOCompression.Zstandard Migration Guide

This repository now recommends a single package reference for application projects:

<PackageReference Include="SystemIOCompression.Zstandard.Backporting" Version="11.0.4" />

Package strategy

  • Use SystemIOCompression.Zstandard.Backporting as the only package reference in app projects.
  • net8.0, net9.0, net10.0: package routes to backport implementation.
  • net11.0+: package becomes compatibility shim and runtime implementation is used.

Migration comparison

Package replacement

Replace:

<PackageReference Include="ZstdDotnet" Version="1.5.7.2" />

With:

<PackageReference Include="SystemIOCompression.Zstandard.Backporting" Version="11.0.4" />

Versioning and release

  • Package version is centralized in Directory.Build.props via ZstandardPackageVersion.
  • Publishing is performed by the GitHub Actions workflow Publish System.IO.Compression.Zstandard Packages.
  • The workflow checks whether tag v<PackageVersion> already exists:
    • If the tag exists, publish/release steps are skipped.
    • If the tag does not exist, the workflow publishes to GitHub Packages, runs compatibility validation, publishes to NuGet, then creates tag and GitHub Release.

API mapping

Legacy New
using ZstdDotnet; using System.IO.Compression;
ZstdStream ZstandardStream
ZstdEncoder ZstandardEncoder
ZstdDecoder ZstandardDecoder

Stream/encoder/decoder compatibility notes

  • Stream flush behavior: ZstdStream.FlushFrame() has no direct ZstandardStream equivalent.
  • Stream reset behavior: ZstdStream.Reset() is removed; recreate stream/codec instance.
  • Compression level mutability: ZstdStream.CompressionLevel mutable property is removed; configure via constructor/options.
  • Concatenated-frame read semantics differ: caller must handle remaining compressed bytes explicitly.
  • Low-level decoder loop contract changed: isFinalBlock and frameFinished style flow is not preserved.

Breaking changes

  • No FlushFrame() equivalent on ZstandardStream.
  • No Reset() equivalent on ZstandardStream.
  • No mutable CompressionLevel property on stream instances.
  • Concatenated-frame decompression behavior differs from legacy implementation.
  • Decoder max-window config pattern changes to constructor-based configuration.
  1. Replace package reference with SystemIOCompression.Zstandard.Backporting.
  2. Rename namespaces and API types.
  3. Fix compile-time breakpoints (FlushFrame, Reset, mutable CompressionLevel, decoder config APIs).
  4. Add/refresh tests for multi-frame payloads and truncation/error behavior.
  5. Validate runtime behavior per target framework (net8.0 through net11.0+).

Legacy documentation

Legacy ZstdDotnet package details and historical usage notes were moved to README.legacy.md.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on SystemIOCompression.Zstandard.Backporting:

Repository Stars
aloneguid/parquet-dotnet
Fully managed Apache Parquet implementation
Version Downloads Last Updated
11.0.4 6,913 5/21/2026
11.0.3 243 5/21/2026
11.0.1 668 4/24/2026
11.0.0 274 4/24/2026