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

Establish versioning semantics at various layers of the protocol #625

Open
cdata opened this issue Sep 12, 2023 · 1 comment
Open

Establish versioning semantics at various layers of the protocol #625

cdata opened this issue Sep 12, 2023 · 1 comment
Labels
Documentation Improvements or additions to documentation Topic: Discussion This issue needs further discussion before a conclusion is reached Topic: Protocol Design Issues related to design details of the Noosphere protocol

Comments

@cdata
Copy link
Collaborator

cdata commented Sep 12, 2023

In #624 we introduced a version bump in part of the Noosphere Gateway REST API, which prompted some discussion about versioning semantics. We currently have a few "layers" of versions in our system, including:

  • The Noosphere "protocol" version
    /// The Noosphere protocol version
    pub enum Version {
    #[allow(missing_docs)]
    V0,
    /// All others
    Unknown(String),
    }
  • The Noosphere Gateway REST API version
    /// The version of the API represented by this module
    pub const API_VERSION: &str = "v0alpha1";
  • Noosphere Rust crate versions (each versioned independently)
  • Noosphere embedding package versions
    • Swift package (version currently lock step with Rust noosphere crate)
    • NPM package (versioned independently)
  • Possibly others

This issue is being opened to prompt us to discuss / define the semantics of these versions and their relationships to each other.

@cdata cdata added Documentation Improvements or additions to documentation Topic: Discussion This issue needs further discussion before a conclusion is reached Topic: Protocol Design Issues related to design details of the Noosphere protocol labels Sep 12, 2023
@justinabrahms
Copy link
Contributor

the protocol and gateway APIs should, imo, move independently of the underlying rust code. I agree that it makes sense to keep embeddings closely related w/ their rust implementations, because you're more tied to the revealed functionality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Documentation Improvements or additions to documentation Topic: Discussion This issue needs further discussion before a conclusion is reached Topic: Protocol Design Issues related to design details of the Noosphere protocol
Projects
Status: 🏔️ Icebox
Development

No branches or pull requests

2 participants