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

our version implies we are stable, are we? #89

Open
astrale-sharp opened this issue Jan 4, 2021 · 3 comments
Open

our version implies we are stable, are we? #89

astrale-sharp opened this issue Jan 4, 2021 · 3 comments

Comments

@astrale-sharp
Copy link
Collaborator

as can be seen here there is a meaning with having a version superior to 1.0.0, we already changed the interface in backward incompatible ways, shouldn't we regress our version to something like 0.2._ ?

@MatejSloboda
Copy link
Owner

Possibly. Jumping to 1.0.0 was probably a mishap on my side. That said, I believe the public interface is stable now. I don't expect any major changes to the interface in the near future. Maybe except adding new features.

@MatejSloboda
Copy link
Owner

Maybe we should pinpoint what exactly do we mean by "backwards incompatible". The way I understand it, in context of Godot GDNative, and this project in particular, is that, it's compatible if:

  1. user is using older version of "Dijkstra_map_library" folder (the one with binaries and nativescript files) in their project.
  2. user downloads newer version.
  3. user replaces their old "Dijkstra_map_library" folder in their project with the new one.
  4. their original project didn't break due to this upgrade

Backwards compatibility is not broken by:

  • changes to the examples, tests and documentation
  • bug fixes (note: if user's code relies on a bug, it may break)
  • changes that do not affect public API or functionality in any way (optimizations, refactoring, etc.)
  • changes that strictly add new functionality, without changing old functionality
  • adding additional binaries for new targets

I'm not sure whether changes to the Rust public API (ie. stuff in the "dijkstra-map" folder) should count, if they don't affect the GDNative interface (ie. stuff in the "dijkstra-map-gd") that is actually exposed to Godot. Should we consider users who use the dijkstra-map as a Rust crate? (and are there any?) Or should we only consider the Godot users who use this as GDNative script?

@arnaudgolfouse
Copy link
Contributor

I think you are right that the Rust API in "dijkstra-map" should not count toward backward compatibility, especially since it has it's own version in the Cargo.toml file (0.1.0 at the moment if I am not mistaken)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants