#Critter Stack 2025

1 messages · Page 1 of 1 (latest)

abstract harbor
#

I was starting to write up a bit blog post on the plans and current progress for the upcoming "Critter Stack 2025" releases and I'm already over it, so here's a dump of what's been done so far:

What's been done so far

Here's what has been done so far:

  • JasperFx dependency consolidation. Oakton (command line parsing & CLI discovery), JasperFx.Core, and JasperFx.CodeGeneration were all centralized into a single foundational library
  • JasperFx.Events -- a new library that's slowly subsuming much of the generic event sourcing logic and work loads that will be shared between Marten and future event sourcing critter projects like Ermine

Marten 8.0

  • .NET 6/7 support has been dropped and the dependency tree simplified after that
  • Synchronous database access APIs have been eliminated
  • All other API signatures that were marked as [Obsolete] in the latest versions of Marten 7.* were removed
  • Marten.CommandLine was merged into Marten proper, but you'll need to use db-* commands instead of the marten-* commands from here on out with no difference in functionality

Wolverine 4.0

  • Dropped .NET 7 support
  • Significant work for a single application being able to use multiple databases from within one application for folks getting clever with modular monoliths. More on this in a section below
    *Work to provide information to CritterWatch

CritterWatch

The focus right now has been on backend hooks to the system capabilities of a Wolverine or Wolverine + Marten application

abstract harbor
#

And System.Text.Json is now the default JSON serializer for Marten. That was 1 line of code, then adjustments to about a dozen unit tests

earnest breach
#

@abstract harbor : I am guessing that I am going to be prodding your "I'm over it" nerve here a little - but in the update you mentioned "Significant work for a single application being able to use multiple databases from within one application for folks getting clever with modular monoliths. More on this in a section below". Any chance the "section below" is in a shareable format that can be included here?

abstract harbor
#

It would be if I'd ever finished it! One second...

earnest breach
#

you are a gentleman and a scholar, sir - thank you

abstract harbor
#

Ah, man, I had an ex-colleague who passed away young who used that phrase:/

#

See the bottom section of this post:

#

There's been work done in the Wolveirne 4.0 branch so that if you're using any mix of Marten with AddMarten() and 0 to many number of AddMartenStore() registrations, Wolverine is able to "know" when and how to share message stores. So if your AddMartenStore() registration for one module uses the same database as another AddMartenStore(), Wolverine is only creating a single message storage for that database. But if the AddMartenStore() uses a completely different database, Wolverine is using that and creating a separate background process for the inbox/outbox/scheduling for that database too

#

So more or less letting you mix and match databases in a single app w/ Marten. Before 4.0 goes live, that support will extend to EF Core & Sql Server as well. Maybe to RavenDb, but haven't really thought about that much yet

merry topaz
#

I know that ermine is not going to be priotized, likely for all of 2025, but for those of us interested in that functionality would contributing to the issues listed within the Jasperfx/jasperfx project on github be a meaningful way to help speed that along?

abstract harbor
#

Yes. When we get Marten completely working with the ongoing projection support in JasperFx, I’d hope that ermine could go quickly

#

Not even remotely trying to port all of Marten over

merry topaz
#

I personally wouldn't need all of Marten in order to be successful. I am working on a project that fits event sourcing incredibly well, but we sell the software solution and the associated hardware to be deployed on customer sites. Having the backing database be MS Sql is unfortunately such a requested feature of what we do that any new development may be a non-starter without it. But I can likely make contributions in the meantime

abstract harbor
#

Could also help sponsor the work, especially if your company is potentially building a product with the critter stack: