Skip to content

Add AOT to props and clean up in release#1181

Merged
adamhathcock merged 6 commits intoreleasefrom
adam/add-aot
Feb 3, 2026
Merged

Add AOT to props and clean up in release#1181
adamhathcock merged 6 commits intoreleasefrom
adam/add-aot

Conversation

@adamhathcock
Copy link
Owner

Release version of #1180

This pull request updates package references and project configuration to improve compatibility and bring dependencies up to date. The main changes include upgrading the Microsoft.SourceLink.GitHub package to version 10.0.102, ensuring consistent usage of Microsoft.NETFramework.ReferenceAssemblies, and removing redundant or outdated project settings. These updates help maintain build reliability and better support for modern .NET features.

Dependency updates:

  • Upgraded Microsoft.SourceLink.GitHub to version 10.0.102 across all projects and lock files, replacing previous references to older versions and ensuring transitive dependencies (Microsoft.Build.Tasks.Git, Microsoft.SourceLink.Common) are also updated. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
  • Ensured consistent usage of Microsoft.NETFramework.ReferenceAssemblies (version 1.0.3) in all relevant projects and lock files, including transitive dependency updates for net461. [1] [2] [3] [4]

Project configuration cleanup:

  • Removed redundant or outdated PackageReference and debug configuration blocks from SharpCompress.csproj and SharpCompress.Test.csproj, simplifying the project files and avoiding duplicate package references. [1] [2] [3]
  • Added netstandard20 as a target framework in SharpCompress.csproj to improve cross-platform compatibility.
  • Set IsAotCompatible to true for .NET 8.0 and 10.0 targets in SharpCompress.csproj, supporting ahead-of-time compilation scenarios.

Versioning adjustments:

  • Reset assembly version and file version in SharpCompress.csproj to 0.0.0.0, likely to prepare for a new release or versioning strategy.

Build system improvements:

  • Updated Directory.Packages.props to use GlobalPackageReference for key dependencies, streamlining package management.

@kilo-code-bot
Copy link
Contributor

kilo-code-bot bot commented Feb 3, 2026

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (4 files)
  • Directory.Packages.props - Updated package references
  • src/SharpCompress/Common/Zip/WinzipAesEncryptionData.cs - Added NETSTANDARD2_0 support
  • src/SharpCompress/SharpCompress.csproj - Added netstandard2.0 target framework
  • tests/SharpCompress.Test/SharpCompress.Test.csproj - Removed conditional property group

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates dependency management and project configuration to support AOT/trimming scenarios and align package references/locks for the release workflow.

Changes:

  • Upgrades Microsoft.SourceLink.GitHub references/lockfiles to 10.0.102 (with updated transitive packages).
  • Moves Microsoft.SourceLink.GitHub / Microsoft.NETFramework.ReferenceAssemblies into Directory.Packages.props as GlobalPackageReferences and cleans up per-project references.
  • Updates SharpCompress.csproj to add an additional target framework and sets IsAotCompatible for net8/net10.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/SharpCompress.Test/packages.lock.json Refreshes locked dependencies to reflect global/source link updates.
tests/SharpCompress.Test/SharpCompress.Test.csproj Removes redundant per-project package reference and debug constants block.
tests/SharpCompress.Performance/packages.lock.json Updates lockfile to include centrally referenced build-time packages.
src/SharpCompress/packages.lock.json Updates lockfile for SourceLink upgrade and additional target framework restore graph.
src/SharpCompress/SharpCompress.csproj Adjusts version placeholders, adds a target framework, and marks net8/net10 as AOT compatible.
build/packages.lock.json Updates lockfile to reflect centrally referenced packages.
Directory.Packages.props Switches SourceLink/ReferenceAssemblies to GlobalPackageReference and upgrades SourceLink version.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI commented Feb 3, 2026

@adamhathcock I've opened a new pull request, #1182, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 2 commits February 3, 2026 16:30
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
[WIP] WIP address feedback on AOT props and cleanup
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

src/SharpCompress/Common/Zip/WinzipAesEncryptionData.cs:27

  • Rfc2898DeriveBytes implements IDisposable, but the instances created in the NETFRAMEWORK || NETSTANDARD2_0 and #else branches are not disposed. Wrap these in a using (or using var) to ensure cryptographic resources are released/cleared deterministically.
#if NETFRAMEWORK || NETSTANDARD2_0
        var rfc2898 = new Rfc2898DeriveBytes(password, salt, RFC2898_ITERATIONS);
        KeyBytes = rfc2898.GetBytes(KeySizeInBytes);
        IvBytes = rfc2898.GetBytes(KeySizeInBytes);
        var generatedVerifyValue = rfc2898.GetBytes(2);

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants