Hi Martin, Happy new year too!
I think a split release for modules/languages is a great idea. As we are going to have different versions for different languages, is there a sense to continue linking package version to specification version? You mentioned that modules that have version 1.*.* do not actually implement all features of specification. Also from my experience different languages/ modules missed different parts of specification. It looks to me that the statement "package with version 1.*.* implement specification with version 1*" is not completely correct. What about moving to semantic versioning? Where major version means breaking changes, minor - new feature and patch - bug fix. In this case each language would be able to change its own version independently and the version will reflect what exactly changed. This also can help with introducing breaking changes if needed - users will clearly know if there is breaking changes or not. Specification version can be added to package description, so we still indicate what specification version is implemented by concrete package. What do you think about using semantic versioning? Best Regards, Khrystyna On Wed, Jan 4, 2023 at 1:02 AM Martin Grigorov <[email protected]> wrote: > Happy new year Avro community! > I wish you to have a lot of fun while developing your projects! > > I'd like to propose to make it possible to release a single module/lang. > At the moment all modules share the same version and are being released > together. > The problem is that the release cadence is rather slow and some users > complain about it, e.g. the C# and Rust ones. > > The only "problem" I see is that the modules will have different versions > from now on, e.g. Java will be 1.11.1 and the C# module will be 1.12.0. > (The Rust one is still at 0.15.0 :-) ). > This might confuse some users but we just have to make it clear in the docs > that the important number is the Avro spec version, i.e. "1". The modules > do not implement the whole set of features > even now. > > As of now, a release of a single module (or a sub-set of modules) will > require the same ASF release rules (3 binding +1s, at least 72 hours for > voting, etc.). > > What do you think ? > > Regards, > Martin >
