Skip to content

chore(release): move the package validation baseline to 2.6.0 - #312

Merged
Harol-Reina merged 1 commit into
mainfrom
chore/baseline-2.6.0
Sep 25, 2026
Merged

Harol-Reina merged 1 commit into
mainfrom
chore/baseline-2.6.0

Conversation

@Harol-Reina

Copy link
Copy Markdown
Contributor

Step two of the release ritual — the same shape #265 took after 2.5.3. With 2.6.0 published, ApiCompat
compares against it instead of against 2.5.3, which makes all fourteen CompatibilitySuppressions
entries obsolete.

What goes

file entries
src/Verbara.Sdk/CompatibilitySuppressions.xml 2
src/Verbara.Sdk.Ari/CompatibilitySuppressions.xml 6
src/Verbara.Sdk.VoiceAi.AudioSocket/CompatibilitySuppressions.xml 6

They existed so the AudioSocket frame-type corrections (#302) and the CreateExternalMediaAsync
signature change (#305) could pack against a 2.5.3 baseline that still held the old surface. Against
2.6.0 there is no diff to suppress.

They move with the baseline rather than later on purpose. Left in place, they would silently mask
the next break of the same shape — an enum value changed, a member removed — and nothing would
report it.

Verified with a negative control, not with a green pack

dotnet pack validation is incremental, so a gate that never ran reports success. Both directions
were run:

baseline 2.6.0, no suppressions   ->  exit 0, 29 packages, 0 errors, 0 warnings
baseline 2.5.3, no suppressions   ->  exit 1, 6 ApiCompat errors (2x CP0002, 4x CP0011)
                                      "CP0011: Value of field 'Uuid' in enum 'AudioFrameType'
                                       changed from '0' to '1'" + five more

The six errors in the failing direction are exactly the six the Ari file used to carry. The gate is
live, and the suppressions really were what was holding it.

Release state

2.6.0 is tagged (v2.6.0 → e1a731fe), publish.yml succeeded, and 29 of 29 packages are indexed
on nuget.org
— checked package by package against the flat container rather than trusting the
workflow's own canary poll, which covers one package.

🤖 Generated with Claude Code

Step two of the release ritual, the same shape #265 took after 2.5.3: with
2.6.0 published and indexed on nuget.org (29/29 verified against the flat
container, not against the workflow's own canary poll), ApiCompat compares
against it instead of against 2.5.3.

That makes all fourteen `CompatibilitySuppressions` entries obsolete, so the
three files go with the bump:

  src/Verbara.Sdk/CompatibilitySuppressions.xml                  2 entries
  src/Verbara.Sdk.Ari/CompatibilitySuppressions.xml              6
  src/Verbara.Sdk.VoiceAi.AudioSocket/CompatibilitySuppressions.xml  6

They existed to let the AudioSocket frame-type corrections and the
`CreateExternalMediaAsync` signature change pack against a 2.5.3 baseline that
still held the old surface. Against 2.6.0 there is no diff to suppress. Left in
place they would mask the *next* break of the same shape, which is the reason
they move with the baseline rather than later.

Verified, with a negative control rather than by trusting a green pack —
`dotnet pack` validation is incremental and a gate that never ran reports
success:

- baseline 2.6.0, no suppressions: `dotnet pack Verbara.Sdk.slnx -c Release`
  exits 0, produces 29 packages, zero errors and zero warnings.
- baseline 2.5.3, no suppressions: exits 1 with the six ApiCompat errors the
  Ari file used to carry — `CP0011: Value of field 'Uuid' in enum
  'AudioFrameType' changed from '0' to '1'` and five more. The gate is live, and
  the suppressions really are what was holding it.
@Harol-Reina
Harol-Reina added this pull request to the merge queue Sep 24, 2026
Merged via the queue into main with commit 515c944 Sep 25, 2026
15 checks passed
@Harol-Reina
Harol-Reina deleted the chore/baseline-2.6.0 branch September 25, 2026 00:08
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