At the moment, it's hard to make changes to the Rune-runtime interface because the Rune will fail to load due to obscure errors (e.g. an import function's signature is different or it wasn't provided).
The rune build command already embeds the rune CLI's version number in each Rune under the .rune_version custom section.
Now we just need to emit checks and emit a warning if the Rune's version isn't semver compatible with the runtime:
[ ] Rust runtime
[ ] Web runtime
To make evolving things easier, I'd also like to not provide any backwards/forwards compatibility guarantee (cc @kthakore). At the moment, the C++ runtime forces us to be de facto backwards compatible, and it sucks.
At the moment, it's hard to make changes to the Rune-runtime interface because the Rune will fail to load due to obscure errors (e.g. an import function's signature is different or it wasn't provided).
The
rune build
command already embeds therune
CLI's version number in each Rune under the.rune_version
custom section.Now we just need to emit checks and emit a warning if the Rune's version isn't semver compatible with the runtime:
To make evolving things easier, I'd also like to not provide any backwards/forwards compatibility guarantee (cc @kthakore). At the moment, the C++ runtime forces us to be de facto backwards compatible, and it sucks.