Mdpkg.Reader 0.1.0-preview.3

This is a prerelease version of Mdpkg.Reader.
dotnet add package Mdpkg.Reader --version 0.1.0-preview.3
                    
NuGet\Install-Package Mdpkg.Reader -Version 0.1.0-preview.3
                    
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="Mdpkg.Reader" Version="0.1.0-preview.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Mdpkg.Reader" Version="0.1.0-preview.3" />
                    
Directory.Packages.props
<PackageReference Include="Mdpkg.Reader" />
                    
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 Mdpkg.Reader --version 0.1.0-preview.3
                    
#r "nuget: Mdpkg.Reader, 0.1.0-preview.3"
                    
#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 Mdpkg.Reader@0.1.0-preview.3
                    
#: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=Mdpkg.Reader&version=0.1.0-preview.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Mdpkg.Reader&version=0.1.0-preview.3&prerelease
                    
Install as a Cake Tool

Mdpkg.Reader

Read-only .NET 10 foundation for .mdpkg: bounded ZIP32 indexing and selective payload decoding; canonical format checks; Unicode path rules; typed package identities and locators; CommonMark source scopes, digests and current-view ledger resolution.

The package depends on Markdig and SharpZipLib. It has no CLI, package writer, native Git process, network operation or review-schema dependency. Mdpkg.Reviews builds on it. Creation and full/deep validation are available through Mdpkg.Core.

Install after the public release gate succeeds:

dotnet add package Mdpkg.Reader --version 0.1.0-preview.2 --source https://api.nuget.org/v3/index.json
using Mdpkg.Reader;
using var input = File.OpenRead(args[0]);
var snapshot = await PackageSnapshot.ReadAsync(input);
foreach (var path in snapshot.DocumentPaths)
    foreach (var scope in snapshot.GetScopes(path))
        Console.WriteLine($"{scope.Locator.Kind} {path}: {scope.Root} {scope.Digest}");

For selective access, use PackageArchive.OpenAsync, then ReadEntry. Opening validates the authoritative ZIP directory, paths/extents, typing and selected manifest/history/ref payloads. Other entries are CRC/decompression checked only when read. Container status does not certify untouched payloads or Git graph/current-view agreement. Recoverable typing requires explicit opt-in. PackageSnapshot.ReadAsync loads the bounded current Markdown view and ledger, computes file corroboration, and caches scopes on demand. Snapshot data remains usable after the input is disposed. No historical Git tree is materialized; partial correspondence to a different reviewed commit returns history-required.

Streams remain caller-owned. Reading starts at the current position and advances it. Non-seekable input is spooled to a private, size-limited, delete-on-close file; dispose the archive to release it. Failed opens and cancellation remove spools. Archive instances are not thread-safe. Cancellation is propagated, never converted to a malformed result.

Default ReadLimits: input 128 MiB, central directory 16 MiB, 10,000 entries, manifest/ history/ledger 1 MiB each, document 16 MiB, aggregate decoded entry reads 128 MiB, JSON depth 32. Selected compressed input is bounded too (decoded cap plus 64 KiB overhead). Repeated entry reads consume the aggregate budget. These are configurable service limits; ResourceLimitException rejects excess data rather than truncating it. Package errors use PackageFormatException with code/entry. Expected IO failures remain IO exceptions.

Unicode folding data retains its UNICODE-LICENSE.txt; the package includes MIT license metadata, README and repository provenance. See the release guide for the coordinated version, policy setup and public-feed acceptance gate.

Creation and full/deep producer validation are available separately in Mdpkg.Core. Reader remains independently usable without Core or native Git. Core requires its coordinated Reader version exactly; update them together.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Mdpkg.Reader:

Package Downloads
Mdpkg.Core

Creates Markdown packages and performs full and native-Git deep validation.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-preview.3 57 9/11/2026
0.1.0-preview.2 50 9/10/2026