Skip to content

Bump Marten from 7.34.1 to 9.0.2#21

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/Marten-9.0.2
Open

Bump Marten from 7.34.1 to 9.0.2#21
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/Marten-9.0.2

Conversation

@dependabot
Copy link
Copy Markdown

@dependabot dependabot Bot commented on behalf of github May 25, 2026

Updated Marten from 7.34.1 to 9.0.2.

Release notes

Sourced from Marten's releases.

9.0.2

Marten 9.0.2

A patch release that fixes #​4557 — self-aggregating projections failing for consumers that reference only the Marten package.

Fixes

  • #​4557 — Self-aggregating projections now work out of the box. Marten 9 dispatches conventional Apply/Create/ShouldDelete projection methods through the compile-time JasperFx.Events.SourceGenerator and has no runtime fallback, but the generator shipped as a DevelopmentDependency and never flowed to a consumer that only referenced the Marten package — surfacing as InvalidProjectionException: No source-generated dispatcher found ... at DocumentStore.For(...). Marten now bundles the analyzer in its own NuGet package, so a plain <PackageReference Include="Marten" /> runs the generator automatically. (#​4558)

  • Self-aggregating record aggregates work without a Snapshot<T> call site and without partial. Bumped JasperFx.Events / JasperFx.Events.SourceGenerator to 2.1.1 (JasperFx/jasperfx#​367): the generator now emits a self-aggregating evolver for a record from its own declaration (parity with classes), which also fixes the cross-assembly case where the aggregate type is defined in a different assembly than its registration.

  • Docs. Corrected the migration guide's projection section, which incorrectly stated Marten falls back to a runtime evolver lookup for non-partial convention projections; documented that self-aggregating Snapshot<T> types do not need to be partial (only projection subclasses do).

Dependency bumps

  • JasperFx.Events 2.1.0 → 2.1.1
  • JasperFx.Events.SourceGenerator 2.1.0 → 2.1.1

No public API changes from 9.0.1.

9.0.1

Marten 9.0.1

A patch release on the Critter Stack 2026 foundation, rolling up the latest JasperFx 2.0.1 / JasperFx.Events 2.1.0 / Weasel 9.0.1 dependencies along with several source-generator and reliability fixes.

Foundation bumps

  • JasperFx 2.0.0 → 2.0.1
  • JasperFx.Events / JasperFx.Events.SourceGenerator → 2.1.0
  • JasperFx.SourceGeneration → JasperFx.SourceGenerator 2.0.1 (package renamed; #​4555)
  • Weasel.Postgresql / Weasel.EntityFrameworkCore 9.0.0 → 9.0.1

Fixes

  • Self-aggregating source-generator fixes (via JasperFx.Events 2.1.0, consumed in #​4547):
    • #​4542required members on self-aggregating snapshot types no longer break generated evolver construction; default! is emitted only when a public parameterless constructor exists, otherwise RuntimeHelpers.GetUninitializedObject is used.
    • #​4543 — nullable [ReadAggregate] aggregate parameters generate correctly.
  • #​4546IEventDatabase dead-letter count reads (CountDeadLetterEventsAsync / FetchDeadLetterCountsAsync) are implemented on MartenDatabase via LINQ over the DeadLetterEvent document.
  • #​4540 — opt-in System.Text.Json source-generation context support (SystemTextJsonSerializer.UseTypeInfoResolver) for AOT/trimming-friendly metadata.
  • #​4552 — intermittent CI flakes fixed: feature_flag_positive advisory-lock contention (distinct ApplyChangesLockId, #​4553) and the conjoined multi-tenant query_before_saving XX000: tuple concurrently updated migration-DDL race (resolved upstream in Weasel 9.0.1 / weasel#​293).

No public API breaking changes from 9.0.0. RestoreV8Defaults() continues to revert the 9.0 default flips.

9.0.0

Marten 9.0.0 — Critter Stack 2026

The headline release of the Critter Stack 2026 wave, on the final JasperFx 2.0 + Weasel 9.0 foundation.

Highlights

  • Foundation: JasperFx 2.0.0 / JasperFx.Events 2.0.0 / Weasel 9.0.0 (final). Targets net9.0;net10.0.
  • No runtime code generation. Roslyn is gone — JasperFx.RuntimeCompiler is no longer a dependency. Document/event storage is hand-written closed-shape; compiled queries use Marten.SourceGenerator. No codegen write step for Marten.
  • Cold-start + AOT: AOT-publishable in Static mode; lazy document-mapping materialization; per-query handler-factory caching.
  • Dedupe pillar (jasperfx#​214): IStorageOperation rebased on Weasel.Core; async-daemon distributor concretes consumed from JasperFx.Events.Daemon; OperationRole / BulkInsertMode relocated to Weasel.Core.
  • Defaults flipped to best-perf: QuickWithServerTimestamps append mode, advanced async tracking, bigint events, lightweight default sessions, System.Text.Json default — all revertable via RestoreV8Defaults().
  • Versioning: IRevisioned.Version stays int (V8-compatible); new ILongVersioned (long) for MultiStreamProjection documents.
  • DCB: optional HSTORE tag storage; FetchForWritingByTags<T> for identity-less boundary aggregates.

See the migration guide (docs/migration-guide.md). Master plan: marten#​4349. Ships in lockstep with Polecat 4.0.

8.37.1

What's Changed

Full Changelog: JasperFx/marten@V8.37.0...V8.37.1

8.37.0

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.36.0...V8.37.0

8.36.0

Highlights

Marten 8.36.0 closes out #​4329 by adopting JasperFx.Events 1.35.0 and ships the corresponding docs and integration tests, plus a separately-tracked docs improvement for modular IConfigureMarten projection registration (#​4326) and two LINQ fixes.

  • Composite-projection cache eviction fix (via JasperFx.Events 1.35.0). Per-projection aggregate caches are no longer compacted between stages of a composite projection — each stage's cache stays at full size for the entire composite batch and is trimmed as a unit at the composite boundary. Options.CacheLimitPerTenant is a memory tunable again, not a correctness lever for downstream EnrichWith<T> / TryFindUpstreamCache lookups.
  • ForEntityIds for fan-out enrichment (via JasperFx.Events 1.35.0). New first-class declarative shape for events that reference several entities of the same type:
    await group
        .EnrichWith<Provider>()
        .ForEvent<ShiftScheduled>()
        .ForEntityIds(e => e.ProviderIds)
        .AddReferences();
  • Cross-stage document visibility docs. composite.md calls out that downstream stages can't SQL-query upstream stages' in-flight writes, lists the four supported alternatives (Updated<T> synthetic events, EnrichWith<T>().AddReferences(), TryFindUpstreamCache<TId, T>, ReferencePeerView<T>), and includes inline samples sourced from the integration tests.
  • IConfigureMarten + DI projection registration docs. New section in events/projections/ioc.md showing how a module-style configuration can register a service-aware projection by taking its dependencies through the IConfigureMarten constructor and building the projection inside Configure(...). Closes #​4326.
  • LINQ fixes. string[].Contains parse failure under C# 14 + nullable + method init (#​4332), and Where clauses on the inner source of GroupJoin are now honored.

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.35.0...V8.36.0

8.35.0

Heads up, this will cause a DDL change for some upsert functions due to a bug that was only apparent under high concurrency

What's Changed

Full Changelog: JasperFx/marten@V8.34.2...V8.35.0

8.34.2

What's Changed

Patch release. One bug fix.

  • Fix multi-property record structs misclassified as strong-typed-id wrappers by @​jeremydmiller in Fix multi-property record structs misclassified as strong-typed-id wrappers JasperFx/marten#4322 — when a document property's type was a multi-field record struct like Money(decimal Value, Guid CurrencyId), the LINQ resolver would throw BadLinqExpressionException on any nested member access (x.MoneyProp.Amount > 0). Root cause was ValueTypeIdGeneration.IsCandidate filtering properties only to those in DocumentMapping.ValidIdTypes (Guid/int/long/string), so a multi-field struct with a single matching property + a static Zero(Guid) builder got misdetected as a strong-typed-id wrapper. As a side effect the misdetection registered Money as a uuid column on Weasel's global PostgresqlProvider.Instance, poisoning LINQ resolution for the rest of the process. Fix: reject types whose canonical constructor takes more than one parameter before any further matching. Reported with full root-cause analysis by @​mmidkiff.

Full Changelog: JasperFx/marten@V8.34.1...V8.34.2

8.34.1

What's Changed

Patch release. Two fixes — one regression in the cold-start path, one Scoped-subscription bug that's been latent since AddSubscriptionWithServices shipped.

  • Bump JasperFx.Events 1.31.0 → 1.31.1 by @​jeremydmiller in Bump JasperFx.Events 1.31.0 -> 1.31.1 (CultureNotFoundException fix) JasperFx/marten#4321 — picks up the JasperFx fix for CultureNotFoundException at DocumentStore..ctor on hosts running with <InvariantGlobalization>true</InvariantGlobalization> (implied by <PublishAot>true</PublishAot>). The cold-start prefilter in ProjectionGraph.IsAssemblyKnownToHaveNoEvolvers was reading assembly.GetName().Name, which under invariant-globalization mode throws on culture-tagged satellite assemblies like pt-br. Reported today against the cold-start optimization changes that landed in 8.34.0.
  • Fix #​4318: ScopedSubscriptionServiceWrapper drops Options/Name/Version by @​jeremydmiller in Fix #4318: ScopedSubscriptionServiceWrapper drops Options/Name/Version JasperFx/marten#4320 — when a subscriber registered via AddSubscriptionWithServices<T>(ServiceLifetime.Scoped, configure) set Options.BatchSize, Options.SubscribeFromPresent(), Name, or Version in its constructor, those values were silently lost. Only IncludedEventTypes, StreamType, and IncludeArchivedEvents were copied from the resolved inner T to the wrapper. The Singleton path was unaffected. Thanks to @​Casper-Olsen for the root-cause analysis.

Full Changelog: JasperFx/marten@V8.34.0...V8.34.1

8.34.0

What's Changed

This release rolls in the JasperFx 1.28 / JasperFx.Events 1.31 upgrade chain, several cold-start and runtime-perf optimizations, two stability fixes (advisory locks, projection version suffix), and a new declarative ancillary-store enrichment API.

Full Changelog: JasperFx/marten@V8.33.0...V8.34.0

8.33.0

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.32.1...V8.33.0

8.32.1

Just bug fixes this time

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.32.0...V8.32.1

8.32.0

What's Changed

Full Changelog: JasperFx/marten@V8.31.0...V8.32.0

8.31.0

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.30.1...V8.31.0

8.30.1

What's Changed

Full Changelog: JasperFx/marten@V8.30.0...V8.30.1

8.30.0

What's Changed

Full Changelog: JasperFx/marten@V8.29.3...V8.30.0

8.29.3

What's Changed

Full Changelog: JasperFx/marten@V8.29.0...V8.29.3

8.29.0

What's Changed

Full Changelog: JasperFx/marten@V8.28.0...V8.29.0

8.28.0

What's Changed

Full Changelog: JasperFx/marten@V8.27.0...V8.28.0

8.27.0

What's Changed

Full Changelog: JasperFx/marten@V8.26.2...V8.27.0

8.26.2

What's Changed

Full Changelog: JasperFx/marten@V8.26.1...V8.26.2

8.26.1

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.26.0...V8.26.1

8.26.0

What's Changed

Full Changelog: JasperFx/marten@V8.25...V8.26.0

8.25.0

This was 100% about exposing information to CritterWatch through extended projection progression tracking and nothing else. Completely opt in as well

What's Changed

Full Changelog: JasperFx/marten@V8.24.0...V8.25

8.24.0

What's Changed

Full Changelog: JasperFx/marten@V8.23.0...V8.24.0

8.23.0

What's Changed

Full Changelog: JasperFx/marten@V8.22.2...V8.23.0

8.22.2

All of this was for CritterWatch and has no value otherwise over 8.22.1

What's Changed

Full Changelog: JasperFx/marten@V8.22.1...V8.22.2

8.22.1

The JasperFx update helps address an issue with Composite Projections in Marten + Wolverine.

What's Changed

Full Changelog: JasperFx/marten@V8.22.0...V8.22.1

8.22.0

What's Changed

Full Changelog: JasperFx/marten@V8.21.0...V8.22.0

8.21.0

What's Changed

Full Changelog: JasperFx/marten@V8.20...V8.21.0

8.20.0

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.19.0...V8.20

8.19.0

What's Changed

This release improves the recent "Composite Projection" feature by accounting for upstream projections being deleted. This
release also adds the presence of an ILogger Logger {get;} property for projections so users no longer have to use IoC integrations
just to get an ILogger into a projection.

New Contributors

Full Changelog: JasperFx/marten@V8.18.3...V8.19.0

8.18.3

Finally correctly addresses the bad tenant id problem. Please upgrade from 8.18.1/2.

Full Changelog: JasperFx/marten@V8.18.2...V8.18.3

8.18.2

What's Changed

Full Changelog: JasperFx/marten@V8.18.1...V8.18.2

8.18.1

Fixes JasperFx/marten#4085

What's Changed

Full Changelog: JasperFx/marten@V8.18.0...V8.18.1

8.18.0

Blog Post: Easier Query Models with Marten

What's Changed

New Contributors

Full Changelog: JasperFx/marten@v8.17.0...V8.18.0

8.17.0

This release includes a rewrite of the daemon's advisory lock, as well as some fixes to multi-host support.

The distributed lock now includes a keepalive check so a node holding a lock will be notified if the lock is lost and permit the daemon to shutdown. This improves the recovery capabilities in the event a postgres instance is restarted or fails over, and reduces the risk of multiple nodes running the daemon concurrently.

What's Changed

Full Changelog: JasperFx/marten@V8.16.4...v8.17.0

8.16.4

What's Changed

Full Changelog: JasperFx/marten@v8.16.3...V8.16.4

8.16.3

This release fixes compatibility issues with C# 14 projects & includes performance improvements to Marten's initialization, especially for projects with many event types and/or upcasters.

What's Changed

New Contributors

Full Changelog: JasperFx/marten@v8.16.2...v8.16.3

8.16.2

What's Changed

Full Changelog: JasperFx/marten@V8.16.1...v8.16.2

8.16.1

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.16.0...V8.16.1

8.16.0

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.15.3...V8.16.0

8.15.3

What's Changed

Full Changelog: JasperFx/marten@V8.15.1...V8.15.3

8.15.1

What's Changed

Full Changelog: JasperFx/marten@V8.15.0...V8.15.1

8.15.0

This is adding .NET 10 support, and absolutely nothing else

What's Changed

Full Changelog: JasperFx/marten@V8.14.0...V8.15.0

8.14.0

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.13.3...V8.14.0

8.13.3

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.13.2...V8.13.3

8.13.2

What's Changed

Full Changelog: JasperFx/marten@V8.13.1...V8.13.2

8.13.1

What's Changed

Full Changelog: JasperFx/marten@V8.13.0...V8.13.1

8.13.0

This was a "fix" for an unforeseen failure condition, and more importantly, the ability to:

  • append events to different tenants from IDocumentOperations
  • append events from an ISubscription or EventProjection

What's Changed

Full Changelog: JasperFx/marten@V8.12.0...V8.13.0

8.12.0

System.Threading.Channels

This release finally pulls in the branch that completely replaces the usage of TPL DataFlow with Channels. We expect no issues around this, and it changes nothing about your usage at all. Just know that happened.

What's Changed

Full Changelog: JasperFx/marten@V8.11.0...V8.12.0

8.11.0

What's Changed

Full Changelog: JasperFx/marten@V8.10.1...V8.11.0

8.10.1

What's Changed

Full Changelog: JasperFx/marten@V8.10.0...V8.10.1

8.10.0

What's Changed

Full Changelog: JasperFx/marten@V8.9.0...V8.10.0

8.9.0

What's Changed

Full Changelog: JasperFx/marten@V8.8.2...V8.9.0

8.8.2

What's Changed

Full Changelog: JasperFx/marten@V8.8.1...V8.8.2

8.8.1

Reverses an accidental incompatibility downstream with Wolverine.Marten.

Mea culpa everyone,

Jeremy

8.8.0

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.7.0...V8.8.0

8.7.0

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.6.0...V8.7.0

8.6.0

Couple things in one biggish PR:

  1. New metric for when the highwater mark is being skipped ahead by the daemon
  2. New ability to track where and when the high water mark skips in a new table
  3. New ability to mark events as "skipped" so that they would be ignored by either live aggregations or projection rebuilds

What's Changed

Full Changelog: JasperFx/marten@V8.5.0...V8.6.0

8.5.0

What's Changed

Full Changelog: JasperFx/marten@V8.4.0...V8.5.0

8.4.0

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.3.2...V8.4.0

8.3.2

Top line changes are a couple fixes for the Archived and Tombstone events where the namespace changed from V7 to V8, and the usage of Archived within some projections was unintentionally broken -- and now fixed.

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.3.1...V8.3.2

8.3.1

What's Changed

Full Changelog: JasperFx/marten@V8.3.0...V8.3.1

8.3.0

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.2.1...V8.3.0

8.2.1

Revert PR JasperFx/marten#3824 which is causing regression with indexes.

Fixes regression issue JasperFx/marten#3837

8.2.0

The CLI improvements in JasperFx & Weasel and the corresponding changes to Marten are substantial, even though nothing else in Marten changes in this release.

What's Changed

Full Changelog: JasperFx/marten@V8.1.2...V8.2.0

8.1.2

What's Changed

Full Changelog: JasperFx/marten@V8.1.0...V8.1.2

8.1.0

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V8.0.1...V8.1.0

8.0.1

Please upgrade from 8.0 to 8.0.1

The big change here is addressing a "Connection Leak" issue when running the Async Daemon with aggregation projections. We apologize for the inconvenience here:-(

Also, the database index change is technically a breaking change, but we're bending the rules because this should have been in the 8.0.0 change. This removes a table index that probably isn't helpful anyway.

What's Changed

Full Changelog: JasperFx/marten@V8.0.0...V8.0.1

8.0.0

Release Overview: Blog Post

Breaking Changes: Read Migration Guide

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V7.39.1...V8.0.0

7.40.5

What's Changed

Full Changelog: JasperFx/marten@V7.40.4...V7.40.5

7.40.4

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V7.40.3...V7.40.4

7.40.3

What's Changed

Full Changelog: JasperFx/marten@V7.40.2...V7.40.3

7.40.2

What's Changed

Full Changelog: JasperFx/marten@V7.40.1...V7.40.2

7.40.1

What's Changed

Full Changelog: JasperFx/marten@V7.40.0...V7.40.1

7.40.0

What's Changed

Full Changelog: JasperFx/marten@V7.39.6...V7.40.0

7.39.6

Add LINQ support for string comparison methods JasperFx/marten#3744 by @​lukedukeus

Full Changelog: JasperFx/marten@V7.39.5...V7.39.6

7.39.5

What's Changed

Full Changelog: JasperFx/marten@V7.39.3...V7.39.5

7.39.3

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V7.39.2...V7.39.3

7.39.2

What's Changed

Full Changelog: JasperFx/marten@V7.39.0...V7.39.2

7.39.1

What's Changed

Full Changelog: JasperFx/marten@V7.38.0...V7.39.1

7.39.0

What's Changed

Description has been truncated

---
updated-dependencies:
- dependency-name: Marten
  dependency-version: 9.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github
Copy link
Copy Markdown
Author

dependabot Bot commented on behalf of github May 25, 2026

Labels

The following labels could not be found: dependencies, nuget. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot Bot requested a review from sbdevman as a code owner May 25, 2026 09:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

0 participants