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

[Spec] Remove #ENCODING, #RELATIVE, #RESOLUTION and make UTF-8 mandatory #28

Closed
marwin89 opened this issue Sep 24, 2023 · 8 comments
Closed
Labels
Approved approved by majority Specification affects specification (spec.md)

Comments

@marwin89
Copy link
Collaborator

marwin89 commented Sep 24, 2023

Suggestion

  1. Remove #ENCODING-Tag from specification 🗑️ ❌
  2. UTF-8 is mandatory. ⚠️
  3. Remove #RELATIVE, #NOTESGAP and #RESOLUTION❌
  4. Remove #DUETSINGERP1 and #DUETSINGERP2 (its redudant because of #P1 and #P2)

Use case

  • As a song creator you aren't confused about encoding anymore, and UTF-8 can support the most languages for songs, more than CP1250.
  • As a dev you simplify code and get rid of old, redundant and unused #tags, house keeping 🏠 ✔️

Extra info/examples/attachments

@marwin89 marwin89 added v1.1.0 (2023) implement in v1.1.0 (2023) remove labels Sep 24, 2023
@Baklap4
Copy link
Collaborator

Baklap4 commented Sep 24, 2023

Removing stuff needs a major increase. Let's collect all the things that need to be removed before 1.0.0
Since undefined is 0.0.0 i'd propose to deprecate this in 0.x.0 and remove it in 1.0.0

from semver:

How should I handle deprecating functionality?
Deprecating existing functionality is a normal part of software development and is often required to make forward progress. When you deprecate part of your public API, you should do two things: (1) update your documentation to let users know about the change, (2) issue a new minor release with the deprecation in place. Before you completely remove the functionality in a new major release there should be at least one minor release that contains the deprecation so that users can smoothly transition to the new API.

@marwin89 marwin89 added v.1.0.0 and removed v1.1.0 (2023) implement in v1.1.0 (2023) labels Sep 24, 2023
@Nianna
Copy link

Nianna commented Sep 24, 2023

Hi,
what you wrote is kinda inconsistent:

The games should be able to detect the encoding themselves.
As a dev you get more time for important things to do, than supporting questions about encoding problems.

These two are contradictory, having (deprecated) tag is way better and more stable that guessing.

@rakuri255
Copy link
Collaborator

Would leave this info and mark it as deprecated. So, all can read it and learn from that. Otherwise, you will get a question.
Maybe make a separate Page with deprecated and unnecessary and stupid stuff :D

@marwin89
Copy link
Collaborator Author

There's a deprecated section on https://usdx.eu/format now.

@Baklap4
Copy link
Collaborator

Baklap4 commented Sep 27, 2023

Deprecated section is nice, but we'll need this based on versions. Let's open up a new issue to somehow show the versions we're gonna have if this isn't already covered in another issue

@marwin89 marwin89 changed the title [Spec] Remove #ENCODING-Tag and make UTF-8 mandatory [Spec] Remove #ENCODING, #RELATIVE, #RESOLUTION and make UTF-8 mandatory Oct 1, 2023
@marwin89 marwin89 added this to the Specification v1.0.0 released milestone Oct 4, 2023
@marwin89
Copy link
Collaborator Author

marwin89 commented Oct 4, 2023

I guess we finished this task too. ✅

I put the results in the overview spreadsheet mentioned in #31

@marwin89 marwin89 closed this as completed Oct 4, 2023
@Baklap4
Copy link
Collaborator

Baklap4 commented Oct 4, 2023

Might be nice to add a conclusion post after closing an issue

@marwin89
Copy link
Collaborator Author

marwin89 commented Oct 5, 2023

SUMMARY / FINAL RESULTS 🏁

So here are the final results for this issue.

  1. UTF-8 is mandatory for every txt-file.
  2. We deprecate these tags in version 0.3.0. and remove them in version 1.0.0:
#RESOLUTION
#NOTESGAP
#ENCODING
#RELATIVE
#DUETSINGERP1
#DUETSINGERP2

@marwin89 marwin89 added the Approved approved by majority label Oct 7, 2023
@marwin89 marwin89 modified the milestones: Specification v1.0.0 released, Specification v2023.0.0 released Oct 15, 2023
@marwin89 marwin89 added the Specification affects specification (spec.md) label Feb 2, 2025
@marwin89 marwin89 moved this from Approved to Implemented in UltraStar Song Format - Overview Feb 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approved approved by majority Specification affects specification (spec.md)
Projects
Status: Implemented in spec.md
Development

No branches or pull requests

4 participants