Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

enchantment: update freesm version format #25

Closed
1 task done
kaeeraa opened this issue Jan 13, 2025 · 6 comments
Closed
1 task done

enchantment: update freesm version format #25

kaeeraa opened this issue Jan 13, 2025 · 6 comments
Assignees
Labels
[0] : Freesm FreesmLauncher component [2] : Enhancement Improvement to existing functionality. [2] : Refactor Code changes without altering functionality. [3] : Priority: Medium Medium-priority task. [4] : Complexity: Easy A simple task requiring minimal effort. [5] : Status: In Progress The task is currently being worked on. [6] : Platform: Cross-Platform Tasks affecting all platforms. [8] : User: Developers Tasks aimed at developers. [8] : User: End-Users Tasks aimed at end-users. [8] : User: Testers Tasks aimed at testers.

Comments

@kaeeraa
Copy link
Member

kaeeraa commented Jan 13, 2025

Role

Suggestion

Update FreesmLauncher version format (e.g. v0.0.1 or something else)

Benefit

increases compatibility when packaging

This suggestion is unique

  • I have searched the issue tracker and did not find an issue describing my suggestion, especially not one that has been rejected.

You may use the editor below to elaborate further.

No response

@kaeeraa kaeeraa added [0] : Freesm FreesmLauncher component [2] : Enhancement Improvement to existing functionality. [2] : Refactor Code changes without altering functionality. [3] : Priority: Low Low-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. [8] : User: Testers Tasks aimed at testers. [10] : Future Consideration labels Jan 13, 2025
@kaeeraa
Copy link
Member Author

kaeeraa commented Jan 13, 2025

GPT suggestions:

  1. Semantic Versioning (SemVer):

Example: 1.2.3

Structure: MAJOR.MINOR.PATCH
    MAJOR: Breaking changes or significant updates.
    MINOR: Backward-compatible feature additions.
    PATCH: Bug fixes and minor improvements.
Best for: Libraries, APIs, or projects requiring compatibility awareness.
  1. Calendar Versioning (CalVer):

Example: 2025.01, 23.12.15

Structure: YEAR.MONTH[.DAY] or YEAR.WEEK
Best for: Projects with time-based release cycles (e.g., Ubuntu 20.04, Android API levels).
  1. Incremental Versioning:

Example: 1, 2, 3

Structure: Simple sequential numbering.
Best for: Small projects or internal tools where detailed versioning isn't required.
  1. Decimal Versioning:

Example: 1.5, 2.0

Structure: A simple number with decimals for minor updates.
Best for: Early-stage projects or simple applications with straightforward updates.
  1. Named Versioning:

Example: Frost, ArcticFox

Characteristics: Each release gets a unique name rather than numbers.
Best for: Creative projects, games, or non-formal software (e.g., Android versions: Lollipop, Marshmallow).
  1. Combined Format:

Example: 2025.1.0, v1.2.2025

Structure: Combines semantic and calendar versioning.
Best for: Complex projects needing time-based tracking and detailed changes.
  1. Git Commit Hashes:

Example: 1.2.3-abc123, v2025.01.0-g7e9f0a

Structure: Version number + commit hash from Git.
Best for: Continuous deployment pipelines or development snapshots.
  1. Date-Time Stamps:

Example: 20250113-1500, 2025.01.13-15:00

Structure: Release date and time in a sortable format.
Best for: Automated builds, nightly releases, or frequent deployments.
  1. Build Numbers:

Example: 1.2.3+45, v2025.1-build.123

Structure: Version number with an incremental build count.
Best for: Systems requiring tracking of individual builds, such as CI/CD environments.
  1. Pre-release Tags:

Example: 1.0.0-alpha, 2.3.0-beta.2

Structure: Base version + tag for pre-release stage (alpha, beta, rc).
Best for: Projects in development or testing phases where pre-release tracking is necessary.
  1. Epoch Versioning:

Example: 2:1.0.0, 1:2025.01

Structure: EPOCH:VERSION
Best for: Package managers (e.g., Debian) to enforce upgrades when version numbers reset.
  1. Hybrid System-Specific Versions:

Example: R2025Q1.001, v10.4-LTS

Structure: Combines release type (LTS, experimental), dates, and version numbers.
Best for: Systems requiring both semantic meaning and time-based relevance.

Recommendations:

Use Semantic Versioning (SemVer) for most software projects needing compatibility tracking.
Opt for Calendar Versioning (CalVer) for predictable, time-driven releases.
Choose Git Commit Hashes or Date-Time Stamps for frequent or automated releases.
Use Build Numbers for CI/CD systems requiring individual build identification.
Consider Named Versions for creative or consumer-focused products.

@kaeeraa kaeeraa pinned this issue Jan 13, 2025
@notwindstone
Copy link
Member

I vote for SemVer. Let's start with version 1.0.0

@kaeeraa
Copy link
Member Author

kaeeraa commented Jan 14, 2025

Voting for SemVer/build numbers

@so5iso4ka
Copy link
Collaborator

I vote for any format compatible with PKGBUILD, etc.

@s0me1newithhand7s
Copy link
Member

mostly idc xO

@kaeeraa kaeeraa changed the title refactor: update freesm version format enchantment: update freesm version format Jan 14, 2025
@kaeeraa
Copy link
Member Author

kaeeraa commented Jan 14, 2025

Result of voting:

image


  • Naming & Semver: 83%
  • Other: 17%

@kaeeraa kaeeraa added [3] : Priority: Medium Medium-priority task. [5] : Status: In Progress The task is currently being worked on. [10] : Urgent and removed [3] : Priority: Low Low-priority task. [10] : Future Consideration labels Jan 14, 2025
@FreesmTeam FreesmTeam locked and limited conversation to collaborators Jan 15, 2025
@kaeeraa kaeeraa converted this issue into discussion #27 Jan 15, 2025
@kaeeraa kaeeraa linked a pull request Jan 15, 2025 that will close this issue

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
[0] : Freesm FreesmLauncher component [2] : Enhancement Improvement to existing functionality. [2] : Refactor Code changes without altering functionality. [3] : Priority: Medium Medium-priority task. [4] : Complexity: Easy A simple task requiring minimal effort. [5] : Status: In Progress The task is currently being worked on. [6] : Platform: Cross-Platform Tasks affecting all platforms. [8] : User: Developers Tasks aimed at developers. [8] : User: End-Users Tasks aimed at end-users. [8] : User: Testers Tasks aimed at testers.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants