Wolverine 1.0 is Out!

Wolverine 1.0 is Out!

As of today,?Wolverine?is officially at 1.0 and available on Nuget! As far as I am concerned, this absolutely means that Wolverine is ready for production usage, the public APIs should be considered to be stable, and the documentation is reasonably complete.

To answer the obvious question of “what is it?”, Wolverine is a set of libraries that can be used in .NET applications as an:

  1. In memory “mediator”
  2. In memory?command bus?that can be very helpful for asynchronous processing
  3. Asynchronous messaging backbone?for your application

And when combined with Marten to form the full fledged “critter stack,” I’m hoping that it grows to become the singular best platform for CQRS with Event Sourcing on any development platform.

Here’s the links:

Wolverine is significantly different (I think) from existing tools in the .NET space in that it delivers a developer experience that results in much less ceremony and friction — and I think that’s vital to enable teams to better iterate and adapt their code over time in ways you can’t efficiently do in higher ceremony tools.

There are neither beginnings nor endings to the Wheel of Time. But it was?a?beginning.”
Robert Jordan

Now, software projects (and their accompanying documentation websites) are never complete, only abandoned. There’ll be bugs, holes in the current functionality, and feature requests as users hit usages and permutations that haven’t yet been considered in Wolverine. In the case of Wolverine, I have every intention of sticking with Wolverine and its sibling?Marten?project as?Oskar,?Babu, and I try to build a services/product model company of some sort around the tools.

And Wolverine 1.0.1 will surely follow soon as folks inevitably find issues with the initial version. Software projects like Wolverine are far more satisfying if you can think of them as a marathon and a continuous process rather than a "project." In other words, time is circular rather than linear.

The long meandering path here

My superpower compared to many of my peers is that I have a much longer attention span than most. It means that I have from time to time been the living breathing avatar of the sunk cost fallacy, but it’s also meant that Wolverine got to see the light of day.

To rewind a bit:

  • FubuMVC that was an alternative OSS web development framework that started in earnest around 2009 with the idea of being low ceremony with a strong middleware approach
  • Around 2013 I helped build a minimal service bus tool called FubuTransportation that basically exposed the FubuMVC runtime approach to asynchronous messaging
  • About 2015 after FubuMVC had clearly failed and what became known as .NET Core made .NET a *lot* more attractive again, I wrote some “vision” documents about what a next generation FubuMVC would look like on .NET Core that tried to learn from fubu’s technical and performance shortcomings
  • In late 2015, I helped build the very first version of Marten for internal usage at my then employer
  • In 2016 I started working in earnest on that reboot of FubuMVC and called it “Jasper,” but focused mostly on the service bus aspect of it
  • Jasper was released as 1.0 during the very worst of the pandemic in 2020 and was more or less abandoned by me and everyone else
  • Marten started gaining a lot of steam and took a big step forward in the giant 4.0 release in late 2021
  • Jasper was restarted in 2022 partially as a way to extend Marten into a full blown CQRS platform (don’t worry, both Marten & Wolverine are plenty useful by themselves)
  • The rebooted Jasper was renamed Wolverine in late 2022 and announced in a?DotNetRocks episode?and a?JetBrains webinar
  • And finally a 1.0 in June 2023 after the reboot inevitably took longer than I’d hoped

A whole lot of gratitude and thanks

Wolverine has been ingesting a long time and descends from the earlier FubuMVC efforts, so there’s been a lot of folks who have contributed or helped guide the shape of Wolverine along the way. Here’s a very incomplete list:

  • Chad Myers and Josh Flanagan started FubuMVC way back when and some of the ideas about how to apply middleware and even some code has survived even until now
  • Josh Arnold was my partner with FubuMVC for a long time
  • Corey Kaylor was part of the core FubuMVC team, wrote FubuTransportation with me, and was part of getting Marten off the ground
  • Oskar and Babu have worked with me on the Marten team for years, and they took the brunt of Marten support and the recent 6.0 release while I was focused on Wolverine
  • Khalid Abuhakmeh has helped quite a bit with both Marten & Wolverine strategy over the years and contributed all of the graphics for the projects
  • My previous boss Denys Grozenok did a lot to test early Wolverine, encouraged the work, and contributed quite a few ideas around usability
  • Eric J. Smith made some significant suggestions that streamlined the API usability of Wolverine

And quite a few other folks who have contributed code fixes, extensions, or taken the time to write bug reproductions that go a long ways toward making a project like Wolverine better.

Robert Greyling

CEO at thinkBooker

1 年

Congrats Jeremy to you and your team. So glad to see parts of FubuMVC live on in these projects. Now that it's officially at 1.0, I can finally push to use it in production apps going forward instead of just internal tinkering.

回复

Incredible job, Jeremy Miller. You deserve to see this take off and I truly hope that it does. Your way of seeing code definitely shaped my career. It was an honor to partner with you, my friend. Maybe our paths will cross again some day ;)

回复
Corey Kaylor

Chief Technology Officer at TRANZACT

1 年

Thanks for the shoutout Jeremy. It was always fun to bounce ideas off you and see those ideas turn into something much greater than we both anticipated.

Travis Higley

Software Developer

1 年

The Message Scheduling feature looks very interesting.

回复
Ian Battersby

Director, Cloud Infrastructure @ GSK | Principal Software Engineer

1 年

This is amazing. Sincere congratulations and best wishes for the new venture old chap ??

要查看或添加评论,请登录

Jeremy Miller的更多文章

社区洞察

其他会员也浏览了