Skip to content

Release 2.0.0 - #883

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
release/2.0.0
Aug 11, 2026
Merged

Release 2.0.0#883
Rafael-SOWNet merged 1 commit into
masterfrom
release/2.0.0

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Collaborator

Names the version 2.0.0 instead of 2.0.0-preview.2, and drops "(unreleased)" from the
2.0.0 heading in BREAKING-CHANGES.md. That is the whole diff.

Why now

The two previews are published and the surface has settled. The last thing that moved
between them — the implicit conversion from Entity[] / List<Entity> / (Entity, Entity)
to Entity, which made every params Entity[] overload in the library uncallable with a
list — is removed and recorded, and nothing else in BREAKING-CHANGES.md is waiting on a
decision.

AssemblyVersion stays pinned at 2.0.0.0 and is deliberately not tracking Version: the
assembly is strong-named, so for a consumer without a binding redirect every
AssemblyVersion change breaks binding, and holding it makes each 2.x release a drop-in
replacement. The NuGet workflow takes the package version from the release tag, so Version
is what a local build and the assembly metadata carry.

Measured on this commit, .NET 10

C# tests 6253 passed, 0 failed, 14 skipped
F# tests 130 passed, 0 failed
casbench 117/119 with an elementary answer, 2 unsolved, 2 correctly refused, 0 wrong, 0 error, 0 timeout

What has to happen for the release itself

Merging this does not publish anything — Nuget.yml fires on a published release and takes
the version from the tag. So after merge:

gh release create v2.0.0 --title "v2.0.0" --latest --notes-file <notes>

That publishes AngouriMath, AngouriMath.FSharp, AngouriMath.Interactive and
AngouriMath.Terminal at 2.0.0 to nuget.org, and a pushed NuGet package cannot be
deleted, only unlisted — so it is deliberately left as one explicit step rather than done
from a branch.

The docs side, which is the other half of this

Two things go with the release and are not in this repository:

  • The wiki is corrected and now machine-checked against a 2.0.0 build: 86 samples, 0
    compile errors, 0 output mismatches, 57 stated outputs verified. Before that, 23 of 90
    samples did not compile — Latexise had become Latexize, Exceptions documented the
    FutureReleaseException that Remove FutureReleaseException, which turned known gaps into bug reports #872 removed, and the entire F# page named a
    `dy/dx` that has always been `d/dx`.
  • AngouriMathSite has a PR that
    drops --prerelease from the quickstart, removes the dead MyGet feed, adds the 2.0.0
    entry to What's new — which is where PackageReleaseNotes sends readers — and repairs
    the docs build, which has been broken since the library moved up a folder in f0db3eef
    on 2026-01-03: amsite.fsx and NaiveStaticGenerator both still published and read from
    Sources/AngouriMath/AngouriMath/. That PR should merge after the release, since its
    quickstart tells the reader to install a version that has to exist first.

Found while doing it, filed rather than smuggled in

The two previews are published and the surface has settled: the last thing that
moved between them, the implicit conversion from a collection to a FiniteSet, is
removed and recorded. Nothing in BREAKING-CHANGES.md is now waiting on a decision.

Version only. AssemblyVersion stays pinned at 2.0.0.0 for the whole of 2.x, so a
signed-assembly consumer needs no binding redirect across 2.x releases, and the
NuGet workflow takes the package version from the release tag either way -- this
is what a local build and the assembly metadata carry.

Measured on this commit, .NET 10: 6253 C# tests pass, 0 fail, 14 skipped.
@Rafael-SOWNet
Rafael-SOWNet merged commit f259425 into master Aug 11, 2026
24 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