New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

It's coming! (0.D coordination issue) (for real) #27843

Open
kevingranade opened this Issue Jan 24, 2019 · 42 comments

Comments

@kevingranade
Copy link
Member

kevingranade commented Jan 24, 2019

It's finally time for 0.D, for real this time.

What does this mean?

We're really for real making a real push toward really releasing the real 0.D.
The realease blockers are tracked in the realease project. Once these are addressed, we can proceed to realease.

What does this change?

We are effectively in Feature Freeze now.
I've established a release branch https://github.com/CleverRaven/Cataclysm-DDA/tree/0.D-branch
Bugfixes should be merged to the new 0.D-branch branch, and (typically) they should also be merged to the master branch.

  • Going forward, any feature PRs should be merged only to the master branch.
  • Once we enter Content Freeze, PRs that add new items/monsters/terrain/etc should not be merged to the 0.D-branch
  • Once we enter String Freeze, PRs should not be merged to 0.D-branch if they edit any strings, even if the strings are slightly wrong.
  • Feature Freeze
  • Content Freeze
  • String Freeze
  • Blockers cleared
  • Publish release candidate
  • Completed Changelog
  • Merged Translations
  • Pick Release Name

Can I help?

If you know about any game-breaking bugs that are not listed here, please leave a comment with a link to the issue.

@kevingranade kevingranade added this to the 0.D milestone Jan 24, 2019

@kevingranade kevingranade self-assigned this Jan 24, 2019

@kevingranade kevingranade added this to Need Confirmation in 0.D Release via automation Jan 24, 2019

@I-am-Erk

This comment has been minimized.

Copy link
Contributor

I-am-Erk commented Jan 24, 2019

Could we get a tag for PR's like "0.D freeze" so that if PRs are getting skipped due to the current state of the freeze, authors can see why? Otherwise I anticipate a bit of "why has nobody addressed my PR" going on in the next while.

Or am I misunderstanding what the freeze does?

@darktoes

This comment has been minimized.

Copy link
Contributor

darktoes commented Jan 24, 2019

I believe it just means that feature PR's will be added to the master branch but not the 0.D branch. So you can still PR features, but they won't be in 0.D.

So 0.C was Cooper, what's the D stand for?

@kevingranade

This comment has been minimized.

Copy link
Member Author

kevingranade commented Jan 24, 2019

Correct, last time around Freeze meant "everything stalls until it's done", this time it's just that non-bugfix PRs go to the master branch.

So 0.C was Cooper, what's the D stand for?

Oh right, I'll fix the checklist...

@kevingranade kevingranade moved this from Need Confirmation to Fix Proposed in 0.D Release Jan 25, 2019

@BrettDong

This comment has been minimized.

Copy link
Contributor

BrettDong commented Jan 25, 2019

Just curious, should contributors submit one bug fix PR to 0.D-branch, or submit two PRs one for 0.D-branch and another one for master branch?

@Firestorm01X2

This comment has been minimized.

Copy link
Contributor

Firestorm01X2 commented Jan 25, 2019

#27731

This worries me a bit. It is not gamebreaking, but it is noticable graphical bug. If it is affects alot of players - then it is problem.

It is black lines around tiles thingy. I've posted workaround.

@Firestorm01X2

This comment has been minimized.

Copy link
Contributor

Firestorm01X2 commented Jan 25, 2019

Additionally ingame help is outdated and contains misinformation.

And ingame tutorial should be checked. It may be broken now.

@kevingranade

This comment has been minimized.

Copy link
Member Author

kevingranade commented Jan 25, 2019

Just curious, should contributors submit one bug fix PR to 0.D-branch, or submit two PRs one for 0.D-branch and another one for master branch?

Seperate PRs would make things easier, but it's not necessary.

Additionally ingame help is outdated and contains misinformation.
And ingame tutorial should be checked. It may be broken now.

If you have something specific to report, open an issue. I'm not inclined to block the release based on out-of date help, so whatever gets fixed before release will have to do, and I'm not planning on touching the tutorial.

@a1studmuffin

This comment has been minimized.

Copy link
Contributor

a1studmuffin commented Jan 25, 2019

Woohoo! You may already be aware of it @kevingranade but I believe the Android build will need 28c87d1 merged from master into the 0.D branch to prevent a crash on startup.

@Firestorm01X2

This comment has been minimized.

Copy link
Contributor

Firestorm01X2 commented Jan 25, 2019

I'm not planning on touching the tutorial.

There is Tutorial issue:
#17984

And tutorial redisign issue:
#23395

#17984 (comment)

But I think the most important thing it to make the tutorial at least STABLE.

This indicated that tutorial in really bad shape now.

Maybe it is better to just disable tutorial for 0.D. Having bugged tutorial hurts presentation.

@Night-Pryanik

This comment has been minimized.

Copy link
Member

Night-Pryanik commented Jan 25, 2019

Pick Release Name

If I get it right, we name our releases after post-apocalyptic writers, right? As a possibility, we could name 0.D after Philip K. Dick.

@unmaskedguy676

This comment has been minimized.

Copy link

unmaskedguy676 commented Jan 25, 2019

I think relase must call: Cataclysm: Dark Days Are Gone

@Firestorm01X2

This comment has been minimized.

Copy link
Contributor

Firestorm01X2 commented Jan 25, 2019

If I get it right, we name our releases after post-apocalyptic writers, right? As a possibility, we could name 0.D after Philip K. Dick.

Cataclysm: DDA 0.D "Dick"? Perfect!

@nexusmrsep

This comment has been minimized.

Copy link
Contributor

nexusmrsep commented Jan 25, 2019

Could we get a tag for PR's like "0.D freeze"

I've added the label to the set.

@nexusmrsep nexusmrsep pinned this issue Jan 25, 2019

@kevingranade kevingranade moved this from Fix Proposed to Confirm Fix in 0.D Release Jan 25, 2019

@l29ah

This comment has been minimized.

Copy link
Contributor

l29ah commented Jan 26, 2019

I'm not sure if #26389 is considered game-breaking, but as for me the crafting mechanics is a big part of the game, and being unable to resume crafting annoys a lot and with zombie hordes enabled basically requires one to hide in a basement or at least a tough vehicle without windows for any serious crafting.

@Firestorm01X2

This comment has been minimized.

Copy link
Contributor

Firestorm01X2 commented Jan 26, 2019

I am seeing more reports on this from external source:

#27731

It will defenitely hurt game presentation.

@Inglonias

This comment has been minimized.

Copy link
Contributor

Inglonias commented Jan 26, 2019

#27731 can be worked around by setting the default renderer to something besides software mode, or at least you can set it to direct3D on windows. I don't know if that resolves the issue on OSX or Linux, though.

@I-am-Erk

This comment has been minimized.

Copy link
Contributor

I-am-Erk commented Jan 26, 2019

If that's the case then we should at least change the default rendering mode in 0.D, although a better bugfix would be approps

@Firestorm01X2

This comment has been minimized.

Copy link
Contributor

Firestorm01X2 commented Jan 26, 2019

There is no bugfix, but there is workaround that worked for me year ago. Game just should be built using older version of MXE.

@Firestorm01X2

This comment has been minimized.

Copy link
Contributor

Firestorm01X2 commented Jan 27, 2019

#27731 can be worked around by setting the default renderer to something besides software mode, or at least you can set it to direct3D on windows. I don't know if that resolves the issue on OSX or Linux, though.

#27915

@hyper2snyper

This comment has been minimized.

Copy link
Contributor

hyper2snyper commented Jan 28, 2019

0.D Decklin

@Epictyphlosion

This comment has been minimized.

Copy link
Contributor

Epictyphlosion commented Jan 29, 2019

This is really great news! However, this does mean that I'll have to expedite my restyling of the vehicle code, as I want some of the last few 0.C experimental releases to have the new style of code

If anyone tries to beat me to it, I swear to God...

@RobertoVGoulart

This comment has been minimized.

Copy link
Contributor

RobertoVGoulart commented Jan 31, 2019

0.D Decklin

We all know it's going to be Dick...

@Leland

This comment has been minimized.

Copy link
Contributor

Leland commented Jan 31, 2019

Awesome. I have a couple things I'll try to get finished for this.

@hyper2snyper

This comment has been minimized.

Copy link
Contributor

hyper2snyper commented Feb 1, 2019

0.D Decklin

We all know it's going to be Dick...

That is true, i feel ashamed for suggesting anything else.

@DoomAngelBlade

This comment has been minimized.

Copy link

DoomAngelBlade commented Feb 1, 2019

@Epictyphlosion

This comment has been minimized.

Copy link
Contributor

Epictyphlosion commented Feb 1, 2019

Also, there's #4173

Free money for anyone that adds it

@Epictyphlosion

This comment has been minimized.

Copy link
Contributor

Epictyphlosion commented Feb 1, 2019

As well as #7534, #6821, #5684, and #3671

These ones are very good issues that are pretty old. I'd love to see some of them addressed if anyone can do so

@I-am-Erk

This comment has been minimized.

Copy link
Contributor

I-am-Erk commented Feb 2, 2019

The latter two of those four have solutions underway, although both are presently stalled out. Neither are trivial

@kevingranade

This comment has been minimized.

Copy link
Member Author

kevingranade commented Feb 3, 2019

@Epictyphlosion none of those are candidates for release blockers., they're all far too complicatedfor it to be safe to drop in a solution at this point in the release process.

@kevingranade

This comment has been minimized.

Copy link
Member Author

kevingranade commented Feb 3, 2019

I can see accepting a fix for #8979 if it was straightforward enough, but it's a bit involved to make into a release blocker.

@Epictyphlosion

This comment has been minimized.

Copy link
Contributor

Epictyphlosion commented Feb 5, 2019

As for naming, how does "0.D Darian" sound?

@Zombiemanpig

This comment has been minimized.

Copy link

Zombiemanpig commented Feb 6, 2019

Hey for name, I vote for 0.D Dick, in honor of Philip K. Dick, who wrote one of my favorite books:
Do Androids Dream of Electric Sheep?
Which was adapted as Bladerunner for the movie screens.

He is a revolutionary author of our time and should be honored.

@Epictyphlosion

This comment has been minimized.

Copy link
Contributor

Epictyphlosion commented Feb 6, 2019

Hey for name, I vote for 0.D Dick, in honor of Philip K. Dick, who wrote one of my favorite books:
Do Androids Dream of Electric Sheep?
Which was adapted as Bladerunner for the movie screens.

He is a revolutionary author of our time and should be honored.

Fair enough, lol

@Wuzzy2

This comment has been minimized.

Copy link
Contributor

Wuzzy2 commented Feb 16, 2019

YES!!! Finally! I'm so proud of you. Pat yourselves on the back, you earned it. I know you worked like absolute madmen on this project.

Again, for this version I will definitely want to work on the German translation. How many strings are missing in German at the moment?
Once the string freeze is in effect, how can/should I contribute without using Transifex? The proprietary (and sadly, mandatory) JavaScript used by the Transifex website concerns me (see also: https://www.gnu.org/philosophy/javascript-trap.html).

I like to request to give translators AT LEAST 2 weeks of time. I mean, after string freeze, there must be at least 2 weeks before the release. Otherwise it will almost certainly be impossible to finish all the translations in time, even if you work on them like a madman. Trust me, I speak from experience. :D
Also shout the string freeze over all known possible and activate all translators

Another thing, about the strings: Maybe should run something like aspell over all the user-facing strings (if that even works) to find all those spelling mistakes before entering string freeze, what do you think?


Final question, off topic (feel free to ignore): Why did you have made this release so gigantic? I believe it's been 2-3 years since 0.C. Will you aim for a faster release cycle in future or do we have to get used to the idea of “1 release every 3 years”? ;-) I want to stress that 2-3 years is extreme.
I'm also concerned for practical reasons. Because you made this release so gigantic, you might have shot yourself in the foot because with increased features there is also more ways to screw up, and the pain to do a release increases as well. Maybe for the next time, set a hard time cap (e.g. 1 year without a release) after which a “soft” feature freeze applies automatically. It would stops major complicated features from being merged (minor ones might be fine, needs to be decided on case-to-case basis). It seems for this version you just added stuff and stuff and stuff and never stopped. It's not good when you sit on a huge mountain of unreleased features and that mountain just grows and grows and grows … It would be a miracle if you could sleep well at night, with all this burden on your shoulders …
Anyway, I'm so glad that you decided to do releases again! :D

@kevingranade

This comment has been minimized.

Copy link
Member Author

kevingranade commented Feb 16, 2019

I'm fine with string freeze + 2 weeks for translators, that's one of the main reasons to do a formal release after all.

We can probably import the .pot and the German translation file into Launchpad again if you like. Alternately if it's just you, you can translate the .po file with a text editor.

It looks like the German translation has ~30,000 untranslated strings, and ~60,000 more with proposed but unreviewed translations.

A contributor that goes by @Pupsi-Mupsi seems to be the most recently active translator.

I'll definitely take a look at doing a spellcheck before string freeze.

I plan on doing future releases more frequently, part of the delay was due to spending some time automating parts of the release process to avoid such a huge backlog in the future. I'm thinking more like several months than a year.

The dominant reason for the delay was the birth of my son. I tried and failed to complete a release before he was born, and then was totally overwhelmed with caring for him and working for many months. Once I was able to return to steady contribution, the project was a bit out of control and it took me until now to close in on releasing.

@Pupsi-Mupsi

This comment has been minimized.

Copy link
Contributor

Pupsi-Mupsi commented Feb 16, 2019

How many strings are missing in German at the moment?

Real life got in the way (sickness and work...).
1067 strings are untranslated.
I could help if needed.

grafik

grafik


@Wuzzy2

This comment has been minimized.

Copy link
Contributor

Wuzzy2 commented Feb 16, 2019

We can probably import the .pot and the German translation file into Launchpad again if you like.

No, definitely not Launchpad again. XD The server was just too damn slow, sorry. I initially supported from moving away from Launchpad (actually, I still do) but back then I wasn't as much concerned about Transifex. This has changed now.
I had very good experience with hosted.weblate.org and it does not have problems with proprietary code (Weblate is 100% free software). It's a good replacement. I don't know if Weblate even existed back then.

Anyway, switching the translation platform will not be a minor task and probably needs support from more people. This should probably be discussed in a different issue. Probably it's too late to switch at this stage now, right before release, it might make things too messy for you and others.

Alternately if it's just you, you can translate the .po file with a text editor.

Well, that was my first thought, too, but this seems a bit dangerous as I might clash with other translators who might work on the same strings simultanously. Or that an automated update screws me over and destroys my work (or messes with it). The problem is not really how I actually translate, but how to avoid conflicts. Should I just send you daily patches or something like that, to minimize the risk of collisions?

On the other hand, we're “only” talking about 1067 strings here. That doesn't sound too bad. :-)

The dominant reason for the delay was the birth of my son.

Ohhhhhhhh! That explains a LOT. No further questions, your honour.

@kevingranade

This comment has been minimized.

Copy link
Member Author

kevingranade commented Feb 17, 2019

We are down to FOUR release blockers, I'm escalating to content freeze, translators start your engines (if they aren't already).
I'm probably going to move to string freeze as soon as #28232 is merged.

@kevingranade

This comment has been minimized.

Copy link
Member Author

kevingranade commented Feb 18, 2019

Two release blockers remain, one has a candidate fix, and the other is in progress and needs testing before finalization.
We are proceeding to string freeze, bug fixes that do not touch translatable strings can still make it in, but that's it.

@Throwaway-name

This comment has been minimized.

Copy link

Throwaway-name commented Feb 19, 2019

@Wuzzy2

This comment has been minimized.

Copy link
Contributor

Wuzzy2 commented Feb 19, 2019

@Epictyphlosion

This comment has been minimized.

Copy link
Contributor

Epictyphlosion commented Feb 21, 2019

Damn, I'm too late to commit the newly styled vehicle JSONs. This is what I get for being lazy, lol

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment