Bump JasperFx to 2.0.0-alpha.7 + dedup CascadeAction onto Weasel.Core (#47)#61
Merged
Merged
Conversation
…#47) Pin bumps: - JasperFx 2.0.0-alpha.4 → 2.0.0-alpha.7 - JasperFx.Events 2.0.0-alpha.2 → 2.0.0-alpha.3 - JasperFx.Events.SourceGenerator 2.0.0-alpha.1 → 2.0.0-alpha.2 What's in JasperFx since alpha.4: - jasperfx#229 (closes #226) RecentlyUsedCache thread-safety - jasperfx#230 (closes marten#4354) StaticTypeLoader codegen-write fallback - jasperfx#234 (closes #231) RecentlyUsedCache deterministic LRU - jasperfx#235 (closes #188) AssemblyGenerator tolerates missing references - jasperfx#236 (closes #203) OptionsDescription Children + Sets as properties - jasperfx#238 (closes #228) ScopedContainerCreation: gate await-using - jasperfx#239 (closes #227) Codegen CLI enforces ServiceLocationPolicy - jasperfx#240 (closes part of #224) UnknownTenantIdException.TenantId property JasperFx.Events alpha.3: - jasperfx#202 (closes #201) IJasperFxAggregateGrouper.Group takes IReadOnlyList<IEvent> — verified zero Polecat impact via grep (no grouper implementations or CustomGrouping callers). Closes polecat#47 (dedup audit, db-manipulation slice Row 2): - Drop the local `Polecat.Storage.CascadeAction` enum. - DocumentForeignKey + its test now import `Weasel.Core.CascadeAction`. - Other Polecat files (EventsTable, NaturalKeyTable, EventTagTable) reference `CascadeAction` via `using Weasel.SqlServer;` already — those resolve to Weasel.SqlServer's deprecated copy and are out of scope for this row (separate `#pragma warning disable CS0618` already documents that path). Per the audit at jasperfx#218, Weasel.Core had the canonical `CascadeAction` all along; Marten was already using it. Polecat is the last consumer to catch up. Supersedes the older alpha.4→alpha.6 bump PR #60 (which I'll close in favor of this one since this lands further in one shot). polecat.slnx builds clean.
This was referenced May 12, 2026
jeremydmiller
added a commit
that referenced
this pull request
May 12, 2026
Closes #51. Bookkeeping tracker for the Polecat 4 migration narrative, filed as part of the Critter Stack 2026 release wave. ## What's covered - **Foundation pin bumps** — the JasperFx 1.x → 2.0 / JasperFx.Events 1.x → 2.0 / Weasel 8.x → 9.0 transitive bumps, with a before/after table. - **Dedup audit relocations** (jasperfx#218 / #224): - `Polecat.BulkInsertMode` → `Weasel.Core.BulkInsertMode` (PR #50, weasel#264) - `Polecat.Storage.CascadeAction` → `Weasel.Core.CascadeAction` (PR #47 / #61) - `Polecat.Metadata.ITenanted` now extends `JasperFx.MultiTenancy.IHasTenantId` (silent during Polecat 4 dev; documented for third-party consumers) - `Polecat.Exceptions.UnknownTenantException` → `JasperFx.MultiTenancy.UnknownTenantIdException` (with the new `TenantId` property surfaced) - **Event-sourcing API changes** — `IInlineProjection.ApplyAsync` widening to `IEnumerable<StreamAction>` (jasperfx-events#4306), plus the `IJasperFxAggregateGrouper.Group` `IReadOnlyList<IEvent>` tightening (jasperfx#201) flagged for the rare case a Polecat application implements a custom grouper. - **New behavior** — `BulkInsertWithVersionAsync` (#48 / #62, the optimistic-concurrency bulk-insert path), and the FlatTableProjection case-sensitivity fix (#49 / Weasel-side). - **AOT/codegen posture** — Polecat 4 is `PublishAot`-supported; `IsAotCompatible=true` lands with the per-project AOT audit (jasperfx#213). - **Dependency lockstep** — explicit pairing table; mixing major versions across products in this wave is unsupported. - **No obsolete API removals** — verified via grep; the audit row in #51 is closed as a no-op. ## Sidebar wiring Added a top-level "Migration Guide" entry under the existing sections in `docs/.vitepress/config.mts`, matching the same style other top-level docs use (Diagnostics, Schema). The page is reachable from any page in the sidebar tree.
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.
Summary
Supersedes #60 (its alpha.4→alpha.6 bump rolled into this further-reaching alpha.7 bump). Will close #60 after this one merges.
What's in JasperFx since alpha.4
JasperFx.Events alpha.3
Why this CascadeAction migration is safe
Per the audit at jasperfx#218, `Weasel.Core.CascadeAction` has been the canonical enum all along; Marten was already using it. Polecat is the last consumer to catch up. Other Polecat files (`EventsTable`, `NaturalKeyTable`, `EventTagTable`) reference `CascadeAction` via `using Weasel.SqlServer;` — those resolve to Weasel.SqlServer's deprecated copy (already wrapped in a `#pragma warning disable CS0618`) and are out of scope for this row.
Test plan
🤖 Generated with Claude Code