Skip to content

release: bring final 2.0.0 performance corrections from dev to main - #680

Merged
SunSi12138 merged 3 commits into
mainfrom
release/2.0.0-final-performance
Sep 13, 2026
Merged

SunSi12138 merged 3 commits into
mainfrom
release/2.0.0-final-performance

Conversation

@SunSi12138

Copy link
Copy Markdown
Owner

Bring the final reviewed runtime performance corrections for SharpLink 2.0.0 from dev into main before publishing the release from main.

The release branch merges current main history into dev commit bae9e50844fc45b1aaf94de676cd73e86654f424 to satisfy main’s strict up-to-date check. Its tree is identical to that verified dev commit (af745f3efadd4cc519cd7e9f8d0fdf3be827f934); the merge adds no source changes. This replaces the direct-dev draft #679, whose head lacked main’s merge history.

The latest source state passed a full non-incremental Release solution build (0 warnings/errors), 1825 unit tests and 451 integration tests, with no failures or skips. Both source PRs passed their GitHub checks and include focused tests and before/after BenchmarkDotNet evidence.

Release status: this PR remains a draft while the final hardware performance assessment is incomplete. Baremetal TCP delivery stalls are sensitive to unrelated traffic on its network interface; the requested temporary EEE diagnostic requires an administrator action on that machine. A fresh OneWay ABA completed without errors but its two 1.1.1 baselines drifted by 14.8%, so that run cannot establish a reliable pass/fail comparison.

After the hardware issue is resolved, merge into main, run the exact-main release gate and final 1.1.1 → 2.0.0 → 1.1.1 comparison using the verified main packages. Launch a fresh five-hour GitHub Actions soak for that main commit and continue release work while it runs, as authorized. Do not tag or publish packages until the remaining release validation is complete.

SunSi12138 and others added 3 commits September 13, 2026 07:20
#677)

* Bump the testing group with 1 update

Bumps TUnit from 1.63.0 to 1.64.6

---
updated-dependencies:
- dependency-name: TUnit
  dependency-version: 1.64.6
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(deps): bump github/codeql-action/init from 4.37.4 to 4.37.6

Bumps [github/codeql-action/init](https://github.com/github/codeql-action) from 4.37.4 to 4.37.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@f205ea1...5595cca)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(ci): pair CodeQL actions at 4.37.6

* Bump Microsoft.Extensions.DependencyInjection and 6 others

Bumps Microsoft.Extensions.DependencyInjection from 10.0.10 to 10.0.11
Bumps Microsoft.Extensions.DependencyInjection.Abstractions from 10.0.10 to 10.0.11
Bumps Microsoft.Extensions.Diagnostics.HealthChecks from 10.0.10 to 10.0.11
Bumps Microsoft.Extensions.Hosting from 10.0.10 to 10.0.11
Bumps Microsoft.Extensions.Logging to 10.0.11
Bumps Microsoft.Extensions.Logging.Abstractions from 10.0.10 to 10.0.11
Bumps Microsoft.Extensions.Logging.Console from 10.0.10 to 10.0.11

---
updated-dependencies:
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-version: 10.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: microsoft-extensions
- dependency-name: Microsoft.Extensions.DependencyInjection.Abstractions
  dependency-version: 10.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: microsoft-extensions
- dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks
  dependency-version: 10.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: microsoft-extensions
- dependency-name: Microsoft.Extensions.Hosting
  dependency-version: 10.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: microsoft-extensions
- dependency-name: Microsoft.Extensions.Logging
  dependency-version: 10.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: microsoft-extensions
- dependency-name: Microsoft.Extensions.Logging
  dependency-version: 10.0.11
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: microsoft-extensions
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-version: 10.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: microsoft-extensions
- dependency-name: Microsoft.Extensions.Logging.Console
  dependency-version: 10.0.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: microsoft-extensions
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: bump version to 1.1.2

* Bump the testing group with 1 update

Bumps TUnit from 1.64.6 to 1.65.68

---
updated-dependencies:
- dependency-name: TUnit
  dependency-version: 1.65.68
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(deps): bump github/codeql-action/analyze from 4.37.6 to 4.37.9

Bumps [github/codeql-action/analyze](https://github.com/github/codeql-action) from 4.37.6 to 4.37.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@5595cca...cdf488f)

---
updated-dependencies:
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(deps): bump github/codeql-action/init from 4.37.6 to 4.37.9

Bumps [github/codeql-action/init](https://github.com/github/codeql-action) from 4.37.6 to 4.37.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@5595cca...cdf488f)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(deps): bump Microsoft.CodeAnalysis.CSharp from 5.6.0 to 5.9.0

* Bump the roslyn group with 2 updates

Bumps Microsoft.CodeAnalysis.Analyzers from 5.6.0 to 5.9.0
Bumps Microsoft.CodeAnalysis.CSharp from 5.0.0 to 5.9.0

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.Analyzers
  dependency-version: 5.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: roslyn
- dependency-name: Microsoft.CodeAnalysis.CSharp
  dependency-version: 5.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: roslyn
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump the testing group with 1 update

Bumps TUnit from 1.65.68 to 1.66.16

---
updated-dependencies:
- dependency-name: TUnit
  dependency-version: 1.66.16
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>

* Decouple client lifecycle from remote readiness

Introduce independent local lifecycle, readiness, and cluster state domains for single- and multi-cluster clients. Start hosted clients without blocking on remote availability, supervise initial connectivity recovery, preserve legacy explicit connection semantics, keep runtime Add/Replace candidates in the new child lifecycle, and prevent compatibility connection failures from tearing down an already-running coordinator.

Fixes #644

* Split server start, wait, and stop lifecycle

Replace public RunAsync with explicit StartAsync, WaitForShutdownAsync, and StopAsync ownership. Move accept/runtime supervision into SharpLinkServer, keep per-connection cleanup failures local including heartbeat-timeout cleanup, simplify Generic Host lifetime bridging, migrate repository callers, and document terminal failure semantics.

Fixes #646

* Revert "Merge pull request #648 from SunSi12138/issue-646-server-lifecycle"

This reverts commit 8183ac2, restoring the first-parent tree at 9ba50b9.

* Revert "Merge pull request #647 from SunSi12138/issue-644-client-lifecycle-readiness"

This reverts commit 9ba50b9, restoring the pre-accident main tree at 21ed74f.

* perf(client): observe unary emission within the send pump lifetime

* perf(runtime): batch ready timed requests at one emission boundary

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: sunsi <suns12138@163.com>
@SunSi12138
SunSi12138 marked this pull request as ready for review September 13, 2026 02:50
@SunSi12138
SunSi12138 merged commit 7e8d9d8 into main Sep 13, 2026
32 of 40 checks passed
@SunSi12138
SunSi12138 deleted the release/2.0.0-final-performance branch September 13, 2026 02:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant