diaspora* version released!

16 June 2024

We generally don't give nicknames to our releases, but if we did, this would be called "The Confusing Release". We know that some of you were expecting us to release Version 0.8, while others were eagerly awaiting Version 1.0 - and you've got neither! And there wasn't even a Release Candidate or any other announcement! Please allow us to explain ourselves.

As some of you know, we always work on two versions at the same time. One, that we call a "minor version", is the kind you see us releasing quite frequently. Minor versions include security updates, bugfixes, and some smaller feature additions. We design those versions in a way that allows pod administrators to install them as fast as possible, without manual changes or long downtimes. On the other hand, there are "major versions", that are... well, major. These contain big features, large breaking changes, stuff like that. We keep these seperate as we want to make the lives of our podmins as easy as possible, and major upgrades always require manual interventions or longer downtimes, so we want to keep them as rare as we can.

Our last major release, diaspora* 0.7, was released almost seven years ago - in August 2017. That is quite a long time! And ever since, we have kept working on two versions in parallel: the next "minor", and the next "major". This development model is quite common in big projects, and it's fine, until it's not.

Since the release of 0.7, the difference between the latest minor version and the work-in-progress major versions has become enormous: more than 20,000 lines of code added, and over 6,000 lines removed. For reference, that means that almost 15% of our entire codebase has changed. This huge divergence means that releasing new minor versions has become more and more complicated, as we always have to apply any changes to both work-in-progress versions, and it has reached a level where it's causing us lots of pain and making it harder to release any updates.

Additionally, our community of developers has built quite a few amazing new features for "the next big version". Some of you on pods that run the "development" code already get to use them, but a very large chunk of our userbase does not. That's a shame, because some of the things we have already built are a big deal!

At the same time, we have really ambitious plans for Version 1.0, and as much as we'd love to get it out there, we simply aren't done yet.

This is why we're now release a intermediate major release. We're calling it Version 0.9 because, while it's more than simply the next major version upgrade, it isn't quite Version 1.0 yet. Even so, there's still a really good list of stuff in this version, and we're really excited to get it out to you. And now, enough waffling, let's get to the details.

The Release

Since the last major release, Version, a total of 50 contributors have commited 1,833 commits. This includes 858 from 20 contributors that have never been included in any release up until now! A few highlights:

  • diaspora* now has an API! If that term means nothing to you: it allows software developers to build applications on top of diaspora* in an easy and reliable way. You want to build a fully-fledged mobile phone app? API. A script that automatically posts your comics to your diaspora* profile? API. You want to display your diaspora* posts on your website? API. You want to build a text-only user interface for your command line? API. If this sounds interesting to you, check out our API documentation, and let us know if you build something cool!
  • Having an API also means that everyone can use Insporation, a mobile app available for Android and iOS. It's still under development, but if you want, give it a try by following the instructions here, you might like it!
  • Likes on comments have returned!
  • Have you ever taken a profile picture that was slightly off? From now on, you can crop your profile picture before you upload it.
  • Are you tired of the "file is too big" erorr when trying to post a large photo? Well, so are we. We now automatically resize your image uploads in case they're too big for us, so you don't have to take care of that.
  • Speaking about image uploads ... you can now copy-paste images into the diaspora* editor! And the progress bar when uploading multiple photos is no longer broken.
  • The mobile version has got a few improvements as well. For example, you can now select multiple aspects! Exciting, we know. :)
  • Bugfixes! Quite a few of them! Too many of them to list here, and let's be honest, listing bug fixes is quite boring anyway.

The full ChangeLog is available here For podmins, there are quite a few breaking changes. Please make sure to read the upgrade instructions in our wiki, and plan in some time for long database migrations to run!

Thank YOU!

While diaspora* is moving slower than projects with full-time, paid engineering teams, we are incredibly proud of our community and our work. A huge thank you goes out to all the people contributing to this project, entirely in their spare time.

It doesn't matter if you're writing code, helping with documentation or translations, or if you're just using diaspora* to post cute cat photos. We love all of you, and we're happy you're with us. <3