Skip to content

AUS-1013: package-link check, API surface dumps and an upgrading note - #176

Merged
Astn merged 1 commit into
masterfrom
aus-1013-freeze
Sep 28, 2026
Merged

Astn merged 1 commit into
masterfrom
aus-1013-freeze

Conversation

@Astn

@Astn Astn commented Sep 28, 2026

Copy link
Copy Markdown
Owner

Verification of the published 2.0.0-preview.3 packages and the API and wire freeze before 2.0.0 final. No library change. The four results are on the Linear ticket; this pull request carries what the checks left behind.

  • .github/scripts/check_package_links.py <version>: downloads the four packages from nuget.org, requests every absolute URL in projectUrl, the repository url, the release notes and the README, then builds a scratch project against the core package that prints the ObsoleteAttribute on Handler.RegisterFuction, Handler.UnRegisterFunction and Config.SetBeforeProcessHandler, formats each UrlFormat with its DiagnosticId, fetches the page and asserts the anchor is in the HTML. Sample addresses in the READMEs (localhost, 127.0.0.1, .test, example.com) are skipped. Passes for preview.3: 35 URLs, three anchors, core assembly strong-named.
  • .github/scripts/api_surface and docs/api-surface/: a reflection dump of the public surface of the four assemblies as sorted text, one file per published version. 2.0.0-preview.3.txt is the surface frozen for 2.0.0; the final release must diff against it in the version lines only. The preview.1 to preview.3 diff is exactly what the changelog says: InProcessClient removed, JsonRpcLimits, SetLimits and LimitExceededInfo added, sessionID parameters renamed sessionId, FromMethod renamed FromMethodInfo, RpcInterfaceMethod.Method renamed MethodInfo, and the public key token on every type.
  • docs/upgrading.md: one bullet the upgrade smoke test needed that the guide did not state. Newtonsoft.Json is no longer a dependency of the core, so code that handles JObject or JArray adds the Newtonsoft package and selects its serializer; without the second step the casts are silently false.

Linear: AUS-1013.

.github/scripts/check_package_links.py <version> downloads the four
packages from nuget.org, requests every absolute URL in projectUrl, the
repository url, the release notes and the README, and builds a scratch
project that prints the ObsoleteAttribute on the three obsolete members so
each UrlFormat, formatted with its DiagnosticId, is fetched and its anchor
asserted in the page. Sample addresses (localhost, 127.0.0.1, .test,
example.com) in the READMEs are skipped.

.github/scripts/api_surface dumps the public API of the four assemblies as
sorted text; docs/api-surface holds the dumps for 2.0.0-preview.1 and
2.0.0-preview.3. The preview.3 file is the surface frozen for 2.0.0.

docs/upgrading.md gains the one step the upgrade smoke test needed that
the guide did not state: Newtonsoft.Json is no longer a dependency of the
core, so code that handles JObject or JArray adds the Newtonsoft package
and selects its serializer.
@Astn
Astn merged commit 9b57f47 into master Sep 28, 2026
3 of 4 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