Release candidates for all repos dependent on KERIpy 1.1.0. #63
Replies: 5 comments 4 replies
-
I like the idea of versioning all of the following repos together for this initial release train:
|
Beta Was this translation helpful? Give feedback.
-
I think versioning "similar" to start is all we can expect. To Daniels point on the call, libraries might make additional updates and shouldn't require version changes in any of the others. I see a matrix in our future of known support versions that integrate. |
Beta Was this translation helpful? Give feedback.
-
I also think semantic versioning is a good idea. However, I do not see the inherent value of forcing all projects to follow the same version. I also do not think there is a rush for bumping keria and signify-ts to v1.x.x. I think it is inevitable that some features, improvements and bug fixes in signify-ts would cause breaking changes in the near future. If we bump them to v1 too early, I think the progress would slow down in that regard. So, from my point of view, bumping keripy to v1.1 is a good step forward, but it does not have to affect keria or signify-ts versioning at all right now. Except that keria can now use released keri pypi package. If we want to start versioning them anyway, my opinion is that they should start at v0.x.x for now. Issues like these:
might result in semver major bumps to keria, but probably not in keripy. They're just examples, but I do think there will be more similar issues once keria starts getting used in production like environment by a wider audience. In signify-ts, there is a lot of missing type information that would cause breaking changes when adding types to improve the usability of the library. AnalogiesI would also like to draw some analogies to other projects with similar setups. Granted, none of these are exactly the same, but I thought it would be good to have a look around for inspiration. Lucene => Solr / Elasticsearch / Opensearch => Client librariesLucene is the underlying library providing full text search (keripy). Solr, Elasticsearch and Opensearch are independent projects providing "lucene as a server", (i.e. keria). Then there are a bunch of libraries out there that can communicate with these APIs.
RabbitMQ / ActiveMQ servers => AMQP protocol => AMQP LibrariesRabbitMQ and ActiveMQ are server applications (keria), that implement a protocol AMQP (Signify protocol). The client libraries (signify-ts, signifypy) are completely decoupled from the server using the protocol. So they each maintain their own versioning and simply support a specific version of the protocol. |
Beta Was this translation helpful? Give feedback.
-
It was pointed out that perhaps we should be going to 2.0.0 because there are breaking changes in the database that require a migration. Any objections? |
Beta Was this translation helpful? Give feedback.
-
I'm for versioning libraries and protocols and don't think they need to be in lockstep. As noted above, in most distributed systems there's the protocol versions (or even profiles as time goes on) and then there are library versions that support some(all?) of those protocol versions. As time goes on and the deployed applications/libraries gains traction, it'll be harder and harder to keep library versions sync'd if that was a suggestion we were contemplating. |
Beta Was this translation helpful? Give feedback.
-
Let us know what you think
Beta Was this translation helpful? Give feedback.
All reactions