Skip to content

Audit BREAKING_CHANGES_V1.6.md against v1.5.71 and catch up through #8698 - #8700

Merged
Aaronontheweb merged 4 commits into
akkadotnet:devfrom
Aaronontheweb:docs/breaking-changes-v1.6-audit
Oct 1, 2026
Merged

Aaronontheweb merged 4 commits into
akkadotnet:devfrom
Aaronontheweb:docs/breaking-changes-v1.6-audit

Conversation

@Aaronontheweb

@Aaronontheweb Aaronontheweb commented Oct 1, 2026 •

Copy link
Copy Markdown
Member

Audits BREAKING_CHANGES_V1.6.md against the last stable v1.5 release, catches it up with the ## Breaking changes sections of PRs merged since 2026-09-20, and adds the breaking changes that landed before the ledger existed. Only that file changes.

Definition used

Baseline: 1.5.71 (newest 1.5.* tag; no 1.6.0-* tag exists). A change is breaking if it isn't binary compatible, source compatible (trim-analyzer warnings noted briefly), or behaviorally compatible for an existing app with existing config. Not listed: Akka.DynamicTypeLoading-off-only behavior (except #8608, which turns it off for trimmed/AOT apps), fixes, comparisons with dev states that never shipped, refactors, new APIs, and .Internal / [InternalApi] types (per docs/community/contributing/api-changes-compatibility.md). The preamble now says this, and says breaking changes go in the PR body's ## Breaking changes section and get batched here.

Rows: 39 before, 22 after.

Removed (26 rows)

The #8594 row (Hosting net10.0 + Microsoft.Extensions 10) is not removed but merged into the single net10.0 row below, so net10-only is stated once.

Added from PR bodies

Checked and not added: #8695/#8669/#8666 (beyond the unwrapping row), #8697/#8671/#8670 (switch-off only; #8670's provider spelling fix is folded into the #8599 row), #8674, #8668, #8665, #8664, #8663 (restores v1.5), #8661, #8655 (trim row only), #8653, #8652/#8650 (fix), #8648 (additive), #8647, #8645, #8636, #8635, #8630 (fixes to the unreleased TCP rewrite), #8628, #8218 (additive).

Added from the pre-ledger pass and review

Scope: everything on dev since it diverged from v1.5 (merge-base 1f14b74ce, 2025-08-15) up to the ledger's creation (#8260, 2026-06-12), enumerated with git log --first-parent 1f14b74ce..akkadotnet/dev --before=2026-06-13 (277 commits) plus the pre-fork v1.6 work that came in through #7761. Most of those PRs also shipped in v1.5.x, so each candidate was checked against 1.5.71. Cross-checks over the full range: the *.DotNet.verified.txt API approvals (1.5.71 vs dev, normalized for the newer generator's rendering), every shipped .conf, the .proto files, and project TFMs / package references.

Not listed:

Rewritten

Every kept row cut to one or two sentences plus a one-sentence migration, and set to Merged with its PR (branch names replaced: #8599, #8594, #8545, #8510, #8484, #8445, #8486, #8416, #8414, #8378, #8368, #8357, #8356, #8359, #8345, #8346, #8263). Kept: #8649, #8660, #8646 (reframed against v1.5: write-commands-queue-max-size now caps one write, not a registered connection's backlog), #8608, #8606 (UDP pool), #8599 (+#8670), #8545, #8445, #8378 (cut to the Player change: unapplied throttles now fail; the Artery test-mode part is dropped), #8359, #8317 (API), #8263. The "for the record" note also covers the always-registered artery-control serializer (id 23, reserved range) and #8561 (TestKit-only DotNetty batching). List markers use * (MD004); markdownlint passes.

…kkadotnet#8698

Restate the definition (binary / source / behavioral compatibility against
the last stable v1.5 release), drop rows that are not breaking under it
(Artery-only, DynamicTypeLoading-off-only, fixes, dev-only comparisons),
fold the TargetInvocationException and trim-annotation rows into one row
each, shorten the rest, mark every row Merged with its PR, and add the
breaking changes from akkadotnet#8694 and akkadotnet#8698.
Cover changes on dev since the v1.5 line diverged that landed before the
ledger existed: net10.0-only targeting and ByteString removal (akkadotnet#8132),
App.config HOCON loading removal (akkadotnet#7456), and the AddOrSet removal (akkadotnet#7622).
Add rows for akkadotnet#8222 (Serializer overloads, ByteArraySerializer manifest),
akkadotnet#8465 (explicit TLS hostname check), akkadotnet#8132 (TCP connects bypass akka.io.dns)
and akkadotnet#7557 (object handler without predicate blocks later Receive calls).
State net10.0-only once, folding in akkadotnet#8594 and the dependency bumps; fix the
ByteString row's write types; narrow the akkadotnet#8698 row to module serializers;
drop the .Internal AddOrSet row and say why in the preamble; shorten rows;
use asterisk list markers.
The Receive(typeof(object), Func<object, bool>) regression is being fixed
in a separate PR instead of documented.
@Aaronontheweb
Aaronontheweb merged commit aefcdfc into akkadotnet:dev Oct 1, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant