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(api): A feature flag system to handle version compatibility #1002

Merged
merged 12 commits into from
Dec 18, 2023

Conversation

zml2008
Copy link
Member

@zml2008 zml2008 commented Dec 7, 2023

This system allows us to tailor output for different game/protocol versions.

This will probably want to become its own submodule, or likely standalone project in order to be usable in adventure-nbt without a dependency on adventure-api.

The current state of things defines the bare minimum core of the system, with some example conversions in the Gson serializer.

Thing still left to consider:

  • Updating Gson tests for changed output (do we write test cases to target a specific version?)
  • Move feature flag logic into common json serializer?
  • How do we take advantage of feature flags in adventure-nbt to toggle feat(nbt): Implement nameless binary serialization #968 (will be handled in its own PR)
  • Is protocol version the best way to version our output?
  • Finish up test coverage

@zml2008 zml2008 self-assigned this Dec 17, 2023
@zml2008 zml2008 marked this pull request as ready for review December 18, 2023 04:04
@zml2008 zml2008 added this pull request to the merge queue Dec 18, 2023
Merged via the queue into main/4 with commit 6fd5262 Dec 18, 2023
5 checks passed
@zml2008 zml2008 deleted the feat/feature-flags branch December 18, 2023 04:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant