You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Feb 3, 2023. It is now read-only.
Just a note to state that I'm hitting blocks in rich cross-project collaboration due to the way Holochain is managing versioning between Rust crates. There are two related issues here:
SemVer is not being used to track the alpha versions
Dependencies of Holochain are specified too explicitly
(2) could be addressed in the process of solving (1) depending on the path taken.
I have tried mitigating (1) with tilde versioning but this still does not give me means of having flexible dependencies- eg. 0.0.42-alpha5 and 0.0.47-alpha1 are considered incompatible. ~0.0 feels way too loose, and without alignment on SemVer it's unclear what this would even mean RE alpha/beta release naming.
The end result is that every hApp codebase quickly falls into incompatibility with others, and forks / fragmentation arises to compensate. It's a very heavy maintenance & coordination burden for cross-project devs currently.
(2) is potentially an issue, though I do note that the incompatibility I'm currently hitting with bitflags is probably unavoidable (1.0.4 → 1.2.0); however, in the case of such an unavoidable dependency update then I would expect a corresponding minor version bump in Holochain core. Would also recommend limiting such updates to security patches once we get into beta territory (I'm hoping soon!) so as to avoid unnecessary backward-incompatibility with older Holochain apps.
The text was updated successfully, but these errors were encountered:
We also don't have to throw the baby out with the bathwater to solve this problem. Seems to work pretty well for the Futures crate, though note that they have a . separating every numeric identifier whereas hdk etc do not:
Compiling futures-channel-preview v0.3.0-alpha.17
In this case we should be able to say =0.3 or =0.3.0-alpha and conform to patch versions for breaking changes & minor versions (with -alpha suffix) for incremental updates.
Yes. The pinning issue is a difficult one and a pain. We will land a repo refactor that at the very least allows each of the separate crates in our mono-repo to be versioned independently of the holochain binary, most crucially the hdk.
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Just a note to state that I'm hitting blocks in rich cross-project collaboration due to the way Holochain is managing versioning between Rust crates. There are two related issues here:
(2) could be addressed in the process of solving (1) depending on the path taken.
I have tried mitigating (1) with tilde versioning but this still does not give me means of having flexible dependencies- eg.
0.0.42-alpha5
and0.0.47-alpha1
are considered incompatible.~0.0
feels way too loose, and without alignment on SemVer it's unclear what this would even mean RE alpha/beta release naming.The end result is that every hApp codebase quickly falls into incompatibility with others, and forks / fragmentation arises to compensate. It's a very heavy maintenance & coordination burden for cross-project devs currently.
(2) is potentially an issue, though I do note that the incompatibility I'm currently hitting with
bitflags
is probably unavoidable (1.0.4
→1.2.0
); however, in the case of such an unavoidable dependency update then I would expect a corresponding minor version bump in Holochain core. Would also recommend limiting such updates to security patches once we get into beta territory (I'm hoping soon!) so as to avoid unnecessary backward-incompatibility with older Holochain apps.The text was updated successfully, but these errors were encountered: