Open mversic opened 3 days ago
All the crates should initially be versioned as 0.x.x to be able to make breaking changes.
We can't do it in a uniform way because the existing iroha
crate has already been published (and yanked). We agreed to publish it starting from 2.0.0
, and having different versioning schemes would be complicated. I do agree that general-purpose crates like conststr
can be published from 0.x.x
. Eh, maybe it's fine
We can't do it in a uniform way because the existing iroha crate has already been published (and yanked).
I don't understand what this has to do with anything.
I do agree that general-purpose crates like conststr can be published from 0.x.x.
I specifically pulled these crates out because I consider them all general-purpose and not specifically related to iroha
. They should be considered separate projects and have separate versioning. This is why I proposed to pull them into separate repositories so that other projects can use them as dependencies. Don't let the iroha_
prefix of these crates kid you, prefix should be removed when moving them into separate repos
Created repo stubs:
const
)const
)
This will have multiple benefits:
The following crates should be moved to separate repositories:
iroha_config_base
withiroha_config_base_derive
iroha_wasm_codec
withiroha_wasm_codec_derive
iroha_ffi
withiroha_ffi_derive
const_vec
conststr
iroha_crypto
(declare it a successor of Ursa in the docs)iroha_wasm_test_runner
(fork it fromiroha_wasm_test_runner
and apply the change in a separate commit, notify the original author)The following crates can also be argued to be moved to separate repos:
iroha_version
withiroha_version_derive
iroha_schema
andiroha_schema_derive
iroha_wasm_builder
iroha_numeric
Don't publish these crates:
riffle_iter
(equivalent toitertools::interleave
so no need to publish)Important considerations
0.x.x
to be able to make breaking changes. We want to see how they will grow before making a1.x.x
release.