Skip to content

Release prep for 2.2.0-alpha: bump UPM manifest, changelog, and install pin - #66

Merged
Enzx merged 2 commits into
mainfrom
release-prep/2.2.0-alpha
Aug 6, 2026
Merged

Release prep for 2.2.0-alpha: bump UPM manifest, changelog, and install pin#66
Enzx merged 2 commits into
mainfrom
release-prep/2.2.0-alpha

Conversation

@Enzx

@Enzx Enzx commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Release prep for 2.2.0-alpha, per the UPM release checklist (three artifacts, one version):

  • package.json version → 2.2.0-alpha
  • CHANGELOG.md → new [2.2.0-alpha] entry covering everything merged since the 2.1.0-alpha tag
  • UPM README.md install pin → upm/v2.2.0-alpha

Rebased onto main after #67 (data-built branching) merged, so the entry now covers that too.

What the release contains

Breaking — the delegate-backed director states were renamed (ChoiceStateRelayChoiceState, SwitchState<TKey>RelaySwitchState<TKey>, and both async twins), with no forwarding aliases, because the old names are reused in this same release for the new data-built states. Consumer code fails to compile until the type names are updated; that is deliberate, and the changelog leads with it. The version stays 2.2.0-alpha rather than taking a major bump — this is a pre-stable alpha line.

Runtime — data-built branching (serializable ChoiceState / SwitchState<T> deciding from ICondition lists or literal cases), typed event entry points, declarative behaviors with bounded repetition, machine lifecycle hardening, the cross-runtime log-report bridge (now a capability, so non-State nodes such as branches reach the observer too), director target observation under built ids, timeout wrapper wiring forwarding, self-sufficient validation plus labelled Mermaid branch arms, and serialization payload versions 7–10 with hardened read paths.

Package — the netstandard2.1 API baseline, analyzers-as-errors, and the source-staging fix below.

Release blocker found while preparing this

NxGraph.Build's source-staging list is an explicit allowlist, and anything unlisted is dropped silently — the copy loop only reports folders it was asked for and could not find. It was missing the Behaviors and Conditions folders and ValueTaskSync.cs, so a source-mode package built from this release would not have compiled at the consumer: the behavior composites, the condition set, and the sync/async report bridge that State.Log and the composites both call were all absent. Binary mode is the release default, which is why this went unnoticed since the behaviors feature landed.

Fixed in this PR, with a comment on the list recording that it is an allowlist that must track the core project's folders. Verified by running stage-source and confirming all three appear in the staged output.

Verification

dotnet run --project NxGraph.Build -- ci on this branch: green, 0 warnings, 840 core + 235 serialization tests, 83% line coverage.

After merge

Tag v2.2.0-alpha (publishes all three NuGet packages) and upm/v2.2.0-alpha (UPM release, binary mode) on the merge commit.

Enzx added 2 commits August 6, 2026 23:07
Source staging is an explicit allowlist, and anything unlisted is dropped
without a warning. A source-mode package built from this release would have
been missing the behavior composites, the condition set, and the sync/async
report bridge that State.Log and the composites both call, so it could not
compile at the consumer. Binary mode is the release default, which is why
this went unnoticed.
@Enzx
Enzx force-pushed the release-prep/2.2.0-alpha branch from 59210d1 to f2b3929 Compare August 6, 2026 21:10
@Enzx
Enzx merged commit 10e2a1f into main Aug 6, 2026
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