Skip to content

Bump JasperFx → 2.0.0-alpha.11 + JasperFx.Events → 2.0.0-alpha.4; IsAotCompatible=true (#46)#67

Merged
jeremydmiller merged 1 commit into
mainfrom
feature/foundation-bump-jasperfx-alpha.11
May 13, 2026
Merged

Bump JasperFx → 2.0.0-alpha.11 + JasperFx.Events → 2.0.0-alpha.4; IsAotCompatible=true (#46)#67
jeremydmiller merged 1 commit into
mainfrom
feature/foundation-bump-jasperfx-alpha.11

Conversation

@jeremydmiller
Copy link
Copy Markdown
Member

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

Package Old New
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 for 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:

Warnings Area
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 each Storage/DocumentMapping.cs, LinqExtensions.cs, Linq/Metadata/MetadataExtensions.cs, Linq/Metadata/CreatedAtExtensions.cs, Internal/DocumentProviderRegistry.cs, DocumentStore.EventStoreExplorer.cs

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

  • Polecat.csproj build — 0 errors against alpha.11 / alpha.4
  • Polecat.Tests build — 0 errors
  • 90 non-DB tests pass locally; the ~978 DB-dependent tests will run in CI against the SQL Server matrix

🤖 Generated with Claude Code

…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.
@jeremydmiller jeremydmiller force-pushed the feature/foundation-bump-jasperfx-alpha.11 branch from 61c963f to 595186d Compare May 13, 2026 01:13
@jeremydmiller jeremydmiller merged commit c1a75f9 into main May 13, 2026
6 checks passed
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.
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>
@jeremydmiller jeremydmiller deleted the feature/foundation-bump-jasperfx-alpha.11 branch May 14, 2026 15:25
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