Release 2.0.0 - #883
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Names the version
2.0.0instead of2.0.0-preview.2, and drops "(unreleased)" from the2.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 everyparams Entity[]overload in the library uncallable with alist — is removed and recorded, and nothing else in
BREAKING-CHANGES.mdis waiting on adecision.
AssemblyVersionstays pinned at2.0.0.0and is deliberately not trackingVersion: theassembly is strong-named, so for a consumer without a binding redirect every
AssemblyVersionchange breaks binding, and holding it makes each 2.x release a drop-inreplacement. The NuGet workflow takes the package version from the release tag, so
Versionis what a local build and the assembly metadata carry.
Measured on this commit, .NET 10
casbenchWhat has to happen for the release itself
Merging this does not publish anything —
Nuget.ymlfires on a published release and takesthe version from the tag. So after merge:
That publishes
AngouriMath,AngouriMath.FSharp,AngouriMath.InteractiveandAngouriMath.Terminalat2.0.0to nuget.org, and a pushed NuGet package cannot bedeleted, 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:
compile errors, 0 output mismatches, 57 stated outputs verified. Before that, 23 of 90
samples did not compile —
Latexisehad becomeLatexize,Exceptionsdocumented theFutureReleaseExceptionthat 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`.drops
--prereleasefrom the quickstart, removes the dead MyGet feed, adds the 2.0.0entry to What's new — which is where
PackageReleaseNotessends readers — and repairsthe docs build, which has been broken since the library moved up a folder in
f0db3eefon 2026-01-03:
amsite.fsxandNaiveStaticGeneratorboth still published and read fromSources/AngouriMath/AngouriMath/. That PR should merge after the release, since itsquickstart tells the reader to install a version that has to exist first.
Found while doing it, filed rather than smuggled in
absfolds a numeric argument and nothing else, soabs(-sqrt(6))survivesSimplify. It shows up in the documented answer to a quadratic inequality, and itfalsifies the claim that An inequality with a symbolic coefficient gets an interval whose endpoints are ordered for one sign only #757's closed form "collapses to exactly the old output when the
roots are concrete".
Simplifyrewrites the root node only:-(5 - sqrt(-11))becomessqrt(-11) - 5on its own and is left alone inside a matrix, a power or a sum. Not the complexity metric
— the better form scores 7 against 9 — and
FiniteSetworks only becauseSimplificator.Alternatespecial-cases it.documented members carry an
<example>, andAngouriMath.Extensionshas 0 of 89.