V3.0.0
Finally!
Wolverine 3.0 is finally here! See the migration guide for the things to watch out for
when upgrading to 3.0 -- don't worry, we don't think the update from 2.* is going to be that bad.
The really big changes are:
- Supporting
ServiceProvider
in addition to Lamar as the IoC container for Wolverine applications - Ability to bootstrap Wolverine through
HostApplicationBuilder
or even just fromIServiceCollection.AddWolverine()
- The leader election inside of Wolverine and hence the effectiveness of its inbox/outbox message recovery is greatly improved over the 2.* model that had proven problematic for some folks
- Batched messaging
- "Sticky" message handlers where the same message can be handled independently by more than one handler in the same application
- Pulsar transport
- RavenDb persistence
See the entire list of issues closed in 3.0 here.
What's Changed
- Improved saga usage options for Wolverine 3.0. Closes GH-988 by @jeremydmiller in #1014
- Harden codegen by @jeremydmiller in #1015
- Upgrade rabbit mq client to latest RC by @jeremydmiller in #1016
- Codegen fix for 3.0 alpha by @jeremydmiller in #1018
- Batch message processing. Closes GH-936 by @jeremydmiller in #1027
- Change DocumentAttribute.Required default value to true (#1007) by @haefele in #1023
- Changed the behavior of InvokeAsync() such that the T is NOT sent … by @jeremydmiller in #1028
- New [AlwaysPublishResponse] attribute usage for selective, explicit b… by @jeremydmiller in #1029
- Automatic support for Marten's new async aggregation side effect mode… by @jeremydmiller in #1030
- Ability to mark a batch of envelopes as handled at a time by @jeremydmiller in #1031
- RavenDb integration "finishing touches" by @jeremydmiller in #1033
- Update Vitepress & Add 3.0 RabbitMq doco by @Hawxy in #1034
- Removing an assertion that doesn't really help that was breaking code… by @jeremydmiller in #1042
- Warning in Fluent Validation docs about double registering. Closes GH… by @jeremydmiller in #1043
- Upgrade of Rabbit MQ Client by @jeremydmiller in #1044
- Ensure convention-based exchange override considers the sender convention by @Hawxy in #1045
- Wolverine-managed event subscription / projection distribution by @jeremydmiller in #1047
- User defined message batching by @jeremydmiller in #1048
- Upgrade to Rabbit.NET v7 RC12 by @Hawxy in #1056
- Ability to use the Marten IHost.ResetAllMartenDataAsync(); with the… by @jeremydmiller in #1058
- Lightweight saga fixes across the board by @jeremydmiller in #1059
- Extra warnings about the saga identity tracking between messages. Clo… by @jeremydmiller in #1060
- All chain policies now apply to the special 'sticky' message handler … by @jeremydmiller in #1061
- Upgraded Weasel to get the polyfill for sp_MSdropconstraints. Closes … by @jeremydmiller in #1062
- Punchlist items for Wolverine 3.0 by @jeremydmiller in #1067
- Wolverine 3.0 Punchlist things by @jeremydmiller in #1068
- Documentation updates for Wolverine 3 by @jeremydmiller in #1077
- Convenience method for cascaded messages with tenant id. Closes GH-1071 by @jeremydmiller in #1078
- Can use ProblemDetails with message handlers as well. Can use message… by @jeremydmiller in #1079
- Ability to send cascading messages from "before" / "validate" middlew… by @jeremydmiller in #1081
- Azure Service Bus control queue option by @jeremydmiller in #1082
- Batch processing working with external transports. Closes GH-1076 by @jeremydmiller in #1084
- Fixed the ordering of message flushing and marten transactions to acc… by @jeremydmiller in #1085
- Random doc updates for 3.0. Closes GH-1074 by @jeremydmiller in #1088
- Minor Getting Started Doc Brush Up by @erikshafer in #1086
New Contributors
- @erikshafer made their first contribution in #1086
Full Changelog: V2.17.0...V3.0.0