CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.33k stars 4.15k forks source link

Stable Release (0.H) candidate: your guide to the upcoming stable version #70661

Open I-am-Erk opened 9 months ago

I-am-Erk commented 9 months ago

Announcing H-stable release candidate

We're going to be doing our release cycle differently this time, after numerous complaints and some attrition from contributors over the frustration of the feature freeze process. For 0.H Stable, we are going to try out a release candidate branch process, as is more commonly done in the IT industry (or so I've heard anyway, I really have no idea!)

The candidate branch for 0.H is the aptly named 0.H-branch. This is forked from experimental as of 04 January 2024. This is not the stable release, yet! We still have to merge fixes to the release blockers, collect reports and fixes on other breaking bugs, and all the usual smoothing out steps.

No freezes

There will be no feature/content/string freeze step for the experimental branch this time around. In some ways, it should remain Business As Usual in experimental, but I'd like to encourage mergers to slow down on merging major features and content to experimental while we figure this out, to keep backporting from being too much work. Contributors, likewise, might want to spend a little more time polishing and completing their major feature PRs rather than pushing them to merge right away. This is a recommendation, not a rule.

How to help

The Stable Backport process

PRs to be merged to the H-stable branch will be tagged with the 0.H Backport label. When these PRs are merged to experimental, they need either a same-time or follow-up PR to also merge them to stable. We're working on implementing a bot that should create these PRs automatically.

In the (probably unlikely) case that you have a fix that only applies to stable, you can of course just push changes to that branch instead of master.

What to backport

This is going to be a lot more stringent than our usual stable process, because we don't have to work on freezes.

  1. New features should not be backported unless expressly cleared by someone like me or Kevin. I can't think of anything off the top of my head that would justify this. We're done adding new features to stable.
  2. Changes to features should only be implemented if they fix a problem or severely incomplete portion of that feature.
  3. Bugfixes are cool. Most bugfixes are likely to be fine to backport.
  4. Optimizations and infrastructure improvements should only be backported if they make quite a significant difference to the game.
  5. New content is the fuzziest area. Standalone new content, even minor content, should not be backported. However, content that completes existing material, especially material newly added to stable, is cautiously allowed. This can be a very blurry area: for example, I could make an argument that adding details and content to oceans is completing a new stable feature - but I do not currently plan to backport that PR.
  6. Fixes/adjustments to existing content should be audited carefully. Anything that changes translation strings is going to delay stable release, so is better avoided (typo fixes etc are always fine). Balance changes, such as adjusting item weights or spawn chances etc, is more likely to be fine as long as it's well vetted.
  7. Routine translation and tileset updates should proceed as usual. Tilesets in particular should be backwards compatible, so we can backport everything. Translation management will require some input from those who know more than me about our workflow there.

Expected outcomes

I think it's likely that H-stable is going to come out a bit less polished than previous stables, but the flip side is that this may be a faster release process, and not having a freeze is going to help a lot with contributor retention. I have my fingers crossed.

If you have helpful knowledge about how we might streamline and improve this, feel free to comment.

Rabadash94 commented 9 months ago

I'm not sure if this is the right place, but... what is version 0.H going to be called?

I-am-Erk commented 9 months ago

That usually doesn't get announced until the final release is out :)

Inglonias commented 9 months ago

Is there going to be a place to download compiled binaries of the release? I can't imagine asking people to compile the branch themselves will lead to much testing.

I-am-Erk commented 9 months ago

Yes. It just hasn't been set up yet.

Rabadash94 commented 9 months ago

70056 will be complete at 0.H Stable?

I-am-Erk commented 9 months ago

No, definitely not. If we're lucky the first version will be in for 0.I

reinerh commented 7 months ago

Is there going to be a place to download compiled binaries of the release? I can't imagine asking people to compile the branch themselves will lead to much testing.

For Debian users the 0.H release candidate is now available in the experimental repo.

kevingranade commented 7 months ago

This issue has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there:

https://discourse.cataclysmdda.org/t/easiest-way-to-install-0-h-rc1-on-devuan/29164/1

realmanbroyder commented 6 months ago

How can I download the trial version?

Jan-Blasiak commented 5 months ago

I hope LIXA gets included.

Whoever done work on that thing should get a complementary hotel soap packet, shit's stellar!

Procyonae commented 4 months ago

Standalone new content isn't being backported so no, chichit1044 and DPavonis made it tho if you want somewhere to send that soap packet.

Procyonae commented 4 months ago

How can I download the trial version?

The latest builds are available here https://github.com/CleverRaven/Cataclysm-DDA/releases?q=0.H+release+candidate&expanded=true now, they might show up on launchers too

ER-95 commented 3 weeks ago

No blockers, so why no release yet?

NetSysFire commented 3 weeks ago
  1. There are still backport PRs remaining
  2. The changelog has to be written
  3. Credits must be updated for 0.H
  4. Probably also some last testing to catch bugs

Would you like to help? Nothing except point 1 needs technical knowledge, its just a chore.