Skip to content

Bump to 6.29.2 and add the CHANGELOG entries for the release - #3996

Merged
jeremydmiller merged 1 commit into
mainfrom
release-6.29.2
Aug 21, 2026
Merged

Bump to 6.29.2 and add the CHANGELOG entries for the release#3996
jeremydmiller merged 1 commit into
mainfrom
release-6.29.2

Conversation

@jeremydmiller

Copy link
Copy Markdown
Member

Fix release. Four changes since 6.29.1, three of them reported bugs.

#3984 GH-516 parity for HTTP — a Before method that accepts the request type and returns it now replaces an immutable request body, as it has on the handler side since GH-516
#3993 GH-3986ClearAllAsync could not delete node records another process wrote
#3994 GH-3970 — an agent a node cannot build is released to a node that can
#3995 GH-3971 — the orphaned-message sweep is indexable, bounded, and out of the shared recovery transaction

Worth calling out

RavenDB users could not start in Solo mode after a Balanced-mode run — ClearAllAsync threw on every stale node record, because it deleted by tracked entity from a session that had not loaded it. The documented workaround (clearing WolverineNodes by hand in RavenDB Studio) is no longer needed.

SQLite silently orphaned every agent assignment row. Found by the compliance coverage written for the RavenDB fix — NodePersistenceCompliance had never exercised ClearAllAsync at all, which is how two providers shipped it broken. It does now.

The orphan sweep ships a new partial index on owner_id, so PostgreSQL and Sql Server users will see one index applied on the next schema migration.

The orphan sweep did not work on Oracle, and CI caught it before release rather than after. Both of its reads are node numbers read via GetFieldValueAsync<int>(), and Oracle's NUMBER arrives from ODP.NET as Int64 — and because both reads sit inside the try/catch that logs and returns, the whole sweep degraded to a silent no-op that released nothing while looking healthy. Fixed in #3995 before merge; no released version ever carried the broken form, since the sweep is new in this version.

Mechanics

  • <Version> in Directory.Build.props: 6.29.16.29.2
  • CHANGELOG entries added under the existing ## Unreleased heading, per this repo's convention
  • Full wolverine.slnx builds clean at -f net9.0

After merge: tag V6.29.2, GitHub release, then dispatch publish_nugets.yml against main.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HxbBpN6PmRB5CMSSTdGNr3

Four fixes since 6.29.1, three of them reported bugs:

- GH-516 parity for HTTP: a Before method that accepts the request type and
  returns it now replaces an immutable request body, as it has on the handler
  side since GH-516 (#3984).
- GH-3986: ClearAllAsync could not delete node records another process wrote.
  RavenDB threw on every stale node and the app could not start in Solo mode
  after a Balanced run; SQLite silently orphaned every agent assignment row
  (#3993).
- GH-3970: an agent a node cannot build is now released to a node that can,
  instead of being re-requested on the same failing node forever (#3994).
- GH-3971: the orphaned-message sweep is indexable, bounded, and out of the
  shared recovery transaction -- plus the Oracle defect CI caught before this
  shipped, where the sweep silently released nothing at all (#3995).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HxbBpN6PmRB5CMSSTdGNr3
@jeremydmiller
jeremydmiller merged commit 38b65dd into main Aug 21, 2026
70 of 71 checks passed
This was referenced Aug 21, 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