Skip to content

Develop - #279

Merged
ptr727 merged 29 commits into
mainfrom
develop
Jan 4, 2026
Merged

Develop#279
ptr727 merged 29 commits into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

No description provided.

dependabotBotand others added 19 commits August 19, 2025 20:51
Bumps csharpier from 1.1.1 to 1.1.2
Bumps xunit.analyzers from 1.23.0 to 1.24.0
Bumps xunit.runner.visualstudio from 3.1.3 to 3.1.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.1.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
- dependency-name: xunit.analyzers
dependency-version: 1.24.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-0259308462
Bump the nuget-deps group with 3 updates
Bumps xunit.runner.visualstudio from 3.1.4 to 3.1.5
---
updated-dependencies:
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…evelop/nuget-deps-6aadeae1b1
Bump the nuget-deps group with 1 update
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-39349b7924
Bump csharpier from 1.1.2 to 1.2.1
---
updated-dependencies:
- dependency-name: Serilog.Sinks.Console
dependency-version: 6.1.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…nuget-deps-602f419b37
Bump Serilog.Sinks.Console from 6.0.0 to 6.1.1
Bumps csharpier from 1.2.1 to 1.2.3
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-1689e99d0a
Bump the nuget-deps group with 1 update
Bumps the actions-deps group with 2 updates in the / directory: [actions/setup-dotnet](https://github.com/actions/setup-dotnet) and [actions/checkout](https://github.com/actions/checkout).
Updates `actions/setup-dotnet` from 4 to 5
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](actions/setup-dotnet@v4...v5)
Updates `actions/checkout` from 5 to 6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v5...v6)
---
updated-dependencies:
- dependency-name: actions/setup-dotnet
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps csharpier from 1.2.3 to 1.2.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-133b2bc611
Bump the nuget-deps group with 1 update
Bumps csharpier from 1.2.4 to 1.2.5
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-262ca43251
Bump the nuget-deps group with 1 update
CopilotAI review requested due to automatic review settings January 4, 2026 03:21

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 upgrades the utilities library to .NET 10 with AOT support and removes the ProcessEx class. The changes include extensive async method additions, comprehensive XML documentation, and updated test coverage. However, the PR contains critical compilation errors in Extensions.cs that must be fixed before merging.

Key Changes:

  • Upgraded target framework from .NET 9 to .NET 10 with AOT support
  • Removed ProcessEx class (users should migrate to CliWrap)
  • Added async versions of file operations, downloads, and compression methods with proper cancellation token support
  • Added comprehensive XML documentation to all public APIs
  • Replaced old solution file format with new .slnx format

Reviewed changes

Copilot reviewed 28 out of 29 changed files in this pull request and generated 26 comments.

Show a summary per file
FileDescription
version.jsonVersion bumped from 3.3 to 3.4
UtilitiesTests/UtilitiesTests.csprojUpdated to .NET 10, added analysis settings, upgraded package versions
UtilitiesTests/*.csAdded comprehensive test coverage for new functionality (StringHistory, async compression, async file operations, downloads, console utilities)
Utilities/Utilities.csprojUpgraded to .NET 10 with AOT support, enabled nullable reference types, added documentation generation, Husky integration
Utilities/StringHistory.csAdded XML documentation and null validation
Utilities/StringCompression.csAdded async methods, compression level support, and comprehensive documentation
Utilities/ProcessEx.csRemoved entirely (breaking change)
Utilities/LogOptions.csAdded XML documentation
Utilities/Format.csAdded XML documentation, improved BytesToKilo implementation with switch expression
Utilities/FileExOptions.csAdded XML documentation
Utilities/FileEx.csAdded async versions of all file operations, removed MethodBase parameter from logging, added comprehensive documentation
Utilities/Extensions.csCRITICAL: Contains invalid syntax - uses non-existent extension keyword
Utilities/Download.csRefactored to use Lazy, added async methods, increased timeout to 180s, added comprehensive documentation
Utilities/ConsoleEx.csAdded XML documentation, improved null handling
Utilities/CommandLineEx.csAdded XML documentation, improved argument parsing
Utilities.slnxNew solution file format replacing Utilities.sln
Utilities.slnRemoved (replaced by .slnx)
Sandbox/Sandbox.csprojUpdated to .NET 10 with AOT support
Sandbox/Program.csFixed nullable reference handling
README.mdUpdated version history
.husky/task-runner.jsonRemoved IDE0055 diagnostic exclusion
.github/workflows/BuildPublishPipeline.ymlUpdated actions versions, changed to .NET 10
.github/copilot-instructions.mdNew comprehensive development guidelines (contains incorrect information about extension keyword)
.config/dotnet-tools.jsonUpdated CSharpier to 1.2.5 and Husky to 0.8.0
Comments suppressed due to low confidence (1)

UtilitiesTests/UtilitiesTests.csproj:26

  • The package version "18.0.1" for Microsoft.NET.Test.Sdk may not exist. As of January 2025, the latest stable version is 17.x. Please verify this version exists on NuGet before using it.
 <PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />

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

Comment threadUtilities/Download.cs Outdated
Comment threadUtilities/Extensions.cs Outdated
Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadUtilities/FileEx.cs
ConsoleEx.WriteLineColor(color, "Test");

// Reset console
StreamWriter standardOutput = new(Console.OpenStandardOutput()) { AutoFlush = true };

CopilotAIJan 4, 2026

Copy link

Choose a reason for hiding this comment

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

Disposable 'StreamWriter' is created but not disposed.

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

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

@copilot suggest a fix

Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/DownloadAsyncTests.cs Outdated

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

* Initial plan
* Add using statement and simplify CallerMemberName attributes
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings January 4, 2026 03:37
CopilotAIand others added 4 commits January 3, 2026 19:38
* Initial plan
* Make HttpClient timeout configurable via TimeoutSeconds property
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Initial plan
* Replace redundant ToString() with string interpolation in FileExAsyncTests
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* Initial plan
* Replace explicit ToString() calls with string interpolation
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 29 out of 31 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

Utilities/Download.cs:227

  • The HttpClient timeout was changed from 30 seconds to 180 seconds (3 minutes). This is a significant change that could impact application behavior. Consider whether this change is intentional and if it should be configurable rather than hardcoded, especially for a library where different consumers may have different timeout requirements.

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

Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadSandbox/Program.cs
Comment threadUtilitiesTests/DownloadAsyncTests.cs
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
@ptr727
ptr727 merged commit df86e7c into mainJan 4, 2026
5 checks passed
Sign up for freeto 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

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Develop by ptr727 · Pull Request #279 · ptr727/Utilities · GitHub
Skip to content

Develop - #279

Merged
ptr727 merged 29 commits into
mainfrom
develop
Jan 4, 2026
Merged

Develop#279
ptr727 merged 29 commits into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

No description provided.

dependabotBotand others added 19 commits August 19, 2025 20:51
Bumps csharpier from 1.1.1 to 1.1.2
Bumps xunit.analyzers from 1.23.0 to 1.24.0
Bumps xunit.runner.visualstudio from 3.1.3 to 3.1.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.1.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
- dependency-name: xunit.analyzers
dependency-version: 1.24.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-0259308462
Bump the nuget-deps group with 3 updates
Bumps xunit.runner.visualstudio from 3.1.4 to 3.1.5
---
updated-dependencies:
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…evelop/nuget-deps-6aadeae1b1
Bump the nuget-deps group with 1 update
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-39349b7924
Bump csharpier from 1.1.2 to 1.2.1
---
updated-dependencies:
- dependency-name: Serilog.Sinks.Console
dependency-version: 6.1.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…nuget-deps-602f419b37
Bump Serilog.Sinks.Console from 6.0.0 to 6.1.1
Bumps csharpier from 1.2.1 to 1.2.3
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-1689e99d0a
Bump the nuget-deps group with 1 update
Bumps the actions-deps group with 2 updates in the / directory: [actions/setup-dotnet](https://github.com/actions/setup-dotnet) and [actions/checkout](https://github.com/actions/checkout).
Updates `actions/setup-dotnet` from 4 to 5
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](actions/setup-dotnet@v4...v5)
Updates `actions/checkout` from 5 to 6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v5...v6)
---
updated-dependencies:
- dependency-name: actions/setup-dotnet
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps csharpier from 1.2.3 to 1.2.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-133b2bc611
Bump the nuget-deps group with 1 update
Bumps csharpier from 1.2.4 to 1.2.5
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-262ca43251
Bump the nuget-deps group with 1 update
CopilotAI review requested due to automatic review settings January 4, 2026 03:21

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 upgrades the utilities library to .NET 10 with AOT support and removes the ProcessEx class. The changes include extensive async method additions, comprehensive XML documentation, and updated test coverage. However, the PR contains critical compilation errors in Extensions.cs that must be fixed before merging.

Key Changes:

  • Upgraded target framework from .NET 9 to .NET 10 with AOT support
  • Removed ProcessEx class (users should migrate to CliWrap)
  • Added async versions of file operations, downloads, and compression methods with proper cancellation token support
  • Added comprehensive XML documentation to all public APIs
  • Replaced old solution file format with new .slnx format

Reviewed changes

Copilot reviewed 28 out of 29 changed files in this pull request and generated 26 comments.

Show a summary per file
FileDescription
version.jsonVersion bumped from 3.3 to 3.4
UtilitiesTests/UtilitiesTests.csprojUpdated to .NET 10, added analysis settings, upgraded package versions
UtilitiesTests/*.csAdded comprehensive test coverage for new functionality (StringHistory, async compression, async file operations, downloads, console utilities)
Utilities/Utilities.csprojUpgraded to .NET 10 with AOT support, enabled nullable reference types, added documentation generation, Husky integration
Utilities/StringHistory.csAdded XML documentation and null validation
Utilities/StringCompression.csAdded async methods, compression level support, and comprehensive documentation
Utilities/ProcessEx.csRemoved entirely (breaking change)
Utilities/LogOptions.csAdded XML documentation
Utilities/Format.csAdded XML documentation, improved BytesToKilo implementation with switch expression
Utilities/FileExOptions.csAdded XML documentation
Utilities/FileEx.csAdded async versions of all file operations, removed MethodBase parameter from logging, added comprehensive documentation
Utilities/Extensions.csCRITICAL: Contains invalid syntax - uses non-existent extension keyword
Utilities/Download.csRefactored to use Lazy, added async methods, increased timeout to 180s, added comprehensive documentation
Utilities/ConsoleEx.csAdded XML documentation, improved null handling
Utilities/CommandLineEx.csAdded XML documentation, improved argument parsing
Utilities.slnxNew solution file format replacing Utilities.sln
Utilities.slnRemoved (replaced by .slnx)
Sandbox/Sandbox.csprojUpdated to .NET 10 with AOT support
Sandbox/Program.csFixed nullable reference handling
README.mdUpdated version history
.husky/task-runner.jsonRemoved IDE0055 diagnostic exclusion
.github/workflows/BuildPublishPipeline.ymlUpdated actions versions, changed to .NET 10
.github/copilot-instructions.mdNew comprehensive development guidelines (contains incorrect information about extension keyword)
.config/dotnet-tools.jsonUpdated CSharpier to 1.2.5 and Husky to 0.8.0
Comments suppressed due to low confidence (1)

UtilitiesTests/UtilitiesTests.csproj:26

  • The package version "18.0.1" for Microsoft.NET.Test.Sdk may not exist. As of January 2025, the latest stable version is 17.x. Please verify this version exists on NuGet before using it.
 <PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />

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

Comment threadUtilities/Download.cs Outdated
Comment threadUtilities/Extensions.cs Outdated
Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadUtilities/FileEx.cs
ConsoleEx.WriteLineColor(color, "Test");

// Reset console
StreamWriter standardOutput = new(Console.OpenStandardOutput()) { AutoFlush = true };

CopilotAIJan 4, 2026

Copy link

Choose a reason for hiding this comment

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

Disposable 'StreamWriter' is created but not disposed.

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

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

@copilot suggest a fix

Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/DownloadAsyncTests.cs Outdated

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

* Initial plan
* Add using statement and simplify CallerMemberName attributes
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings January 4, 2026 03:37
CopilotAIand others added 4 commits January 3, 2026 19:38
* Initial plan
* Make HttpClient timeout configurable via TimeoutSeconds property
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Initial plan
* Replace redundant ToString() with string interpolation in FileExAsyncTests
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* Initial plan
* Replace explicit ToString() calls with string interpolation
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 29 out of 31 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

Utilities/Download.cs:227

  • The HttpClient timeout was changed from 30 seconds to 180 seconds (3 minutes). This is a significant change that could impact application behavior. Consider whether this change is intentional and if it should be configurable rather than hardcoded, especially for a library where different consumers may have different timeout requirements.

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

Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadSandbox/Program.cs
Comment threadUtilitiesTests/DownloadAsyncTests.cs
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
@ptr727
ptr727 merged commit df86e7c into mainJan 4, 2026
5 checks passed
Sign up for freeto 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

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Develop by ptr727 · Pull Request #279 · ptr727/Utilities · GitHub
Skip to content

Develop - #279

Merged
ptr727 merged 29 commits into
mainfrom
develop
Jan 4, 2026
Merged

Develop#279
ptr727 merged 29 commits into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

No description provided.

dependabotBotand others added 19 commits August 19, 2025 20:51
Bumps csharpier from 1.1.1 to 1.1.2
Bumps xunit.analyzers from 1.23.0 to 1.24.0
Bumps xunit.runner.visualstudio from 3.1.3 to 3.1.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.1.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
- dependency-name: xunit.analyzers
dependency-version: 1.24.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-0259308462
Bump the nuget-deps group with 3 updates
Bumps xunit.runner.visualstudio from 3.1.4 to 3.1.5
---
updated-dependencies:
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…evelop/nuget-deps-6aadeae1b1
Bump the nuget-deps group with 1 update
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-39349b7924
Bump csharpier from 1.1.2 to 1.2.1
---
updated-dependencies:
- dependency-name: Serilog.Sinks.Console
dependency-version: 6.1.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…nuget-deps-602f419b37
Bump Serilog.Sinks.Console from 6.0.0 to 6.1.1
Bumps csharpier from 1.2.1 to 1.2.3
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-1689e99d0a
Bump the nuget-deps group with 1 update
Bumps the actions-deps group with 2 updates in the / directory: [actions/setup-dotnet](https://github.com/actions/setup-dotnet) and [actions/checkout](https://github.com/actions/checkout).
Updates `actions/setup-dotnet` from 4 to 5
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](actions/setup-dotnet@v4...v5)
Updates `actions/checkout` from 5 to 6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v5...v6)
---
updated-dependencies:
- dependency-name: actions/setup-dotnet
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps csharpier from 1.2.3 to 1.2.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-133b2bc611
Bump the nuget-deps group with 1 update
Bumps csharpier from 1.2.4 to 1.2.5
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-262ca43251
Bump the nuget-deps group with 1 update
CopilotAI review requested due to automatic review settings January 4, 2026 03:21

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 upgrades the utilities library to .NET 10 with AOT support and removes the ProcessEx class. The changes include extensive async method additions, comprehensive XML documentation, and updated test coverage. However, the PR contains critical compilation errors in Extensions.cs that must be fixed before merging.

Key Changes:

  • Upgraded target framework from .NET 9 to .NET 10 with AOT support
  • Removed ProcessEx class (users should migrate to CliWrap)
  • Added async versions of file operations, downloads, and compression methods with proper cancellation token support
  • Added comprehensive XML documentation to all public APIs
  • Replaced old solution file format with new .slnx format

Reviewed changes

Copilot reviewed 28 out of 29 changed files in this pull request and generated 26 comments.

Show a summary per file
FileDescription
version.jsonVersion bumped from 3.3 to 3.4
UtilitiesTests/UtilitiesTests.csprojUpdated to .NET 10, added analysis settings, upgraded package versions
UtilitiesTests/*.csAdded comprehensive test coverage for new functionality (StringHistory, async compression, async file operations, downloads, console utilities)
Utilities/Utilities.csprojUpgraded to .NET 10 with AOT support, enabled nullable reference types, added documentation generation, Husky integration
Utilities/StringHistory.csAdded XML documentation and null validation
Utilities/StringCompression.csAdded async methods, compression level support, and comprehensive documentation
Utilities/ProcessEx.csRemoved entirely (breaking change)
Utilities/LogOptions.csAdded XML documentation
Utilities/Format.csAdded XML documentation, improved BytesToKilo implementation with switch expression
Utilities/FileExOptions.csAdded XML documentation
Utilities/FileEx.csAdded async versions of all file operations, removed MethodBase parameter from logging, added comprehensive documentation
Utilities/Extensions.csCRITICAL: Contains invalid syntax - uses non-existent extension keyword
Utilities/Download.csRefactored to use Lazy, added async methods, increased timeout to 180s, added comprehensive documentation
Utilities/ConsoleEx.csAdded XML documentation, improved null handling
Utilities/CommandLineEx.csAdded XML documentation, improved argument parsing
Utilities.slnxNew solution file format replacing Utilities.sln
Utilities.slnRemoved (replaced by .slnx)
Sandbox/Sandbox.csprojUpdated to .NET 10 with AOT support
Sandbox/Program.csFixed nullable reference handling
README.mdUpdated version history
.husky/task-runner.jsonRemoved IDE0055 diagnostic exclusion
.github/workflows/BuildPublishPipeline.ymlUpdated actions versions, changed to .NET 10
.github/copilot-instructions.mdNew comprehensive development guidelines (contains incorrect information about extension keyword)
.config/dotnet-tools.jsonUpdated CSharpier to 1.2.5 and Husky to 0.8.0
Comments suppressed due to low confidence (1)

UtilitiesTests/UtilitiesTests.csproj:26

  • The package version "18.0.1" for Microsoft.NET.Test.Sdk may not exist. As of January 2025, the latest stable version is 17.x. Please verify this version exists on NuGet before using it.
 <PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />

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

Comment threadUtilities/Download.cs Outdated
Comment threadUtilities/Extensions.cs Outdated
Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadUtilities/FileEx.cs
ConsoleEx.WriteLineColor(color, "Test");

// Reset console
StreamWriter standardOutput = new(Console.OpenStandardOutput()) { AutoFlush = true };

CopilotAIJan 4, 2026

Copy link

Choose a reason for hiding this comment

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

Disposable 'StreamWriter' is created but not disposed.

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

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

@copilot suggest a fix

Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/DownloadAsyncTests.cs Outdated

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

* Initial plan
* Add using statement and simplify CallerMemberName attributes
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings January 4, 2026 03:37
CopilotAIand others added 4 commits January 3, 2026 19:38
* Initial plan
* Make HttpClient timeout configurable via TimeoutSeconds property
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Initial plan
* Replace redundant ToString() with string interpolation in FileExAsyncTests
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* Initial plan
* Replace explicit ToString() calls with string interpolation
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 29 out of 31 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

Utilities/Download.cs:227

  • The HttpClient timeout was changed from 30 seconds to 180 seconds (3 minutes). This is a significant change that could impact application behavior. Consider whether this change is intentional and if it should be configurable rather than hardcoded, especially for a library where different consumers may have different timeout requirements.

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

Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadSandbox/Program.cs
Comment threadUtilitiesTests/DownloadAsyncTests.cs
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
@ptr727
ptr727 merged commit df86e7c into mainJan 4, 2026
5 checks passed
Sign up for freeto 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

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Develop by ptr727 · Pull Request #279 · ptr727/Utilities · GitHub
Skip to content

Develop - #279

Merged
ptr727 merged 29 commits into
mainfrom
develop
Jan 4, 2026
Merged

Develop#279
ptr727 merged 29 commits into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

No description provided.

dependabotBotand others added 19 commits August 19, 2025 20:51
Bumps csharpier from 1.1.1 to 1.1.2
Bumps xunit.analyzers from 1.23.0 to 1.24.0
Bumps xunit.runner.visualstudio from 3.1.3 to 3.1.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.1.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
- dependency-name: xunit.analyzers
dependency-version: 1.24.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-0259308462
Bump the nuget-deps group with 3 updates
Bumps xunit.runner.visualstudio from 3.1.4 to 3.1.5
---
updated-dependencies:
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…evelop/nuget-deps-6aadeae1b1
Bump the nuget-deps group with 1 update
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-39349b7924
Bump csharpier from 1.1.2 to 1.2.1
---
updated-dependencies:
- dependency-name: Serilog.Sinks.Console
dependency-version: 6.1.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…nuget-deps-602f419b37
Bump Serilog.Sinks.Console from 6.0.0 to 6.1.1
Bumps csharpier from 1.2.1 to 1.2.3
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-1689e99d0a
Bump the nuget-deps group with 1 update
Bumps the actions-deps group with 2 updates in the / directory: [actions/setup-dotnet](https://github.com/actions/setup-dotnet) and [actions/checkout](https://github.com/actions/checkout).
Updates `actions/setup-dotnet` from 4 to 5
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](actions/setup-dotnet@v4...v5)
Updates `actions/checkout` from 5 to 6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v5...v6)
---
updated-dependencies:
- dependency-name: actions/setup-dotnet
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps csharpier from 1.2.3 to 1.2.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-133b2bc611
Bump the nuget-deps group with 1 update
Bumps csharpier from 1.2.4 to 1.2.5
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-262ca43251
Bump the nuget-deps group with 1 update
CopilotAI review requested due to automatic review settings January 4, 2026 03:21

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 upgrades the utilities library to .NET 10 with AOT support and removes the ProcessEx class. The changes include extensive async method additions, comprehensive XML documentation, and updated test coverage. However, the PR contains critical compilation errors in Extensions.cs that must be fixed before merging.

Key Changes:

  • Upgraded target framework from .NET 9 to .NET 10 with AOT support
  • Removed ProcessEx class (users should migrate to CliWrap)
  • Added async versions of file operations, downloads, and compression methods with proper cancellation token support
  • Added comprehensive XML documentation to all public APIs
  • Replaced old solution file format with new .slnx format

Reviewed changes

Copilot reviewed 28 out of 29 changed files in this pull request and generated 26 comments.

Show a summary per file
FileDescription
version.jsonVersion bumped from 3.3 to 3.4
UtilitiesTests/UtilitiesTests.csprojUpdated to .NET 10, added analysis settings, upgraded package versions
UtilitiesTests/*.csAdded comprehensive test coverage for new functionality (StringHistory, async compression, async file operations, downloads, console utilities)
Utilities/Utilities.csprojUpgraded to .NET 10 with AOT support, enabled nullable reference types, added documentation generation, Husky integration
Utilities/StringHistory.csAdded XML documentation and null validation
Utilities/StringCompression.csAdded async methods, compression level support, and comprehensive documentation
Utilities/ProcessEx.csRemoved entirely (breaking change)
Utilities/LogOptions.csAdded XML documentation
Utilities/Format.csAdded XML documentation, improved BytesToKilo implementation with switch expression
Utilities/FileExOptions.csAdded XML documentation
Utilities/FileEx.csAdded async versions of all file operations, removed MethodBase parameter from logging, added comprehensive documentation
Utilities/Extensions.csCRITICAL: Contains invalid syntax - uses non-existent extension keyword
Utilities/Download.csRefactored to use Lazy, added async methods, increased timeout to 180s, added comprehensive documentation
Utilities/ConsoleEx.csAdded XML documentation, improved null handling
Utilities/CommandLineEx.csAdded XML documentation, improved argument parsing
Utilities.slnxNew solution file format replacing Utilities.sln
Utilities.slnRemoved (replaced by .slnx)
Sandbox/Sandbox.csprojUpdated to .NET 10 with AOT support
Sandbox/Program.csFixed nullable reference handling
README.mdUpdated version history
.husky/task-runner.jsonRemoved IDE0055 diagnostic exclusion
.github/workflows/BuildPublishPipeline.ymlUpdated actions versions, changed to .NET 10
.github/copilot-instructions.mdNew comprehensive development guidelines (contains incorrect information about extension keyword)
.config/dotnet-tools.jsonUpdated CSharpier to 1.2.5 and Husky to 0.8.0
Comments suppressed due to low confidence (1)

UtilitiesTests/UtilitiesTests.csproj:26

  • The package version "18.0.1" for Microsoft.NET.Test.Sdk may not exist. As of January 2025, the latest stable version is 17.x. Please verify this version exists on NuGet before using it.
 <PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />

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

Comment threadUtilities/Download.cs Outdated
Comment threadUtilities/Extensions.cs Outdated
Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadUtilities/FileEx.cs
ConsoleEx.WriteLineColor(color, "Test");

// Reset console
StreamWriter standardOutput = new(Console.OpenStandardOutput()) { AutoFlush = true };

CopilotAIJan 4, 2026

Copy link

Choose a reason for hiding this comment

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

Disposable 'StreamWriter' is created but not disposed.

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

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

@copilot suggest a fix

Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/DownloadAsyncTests.cs Outdated

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

* Initial plan
* Add using statement and simplify CallerMemberName attributes
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings January 4, 2026 03:37
CopilotAIand others added 4 commits January 3, 2026 19:38
* Initial plan
* Make HttpClient timeout configurable via TimeoutSeconds property
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Initial plan
* Replace redundant ToString() with string interpolation in FileExAsyncTests
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* Initial plan
* Replace explicit ToString() calls with string interpolation
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 29 out of 31 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

Utilities/Download.cs:227

  • The HttpClient timeout was changed from 30 seconds to 180 seconds (3 minutes). This is a significant change that could impact application behavior. Consider whether this change is intentional and if it should be configurable rather than hardcoded, especially for a library where different consumers may have different timeout requirements.

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

Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadSandbox/Program.cs
Comment threadUtilitiesTests/DownloadAsyncTests.cs
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
@ptr727
ptr727 merged commit df86e7c into mainJan 4, 2026
5 checks passed
Sign up for freeto 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

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Develop by ptr727 · Pull Request #279 · ptr727/Utilities · GitHub
Skip to content

Develop - #279

Merged
ptr727 merged 29 commits into
mainfrom
develop
Jan 4, 2026
Merged

Develop#279
ptr727 merged 29 commits into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

No description provided.

dependabotBotand others added 19 commits August 19, 2025 20:51
Bumps csharpier from 1.1.1 to 1.1.2
Bumps xunit.analyzers from 1.23.0 to 1.24.0
Bumps xunit.runner.visualstudio from 3.1.3 to 3.1.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.1.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
- dependency-name: xunit.analyzers
dependency-version: 1.24.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-0259308462
Bump the nuget-deps group with 3 updates
Bumps xunit.runner.visualstudio from 3.1.4 to 3.1.5
---
updated-dependencies:
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…evelop/nuget-deps-6aadeae1b1
Bump the nuget-deps group with 1 update
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-39349b7924
Bump csharpier from 1.1.2 to 1.2.1
---
updated-dependencies:
- dependency-name: Serilog.Sinks.Console
dependency-version: 6.1.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…nuget-deps-602f419b37
Bump Serilog.Sinks.Console from 6.0.0 to 6.1.1
Bumps csharpier from 1.2.1 to 1.2.3
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-1689e99d0a
Bump the nuget-deps group with 1 update
Bumps the actions-deps group with 2 updates in the / directory: [actions/setup-dotnet](https://github.com/actions/setup-dotnet) and [actions/checkout](https://github.com/actions/checkout).
Updates `actions/setup-dotnet` from 4 to 5
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](actions/setup-dotnet@v4...v5)
Updates `actions/checkout` from 5 to 6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v5...v6)
---
updated-dependencies:
- dependency-name: actions/setup-dotnet
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps csharpier from 1.2.3 to 1.2.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-133b2bc611
Bump the nuget-deps group with 1 update
Bumps csharpier from 1.2.4 to 1.2.5
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-262ca43251
Bump the nuget-deps group with 1 update
CopilotAI review requested due to automatic review settings January 4, 2026 03:21

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 upgrades the utilities library to .NET 10 with AOT support and removes the ProcessEx class. The changes include extensive async method additions, comprehensive XML documentation, and updated test coverage. However, the PR contains critical compilation errors in Extensions.cs that must be fixed before merging.

Key Changes:

  • Upgraded target framework from .NET 9 to .NET 10 with AOT support
  • Removed ProcessEx class (users should migrate to CliWrap)
  • Added async versions of file operations, downloads, and compression methods with proper cancellation token support
  • Added comprehensive XML documentation to all public APIs
  • Replaced old solution file format with new .slnx format

Reviewed changes

Copilot reviewed 28 out of 29 changed files in this pull request and generated 26 comments.

Show a summary per file
FileDescription
version.jsonVersion bumped from 3.3 to 3.4
UtilitiesTests/UtilitiesTests.csprojUpdated to .NET 10, added analysis settings, upgraded package versions
UtilitiesTests/*.csAdded comprehensive test coverage for new functionality (StringHistory, async compression, async file operations, downloads, console utilities)
Utilities/Utilities.csprojUpgraded to .NET 10 with AOT support, enabled nullable reference types, added documentation generation, Husky integration
Utilities/StringHistory.csAdded XML documentation and null validation
Utilities/StringCompression.csAdded async methods, compression level support, and comprehensive documentation
Utilities/ProcessEx.csRemoved entirely (breaking change)
Utilities/LogOptions.csAdded XML documentation
Utilities/Format.csAdded XML documentation, improved BytesToKilo implementation with switch expression
Utilities/FileExOptions.csAdded XML documentation
Utilities/FileEx.csAdded async versions of all file operations, removed MethodBase parameter from logging, added comprehensive documentation
Utilities/Extensions.csCRITICAL: Contains invalid syntax - uses non-existent extension keyword
Utilities/Download.csRefactored to use Lazy, added async methods, increased timeout to 180s, added comprehensive documentation
Utilities/ConsoleEx.csAdded XML documentation, improved null handling
Utilities/CommandLineEx.csAdded XML documentation, improved argument parsing
Utilities.slnxNew solution file format replacing Utilities.sln
Utilities.slnRemoved (replaced by .slnx)
Sandbox/Sandbox.csprojUpdated to .NET 10 with AOT support
Sandbox/Program.csFixed nullable reference handling
README.mdUpdated version history
.husky/task-runner.jsonRemoved IDE0055 diagnostic exclusion
.github/workflows/BuildPublishPipeline.ymlUpdated actions versions, changed to .NET 10
.github/copilot-instructions.mdNew comprehensive development guidelines (contains incorrect information about extension keyword)
.config/dotnet-tools.jsonUpdated CSharpier to 1.2.5 and Husky to 0.8.0
Comments suppressed due to low confidence (1)

UtilitiesTests/UtilitiesTests.csproj:26

  • The package version "18.0.1" for Microsoft.NET.Test.Sdk may not exist. As of January 2025, the latest stable version is 17.x. Please verify this version exists on NuGet before using it.
 <PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />

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

Comment threadUtilities/Download.cs Outdated
Comment threadUtilities/Extensions.cs Outdated
Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadUtilities/FileEx.cs
ConsoleEx.WriteLineColor(color, "Test");

// Reset console
StreamWriter standardOutput = new(Console.OpenStandardOutput()) { AutoFlush = true };

CopilotAIJan 4, 2026

Copy link

Choose a reason for hiding this comment

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

Disposable 'StreamWriter' is created but not disposed.

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

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

@copilot suggest a fix

Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/DownloadAsyncTests.cs Outdated

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

* Initial plan
* Add using statement and simplify CallerMemberName attributes
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings January 4, 2026 03:37
CopilotAIand others added 4 commits January 3, 2026 19:38
* Initial plan
* Make HttpClient timeout configurable via TimeoutSeconds property
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Initial plan
* Replace redundant ToString() with string interpolation in FileExAsyncTests
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* Initial plan
* Replace explicit ToString() calls with string interpolation
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 29 out of 31 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

Utilities/Download.cs:227

  • The HttpClient timeout was changed from 30 seconds to 180 seconds (3 minutes). This is a significant change that could impact application behavior. Consider whether this change is intentional and if it should be configurable rather than hardcoded, especially for a library where different consumers may have different timeout requirements.

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

Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadSandbox/Program.cs
Comment threadUtilitiesTests/DownloadAsyncTests.cs
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
@ptr727
ptr727 merged commit df86e7c into mainJan 4, 2026
5 checks passed
Sign up for freeto 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

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Develop by ptr727 · Pull Request #279 · ptr727/Utilities · GitHub
Skip to content

Develop - #279

Merged
ptr727 merged 29 commits into
mainfrom
develop
Jan 4, 2026
Merged

Develop#279
ptr727 merged 29 commits into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

No description provided.

dependabotBotand others added 19 commits August 19, 2025 20:51
Bumps csharpier from 1.1.1 to 1.1.2
Bumps xunit.analyzers from 1.23.0 to 1.24.0
Bumps xunit.runner.visualstudio from 3.1.3 to 3.1.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.1.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
- dependency-name: xunit.analyzers
dependency-version: 1.24.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-0259308462
Bump the nuget-deps group with 3 updates
Bumps xunit.runner.visualstudio from 3.1.4 to 3.1.5
---
updated-dependencies:
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…evelop/nuget-deps-6aadeae1b1
Bump the nuget-deps group with 1 update
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-39349b7924
Bump csharpier from 1.1.2 to 1.2.1
---
updated-dependencies:
- dependency-name: Serilog.Sinks.Console
dependency-version: 6.1.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…nuget-deps-602f419b37
Bump Serilog.Sinks.Console from 6.0.0 to 6.1.1
Bumps csharpier from 1.2.1 to 1.2.3
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-1689e99d0a
Bump the nuget-deps group with 1 update
Bumps the actions-deps group with 2 updates in the / directory: [actions/setup-dotnet](https://github.com/actions/setup-dotnet) and [actions/checkout](https://github.com/actions/checkout).
Updates `actions/setup-dotnet` from 4 to 5
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](actions/setup-dotnet@v4...v5)
Updates `actions/checkout` from 5 to 6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v5...v6)
---
updated-dependencies:
- dependency-name: actions/setup-dotnet
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps csharpier from 1.2.3 to 1.2.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-133b2bc611
Bump the nuget-deps group with 1 update
Bumps csharpier from 1.2.4 to 1.2.5
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-262ca43251
Bump the nuget-deps group with 1 update
CopilotAI review requested due to automatic review settings January 4, 2026 03:21

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 upgrades the utilities library to .NET 10 with AOT support and removes the ProcessEx class. The changes include extensive async method additions, comprehensive XML documentation, and updated test coverage. However, the PR contains critical compilation errors in Extensions.cs that must be fixed before merging.

Key Changes:

  • Upgraded target framework from .NET 9 to .NET 10 with AOT support
  • Removed ProcessEx class (users should migrate to CliWrap)
  • Added async versions of file operations, downloads, and compression methods with proper cancellation token support
  • Added comprehensive XML documentation to all public APIs
  • Replaced old solution file format with new .slnx format

Reviewed changes

Copilot reviewed 28 out of 29 changed files in this pull request and generated 26 comments.

Show a summary per file
FileDescription
version.jsonVersion bumped from 3.3 to 3.4
UtilitiesTests/UtilitiesTests.csprojUpdated to .NET 10, added analysis settings, upgraded package versions
UtilitiesTests/*.csAdded comprehensive test coverage for new functionality (StringHistory, async compression, async file operations, downloads, console utilities)
Utilities/Utilities.csprojUpgraded to .NET 10 with AOT support, enabled nullable reference types, added documentation generation, Husky integration
Utilities/StringHistory.csAdded XML documentation and null validation
Utilities/StringCompression.csAdded async methods, compression level support, and comprehensive documentation
Utilities/ProcessEx.csRemoved entirely (breaking change)
Utilities/LogOptions.csAdded XML documentation
Utilities/Format.csAdded XML documentation, improved BytesToKilo implementation with switch expression
Utilities/FileExOptions.csAdded XML documentation
Utilities/FileEx.csAdded async versions of all file operations, removed MethodBase parameter from logging, added comprehensive documentation
Utilities/Extensions.csCRITICAL: Contains invalid syntax - uses non-existent extension keyword
Utilities/Download.csRefactored to use Lazy, added async methods, increased timeout to 180s, added comprehensive documentation
Utilities/ConsoleEx.csAdded XML documentation, improved null handling
Utilities/CommandLineEx.csAdded XML documentation, improved argument parsing
Utilities.slnxNew solution file format replacing Utilities.sln
Utilities.slnRemoved (replaced by .slnx)
Sandbox/Sandbox.csprojUpdated to .NET 10 with AOT support
Sandbox/Program.csFixed nullable reference handling
README.mdUpdated version history
.husky/task-runner.jsonRemoved IDE0055 diagnostic exclusion
.github/workflows/BuildPublishPipeline.ymlUpdated actions versions, changed to .NET 10
.github/copilot-instructions.mdNew comprehensive development guidelines (contains incorrect information about extension keyword)
.config/dotnet-tools.jsonUpdated CSharpier to 1.2.5 and Husky to 0.8.0
Comments suppressed due to low confidence (1)

UtilitiesTests/UtilitiesTests.csproj:26

  • The package version "18.0.1" for Microsoft.NET.Test.Sdk may not exist. As of January 2025, the latest stable version is 17.x. Please verify this version exists on NuGet before using it.
 <PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />

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

Comment threadUtilities/Download.cs Outdated
Comment threadUtilities/Extensions.cs Outdated
Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadUtilities/FileEx.cs
ConsoleEx.WriteLineColor(color, "Test");

// Reset console
StreamWriter standardOutput = new(Console.OpenStandardOutput()) { AutoFlush = true };

CopilotAIJan 4, 2026

Copy link

Choose a reason for hiding this comment

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

Disposable 'StreamWriter' is created but not disposed.

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

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

@copilot suggest a fix

Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/DownloadAsyncTests.cs Outdated

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

* Initial plan
* Add using statement and simplify CallerMemberName attributes
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings January 4, 2026 03:37
CopilotAIand others added 4 commits January 3, 2026 19:38
* Initial plan
* Make HttpClient timeout configurable via TimeoutSeconds property
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Initial plan
* Replace redundant ToString() with string interpolation in FileExAsyncTests
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* Initial plan
* Replace explicit ToString() calls with string interpolation
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 29 out of 31 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

Utilities/Download.cs:227

  • The HttpClient timeout was changed from 30 seconds to 180 seconds (3 minutes). This is a significant change that could impact application behavior. Consider whether this change is intentional and if it should be configurable rather than hardcoded, especially for a library where different consumers may have different timeout requirements.

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

Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadSandbox/Program.cs
Comment threadUtilitiesTests/DownloadAsyncTests.cs
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
@ptr727
ptr727 merged commit df86e7c into mainJan 4, 2026
5 checks passed
Sign up for freeto 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

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Develop by ptr727 · Pull Request #279 · ptr727/Utilities · GitHub
Skip to content

Develop - #279

Merged
ptr727 merged 29 commits into
mainfrom
develop
Jan 4, 2026
Merged

Develop#279
ptr727 merged 29 commits into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

No description provided.

dependabotBotand others added 19 commits August 19, 2025 20:51
Bumps csharpier from 1.1.1 to 1.1.2
Bumps xunit.analyzers from 1.23.0 to 1.24.0
Bumps xunit.runner.visualstudio from 3.1.3 to 3.1.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.1.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
- dependency-name: xunit.analyzers
dependency-version: 1.24.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-0259308462
Bump the nuget-deps group with 3 updates
Bumps xunit.runner.visualstudio from 3.1.4 to 3.1.5
---
updated-dependencies:
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…evelop/nuget-deps-6aadeae1b1
Bump the nuget-deps group with 1 update
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-39349b7924
Bump csharpier from 1.1.2 to 1.2.1
---
updated-dependencies:
- dependency-name: Serilog.Sinks.Console
dependency-version: 6.1.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…nuget-deps-602f419b37
Bump Serilog.Sinks.Console from 6.0.0 to 6.1.1
Bumps csharpier from 1.2.1 to 1.2.3
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-1689e99d0a
Bump the nuget-deps group with 1 update
Bumps the actions-deps group with 2 updates in the / directory: [actions/setup-dotnet](https://github.com/actions/setup-dotnet) and [actions/checkout](https://github.com/actions/checkout).
Updates `actions/setup-dotnet` from 4 to 5
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](actions/setup-dotnet@v4...v5)
Updates `actions/checkout` from 5 to 6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v5...v6)
---
updated-dependencies:
- dependency-name: actions/setup-dotnet
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps csharpier from 1.2.3 to 1.2.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-133b2bc611
Bump the nuget-deps group with 1 update
Bumps csharpier from 1.2.4 to 1.2.5
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-262ca43251
Bump the nuget-deps group with 1 update
CopilotAI review requested due to automatic review settings January 4, 2026 03:21

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 upgrades the utilities library to .NET 10 with AOT support and removes the ProcessEx class. The changes include extensive async method additions, comprehensive XML documentation, and updated test coverage. However, the PR contains critical compilation errors in Extensions.cs that must be fixed before merging.

Key Changes:

  • Upgraded target framework from .NET 9 to .NET 10 with AOT support
  • Removed ProcessEx class (users should migrate to CliWrap)
  • Added async versions of file operations, downloads, and compression methods with proper cancellation token support
  • Added comprehensive XML documentation to all public APIs
  • Replaced old solution file format with new .slnx format

Reviewed changes

Copilot reviewed 28 out of 29 changed files in this pull request and generated 26 comments.

Show a summary per file
FileDescription
version.jsonVersion bumped from 3.3 to 3.4
UtilitiesTests/UtilitiesTests.csprojUpdated to .NET 10, added analysis settings, upgraded package versions
UtilitiesTests/*.csAdded comprehensive test coverage for new functionality (StringHistory, async compression, async file operations, downloads, console utilities)
Utilities/Utilities.csprojUpgraded to .NET 10 with AOT support, enabled nullable reference types, added documentation generation, Husky integration
Utilities/StringHistory.csAdded XML documentation and null validation
Utilities/StringCompression.csAdded async methods, compression level support, and comprehensive documentation
Utilities/ProcessEx.csRemoved entirely (breaking change)
Utilities/LogOptions.csAdded XML documentation
Utilities/Format.csAdded XML documentation, improved BytesToKilo implementation with switch expression
Utilities/FileExOptions.csAdded XML documentation
Utilities/FileEx.csAdded async versions of all file operations, removed MethodBase parameter from logging, added comprehensive documentation
Utilities/Extensions.csCRITICAL: Contains invalid syntax - uses non-existent extension keyword
Utilities/Download.csRefactored to use Lazy, added async methods, increased timeout to 180s, added comprehensive documentation
Utilities/ConsoleEx.csAdded XML documentation, improved null handling
Utilities/CommandLineEx.csAdded XML documentation, improved argument parsing
Utilities.slnxNew solution file format replacing Utilities.sln
Utilities.slnRemoved (replaced by .slnx)
Sandbox/Sandbox.csprojUpdated to .NET 10 with AOT support
Sandbox/Program.csFixed nullable reference handling
README.mdUpdated version history
.husky/task-runner.jsonRemoved IDE0055 diagnostic exclusion
.github/workflows/BuildPublishPipeline.ymlUpdated actions versions, changed to .NET 10
.github/copilot-instructions.mdNew comprehensive development guidelines (contains incorrect information about extension keyword)
.config/dotnet-tools.jsonUpdated CSharpier to 1.2.5 and Husky to 0.8.0
Comments suppressed due to low confidence (1)

UtilitiesTests/UtilitiesTests.csproj:26

  • The package version "18.0.1" for Microsoft.NET.Test.Sdk may not exist. As of January 2025, the latest stable version is 17.x. Please verify this version exists on NuGet before using it.
 <PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />

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

Comment threadUtilities/Download.cs Outdated
Comment threadUtilities/Extensions.cs Outdated
Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadUtilities/FileEx.cs
ConsoleEx.WriteLineColor(color, "Test");

// Reset console
StreamWriter standardOutput = new(Console.OpenStandardOutput()) { AutoFlush = true };

CopilotAIJan 4, 2026

Copy link

Choose a reason for hiding this comment

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

Disposable 'StreamWriter' is created but not disposed.

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

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

@copilot suggest a fix

Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/DownloadAsyncTests.cs Outdated

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

* Initial plan
* Add using statement and simplify CallerMemberName attributes
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings January 4, 2026 03:37
CopilotAIand others added 4 commits January 3, 2026 19:38
* Initial plan
* Make HttpClient timeout configurable via TimeoutSeconds property
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Initial plan
* Replace redundant ToString() with string interpolation in FileExAsyncTests
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* Initial plan
* Replace explicit ToString() calls with string interpolation
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 29 out of 31 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

Utilities/Download.cs:227

  • The HttpClient timeout was changed from 30 seconds to 180 seconds (3 minutes). This is a significant change that could impact application behavior. Consider whether this change is intentional and if it should be configurable rather than hardcoded, especially for a library where different consumers may have different timeout requirements.

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

Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadSandbox/Program.cs
Comment threadUtilitiesTests/DownloadAsyncTests.cs
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
@ptr727
ptr727 merged commit df86e7c into mainJan 4, 2026
5 checks passed
Sign up for freeto 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

@ptr727
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Develop by ptr727 · Pull Request #279 · ptr727/Utilities · GitHub
Skip to content

Develop - #279

Merged
ptr727 merged 29 commits into
mainfrom
develop
Jan 4, 2026
Merged

Develop#279
ptr727 merged 29 commits into
mainfrom
develop

Conversation

@ptr727

Copy link
Copy Markdown
Owner

No description provided.

dependabotBotand others added 19 commits August 19, 2025 20:51
Bumps csharpier from 1.1.1 to 1.1.2
Bumps xunit.analyzers from 1.23.0 to 1.24.0
Bumps xunit.runner.visualstudio from 3.1.3 to 3.1.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.1.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
- dependency-name: xunit.analyzers
dependency-version: 1.24.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-0259308462
Bump the nuget-deps group with 3 updates
Bumps xunit.runner.visualstudio from 3.1.4 to 3.1.5
---
updated-dependencies:
- dependency-name: xunit.runner.visualstudio
dependency-version: 3.1.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…evelop/nuget-deps-6aadeae1b1
Bump the nuget-deps group with 1 update
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-39349b7924
Bump csharpier from 1.1.2 to 1.2.1
---
updated-dependencies:
- dependency-name: Serilog.Sinks.Console
dependency-version: 6.1.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…nuget-deps-602f419b37
Bump Serilog.Sinks.Console from 6.0.0 to 6.1.1
Bumps csharpier from 1.2.1 to 1.2.3
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-1689e99d0a
Bump the nuget-deps group with 1 update
Bumps the actions-deps group with 2 updates in the / directory: [actions/setup-dotnet](https://github.com/actions/setup-dotnet) and [actions/checkout](https://github.com/actions/checkout).
Updates `actions/setup-dotnet` from 4 to 5
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](actions/setup-dotnet@v4...v5)
Updates `actions/checkout` from 5 to 6
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v5...v6)
---
updated-dependencies:
- dependency-name: actions/setup-dotnet
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps csharpier from 1.2.3 to 1.2.4
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-133b2bc611
Bump the nuget-deps group with 1 update
Bumps csharpier from 1.2.4 to 1.2.5
---
updated-dependencies:
- dependency-name: csharpier
dependency-version: 1.2.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: nuget-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-262ca43251
Bump the nuget-deps group with 1 update
CopilotAI review requested due to automatic review settings January 4, 2026 03:21

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 upgrades the utilities library to .NET 10 with AOT support and removes the ProcessEx class. The changes include extensive async method additions, comprehensive XML documentation, and updated test coverage. However, the PR contains critical compilation errors in Extensions.cs that must be fixed before merging.

Key Changes:

  • Upgraded target framework from .NET 9 to .NET 10 with AOT support
  • Removed ProcessEx class (users should migrate to CliWrap)
  • Added async versions of file operations, downloads, and compression methods with proper cancellation token support
  • Added comprehensive XML documentation to all public APIs
  • Replaced old solution file format with new .slnx format

Reviewed changes

Copilot reviewed 28 out of 29 changed files in this pull request and generated 26 comments.

Show a summary per file
FileDescription
version.jsonVersion bumped from 3.3 to 3.4
UtilitiesTests/UtilitiesTests.csprojUpdated to .NET 10, added analysis settings, upgraded package versions
UtilitiesTests/*.csAdded comprehensive test coverage for new functionality (StringHistory, async compression, async file operations, downloads, console utilities)
Utilities/Utilities.csprojUpgraded to .NET 10 with AOT support, enabled nullable reference types, added documentation generation, Husky integration
Utilities/StringHistory.csAdded XML documentation and null validation
Utilities/StringCompression.csAdded async methods, compression level support, and comprehensive documentation
Utilities/ProcessEx.csRemoved entirely (breaking change)
Utilities/LogOptions.csAdded XML documentation
Utilities/Format.csAdded XML documentation, improved BytesToKilo implementation with switch expression
Utilities/FileExOptions.csAdded XML documentation
Utilities/FileEx.csAdded async versions of all file operations, removed MethodBase parameter from logging, added comprehensive documentation
Utilities/Extensions.csCRITICAL: Contains invalid syntax - uses non-existent extension keyword
Utilities/Download.csRefactored to use Lazy, added async methods, increased timeout to 180s, added comprehensive documentation
Utilities/ConsoleEx.csAdded XML documentation, improved null handling
Utilities/CommandLineEx.csAdded XML documentation, improved argument parsing
Utilities.slnxNew solution file format replacing Utilities.sln
Utilities.slnRemoved (replaced by .slnx)
Sandbox/Sandbox.csprojUpdated to .NET 10 with AOT support
Sandbox/Program.csFixed nullable reference handling
README.mdUpdated version history
.husky/task-runner.jsonRemoved IDE0055 diagnostic exclusion
.github/workflows/BuildPublishPipeline.ymlUpdated actions versions, changed to .NET 10
.github/copilot-instructions.mdNew comprehensive development guidelines (contains incorrect information about extension keyword)
.config/dotnet-tools.jsonUpdated CSharpier to 1.2.5 and Husky to 0.8.0
Comments suppressed due to low confidence (1)

UtilitiesTests/UtilitiesTests.csproj:26

  • The package version "18.0.1" for Microsoft.NET.Test.Sdk may not exist. As of January 2025, the latest stable version is 17.x. Please verify this version exists on NuGet before using it.
 <PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />

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

Comment threadUtilities/Download.cs Outdated
Comment threadUtilities/Extensions.cs Outdated
Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadUtilities/FileEx.cs
ConsoleEx.WriteLineColor(color, "Test");

// Reset console
StreamWriter standardOutput = new(Console.OpenStandardOutput()) { AutoFlush = true };

CopilotAIJan 4, 2026

Copy link

Choose a reason for hiding this comment

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

Disposable 'StreamWriter' is created but not disposed.

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
OwnerAuthor

Choose a reason for hiding this comment

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

@copilot suggest a fix

Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/FileExAsyncTests.cs Outdated
Comment threadUtilitiesTests/DownloadAsyncTests.cs Outdated

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

* Initial plan
* Add using statement and simplify CallerMemberName attributes
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings January 4, 2026 03:37
CopilotAIand others added 4 commits January 3, 2026 19:38
* Initial plan
* Make HttpClient timeout configurable via TimeoutSeconds property
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Initial plan
* Replace redundant ToString() with string interpolation in FileExAsyncTests
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* Initial plan
* Replace explicit ToString() calls with string interpolation
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ptr727 <2061579+ptr727@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

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 29 out of 31 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

Utilities/Download.cs:227

  • The HttpClient timeout was changed from 30 seconds to 180 seconds (3 minutes). This is a significant change that could impact application behavior. Consider whether this change is intentional and if it should be configurable rather than hardcoded, especially for a library where different consumers may have different timeout requirements.

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

Comment threadUtilities/Extensions.cs
Comment threadUtilities/Extensions.cs
Comment threadSandbox/Program.cs
Comment threadUtilitiesTests/DownloadAsyncTests.cs
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

CopilotAI commented Jan 4, 2026

Copy link
Copy Markdown
Contributor

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

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
@ptr727
ptr727 merged commit df86e7c into mainJan 4, 2026
5 checks passed
Sign up for freeto 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

@ptr727