Skip to content

Fix incorrect code examples in docs for sync/async usage#1280

Merged
adamhathcock merged 2 commits into
masterfrom
copilot/check-markdown-code-examples
Apr 10, 2026
Merged

Fix incorrect code examples in docs for sync/async usage#1280
adamhathcock merged 2 commits into
masterfrom
copilot/check-markdown-code-examples

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 10, 2026

Several code examples in docs/API.md and docs/USAGE.md contained correctness bugs — including a C# compile error, calls to non-existent methods, and sync/async API misuse.

docs/USAGE.md

  • OpenEntryStreamAsync + WriteEntryToAsync called on same entry — these are mutually exclusive; the implementation throws if both are called. Removed the unused entryStream variable, leaving only WriteEntryToAsync.
  • Sync archive opened in async contextZipArchive.OpenArchive(...) replaced with await ZipArchive.OpenAsyncArchive(...) and foreach replaced with await foreach over EntriesAsync.

docs/API.md

  • Duplicate var entry declaration in the same scope (C# compile error) — renamed second declaration to firstEntry.
  • Orphaned entry.OpenEntryStreamAsync(...) snippet referenced an undefined entry outside any archive scope — moved into a properly scoped await using async archive block with await foreach over EntriesAsync.
  • Async calls inside sync IWriter blockWriteAsync/WriteAllAsync don't exist on IWriter. Removed them from the sync block; added a separate async example using await WriterFactory.OpenAsyncWriter(...) with await using for both stream and writer.
  • ZipArchive.Open(...)ZipArchive.OpenArchive(...) — the former method does not exist.

Copilot AI changed the title [WIP] Review markdown files for sync and async code examples Fix incorrect code examples in docs for sync/async usage Apr 10, 2026
Copilot AI requested a review from adamhathcock April 10, 2026 16:45
@adamhathcock adamhathcock marked this pull request as ready for review April 10, 2026 16:47
Copilot AI review requested due to automatic review settings April 10, 2026 16:47
@adamhathcock adamhathcock merged commit da30b5c into master Apr 10, 2026
3 of 4 checks passed
@adamhathcock adamhathcock deleted the copilot/check-markdown-code-examples branch April 10, 2026 16:47
Copy link
Copy Markdown
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

This PR fixes multiple documentation code examples to correctly reflect the library’s sync/async APIs and to remove snippets that would not compile or would call non-existent methods.

Changes:

  • Updated docs/USAGE.md examples to avoid mutually exclusive entry APIs and to use async archive open + await foreach over EntriesAsync.
  • Updated docs/API.md examples to fix a C# duplicate-variable compile error, properly scope async entry-stream examples, and separate sync vs async writer usage.
  • Corrected a docs call site from a non-existent ZipArchive.Open(...) to ZipArchive.OpenArchive(...).

Reviewed changes

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

File Description
docs/USAGE.md Fixes async usage examples to use async archive APIs and removes invalid mixed entry extraction patterns.
docs/API.md Fixes invalid/mis-scoped examples and corrects method names; separates sync vs async writer examples.

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

Comment thread docs/API.md
Comment on lines +87 to 91
var firstEntry = archive.Entries.First();
firstEntry.WriteToFile(@"C:\output\file.txt");

// Get entry stream
using (var stream = entry.OpenEntryStream())
Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

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

In this example block, entry is obtained via FirstOrDefault(...) and can be null, but it’s used unconditionally in entry.OpenEntryStream(). Also, after renaming the later var entry to firstEntry, the “Get entry stream” section now refers back to the potentially-null entry, which makes the sample prone to runtime failure. Consider either (a) changing the lookup to First(...) (or otherwise guaranteeing a non-null entry) or (b) adding a null-check before opening the stream; and ensure the stream example uses the intended variable (firstEntry vs the key-matched entry).

Copilot uses AI. Check for mistakes.
github-actions Bot pushed a commit to Stella-sea/ryujinx-admin that referenced this pull request May 31, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [SharpCompress](https://github.com/adamhathcock/sharpcompress) | `0.48.1` → `0.49.1` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/SharpCompress/0.49.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/SharpCompress/0.48.1/0.49.1?slim=true) |

---

### Release Notes

<details>
<summary>adamhathcock/sharpcompress (SharpCompress)</summary>

### [`v0.49.1`](https://github.com/adamhathcock/sharpcompress/releases/tag/0.49.1): - More fixes

[Compare Source](adamhathcock/sharpcompress@0.49.0...0.49.1)

#### What's Changed

- Close writable entry streams during async archive disposal by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;1338](adamhathcock/sharpcompress#1338)
- Restore `WriteToDirectoryAsync` progress callbacks for solid 7z archives by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;1340](adamhathcock/sharpcompress#1340)
- Try to fix global.json to avoid churn in locks by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1341](adamhathcock/sharpcompress#1341)
- Fix tar archive enumeration after fully reading entry streams by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1342](adamhathcock/sharpcompress#1342)

**Full Changelog**: <adamhathcock/sharpcompress@0.49.0...0.49.1>

### [`v0.49.0`](https://github.com/adamhathcock/sharpcompress/releases/tag/0.49.0): - Write Async fixes and more.

[Compare Source](adamhathcock/sharpcompress@0.48.1...0.49.0)

This should contain a lot of write async fixes and some breaking API changes that fix previous broke `net48` usage

#### What's Changed

- Rename IWriteableArchiveFactory.cs to IWritableArchiveFactory.cs by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;1244](adamhathcock/sharpcompress#1244)
- Some API clean up from GPT 5.4 by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1243](adamhathcock/sharpcompress#1243)
- Release to master by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1267](adamhathcock/sharpcompress#1267)
- Fix three BLAKE2sp correctness bugs and eliminate allocations in hot path by [@&#8203;coderb](https://github.com/coderb) in [#&#8203;1266](adamhathcock/sharpcompress#1266)
- Corrected async examples. by [@&#8203;dlemstra](https://github.com/dlemstra) in [#&#8203;1277](adamhathcock/sharpcompress#1277)
- Fix setting invalid access time fails extraction by [@&#8203;aromaa](https://github.com/aromaa) in [#&#8203;1279](adamhathcock/sharpcompress#1279)
- Fix incorrect code examples in docs for sync/async usage by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;1280](adamhathcock/sharpcompress#1280)
- Replace APPNOTE.TXT contents with reference link note by [@&#8203;puk06](https://github.com/puk06) in [#&#8203;1286](adamhathcock/sharpcompress#1286)
- Release to Master by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1274](adamhathcock/sharpcompress#1274)
- update docs for tar gap analysis and XZ usage by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1288](adamhathcock/sharpcompress#1288)
- Add a PooledMemoryStream to avoid allocating by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1275](adamhathcock/sharpcompress#1275)
- fix: Change LeaveStreamOpen default from true to false by [@&#8203;puk06](https://github.com/puk06) in [#&#8203;1293](adamhathcock/sharpcompress#1293)
- Fix usage of ReaderOptions and pre-defined values by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1295](adamhathcock/sharpcompress#1295)
- Enforce seekable, readable and writable on streams by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1297](adamhathcock/sharpcompress#1297)
- Add ArchiveInformation record for consolidated archive detection and capability inspection by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;1299](adamhathcock/sharpcompress#1299)
- merge release to master by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1314](adamhathcock/sharpcompress#1314)
- Some clean up and test clean up by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1321](adamhathcock/sharpcompress#1321)
- Finish Write Async by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1323](adamhathcock/sharpcompress#1323)
- More complete Tar implementation: USTAR, PAX, etc. by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1289](adamhathcock/sharpcompress#1289)
- Add Polysharp and adjustments that do not break legacy frameworks by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1330](adamhathcock/sharpcompress#1330)
- Fix null `IVolume.FileName` for single-volume file-based archives by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;1333](adamhathcock/sharpcompress#1333)
- Add skills by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1332](adamhathcock/sharpcompress#1332)
- add AOT smoke and missing tests by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1334](adamhathcock/sharpcompress#1334)

#### New Contributors

- [@&#8203;dlemstra](https://github.com/dlemstra) made their first contribution in [#&#8203;1277](adamhathcock/sharpcompress#1277)
- [@&#8203;aromaa](https://github.com/aromaa) made their first contribution in [#&#8203;1279](adamhathcock/sharpcompress#1279)
- [@&#8203;puk06](https://github.com/puk06) made their first contribution in [#&#8203;1286](adamhathcock/sharpcompress#1286)

**Full Changelog**: <adamhathcock/sharpcompress@0.48.1...0.49.0>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzguMCIsInVwZGF0ZWRJblZlciI6IjQzLjE3OC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://git.ryujinx.app/projects/Ryubing/pulls/123
tonycknight pushed a commit to tonycknight/microbroker that referenced this pull request May 31, 2026
Updated [SharpCompress](https://github.com/adamhathcock/sharpcompress)
from 0.48.1 to 0.49.0.

<details>
<summary>Release notes</summary>

_Sourced from [SharpCompress's
releases](https://github.com/adamhathcock/sharpcompress/releases)._

## 0.49.0

This should contain a lot of write async fixes and some breaking API
changes that fix previous broke `net48` usage

## What's Changed
* Rename IWriteableArchiveFactory.cs to IWritableArchiveFactory.cs by
@​Copilot in adamhathcock/sharpcompress#1244
* Some API clean up from GPT 5.4 by @​adamhathcock in
adamhathcock/sharpcompress#1243
* Release to master by @​adamhathcock in
adamhathcock/sharpcompress#1267
* Fix three BLAKE2sp correctness bugs and eliminate allocations in hot
path by @​coderb in
adamhathcock/sharpcompress#1266
* Corrected async examples. by @​dlemstra in
adamhathcock/sharpcompress#1277
* Fix setting invalid access time fails extraction by @​aromaa in
adamhathcock/sharpcompress#1279
* Fix incorrect code examples in docs for sync/async usage by @​Copilot
in adamhathcock/sharpcompress#1280
* Replace APPNOTE.TXT contents with reference link note by @​puk06 in
adamhathcock/sharpcompress#1286
* Release to Master by @​adamhathcock in
adamhathcock/sharpcompress#1274
* update docs for tar gap analysis and XZ usage by @​adamhathcock in
adamhathcock/sharpcompress#1288
* Add a PooledMemoryStream to avoid allocating by @​adamhathcock in
adamhathcock/sharpcompress#1275
* fix: Change LeaveStreamOpen default from true to false by @​puk06 in
adamhathcock/sharpcompress#1293
* Fix usage of ReaderOptions and pre-defined values by @​adamhathcock in
adamhathcock/sharpcompress#1295
* Enforce seekable, readable and writable on streams by @​adamhathcock
in adamhathcock/sharpcompress#1297
* Add ArchiveInformation record for consolidated archive detection and
capability inspection by @​Copilot in
adamhathcock/sharpcompress#1299
* merge release to master by @​adamhathcock in
adamhathcock/sharpcompress#1314
* Some clean up and test clean up by @​adamhathcock in
adamhathcock/sharpcompress#1321
* Finish Write Async by @​adamhathcock in
adamhathcock/sharpcompress#1323
* More complete Tar implementation: USTAR, PAX, etc. by @​adamhathcock
in adamhathcock/sharpcompress#1289
* Add Polysharp and adjustments that do not break legacy frameworks by
@​adamhathcock in
adamhathcock/sharpcompress#1330
* Fix null `IVolume.FileName` for single-volume file-based archives by
@​Copilot in adamhathcock/sharpcompress#1333
* Add skills by @​adamhathcock in
adamhathcock/sharpcompress#1332
* add AOT smoke and missing tests by @​adamhathcock in
adamhathcock/sharpcompress#1334

## New Contributors
* @​dlemstra made their first contribution in
adamhathcock/sharpcompress#1277
* @​aromaa made their first contribution in
adamhathcock/sharpcompress#1279
* @​puk06 made their first contribution in
adamhathcock/sharpcompress#1286

**Full Changelog**:
adamhathcock/sharpcompress@0.48.1...0.49.0

## 0.49.0-beta.140

## What's Changed
* Add Polysharp and adjustments that do not break legacy frameworks by
@​adamhathcock in
adamhathcock/sharpcompress#1330


**Full Changelog**:
adamhathcock/sharpcompress@0.49.0-beta.136...0.49.0-beta.140

## 0.49.0-beta.136

## What's Changed
* Rename IWriteableArchiveFactory.cs to IWritableArchiveFactory.cs by
@​Copilot in adamhathcock/sharpcompress#1244
* Some API clean up from GPT 5.4 by @​adamhathcock in
adamhathcock/sharpcompress#1243
* Release to master by @​adamhathcock in
adamhathcock/sharpcompress#1267
* Fix three BLAKE2sp correctness bugs and eliminate allocations in hot
path by @​coderb in
adamhathcock/sharpcompress#1266
* Corrected async examples. by @​dlemstra in
adamhathcock/sharpcompress#1277
* Fix setting invalid access time fails extraction by @​aromaa in
adamhathcock/sharpcompress#1279
* Fix incorrect code examples in docs for sync/async usage by @​Copilot
in adamhathcock/sharpcompress#1280
* Replace APPNOTE.TXT contents with reference link note by @​puk06 in
adamhathcock/sharpcompress#1286
* Release to Master by @​adamhathcock in
adamhathcock/sharpcompress#1274
* update docs for tar gap analysis and XZ usage by @​adamhathcock in
adamhathcock/sharpcompress#1288
* Add a PooledMemoryStream to avoid allocating by @​adamhathcock in
adamhathcock/sharpcompress#1275
* fix: Change LeaveStreamOpen default from true to false by @​puk06 in
adamhathcock/sharpcompress#1293
* Fix usage of ReaderOptions and pre-defined values by @​adamhathcock in
adamhathcock/sharpcompress#1295
* Enforce seekable, readable and writable on streams by @​adamhathcock
in adamhathcock/sharpcompress#1297
* Add ArchiveInformation record for consolidated archive detection and
capability inspection by @​Copilot in
adamhathcock/sharpcompress#1299
* merge release to master by @​adamhathcock in
adamhathcock/sharpcompress#1314
* Some clean up and test clean up by @​adamhathcock in
adamhathcock/sharpcompress#1321
* Finish Write Async by @​adamhathcock in
adamhathcock/sharpcompress#1323
* More complete Tar implementation: USTAR, PAX, etc. by @​adamhathcock
in adamhathcock/sharpcompress#1289

## New Contributors
* @​dlemstra made their first contribution in
adamhathcock/sharpcompress#1277
* @​aromaa made their first contribution in
adamhathcock/sharpcompress#1279
* @​puk06 made their first contribution in
adamhathcock/sharpcompress#1286

**Full Changelog**:
adamhathcock/sharpcompress@0.48.1...0.49.0-beta1

Commits viewable in [compare
view](adamhathcock/sharpcompress@0.48.1...0.49.0).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=SharpCompress&package-manager=nuget&previous-version=0.48.1&new-version=0.49.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
tonycknight pushed a commit to tonycknight/discorss that referenced this pull request Jun 1, 2026
Updated [SharpCompress](https://github.com/adamhathcock/sharpcompress)
from 0.48.1 to 0.49.1.

<details>
<summary>Release notes</summary>

_Sourced from [SharpCompress's
releases](https://github.com/adamhathcock/sharpcompress/releases)._

## 0.49.1

## What's Changed
* Close writable entry streams during async archive disposal by
@​Copilot in adamhathcock/sharpcompress#1338
* Restore `WriteToDirectoryAsync` progress callbacks for solid 7z
archives by @​Copilot in
adamhathcock/sharpcompress#1340
* Try to fix global.json to avoid churn in locks by @​adamhathcock in
adamhathcock/sharpcompress#1341
* Fix tar archive enumeration after fully reading entry streams by
@​adamhathcock in
adamhathcock/sharpcompress#1342


**Full Changelog**:
adamhathcock/sharpcompress@0.49.0...0.49.1

## 0.49.0

This should contain a lot of write async fixes and some breaking API
changes that fix previous broke `net48` usage

## What's Changed
* Rename IWriteableArchiveFactory.cs to IWritableArchiveFactory.cs by
@​Copilot in adamhathcock/sharpcompress#1244
* Some API clean up from GPT 5.4 by @​adamhathcock in
adamhathcock/sharpcompress#1243
* Release to master by @​adamhathcock in
adamhathcock/sharpcompress#1267
* Fix three BLAKE2sp correctness bugs and eliminate allocations in hot
path by @​coderb in
adamhathcock/sharpcompress#1266
* Corrected async examples. by @​dlemstra in
adamhathcock/sharpcompress#1277
* Fix setting invalid access time fails extraction by @​aromaa in
adamhathcock/sharpcompress#1279
* Fix incorrect code examples in docs for sync/async usage by @​Copilot
in adamhathcock/sharpcompress#1280
* Replace APPNOTE.TXT contents with reference link note by @​puk06 in
adamhathcock/sharpcompress#1286
* Release to Master by @​adamhathcock in
adamhathcock/sharpcompress#1274
* update docs for tar gap analysis and XZ usage by @​adamhathcock in
adamhathcock/sharpcompress#1288
* Add a PooledMemoryStream to avoid allocating by @​adamhathcock in
adamhathcock/sharpcompress#1275
* fix: Change LeaveStreamOpen default from true to false by @​puk06 in
adamhathcock/sharpcompress#1293
* Fix usage of ReaderOptions and pre-defined values by @​adamhathcock in
adamhathcock/sharpcompress#1295
* Enforce seekable, readable and writable on streams by @​adamhathcock
in adamhathcock/sharpcompress#1297
* Add ArchiveInformation record for consolidated archive detection and
capability inspection by @​Copilot in
adamhathcock/sharpcompress#1299
* merge release to master by @​adamhathcock in
adamhathcock/sharpcompress#1314
* Some clean up and test clean up by @​adamhathcock in
adamhathcock/sharpcompress#1321
* Finish Write Async by @​adamhathcock in
adamhathcock/sharpcompress#1323
* More complete Tar implementation: USTAR, PAX, etc. by @​adamhathcock
in adamhathcock/sharpcompress#1289
* Add Polysharp and adjustments that do not break legacy frameworks by
@​adamhathcock in
adamhathcock/sharpcompress#1330
* Fix null `IVolume.FileName` for single-volume file-based archives by
@​Copilot in adamhathcock/sharpcompress#1333
* Add skills by @​adamhathcock in
adamhathcock/sharpcompress#1332
* add AOT smoke and missing tests by @​adamhathcock in
adamhathcock/sharpcompress#1334

## New Contributors
* @​dlemstra made their first contribution in
adamhathcock/sharpcompress#1277
* @​aromaa made their first contribution in
adamhathcock/sharpcompress#1279
* @​puk06 made their first contribution in
adamhathcock/sharpcompress#1286

**Full Changelog**:
adamhathcock/sharpcompress@0.48.1...0.49.0

## 0.49.0-beta.140

## What's Changed
* Add Polysharp and adjustments that do not break legacy frameworks by
@​adamhathcock in
adamhathcock/sharpcompress#1330


**Full Changelog**:
adamhathcock/sharpcompress@0.49.0-beta.136...0.49.0-beta.140

## 0.49.0-beta.136

## What's Changed
* Rename IWriteableArchiveFactory.cs to IWritableArchiveFactory.cs by
@​Copilot in adamhathcock/sharpcompress#1244
* Some API clean up from GPT 5.4 by @​adamhathcock in
adamhathcock/sharpcompress#1243
* Release to master by @​adamhathcock in
adamhathcock/sharpcompress#1267
* Fix three BLAKE2sp correctness bugs and eliminate allocations in hot
path by @​coderb in
adamhathcock/sharpcompress#1266
* Corrected async examples. by @​dlemstra in
adamhathcock/sharpcompress#1277
* Fix setting invalid access time fails extraction by @​aromaa in
adamhathcock/sharpcompress#1279
* Fix incorrect code examples in docs for sync/async usage by @​Copilot
in adamhathcock/sharpcompress#1280
* Replace APPNOTE.TXT contents with reference link note by @​puk06 in
adamhathcock/sharpcompress#1286
* Release to Master by @​adamhathcock in
adamhathcock/sharpcompress#1274
* update docs for tar gap analysis and XZ usage by @​adamhathcock in
adamhathcock/sharpcompress#1288
* Add a PooledMemoryStream to avoid allocating by @​adamhathcock in
adamhathcock/sharpcompress#1275
* fix: Change LeaveStreamOpen default from true to false by @​puk06 in
adamhathcock/sharpcompress#1293
* Fix usage of ReaderOptions and pre-defined values by @​adamhathcock in
adamhathcock/sharpcompress#1295
* Enforce seekable, readable and writable on streams by @​adamhathcock
in adamhathcock/sharpcompress#1297
* Add ArchiveInformation record for consolidated archive detection and
capability inspection by @​Copilot in
adamhathcock/sharpcompress#1299
* merge release to master by @​adamhathcock in
adamhathcock/sharpcompress#1314
* Some clean up and test clean up by @​adamhathcock in
adamhathcock/sharpcompress#1321
* Finish Write Async by @​adamhathcock in
adamhathcock/sharpcompress#1323
* More complete Tar implementation: USTAR, PAX, etc. by @​adamhathcock
in adamhathcock/sharpcompress#1289

## New Contributors
* @​dlemstra made their first contribution in
adamhathcock/sharpcompress#1277
* @​aromaa made their first contribution in
adamhathcock/sharpcompress#1279
* @​puk06 made their first contribution in
adamhathcock/sharpcompress#1286

**Full Changelog**:
adamhathcock/sharpcompress@0.48.1...0.49.0-beta1

Commits viewable in [compare
view](adamhathcock/sharpcompress@0.48.1...0.49.1).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=SharpCompress&package-manager=nuget&previous-version=0.48.1&new-version=0.49.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This was referenced Jun 1, 2026
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