Let's talk 0.7.0.0

(this is posted in Team internal and there is a reason for this. Please keep any details of this post non-public, you’ll see why that makes sense later.)

Sorry, this is going to be long.

Friends, it’s that time of the year again where I suddenly realize I am kinda managing this project and figured out we should push a release soon. It will not be the most amazing major release ever, but it still has some nice contents to it, including:

  • Mentions in comments will be a thing.
  • Stream rendering for people who ignored a profile with a lot of tagged posts will be improved.
  • It will be the first release that ships Federation v0.2.0, which is amazing enough that it got its own blog post.
  • We now have a markdown editor on comments and conversations as well, making the process of using markdown there a lot easier.
  • And, last but not least, we will ship first steps for the account migration feature!

Now, if you watched carefully, you’d realize that the last two points are not ready yet, and here comes where the kinda adventurous part comes in.

So, you remember last year, I hope. Some of the core devs (well, all of them), were meeting up at a camping event and the timing was great, so we decided to live stream the release there. So. This year, it’s, uhm, different. We did plan the camping event as well, and it will still happen, but because of issues with finding a place, the timing is off by a week in relation to our diaspora birthday.

The thing is… the camping will not be one week after our birthday. It will be one week ahead. We’re meeting up from 18th to 20th this month. Sadly, we will miss @jhass this year, but @supertux88, @svbergerem and me still will be there.

Last year, our little release stream attracted a lot of attention (even from people who usually do not care), and we had a lot of fun. So, me being naive, thought, it would be great to do the same this year.

Now, let’s talk about the issues with this idea. If you do the math, that would be 12 days to the release if we release on Saturday. That is… uh… not much time. If you followed GitHub, I unassigned some issues from the 0.7.0.0 milestone. Effectively leaving only Senyas pull requests that really block a possible release. Everything else, we can easily ship in the first minor after that.

Before suggesting this idea to the broader community here, I did some preparation. Here are some thoughts.

  • I pinged @comradesenya last week and asked him about his opinion on this timeframe. The short answer is: he is happy to try to finish the work, but it obviously depends on a lot of factors. There is an agreement of interest, but no guarantee. That very cool, and fine.
  • @supertux88 is a bit skeptical about the short window, but not opposed.
  • Inspired by rambling around at night with @supertux88, I figured he is mainly concerned about not having enough time to run long freezing periods. However, I am somewhat relaxed on that, since we have large pods (Nerdpol, diaspora-fr, Geraspora) running on the develop sources, so I am confident we are at least not destroying everything.

So, here is my suggestion for a plan.

  • Let’s go ahead and target the 19th of August as the release day for 0.7.0.0, but let’s not make this public.
  • Let’s all help @comradesenya finishing his work by any means we can. No matter if it’s review help, answering questions, whatever. Let’s try to make this happen.
  • If you feel like it and you do know your way around the frontend, look at #7250, but let’s not make this blocking, we can fix that in a follow up minor release.
  • Let’s prepare our usual major release publicity, including a blog post that highlights the contents. Include everything I mentioned above (including the unfinished PRs from Senya), since we will not release without them.

I will decide no later than Wednesday, 16th, if we mange to hit that Saturday or not. I will make that call, since I’ll be the one preparing the live stream thingy, so it feels appropriate. However, obviously, I will not decide against the group. This is also the time where, if so, I will announce the stream publicly.

Case 1: We cannot make the date

Nothing happens, really. We will simply go ahead and release whenever we are done. We will have the announcement and other stuff prepared, so we did not really lose anything here.

Case 2: We can make the date

Cool. I’ll take responsibility for hosting a live streaming event on Saturday evening (a time that should fit for everyone across the world, except for our non-existent Asian community). if we can manage the date, I’ll actually spend some time preparing this, since merely showing how we type git commands into the console is not that cool. So, my plan is to…

  • Talk a bit about the general project history for people joining the first time
  • Talk about what happened since we released 0.6.0.0, picking highlights from all that year
  • Talk about some highs and some lows in the development, how opensource development is going, …
  • Give an insight about our team, who is working on what, why everyone is working in diaspora, …
    • I want to have something about every team member, including our community team. i will ask everyone individual to provide the information they want to have public.
    • If you want, you will have the opportunity to join a mumble server, introducing yourself and talking a bit about your motivations!
  • Talk a bit about what may happen in the future, what large tasks we are working on, …
  • (actually release 0.7.0.0)

So, ideally, we end up having an hour or so of stream, with a lot of fun and a lot of information in it.

Looking forward to feedback. What do you think about the timeline? What is your opinion on the release? What do you think about my streaming event proposal? Anything else you want to share?

4 Likes

And an immediate addition: I added @supertux88’ Rails 5 PR to the list of blockers. That’s nothing we should push in a minor. Also, to have a better feeling about the release, I will make the decision in the night from Monday 14th to Tuesday. If all code is in a releasable state by then, we will freeze. If not, we will not release on that weekend.


Also, if we end up not making the release, I might think about still having that stream. Just for fun’s sake, and the informative value should be still high. Looking for feedback on that idea.

1 Like

That’s exactly what came to my mind. I also think that the stream would look better if you guys are together, but if we can’t make the date, we can still do the stream on the 27th (or when it’s ready). And I don’t know if you live far away from each other, but maybe you can meet again only for that stream when the release is ready?

Definitely not happening because of conflicts with work stuff. Either we stream on the camp, or we have something where only one of us will be visible. :frowning:

Well, it would still be better that no stream at all in my opinion.

Or we have a stream on that camp anyway, but not tied to the release, more like a “look what we have been doing, and we’re going to release soon” kinda thing. :slight_smile:

2 Likes

The others could join via mumble then. But we can discuss that when we end up not making the release at the 19th.

So let’s focus on the release now, so we don’t need a backup plan :wink: Since I’m probably busy with rails 5 and senyas PRs, can you @flaburgan and @goob work on a release announcement? We can still finish that while freeze-time, but since we normally need some time for announcements it’s probably good to start early :wink:

That’s actually a good idea, and could be a nice teaser for the release.

can you @flaburgan and @goob work on a release announcement?

Yep I was going to offer my help on that. Also, I’ll write a message on diaspora* asking for help for art stuff, because we definitely miss that resources in intern…

1 Like

As an option, we could freeze it on stream instead of making the release, so that we have at least a week more for testing.

https://github.com/diaspora/diaspora/pull/6726 is almost finished, just needs a final review.

So it’s a a week left for finishing the account migration backend PR. I think that this is doable. However, it feels like this is the most important PR in the whole account migration feature. So I think we’ll need excessive testing. With this PR 0.7.0.0 will be the first release to support migration on the federation level. I think that we could also note, that since the feature is fresh, it is recomended to wait for some time (maybe the release 0.7.1.0 then) before trying to actually try running some migration (for these people who are skilled enough to do that without front-end support, by issuing an AccountMigration message).

Also we’ll need to make a release of diaspora_federation since migration PRs will require some changes. But that could be postponed to the moment when the second PR is at the final review round point (because we can find some issues with diaspora_federation during the process).

Also, it is possible that I’ll be fully occupied with finishing the PR for migration, so I couldn’t help with anything else: reviews, testing, release preparation.

1 Like

I think that’s not a problem, I want this feature in 0.7.0.0 mainly so all pods with 0.7.0.0 or newer can understand that messages. I don’t expect anybody to use this feature from the start, because it would be only usable manually and I it’s not officially supported that way. So if there is a bug, we can fix that in 0.7.1.0 and then only pods with 0.7.1.0 or newer can understand that message correctly. It’s the same as the new federation protocol is only fully compatible with 0.6.3.0 or newer, because 0.6.0.0 contained a bug with forward-compatibility.

It would be cool to have #71 merged before releasing, so if anybody has the time to have a look at it, that would be cool (@denschub or @comradesenya). I’ll create a release then.

I’ll take look at it if I have some time after working on the migration PR.

1 Like

Thanks for starting this, Dennis; good planning ahead.

That would be my suggestion too: to stream a ‘live demo’ of how Diaspora will look after the release on the anniversary.

I’ll certainly do what I can, with the release announcement, etc. I’ll work with @flaburgan on this.

1 Like

One other issue related to the new release: is there anything which will need to be changed/updated in the tutorials, or elsewhere on the project site?

If so, let me know and I’ll try to take charge of this before the release date.

I guess to check in /help that everything is still up-to-date cannot hurt. I’ll see how much time I have and if I can do that.

Done :slight_smile: :slight_smile:

3 Likes

@comradesenya

So, I think #6726 is nearly ready to merge \o/ But I saw that #6750 needs to be rebased and partly rewritten, so that’s probably some more work. When you fixed the remarks in #6726 and still have time, I think you can start with rebasing #6750 on top of #6726, even when I didn’t have the time to do the final review. Because I think #6726 is ready after fixing the last few things, and if there needs to be something changed again, it won’t be something that breaks #6750 again, so I you can start working on that second PR without waiting for me to have time to approve the first PR :slight_smile:

I don’t know how much time you have for your third open PR #7482 if there needs to be something fixed there (@svbergerem told us, he’ll review that soon) , but I think we can find other people to finish that (@denschub or I) if needed. So you can focus on the migration PRs

I hope I can finish (and @denschub can review) rails 5 until the weekend, so we have some days before the freeze to test that and fix stuff if needed at the weekend.

Also:

If anybody of you wants to join the stream via mumble, it’s probably a good idea to check if everything works before the stream. So I had the idea we can test that at the weekend and maybe do a little online hackathon to finish the last things needed for the freeze (I wanted to freeze sunday evening or monday). So please tell me if you’re interested, so we can find a time :slight_smile:

I have already rebased and almost fully rewritten #6750 locally, I just didn’t push it in order to not creating mess in git (and the PR is in this state for months already). So I’ll push the new version just after you merge #6726.

2 Likes

Oh, that’s cool :thumbsup:

I’ve created a pad so that @flaburgan and I can write the new announcement. https://semestriel.framapad.org/p/diaspora-0700

I’ve started with the announcement of v0.6 last year, and have just started the process of updating it. So it’s very rough at the moment, with a lot of the text from last year still in place. But it’s there so anyone who wants can play with it.

Will go through the pulls in the 0.7.0.0 milestone and incorporate all the changes before asking you core guys for confirmation/comment.

2 Likes