
The Critter Stack had a big day today with releases for both Marten and Wolverine.
First up, we have Marten 8.22 that included:
- Lots of bug fixes, including several old LINQ related bugs and issues related to full text search that finally got addressed
- Some improvements for the newer Composite Projections feature as users start to use it in real project work. Hat tip to Anne Erdtsieck on this one (and a JasperFx client needing an addition to it as well)
- Some optimizations, including a potentially big one as Marten can now use a source generator to build some of the projection code that before depended on not perfectly efficient
Expressioncompilation. This will impact “self aggregating” snapshot projections that use theApply/Create/ShouldDeleteconventions
Next, a giant Wolverine 5.16 release that brings:
- Many, many bug fixes
- Several small feature requests for our HTTP support
- Improved resiliency for Kafka especially but also for any usage of external message brokers with Wolverine. See Sending Error Handling. Plus better error handling for durable listener endpoints when the transactional inbox database is unavailable
- Wait, what? Wolverine has experimental support for CosmosDb as a transactional inbox/outbox and all of Wolverine’s declarative persistence helpers?
- The ability to mark some message handlers or HTTP endpoints as opting out of automatic transactional middleware (for a JasperFx client). See this, but it applies to all persistence options.
- Modular monolith usage improvements for a pair of JasperFx clients who are helping us stretch Wolverine to yet more use cases.
- More to come on this, but we’ve recently slipped in Sqlite and Oracle support for Wolverine