Difference of nightly and bleeding edge distribution

Why is the nightly “official” build distributed in a zip file while the bleeding edge build is distributed as a setup?

Due to this i just almost lost all my savegames because the setup for the bleeding edge build deleted everything in the citra folder, including my backup user folder archive before installation.
I was able to recover my savegames with software and all but one of them are working fine, my One Piece Romance Dawn savegame is broken (Log window shows “HW.Memory core\memory.ccp:Read186: unmapped Read8 @0x176A” and moving upwards in the offset).
Every other recovered savegame is working normaly with no obvious corruption, the romance dawn savegame was marked as in excellent condition like the other saves were when recovering.
Its kinda shitty that i will have to replay romance dawn to get to the same point but at least my other savegames i got back.

So my question, as stated as the first line of the post, why are the two branches distributed in this way?
Id assume the official build to have an installer rather than being a zip file or is that just me?

I won’t comment on the savegame situation as I don’t know how exactly that mechanic works. Sorry if you lost any valuable progress though.

The reasoning behind how we distribute the 2 current versions of Citra is simple:

  • Nightly builds are mostly for archival reasons. They represent the current state of development. They are considered stable from a developers standpoint (meaning a stable base to continue work on) but less complete / unstable from a user standpoint. So if something new fails we can always check back if this was due to changes we added recently or if the base version was already broken. They are called Nightly builds because we produce them after every change, so roughly daily.

  • Bleeding edge builds are unstable (hence the name). We (developers) don’t really care if they work or not and they’ll be automaticly generated by picking the latest nightly build and adding a lot of planned changes (which may or may not work). From a user perspective you want this version because it’s always a couple of weeks ahead of the Nightly builds. Some (rare & ugly) changes will never end up in Nightly but we include them in Bleeding Edge as they fix a ton of games but would sacrifice stability in the long run (which is not acceptable for Nightly / our development version).

So due to the archive nature of nightly builds we just have a list of zip files we can grab at any time.
For bleeding edge you usually want the latest version to play your games. This is why we provide the auto-updater. If users use the latest bleeding-edge version it also serves as testing for proposed changes and helps developers to find problems before including features in nightly / development version.

However, you can still use bleeding-edge without the updater by extracting the nupkg as if it was a zip file.

Once we consider Citra to be stable there’ll be an actual stable release (a Version 1.0 if you will). That will probably be shipped with a setup and without auto-updater as we don’t expect to release stable releases often. Stable releases are also meant for inclusion in operating system distributions such as Ubuntu which will not include any unstable builds (like nightly or bleeding edge). These stable versions would go through rigorous testing before being released (say 2-4 weeks of testing by developers and users). Something which does and can not happen for the fast release cycles of nightly or bleeding-edge.

1 Like