Skip to content

Describe 4.0 in the 4.x book and add the upgrade guide - #1054

Open
FreeApophis wants to merge 2 commits into
mainfrom
documentation-4-0-release
Open

FreeApophis wants to merge 2 commits into
mainfrom
documentation-4-0-release

Conversation

@FreeApophis

@FreeApophis FreeApophis commented Nov 10, 2026 •

Copy link
Copy Markdown
Member

Documentation for the 4.0.0 release day.

#1052, 3.x leftovers in the 4.x book

  • Section 1 (upgrade history inside reference chapters): all items done. migration-guide.md is gone, its content lives in the new upgrade guide; the …Await section of async.md, the System.Linq.Async 5/6 paragraph, the Option.FromBoolean, Funcky.Sequence and FunctionalAssert passages, the "since 3.8.0" phrases and the λ12xx history are removed. Chapters keep at most one link to the upgrade guide. λ1202 and λ1203 got rows in the "Removed rules" table instead of prose.
  • Section 2 (framework notes): every ".NET 6+" / ".NET 7+" / ".NET Core 3.0+" column and sentence now says ".NET 8+" or "on .NET Standard", with one explanatory line under the parse table; calendar.md reworded; async.md asset list checked against the csproj (netstandard2.0, netstandard2.1, net8.0, net9.0 in Funcky.Async).
  • Section 3 (compiler/SDK statements): settled on "the library has no SDK requirement; the extension forms need the C# 14 compiler of the .NET 10 SDK, an older compiler sees plain static methods" in SupportPolicy.md and xunit.md; the fallback paragraphs in try-pattern.md and nullable-members.md stay for that reason; the C# 9 comparison in no-operation.md is dropped.
  • Section 4: the xunit.v3 table lists Funcky.Xunit.v3 2.0.0. The changelog fold is in Prepare the 4.0.0 release #1053.
  • Section 5: nothing to do, the type redesign moves to 4.1.0; the README retirement text stays until the package is deprecated on nuget.org (maintainer step).
  • Section 6: README links point at /funcky/book/…; index.html gets a "Read more" for Either and mentions Result. The website keeps the 3.x book as default: the swap to 4.x (in Website/build.fsx) stays part of the release prep, because the site deploys on every push to main, so this PR can merge any time.
  • Section 7: the upgrade guide has a before/after example for [DiscriminatedUnion] → closed record + switch.

Closes #1052.

#1033, upgrade guide

New chapter upgrade-guide.md (sidebar, after "Testing with xUnit"): 3.x → 4.0 (prepare on 3.8.0 with λ1201–λ1203 and the obsoletion fixes, removed frameworks and the Roslyn/compiler baseline, a table of removed members with their replacements and code fixes, Result.Match order, Funcky.Async 2.0 and System.Linq.Async, analyzer rules, Funcky.DiscriminatedUnion), 2.x → 3.0 (the old page plus the breaking changes from the 3.0.0 changelog entry, including the Funcky.Async split), and the two 3.x minors that changed analyzer behaviour (3.7.0 renumbering, 3.8.0 extension forms).

Part of #1033; the "older upgrades" half is covered as far as the changelog records it (1.x → 2.0 is not written up).

🤖 Generated with Claude Code

FreeApophis and others added 2 commits November 10, 2026 13:34
The reference chapters no longer explain how things were in 3.x: the
FromBoolean, Sequence, FunctionalAssert and ...Await migration passages
move into the new upgrade guide chapter (3.x to 4.0, 2.x to 3.0, the 3.x
minors), which replaces the old "Migrating from 2.x to 3.0" page at the
top of the sidebar. Framework notes name .NET 8+ or .NET Standard instead
of the frameworks 4.0 dropped, the xunit version table lists
Funcky.Xunit.v3 2.0.0, the retired rules get rows in the removed-rules
table, the README book links point at /book/, and the website makes the
4.x book the default with 3.x under /book/3.x/.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The book swap belongs to the release prep, since the website deploys on
every push to main.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

Documentation: remove 3.x leftovers from the 4.0 book before the release

1 participant