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" />
<PackageReference Include="SystemIOCompression.Zstandard.Backporting" />
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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#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
#tool nuget:?package=SystemIOCompression.Zstandard.Backporting&version=11.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
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.Backportingas 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.propsviaZstandardPackageVersion. - 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 directZstandardStreamequivalent. - Stream reset behavior:
ZstdStream.Reset()is removed; recreate stream/codec instance. - Compression level mutability:
ZstdStream.CompressionLevelmutable 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:
isFinalBlockandframeFinishedstyle flow is not preserved.
Breaking changes
- No
FlushFrame()equivalent onZstandardStream. - No
Reset()equivalent onZstandardStream. - No mutable
CompressionLevelproperty on stream instances. - Concatenated-frame decompression behavior differs from legacy implementation.
- Decoder max-window config pattern changes to constructor-based configuration.
Recommended migration steps
- Replace package reference with
SystemIOCompression.Zstandard.Backporting. - Rename namespaces and API types.
- Fix compile-time breakpoints (
FlushFrame,Reset, mutableCompressionLevel, decoder config APIs). - Add/refresh tests for multi-frame payloads and truncation/error behavior.
- Validate runtime behavior per target framework (
net8.0throughnet11.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.
-
net10.0
- SystemIOCompression.Zstandard (>= 11.0.4)
-
net11.0
- No dependencies.
-
net8.0
- SystemIOCompression.Zstandard (>= 11.0.4)
-
net9.0
- SystemIOCompression.Zstandard (>= 11.0.4)
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
|