lgblgblgb / xemu

Emulations (running on Linux/Unix/Windows/macOS, utilizing SDL2) of some - mainly - 8 bit machines, including the Commodore LCD, Commodore 65, and the MEGA65 as well.
https://github.com/lgblgblgb/xemu/wiki
GNU General Public License v2.0
201 stars 31 forks source link

Adopt a versioning scheme #113

Closed hernandp closed 4 years ago

hernandp commented 4 years ago

When looking at the Windows installer and the FreeBSD port (which requires an explicit port version defined) I thought that we could need in the near future, specially when we begin to improve emulation features, a versioning system to differentiate releases.

I guess we are in major version zero (0). The xemu 1.0 release would be the one -I expect- with high Mega65 compatibility.

We can stamp current dev version (or use master for releases) as 0.1.

Of course version information should be added in case to the main code, and if possible to binaries/installers, such as the VERSIONINFO resource in case of Windows executables.

This is just a start for discussion.

lgblgblgb commented 4 years ago

Well I always hate versions numbers to be honest ... Actually I like what some software does: let's say the date string is the version number. No more problem, simple enough :D Surely not the same, but something similar what Ubuntu does, eg 19.04 version means 2019.04. Surely with Xemu I would stick with full timestamp ;) Having a version number is hard, since I will always forget to modify somewhere, so some window title, help screen, build system etc etc there can be literally dozens of places these should be modified at the same time :( That's nice to have date :D You don't need anything to modify, keep track etc. Like your examples, now every files should be patched all the time for the current version number :( NSI builder, DMG builder etc etc, all have different syntax and files to do this. But indeed, I can't deny, that this approach of mine is maybe not so nice at the other hand. Hmmmmmmmmmmmmmmmmmmmmmmmmmmmm ...

hernandp commented 4 years ago

No problem, I also use dates/timestamp/ commit or some scheme like that as version number.

lgblgblgb commented 4 years ago

I don't know honestly ... I cannot decide what would be the best. Another problem, that Xemu is a collection of emulators. How would you call let's say 1.0 when one emulator inside is good enough the other is lame. I am really interested how these things can be managed, it's not that I'm fully against the idea but surely it's not an easy task to decide ...

Surely, many people currently watching Xemu for MEGA65 emulation, but that does not define Xemu for real, even if it looks like the case for many people :)

lgblgblgb commented 4 years ago

So I am open for suggestions. Probably if we want some version really it should be an integer only always increasing by one. Because of the things above it's really hard to define usual things like 1.0 is stable, etc ... Because for WHICH emulator inside Xemu ... Etc. But if it's an integer, well, a YEAR-MONTH-DAY-etc written together with no space ... it's also an integer :) Though the incrementation is not exactly by one usually ;)

lgblgblgb commented 4 years ago

I close this, since there is version number for Xemu, which is a date ;) It can be checked in UI popup -> About.