Skip to content

chore(release): promote 2.0.2 preparation to main - #765

Merged
SunSi12138 merged 6 commits into
mainfrom
dev
Oct 2, 2026
Merged

SunSi12138 merged 6 commits into
mainfrom
dev

Conversation

@SunSi12138

Copy link
Copy Markdown
Owner

Promote the 2.0.2 release candidate from dev to main.

Release contents since 2.0.1:

  • hoist streaming Codec capability checks to stream scope;
  • preserve statically known concrete Codec types in generated code;
  • fix trimmed and NativeAOT consumption of SharpLink.Runtime, including PackageReference full/partial trim, NativeAOT, ProjectReference full trim, mobile linker compatibility, and deterministic package validation;
  • bump package version to 2.0.2 and freeze the release notes/Generator fixture.

Compatibility:

  • no public API removal or incompatible signature change;
  • no Protocol v2 wire change;
  • Generated API remains 4;
  • no contract-manifest format bump.

This PR is the formal Release Gate candidate. After merge, the exact resulting main SHA must pass Release Gate again before creating tag v2.0.2.

* perf: hoist client stream codec capability

* perf: accept hoisted client stream codec capability

* perf: hoist generated stream codec capability

* test: cover client stream codec capability hoisting

* test: cover generated stream codec capability hoisting

* fix: preserve client stream error arbitration around capability lookup

* fix: preserve generated stream lifetime cleanup around capability lookup

* test: cover exact-size client stream capability hoisting

* test: make client flow-credit setup explicit
Implements #726. Preserve statically known concrete codec types in generated DTO/Union/Collection/Proxy/Stub paths while keeping provider resolution authoritative and interface fallbacks for non-nameable/runtime-selected codecs.
…#763)

* fix(runtime): make UnsafeBlit reflection fallback trim-switchable

* fix(runtime): pack trim configuration for UnsafeBlit fallback

* fix(runtime): disable reflective UnsafeBlit fallback for trimmed consumers

* test: add packaged NativeAOT consumer project

* test: exercise generated UnsafeBlit through packaged NativeAOT

* ci: publish a real NuGet NativeAOT consumer

* fix(runtime): keep AOT source build free of switch-only constants

* test: require packaged NativeAOT fallback to fail closed

* test: preserve packaged untrimmed UnsafeBlit fallback

* docs: record packaged NativeAOT UnsafeBlit fix

* test: keep fail-closed AOT control outside generated graph

* test: keep JIT fallback control outside generated graph

* fix(runtime): expose trim guard to linker analysis

* ci: align package AOT restore with self-contained publish

* ci: isolate NativeAOT smoke build artifacts

* ci: run package smoke for Runtime and package test changes

* fix(runtime): disable UnsafeBlit reflection for trim-only source builds

* test: add ProjectReference trim-only UnsafeBlit smoke

* ci: gate AOT isolation and trim-only ProjectReference on pushes

* ci: invoke trim smoke independent of file mode

* fix(sdk): do not flow trimming into generator project

* fix(sdk): keep trim mode off generator project references

* test: keep trim mode off generator in source smoke

* test: isolate trim smoke from analyzer ProjectReference semantics

* revert: keep SDK generator project-reference scope unchanged

* test: keep trim consumer out of repository package validation

* test: rely on project-local trim properties in ProjectReference smoke

* test: rely on project-local NativeAOT properties in source smokes

* ci: run package acceptance for Generator changes

* test: add packaged trim-only consumer

* test: cover packaged trim-only UnsafeBlit behavior

* ci: publish and run packaged trim-only consumer

* ci: trigger package smoke for trim-only consumer changes

* fix(runtime): let trim failures surface when fallback guard is not removed

* fix(runtime): embed UnsafeBlit linker substitution

* fix(runtime): fail closed UnsafeBlit reflection under final linking

* docs: describe source and package trim coverage

* fix(runtime): opt Runtime into partial trimming

* test: cover full and partial ProjectReference trimming safely

* test: keep trim mode local to each ProjectReference consumer

* fix(runtime): guard reflection fallback under trimmable linker contract

* test: constrain trim smoke cleanup to mktemp artifacts

* fix(runtime): scope trim suppression to guarded reflection calls

* test: use artifacts-only temp directory for trim smoke

* fix(runtime): preserve mobile copy semantics

* fix(runtime): remove trimmable-only warning suppressions

* test: scope ProjectReference trimming contract to full mode

* ci: block releases on mobile codec evidence

* docs: scope 2.x ProjectReference trimming support

* fix(runtime): avoid global trimmable opt-in on mobile

* fix(runtime): remove trimmable-only warning suppressions

* test: scope automatic source trim smoke to full mode

* ci: make blocking mobile codec evidence release-critical

* ci: isolate release mobile evidence concurrency

* test: pin SharpLink package smoke to local artifacts

* docs: clarify UnsafeBlit behavior under trimming

* ci: exercise Release Gate mobile reusable wiring on PR changes

* test: add packaged partial-trim consumer

* test: verify Runtime buildTransitive trim switch asset

* ci: exercise packaged partial trimming feature switch

* ci: cover shared catalog and partial trim smoke changes

* ci: trigger package smoke for package verifier changes

* docs: state packaged partial-trim support explicitly

* fix(runtime): add package-only partial trim suppressions

* fix(runtime): import partial trim suppressions for package consumers

* fix(runtime): pack partial trim suppression metadata

* test: verify partial trim suppression asset

* fix(runtime): configure trim switch at target execution time

* fix(runtime): guard packaged reflection fallback with feature switch

* fix(runtime): document manifest locator trim dataflow contract

* fix(runtime): drop package-only linker suppression asset

* test: verify execution-time trim target wiring

* test: simulate late-set PackageReference trimming

* ci: verify late-set package trimming configuration

* ci: trigger package smoke for late trim regression

* fix(runtime): remove internal linker suppression dependency

* ci: invoke late trim MSBuild regression correctly

* fix(runtime): add partial trim suppression at execution time

* revert: keep feature switch separate from trim warning suppression

* revert: keep partial trim suppression package-scoped

* fix(runtime): restore package-scoped partial trim suppressions

* fix(runtime): pack partial trim suppression metadata

* test: require late-set partial trim suppression wiring

* test: verify late partial trim suppression asset
* chore(release): bump version to 2.0.2

* docs(release): add 2.0.2 changelog

* test(generator): refresh 2.0.2 manifest fixture
@SunSi12138
SunSi12138 merged commit 1205704 into main Oct 2, 2026
160 of 164 checks passed
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