Bump JasperFx → 2.0.0-alpha.11 + JasperFx.Events → 2.0.0-alpha.4; IsAotCompatible=true (#46)#67
Merged
Conversation
…otCompatible=true on Polecat
Tier 2 E of the Critter Stack 2026 AOT-pillar (jasperfx#213) consumer-side rollout
following the JasperFx-side flag flip + CommandLine annotation pass that landed
in jasperfx#247 / #250 / #251.
Bumps
- JasperFx 2.0.0-alpha.8 → 2.0.0-alpha.11
- JasperFx.Events 2.0.0-alpha.3 → 2.0.0-alpha.4
Weasel.* stays on 9.0.0-alpha.2 — the alpha.3 refresh is queued via
weasel#273 (PR refreshed today). Will pick it up in a follow-up bump
once Weasel publishes alpha.3 from the dispatch workflow.
Polecat.csproj — IsAotCompatible=true
Enables IL2026 / IL2070 / IL2075 / IL3050 analyzers against Polecat's
own build, surfacing the punch list of reflective surfaces that need
[RequiresDynamicCode] / [RequiresUnreferencedCode] / [DAM] annotations
in Polecat's own CI rather than downstream consumers'.
Initial fallout (per TFM; net9.0 + net10.0 mirror)
270 IL warnings, broken down as:
88 DocumentStore.ProjectionReplay.cs — STJ deserialize + reflection
72 Serialization/Serializer.cs — STJ deserialize / serialize
64 Linq/PolecatQueryableExtensions.cs — generic Queryable construction
56 Linq/PolecatLinqQueryProvider.cs — same
32 Linq/SoftDeletes/SoftDeletedExtensions.cs
24 Linq/NonStaleDataExtensions.cs
20 Events/Linq/EventLinqQueryProvider.cs
16 Storage/DocumentMapping.cs
16 LinqExtensions.cs
16 Linq/Metadata/MetadataExtensions.cs
16 Linq/Metadata/CreatedAtExtensions.cs
16 Internal/DocumentProviderRegistry.cs
16 DocumentStore.EventStoreExplorer.cs
These map to the same per-slice annotation work that's queued for
JasperFx (Core/Reflection, Core/IoC, etc.) and should be filed as
follow-up issues against the AOT pillar #213 once this lands.
Verification
Polecat.csproj builds clean (0 errors) against alpha.11 / alpha.4.
Polecat.Tests builds clean. 90 non-DB tests pass locally; the
DB-dependent suite (~978 tests) runs in CI against the SQL Server
matrix as usual.
61c963f to
595186d
Compare
jeremydmiller
added a commit
that referenced
this pull request
May 13, 2026
Follow-up to polecat#67 (foundation bump to JasperFx 2.0.0-alpha.11 + JasperFx.Events 2.0.0-alpha.4 + IsAotCompatible=true). Weasel.* 9.0.0-alpha.3 was published from weasel#273 shortly after #67 landed; this picks it up across both pinned Weasel packages: - Weasel.SqlServer 9.0.0-alpha.2 → 9.0.0-alpha.3 - Weasel.EntityFrameworkCore 9.0.0-alpha.2 → 9.0.0-alpha.3 alpha.3 carries the in-flight AOT cleanups from weasel#265 + weasel#266 (AssertCommand Spectre suppression, CommandBuilderBase.GetType() DAM annotation) on the Weasel side, and is the first Weasel release built against the AOT-pillar JasperFx alphas (alpha.11 / alpha.4) that #67 also adopted. Local Polecat build is clean (0 errors). Doesn't touch any other config; everything else in Directory.Packages.props is unchanged.
This was referenced May 13, 2026
jeremydmiller
added a commit
that referenced
this pull request
May 13, 2026
Two updates to keep the migration-guide accurate as the 2026-wave alphas roll forward: - Bump the foundation-pin table to current Polecat 4 alpha versions: JasperFx alpha.8 → alpha.11, JasperFx.Events alpha.3 → alpha.4, Weasel.* alpha.2 → alpha.3. Note that the alpha line is still rolling forward and consumers should pin all five together. - Rewrite the AOT / codegen posture section to reflect the actual landed state: IsAotCompatible=true is set on the Polecat assembly (#67), and the reflective surfaces have been progressively annotated through #74 (serialization), #75 (projection replay), #76 (LINQ extension/provider), and #77 (storage / registry / event-store explorer). Link out to the cross-stack "Publishing AOT with JasperFx" guide on jasperfx.github.io for the end-to-end walkthrough. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Tier 2 E of the Critter Stack 2026 AOT pillar (JasperFx/jasperfx#213) consumer-side rollout. Picks up the JasperFx-side flag flip + CommandLine annotation pass that shipped today via JasperFx/jasperfx#247 / #250 / #251.
Bumps
JasperFxJasperFx.EventsWeasel.*stays on9.0.0-alpha.2for now — the alpha.3 refresh is queued via weasel#273 (refreshed today). I'll follow up with a Polecat bump to Weasel.* 9.0.0-alpha.3 once Weasel publishes from its dispatch workflow.Polecat.csproj — IsAotCompatible=true
```xml
true
```
Enables IL2026 / IL2070 / IL2075 / IL3050 analyzers against Polecat's own build, so the punch list of reflective surfaces that need [RequiresDynamicCode] / [RequiresUnreferencedCode] / [DynamicallyAccessedMembers] annotations surfaces in Polecat's own CI rather than downstream consumers'. Mirrors what jasperfx#247 did for JasperFx + JasperFx.Events.
Initial fallout (per TFM; net9.0 + net10.0 mirror)
270 IL warnings, broken down by area:
These are the input punch list for the Polecat-side AOT pillar work. The shape mirrors what's queued for JasperFx (Core/Reflection, Core/IoC, etc.) — each area becomes a follow-up issue against the AOT pillar.
Verification
🤖 Generated with Claude Code