webui-dev / webui

Use any web browser or WebView as GUI, with your preferred language in the backend and modern web technologies in the frontend, all in a lightweight portable library.
https://webui.me
MIT License
2.95k stars 171 forks source link

Use semver compliant version specification #394

Closed ttytm closed 3 months ago

ttytm commented 3 months ago

Hoping this PR is not too pedantic, it would update the version specification. It might pave the way for consistent future version specifications discussions are welcome.

Goals/Reasons:

It still looks good rendered in the readme.

hassandraga commented 3 months ago

Follow semver syntax more closely

According to semver.org: 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0.

I suggest keeping the beta number but renaming 2.5.0-Beta-1 to 2.5.0-beta.1 because this follow the semver.org suggestions, And the debug logs will include the beta version used WebUI v2.5.0-beta.XX (Microsoft Windows, MSVC, Non-Encrypted)....

I suggest making pre-release after https://github.com/webui-dev/webui/issues/380 and https://github.com/webui-dev/webui/issues/388

When we fix all the critical issues, and all basic examples works in all platforms, then it's time to publish a new beta to be tested openly, if no bug is reported after a while, and all requested features is implemented, then it's time to release a stable version.

It still looks good rendered in the readme

It's okay to put a general Beta title in the readme, but we keep the beta version in the source code.

ttytm commented 3 months ago

There wasn't a clear semver yet, so I opted for paddling back to the general version at the current state. Though I don't have a strong preference here and can agree with the comment. Gonna update.

ttytm commented 3 months ago

The update sets beta.1 in the defined version. It removes the version string from the C comments. Having a version definition without additional comments would be less places to updated and is how e.g., civetweb or mbedtls are handling it. If there are further suggestions, let's find what suits best.