I was just able to push the official Marten 2.0 nuget — and update the documentation after the Github outage today settled down;) The “2.0” moniker reflects the fact that there are some breaking API changes, but it’s doubtful that a typical user would even see them. A few operations moved off of IDocumentStore.Advanced and the Linq extensibility interface changed somewhat.
I’m going to be lazy and leave blog posts with actual content for later this week, but the highlights are:
- Better performance and less memory usage — I’ll blog about what we did tomorrow
- Much more flexibility in the event store and hopefully improved usability
- Explicit insert and update document operations as opposed to the default “upsert” functionality
- Multi-tenancy support within a single database
- Persist and query documents serialized with camel casing (or snake casing) — a big request from several users who wanted to be able to stream the raw document json in Http services
- The ability to run Marten with PLV8 disabled in environments where that extension is not (yet) available *cough* Azure *cough*
It’s not the slightest bit interesting to end users, but there was a massive change to the Marten internals for checking, updating, and creating schema objects in the underlying Postgresql database. That change has made it much easier to introduce changes of all kinds into Marten, and should allow for an easy extensibility model later.
Thank you to…
I’m going to miss someone here, but the long list of folks who deserve some thanks for this release:
- A special thanks to Joona-Pekka for tackling documentation updates and some uglier fixes in this release
- James Hopper
- Szymon Kulec for his help in the performance updates
- Jarrod Alexander
- Babu Annamalai for getting us running on AppVeyor, TravisCI, and up on the VS2017 project system
- Eric Green, Daniel Wertheim, Wastaz, Marc Piechura, and Jeff Doolittle for their input to the event store functionality in this release
- Bibodha Neupane (my colleague who’s been dogfooding the multi-tenancy support on one of our projects)
- James Farrer
- Michał Gajek
- Eric J. Smith
- Drew Peterson
and other folks that I surely missed.
Marten has probably been the best OSS project I’ve ever been a part of in terms of community input and involvement and I’m looking forward to seeing where it goes next.
Marten 2.1 will actually drop pretty soon with some in flight functionality that wasn’t quite ready today. And since nothing in this world attracts user bugs like a major version release, assume that a bug fix release is shortly forthcoming;)