Skip to content
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

feat: enhanced Versioning System with Codename + SemVer #28

Closed
wants to merge 8 commits into from

Conversation

kaeeraa
Copy link
Member

@kaeeraa kaeeraa commented Jan 15, 2025

Summary

This pull request enhances the versioning system by introducing:

  • Patch Level: Adds finer granularity for tracking changes in releases.
  • Codename: Assigns descriptive names to major releases for better user recognition and communication.

Details of Changes

CMake Configuration

  • Added Launcher_VERSION_PATCH for patch-level versioning.
  • Introduced Launcher_VERSION_CODENAME for descriptive release names.
  • Updated the version strings:
    • Launcher_VERSION_NAME now includes codename and full semantic versioning.
    • Adjusted Launcher_VERSION_NAME4 and Launcher_VERSION_NAME4_COMMA accordingly.

Build Specification (Build.spec)

  • Updated Version to reflect the new format, incorporating codename and patch level.

Codebase Updates

  1. BuildConfig.cpp.in:
    • Added VERSION_PATCH and VERSION_CODENAME.
    • Modified Config::versionString() to include the new versioning format.
  2. BuildConfig.h:
    • Declared new attributes: VERSION_PATCH and VERSION_CODENAME.
  3. PrismUpdater.cpp:
    • Incorporated the codename and patch level in run() method for consistency with the updated versioning system.

New Version Format

For example:

  • Codename: Sequoia
  • Full Version: 1.0.0

This will result in:

  • Version String: Sequoia 1.0.0
  • Printable Version: Reflects the same structure for user-facing communication.

Benefits

  • Improved Granularity: Patch-level tracking allows for better differentiation of releases.
  • Enhanced Communication: Codename-based versioning makes it easier to communicate the purpose and scope of major updates.
  • Consistency: Updates span across configuration, build files, and code, ensuring uniform implementation.

Testing

  • All updates compile successfully.
  • The new version strings are generated correctly and appear in relevant outputs.
  • Versioning integrates seamlessly with existing build and update workflows.

Please review the proposed changes and provide feedback. If everything aligns with the project goals, kindly approve this pull request.

@kaeeraa kaeeraa added [0] : Freesm FreesmLauncher component [2] : Enhancement Improvement to existing functionality. [3] : Priority: High High-priority task. [4] : Complexity: Easy A simple task requiring minimal effort. [5] : Status: Ready for Review [6] : Platform: Cross-Platform Tasks affecting all platforms. [8] : User: Developers Tasks aimed at developers. [8] : User: End-Users Tasks aimed at end-users. labels Jan 15, 2025
@kaeeraa kaeeraa self-assigned this Jan 15, 2025
@kaeeraa kaeeraa marked this pull request as ready for review January 15, 2025 16:34
@kaeeraa kaeeraa enabled auto-merge (squash) January 15, 2025 16:34
@kaeeraa kaeeraa linked an issue Jan 15, 2025 that may be closed by this pull request
1 task
Signed-off-by: kaeeraa <ilhainshakov@yandex.ru>
Signed-off-by: kaeeraa <ilhainshakov@yandex.ru>
@s0me1newithhand7s
Copy link
Member

could you squish them after that? thx

@kaeeraa
Copy link
Member Author

kaeeraa commented Jan 15, 2025

could you squish them after that? thx

it will

@s0me1newithhand7s
Copy link
Member

ping as soon as checks end, 'k?

Signed-off-by: kaeeraa <ilhainshakov@yandex.ru>
@kaeeraa
Copy link
Member Author

kaeeraa commented Jan 15, 2025

ping as soon as checks end, 'k?

new commit

@kaeeraa
Copy link
Member Author

kaeeraa commented Jan 15, 2025

ping as soon as checks end, 'k?

fvcked up again

@kaeeraa
Copy link
Member Author

kaeeraa commented Jan 15, 2025

ill open new pr when fix everything

@kaeeraa kaeeraa closed this Jan 15, 2025
auto-merge was automatically disabled January 15, 2025 20:57

Pull request was closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[0] : Freesm FreesmLauncher component [2] : Enhancement Improvement to existing functionality. [3] : Priority: High High-priority task. [4] : Complexity: Easy A simple task requiring minimal effort. [6] : Platform: Cross-Platform Tasks affecting all platforms. [8] : User: Developers Tasks aimed at developers. [8] : User: End-Users Tasks aimed at end-users.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

enchantment: update freesm version format
2 participants