Skip to content

Commit 6b93b40

Browse files
Name the release 2.3.0, which removes nothing (#746) (#1006)
Version and FileVersion move to 2.3.0; BREAKING-CHANGES.md's "Unreleased" section becomes "2.3.0 -- since 2.2.0". AssemblyVersion stays 2.0.0.0, as it has for the whole of 2.x. The comment on that pin explains that holding it is binding compatibility and not source compatibility, because 2.2.0 renamed two members and a consumer that swapped the assembly without recompiling would bind and then throw MissingMethodException. That sentence stays, but 2.3.0 is the other case and the comment now says so: measured against the 2.2.0 baseline in Tests/UnitTests/Common/PublicApi.txt, the public surface has 103 additions and 0 removals. For this release the pin guarantees both senses. What did change is behaviour, in seventeen ways, and no assembly version can express that. They are in BREAKING-CHANGES.md with both values measured on a build of each side. The number is checked against #746: 2.3.0 advances tier 1 and 2 and completes neither. Nothing here is a new capability tier -- it is behaviour correction plus the rule-registry work -- so it is a minor release. The note recording that is on the issue. Measured on this tree: suite 7533 passed, 0 failed, 14 skipped. On the merge base 3ac24bc, with CI green across all ten workflows including C++, F# Build and F# Test: corpus 116/119, 0 wrong, 0 error, 0 timeout Rubi 604/1774 solved, 0 wrong (was 536 and 7 at the last measure) propcheck 1340 checks, 0 failures rootcheck 596/596, 0 incomplete, 0 unsound simpsweep 10463/10463 agree boundcheck 814 comparisons, 0 disagreements crashcheck 1834 cases, 0 crashed docsamples 84 samples, 0 compile errors, 0 output mismatches sympycheck 45/45 emitted programs run The performance pair is #1005: the 1769th column, taken on the same runner class as the 1620th and 1671st, every row faster or flat and SolveEasy 2.5x. Claude-Session: https://claude.ai/code/session_01KbKcbJP266A3EGyQ5kq7Ru Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
1 parent 8c3d332 commit 6b93b40

2 files changed

Lines changed: 11 additions & 6 deletions

File tree

‎BREAKING-CHANGES.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ read first.
1515

1616
---
1717

18-
## Unreleased — since 2.2.0
18+
## 2.3.0 — since 2.2.0
1919

2020
### At a glance
2121

‎Sources/Package.Build.props‎

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<?xml version="1.0" encoding="utf-8"?>
1+
<?xml version="1.0" encoding="utf-8"?>
22
<Project>
33

44
<!--
@@ -17,7 +17,7 @@
1717
release tag, so what ships is named by the tag; this is what a local build and the
1818
assembly metadata carry.
1919
-->
20-
<Version>2.2.0</Version>
20+
<Version>2.3.0</Version>
2121

2222
<!--
2323
Pinned to the major for the whole of 2.x, and deliberately not tracking Version.
@@ -27,11 +27,16 @@
2727
2828
That is binding, not compatibility: a member removed or renamed within 2.x still
2929
throws MissingMethodException when a consumer compiled against the older assembly
30-
reaches it. 2.2.0 renames two, both recorded in BREAKING-CHANGES.md. FileVersion
31-
carries the release for anyone reading the file properties.
30+
reaches it. 2.2.0 renamed two, which is why that sentence is here.
31+
32+
2.3.0 removes and renames nothing. The public surface only grows, by 103 members,
33+
with 0 removals against the 2.2.0 baseline in Tests/UnitTests/Common/PublicApi.txt.
34+
So for this release the pin is a drop-in guarantee in both senses. What did change is
35+
behaviour, in seventeen ways recorded in BREAKING-CHANGES.md, and no assembly version
36+
can express that. FileVersion carries the release for anyone reading file properties.
3237
-->
3338
<AssemblyVersion>2.0.0.0</AssemblyVersion>
34-
<FileVersion>2.2.0.0</FileVersion>
39+
<FileVersion>2.3.0.0</FileVersion>
3540

3641
<Authors>WhiteBlackGoose and contributors</Authors>
3742
<Company>Angouri</Company>

0 commit comments

Comments
 (0)