Skip to content

Add support for Zstandard: dotnet/android tools/assembly-store-reader-mk2 @ 2e30614 #5346

Description

@github-actions

TLDR;

Microsoft are adding support for Zstd compression to Android Assembly Stores:

Switches the per-assembly AssemblyStore compression from LZ4 (dotnet/lz4 + the K4os managed wrapper) to Zstandard, using the ZSTD_* entry points already exported by libSystem.IO.Compression.Native in the .NET runtime pack. This drops an external dependency and trades for a better compression ratio.

Eventually, this will be good news as we'll be able to drop this dependency:

<ItemGroup>
<PackageReference Include="K4os.Compression.LZ4" Version="1.3.6" />
</ItemGroup>

In the near term, we'll be able to conditionally drop/replace this for recent enough versions of .NET (likely .NET 11 or later). We'll need to do this before shipping the next major version of the Sentry SDK for .NET.

First Change Detected

Headline: Switched to LZ4

The code at dotnet/android/tools/assembly-store-reader-mk2 has a new commit since our last review.

Latest commit 2e30614
Path history View history
Tracking Code dotnet/android tools/assembly-store-reader-mk2 @ 2e30614

Our vendored copy lives in src/Sentry.Android.AssemblyReader/. We modified the upstream code significantly,
so a direct merge is unlikely to be appropriate — but the commit above may reveal logic
changes worth porting.

Second Change Detected

Headline: re-use cached copies of decompressed files

The code at dotnet/android/tools/assembly-store-reader-mk2 has a new commit since our last review.

Latest commit b367d98
Path history View history

Our vendored copy lives in src/Sentry.Android.AssemblyReader/. We modified the upstream code significantly,
so a direct merge is unlikely to be appropriate — but the commit above may reveal logic
changes worth porting.

Automatically opened by the Watch Upstream Changes workflow.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    .NETPull requests that update .net codeNext MajorChanges scheduled for the next Major release.Taskupstream-watchUpstream vendored code has changed — review required

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions