This release focuses on removing the workarounds and necessary caveats in place because of the small Wasm binary limit implemented by the Internet Computer Protocol. This limit has been substantially lifted by the protocol itself, thus we were able to remove our workarounds. We've also made the initial installation process simpler and more robust.
New Features
- ic-wasm has been removed
- there is no longer a
post_install
step - memory ids
0
,1
,2
,252
,253
, and254
are no longer reserved - encrypted dfx identities are now supported
- guard functions now only allowed on
query
andupdate
methods - Wasm module hash caveat removed
ic.caller()
now correct ininit
andpost_upgrade
- metadata is now defined by the developer in
dfx.json
, no Kybra version is exposed init
andpost_upgrade
caveats removed
Breaking Changes
The post_install
canister property should no longer be used in the dfx.json
file, and we now recommend a metadata
canister property in the dfx.json
file.
Example:
{
"canisters": {
"simple_erc20": {
"type": "custom",
"build": "python -m kybra simple_erc20 src/main.py src/main.did",
"candid": "src/main.did",
"wasm": ".kybra/simple_erc20/simple_erc20.wasm",
"gzip": true,
"metadata": [
{
"name": "candid:service",
"path": "src/main.did"
},
{
"name": "cdk:name",
"content": "kybra"
}
],
"declarations": {
"output": "test/dfx_generated/simple_erc20",
"node_compatibility": true
}
}
}
}
What's Changed
- Large wasm binaries by @lastmjs in #465
- improve prints by @bdemann in #449
- Improve Python Stdlib Conditional Compilation Check by @lastmjs in #471
- Binstall by @lastmjs in #473
- Prebuilt stdlib by @lastmjs in #474
- Memory ids by @lastmjs in #475
- Misc fixes by @lastmjs in #476
- Assets stdlib by @lastmjs in #477
Full Changelog: 0.5.3...0.6.0