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`, and `254` are no longer reserved
- encrypted dfx identities are now supported
- guard functions now only allowed on `query` and `update` methods
- Wasm module hash caveat removed
- `ic.caller()` now correct in `init` and `post_upgrade`
- metadata is now defined by the developer in `dfx.json`, no Kybra version is exposed
- `init` and `post_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:
json
{
"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 https://github.com/demergent-labs/kybra/pull/465
* improve prints by bdemann in https://github.com/demergent-labs/kybra/pull/449
* Improve Python Stdlib Conditional Compilation Check by lastmjs in https://github.com/demergent-labs/kybra/pull/471
* Binstall by lastmjs in https://github.com/demergent-labs/kybra/pull/473
* Prebuilt stdlib by lastmjs in https://github.com/demergent-labs/kybra/pull/474
* Memory ids by lastmjs in https://github.com/demergent-labs/kybra/pull/475
* Misc fixes by lastmjs in https://github.com/demergent-labs/kybra/pull/476
* Assets stdlib by lastmjs in https://github.com/demergent-labs/kybra/pull/477
**Full Changelog**: https://github.com/demergent-labs/kybra/compare/0.5.3...0.6.0