Everything we have written about Wolverine
4th November 2026Recurring Jobs with Wolverine and CritterWatchEvery system has work that runs on a schedule. Wolverine turns a cron job into an ordinary message, so it gets the outbox, retries, dead letters, OpenTelemetry tracing and once-per-cluster execution for free, and CritterWatch 1.2 lets you see, pause, resume and trigger every schedule across your fleet. Plus how Wolverine treats a nightly job differently from one that fires every few seconds, and why.
3rd November 2026Critter Stack AI Skills 1.18: Caught Up With CritterWatch 1.2AI Skills 1.18 brings every CritterWatch skill up to the 1.2 MCP tools, checked tool by tool against the source: a new sagas skill, the get_command_outcome tool, dead letters ranged by failure time, event queries over bodies and metadata, and six corrections to advice that had gone wrong, including the Prometheus series names every Grafana example used.
3rd November 2026CritterWatch 1.2: See Inside Your Event Store, Documents, Sagas and SchedulesCritterWatch 1.2 turns the console into a real explorer for what your Critter Stack services hold: an overview of every event store, a Step Through tab for projections, a Document Store Explorer that checks your documents still deserialize, saga instances with their state and pending timeouts, a Schedule Explorer that tells you what a schedule is actually doing, and an Event Model you can drill into.
2nd November 2026Alba 9 Is Nearly HereAlba 9.0 RC3 is the last release candidate before the biggest release Alba has had in years: host pooling for parallel integration tests, scenarios addressed by route name, JSON path and problem details assertions, endpoint coverage and authorization audits, time travel with a fake TimeProvider, server-sent events, and a rebuilt docs site. All of it is Jaedyn's work. Plus the breaking changes to read before you upgrade from Alba 8.
30th October 2026Critter Stack in Review: October 12th to 30thThree weeks, 72 tagged releases, and 57 pull requests from 18 people outside JasperFx. The big themes were not losing messages, with a durable inbox and outbox hardening pass that closed a dozen community-reported ways a message could go missing; performance, from SQL Server index seeks to a thread pool thread the run command was quietly eating; shutting down cleanly; an async daemon that heals itself; and multi-tenancy at a scale we'd never tested before. Plus Marten's hard stream delete, Aspire parity in Wolverine, NServiceBus XML interop, and the upgrade notes you should read first.
29th October 2026Failure Groups: Handle a Dead Letter Incident as One ThingCritterWatch 1.1 groups dead letters by the failure that caused them, across every service and database, and lets you replay, archive, restore or discard the whole group as one tracked operation with a reason attached. Your AI agent gets the same loop over MCP, and still has to show you the preview before it deletes anything.
28th October 2026Wolverine Best Practices, RevisitedThe Wolverine Best Practices guide was written in 2023 and pointed at a handful of blog posts from that year. We've rewritten it from scratch: the A-Frame Architecture front and center, concrete advice on dividing handlers and error handling by category, the at-least-once rules every messaging community agrees on, and links to the tutorials that didn't exist back then.
27th October 2026CritterWatch 1.1, Bobcat 1.0, AI Skills 1.17, and a First Look at StoatOne release wave, four products: CritterWatch 1.1 with 83 MCP tools, cron schedules, a Document Explorer and a long list of scalability fixes earned on real systems; Bobcat 1.0, the successor to Storyteller and our answer for spec-driven development; AI Skills 1.17; and the first public preview of Stoat.
27th October 2026Critter Stack AI Skills 1.17: One Month of Releases, Checked Against the SourceAI Skills 1.17 is the result of a review of everything Wolverine, Marten, CritterWatch, Bobcat and Stoat shipped in the last month, checked against the product source rather than the changelogs. Thirty-six skill changes, seven of them correcting advice that had quietly gone wrong, and the CritterWatch 1.1 paired updates that were waiting in 1.16.
25th October 2026Dead Letter Management in CritterWatch 1.1Bulk replay that acts on exactly what it counted, edit-and-replay with a full audit trail, every operation followed to the end across every database, and an MCP server that lets an AI agent triage your dead letters, but asks before it deletes anything.
20th October 2026Succeeding with Test Automation using BobcatBobcat is the Critter Stack's new spec-driven integration testing framework, and we have already used it to make our own CI builds and local gating faster and more trustworthy. This is the test automation strategy behind it: fifteen recommendations, and where Bobcat does the job.
19th October 2026Rebuilding Projections Without DowntimeWolverine 6.51 adds a warm-up node role for blue/green deployments: spin up the new release's nodes with no messaging at all, let them rebuild the new versions of your Marten or Polecat projections off to the side, and only cut over once they've caught up. Here's how that fits together with Marten's versioned projections, Wolverine's capability-based agent assignment, and the new side-effect gate, and why a client with a very large system and a habit of revising projections needed all of it.
18th October 2026Serverless Wolverine, Outbox IncludedWolverine 6.51 adds DurabilityMode.ServerlessWithOutbox so you can write Wolverine handlers in Cloud Run, Lambda, or Azure Functions and still keep the transactional outbox, without any of the always-on background processes a normal Wolverine node depends on. Here's the problem that drove it, how the new mode works, the externally triggered durability pass that recovers anything that didn't get sent, how to receive messages by push, and why Wolverine 6's break from runtime compilation finally makes it a reasonable choice for serverless at all.
15th October 2026Wolverine's Agent Assignment at ScaleHow Wolverine's leadership election and agent assignment subsystem grew up: why it exists, what 512 databases and 18,000 agents taught us about reassignment swarms and hysteresis, how we test it now, and a preview of dedicated warm-up nodes for blue/green projection deployments.
14th October 2026Broadcasting to Every Node with WolverineMost messaging is about one node handling each message, but sometimes every node needs a copy. Here's how to do that with NATS in a Wolverine application, the new BroadcastToAllNodesAsync() in Wolverine 6.50 that works on any transport, how it fits with Wolverine's SignalR support, and what your options are with Rabbit MQ and the other brokers.
12th October 2026Critter Stack Week in Review: October 5th to 12thBobcat went from 0.31 to 0.50 and dropped its Gherkin lane for a projected-only model, WolverineFx.Bobcat shipped, and the whole Event Modeling to specs to scaffolding workflow got a tutorial ahead of tomorrow's live stream. Nineteen pull requests from fourteen people outside JasperFx, headlined by a NATS JetStream hardening pass and a 66 minute leader election brought down to seconds. Plus SQL Server ordered envelope ids, Marten's FetchForWriting consistency fixes, and the LINQ projection surface working under Native AOT.
7th October 2026Wolverine's End to End Multi-TenancyWolverine treats the tenant id as message metadata, and that one decision carries the tenant from HTTP detection, into the right Marten, Polecat, or EF Core session, onto every cascaded message, and into the only transactional inbox and outbox in .NET that lives in each tenant's own database. Here's how the whole chain works, and why it took years to get right.
6th October 2026Introducing Bobcat: Spec Driven Development and Better Integration Testing for the Critter StackBobcat is the new Critter Stack tool for Spec Driven Development and for making our own integration testing more reliable. It projects readable specifications out of the xUnit.net or TUnit tests you already have, brings back the table driven testing ideas from Storyteller, reports failures in a way an AI agent can actually use, and has a compiled Gherkin model for when Given/When/Then is the right fit.
5th October 2026Our Busiest Week Ever: The Critter Stack from September 28th to October 5thForty releases, 267 merged pull requests, and 38 of those from eleven people outside JasperFx. Native AOT went from aspirational to measured in CI across Marten, Wolverine, Polecat, and Fisher. Weasel picked up a Firebird provider and a pile of MySQL, Oracle, and SQLite fixes from the Quartz.NET maintainer. Wolverine's global partitioning got hardened by a user running it hard in a real cluster. And Polecat and Fisher kept pace with Marten the whole way.
1st October 2026Fisher: A Document Database for Anywhere SQLite is a Good ChoiceFisher gets talked about as the Critter Stack's event store on SQLite, but it's also a full document database that lives in a file inside your own process. If SQLite is the right storage for your application, Fisher is a much lower ceremony way to use it than EF Core: no mapping, no migration files, schema changes that just work through Weasel, and a first class Wolverine integration.
30th September 2026Event Sourcing on SQL Server with PolecatIf your shop runs on SQL Server and you've been eyeing Event Sourcing, Polecat is the most full featured event store you can get for SQL Server in .NET. It's built on the same shared infrastructure and a decade of production lessons from Marten, it has a first class Wolverine integration for CQRS, CritterWatch can monitor it, and JasperFx Software supports it. Here's the tour.
29th September 2026The F5 Experience, Even with Rabbit MQ, AWS SQS, or Azure Service BusA fresh git clone, docker compose up -d, and F5. That's the whole onboarding story for a Critter Stack application, and with Wolverine's AutoProvision() it stays that way when you add asynchronous messaging through Rabbit MQ, Amazon SQS, or Azure Service Bus. Here's how the stateful resource model, the resources command, and environment checks make that work.
28th September 2026Introducing the Bobcat Supervisor for Reliable .NET Integration SuitesBobcat.Supervisor splits a .NET integration test suite across worker processes, isolates each worker's database, retries failures in a fresh process without hiding them, and names the test that hung. It already runs Wolverine's CI and CritterWatch's test gate, and your test project doesn't need to reference Bobcat at all.
24th September 2026CritterWatch 1.1: Run the Console Inside Your Own ApplicationCritterWatch 1.1 adds embedded mode — mount the monitoring console inside the Wolverine application you already run, on the PostgreSQL you already have, with no second deployment and no message broker. Two calls, one database, and the console watches the app it lives in.
23rd September 2026Critter Stack AI Skills 1.14: Troubleshooting Guides, and Why the Skills Pay for ThemselvesAI Skills 1.14 ships eight troubleshooting skills that decode Critter Stack exceptions from the stack trace. It's also a good excuse to make the bigger case: skills that know Wolverine's idioms produce terser code, cheaper agent sessions, and an agent that can actually reason through concurrency, parallelism, and production diagnostics.
22nd September 2026Multi-Tenancy with EF Core is a Whole Lot Easier with WolverineEF Core query filters and dynamic connection strings are the raw ingredients for multi-tenancy. Wolverine turns them into a finished dish: conjoined tenancy with zero filter plumbing, database per tenant, tenants added at runtime, HTTP tenant detection that flows straight into DbContext construction, a transactional inbox/outbox per tenant database, tenant ids that ride along on every cascaded message, and 'it just works' schema migrations across every tenant database.
21st September 2026Every Lever Marten Gives You for Scaling a Big Event Sourcing SystemA tour of everything in Marten and Wolverine for scaling large event sourced systems: Quick Append, hot/cold event archiving, stream compacting, binary event serialization, read replicas, per-tenant partitioning, database per tenant and sharding, ancillary stores per module, projection lifecycles, strongly consistent async projections, partitioned projection data, and Wolverine-managed projection distribution.
20th September 2026Yes, You Can Have Ordered Messaging in a ClusterPlenty of .NET messaging tools tell you that ordered processing isn't possible once you scale out. Wolverine gives you a whole range of options, from exclusive single-node listeners to strictly ordered queues to cluster-wide global partitioning, with failover built in.
15th September 2026Wolverine's Production-Capable In-Memory QueuesWolverine's local queues give modular monoliths in-process messaging that's backed by the transactional inbox, durable against process crashes, fully instrumented with OpenTelemetry and metrics, and tunable for sequencing, partitioning, and circuit breaking. Here's why that makes them a much better fit than MediatR notifications.
9th September 2026Event Sourcing Quick Start with MartenLet's get up and running with event sourcing using Marten
3rd September 2026LLM Callouts in WolverineWolverineFx.AI adds LLM callouts to Wolverine — one-shot calls to a large language model modeled as ordinary messages, so they get the transactional outbox, retries, back pressure, budgets, and testability for free. The first thing JasperFx is building on it is AI Assisted Production Support in CritterWatch 1.1.
2nd September 2026Ask Your Codebase: AI Skills and the Critter Stack Command LineA recorded session pointing an AI agent at a Critter Stack codebase with nothing but the built-in CLI diagnostics and the JasperFx AI Skills — no console, no MCP server, no running fleet. Where is this message routed? What is actually durable? Why isn't the outbox working? And the new projection-run command stepping through a broken projection one event at a time.
1st September 2026Wolverine 6.32: Expanded AWS S3, Azure Blob Storage, and Redis SupportWolverine 6.32 teaches declarative persistence three new places to live — Amazon S3, Azure Blob Storage, and Redis — with conditional-write saga support in each, absorbs the S3 and Azure Blob claim check packages, and adds the explicit [FromMarten] and [FromEfCore] entity attributes for when you want the store named in the code.
31st August 2026Interrogating Your Running System with CritterWatch's MCP ServerA real, recorded session of an AI agent triaging a Wolverine system through CritterWatch's MCP server — summarizing and replaying dead letters, explaining a message's full journey from its OpenTelemetry spans, chasing down a poisoned projection with the projection stepper, and interrogating the alert subsystem. Plus how the JasperFx AI Skills teach the agent to do all of this well.
30th August 2026Clone, docker compose up, Go: Friction-Free EF Core Integration Testing with Weasel and WolverineWeasel manages the schema for every EF Core DbContext in your application the same way it has always managed Marten's -- and its FK-aware database cleaner plus IInitialData give you a fast, repeatable reset between tests. Clean clone to green test suite with no migration chain to run.
26th August 2026Alerts and the Timeline in CritterWatch 1.0CritterWatch 1.0 is watching your system for unusual conditions and trying to explain the cause and effect of anything that's going wrong.
25th August 2026NServiceBus to Wolverine using our AI SkillsThe mechanical half of an NServiceBus migration goes fine unaided. The part that goes wrong is the decision NServiceBus used to make for you -- how each endpoint listens. Here's the same question asked twice, once with the JasperFx AI Skills installed and once without.
24th August 2026Wolverine is the Undisputed Champion of Low Ceremony CodeNServiceBus and MassTransit have both shipped welcome improvements to their message handler ergonomics. Let's give credit where it's due, then walk through why Wolverine's approach to low ceremony code — no mandatory anything, inlined dependencies, pure function handlers, cascading messages, and readable generated code — is still in a class of its own.
20th August 2026CritterWatch 1.0: Stop Guessing What Your Critter Stack Is DoingCritterWatch 1.0 is here — a monitoring and production-management console purpose-built for Wolverine, Marten, Polecat, and Fisher. It renders the system you actually shipped from the running code, steps through projections event by event, lets you replay dead letters and rebuild projections without a redeploy, and hands your AI agent a real, RBAC-gated control surface.
18th August 2026Meet Fisher, and One Handler Across Three Databases: The Critter Stack Since August 2ndSixty-three releases in sixteen days across Marten, Wolverine, Polecat, Fisher, Weasel, and the shared JasperFx libraries. Fisher brings event sourcing and document storage to SQLite with no server at all, the shared contracts wave means the same Wolverine handler now runs on PostgreSQL, SQL Server, or SQLite without naming a store, and a projection loader bug that silently skipped events makes this an upgrade you should not sit on.
14th August 2026What a Critter Stack Workshop Actually Looks LikeWe've run Critter Stack workshops for several teams now, and no two have been the same. One went deep on asynchronous messaging, another on Wolverine's HTTP endpoint and message handler hybrids, a third on using Marten projections to build denormalized views for reporting screens. The material is built and ready — what it turns into depends on what your team actually needs.
11th August 2026Event Sourcing Without the Eventual Consistency Tax: Strong Consistency Options in Marten and PolecatMost event sourcing stacks make eventual consistency mandatory: events in one database, read models in another, and a subscription in between. Marten and Polecat keep events and read models in one database, which unlocks a dial no one else offers — projections snapshotted in the same transaction as the events, FetchLatest reads that are accurate even with async projections, wait-for-non-stale queries, and test automation that makes asynchronous projections actually testable.
5th August 2026Metadata All the Way Down: Correlation, Causation, and Headers Across Wolverine, Marten, and PolecatEvery serious event sourced system eventually needs to answer 'what caused this event, and who did it?' The Critter Stack establishes correlation, causation, saga, user, and tenant metadata on Wolverine message envelopes — seeded straight from OpenTelemetry activities — then relays all of it onto the events Marten and Polecat store, with storage you can dial from lean to rich.
4th August 2026One Application, Many Brokers: Wolverine's Multi-Transport and Broker-per-Tenant StoryReal systems rarely get to standardize on one message broker. Wolverine lets a single application speak Rabbit MQ, Azure Service Bus, Kafka, and MQTT at once — and takes it one step further with a broker-per-tenant model where the tenant id is inferred from the connection a message arrived on and carried all the way into the database transaction.
2nd August 2026A Week in the Critter Stack: Security, Preventing Data Loss, and Rolling PartitionsSeven days, twenty-two releases across Marten, Wolverine, Polecat, Weasel, and JasperFx: a PostgreSQL injection fix under sharded tenancy, two silent data-loss bugs in Wolverine, self-managing time-series partitions, and a big wave of production hardening for projection agent distribution.
28th July 2026Onboard a Tenant Without a Deployment: Runtime Multi-Tenancy in CritterWatchCritter Stack services can add, disable, and remove tenants at runtime — new databases and all. CritterWatch turns that capability into an operator console: a tenant lifecycle you can drive from a browser, and performance metrics broken down per tenant id.
17th July 2026Ordered Messaging Without the Locks: Wolverine's Global Partitioning and Re-SequencerStrict message ordering usually means single-threaded consumers, distributed locks, or a lot of hand-rolled bookkeeping. Wolverine's global partitioning and re-sequencer give you ordered processing across a cluster while still scaling out — no explicit locking required.
7th July 2026How the Critter Stack Got to AOT ComplianceThree years after "it's going to take a long time", every JasperFx library publishes AOT and trim clean. How a stack built on runtime code generation got there without giving up its performance story.
16th June 2026Introducing CritterWatch: Someone to Keep an Eye on the CrittersCritterWatch 1.0.0-alpha.1 is loose on NuGet — a monitoring and production-management console for Wolverine, Marten, and Polecat that doubles as dev-time insight and an MCP control surface for your AI agents.
8th June 2026Result Pattern or Exceptions for Errors? Wolverine Lets You Say "Neither"The .NET community keeps relitigating Result types vs. exceptions for error handling. With Wolverine you mostly get to opt out of that whole debate — let the framework handle the 404s, the 400s, and the OpenAPI metadata while your code stays clean of both Result wrappers and exception-as-control-flow.
4th June 2026The Codebase Is the Prompt: Wolverine, Vertical Slices, and AI-Assisted DevelopmentWhy the Critter Stack and Wolverine are the best foundation for vertical slice architecture in the age of AI coding agents — aggressive code compression, locality of reference, and conventions encoded in AI skill files.
3rd June 2026Wolverine Hit Five Million DownloadsWolverine, the low-ceremony .NET application framework for asynchronous messaging, HTTP endpoints, and CQRS, just passed five million NuGet downloads — with a million in the last six weeks alone.
24th May 2026Marten 9.0, Polecat 4.0, and Wolverine 6.0 are Live!The Critter Stack 2026 releases have landed: faster cold starts, AOT compliance, better Serverless support, and new greenfield defaults across Marten, Polecat, and Wolverine.
20th May 2026Introducing the Critter Stack AI SkillsJasperFx Software's officially curated AI Skills for the Critter Stack are now available for purchase — continuously improved guidance that helps AI coding agents write idiomatic Marten, Polecat, and Wolverine code.
22nd April 2026Like Vertical Slice Architecture? Meet Wolverine.HTTP!Wolverine.HTTP is a first-class HTTP framework for ASP.NET Core built for vertical slice architecture — low ceremony, no Mediator library, built-in transactional outbox, and middleware more powerful than IEndpointFilter.
21st April 2026EF Core is Better with WolverineWolverine has a strong development and production-time story for EF Core developers — transactional middleware, automatic outbox/inbox, runtime database migrations, test data resets, and declarative persistence.
2nd April 2025A Quick Note about Our Plans for Marten and WolverineAs competing .NET tools move to paid licenses, Marten and Wolverine stay MIT licensed under JasperFx's open core model, with services, support plans, and CritterWatch funding the work.
27th February 2025Vertical Slice ArchitectureJeremy joins the .NET Rocks crew to talk through Vertical Slice Architecture and how Wolverine supports it.
15th November 2023Official Support Plans for Marten and WolverineJasperFx Software now offers formal paid support for Marten, Wolverine, and the rest of the Critter Stack, so teams can adopt the tools for mission critical systems with a company behind them.
15th November 2023The Critter Stack at .NET 2023Jeremy's .NET 2023 talk on CQRS with Event Sourcing using Marten and Wolverine: lower code ceremony, a great local developer story, testable domain logic, and built-in diagnostics.