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
See blog post [[1](https://forum.flow.com/t/protocol-version-upgrade-mechanisms-discussion/5717)] for further details
22
+
See blog post [[1](https://forum.flow.com/t/protocol-version-upgrade-mechanisms-discussion/5717)] for further details:
23
23
24
24
**Software Version** - The version identifier of a binary distribution of Flow Node software.
25
25
By convention, we use semver-ish tag in Git and Docker releases.
26
26
27
-
Software has bugs. and is frequently incomplete (e.g. API returning ‘not yet implemented’).
27
+
Software has bugs and is frequently incomplete (e.g. API returning ‘not yet implemented’).
28
28
The software version is a meaningful reference to describe what the software does in the real world.
29
29
30
30
However, we also desire a compact identifier [which we will call the ‘Component Version’] of how a Flow node *should* behave.
@@ -42,7 +42,9 @@ In the nutshell, for every block there is one and only one correct way of how to
42
42
- A software version can implement multiple Component Versions.
43
43
E.g. AN supporting script execution across HCU boundaries
44
44
45
-
❗Don’t couple the software version to the component version!
45
+
❗Don’t couple the software version to the component version! We know there will be scenarios where we want one software to implement multiple
46
+
Component Versions and at that point, any one-to-one coupling of Software and Component Version will necessarily break. Instead, for each software
47
+
version, we conceptually have a _list_ of Component Versions that this software supports (even if that list only contains a single element most of the time).
46
48
47
49
48
50
### Reasons we want to move away from existing Version Beacon:
0 commit comments