Beta 0.6.0
Pre-releaseThis release of Kinode OS contains breaking changes to several APIs: eth:distro:sys
, app_store:sys
, terminal:sys
, the capabilities system, and the package metadata format. The version of WASI used has been updated, meaning that apps must also update their WASI dependency. Apps should also upgrade to the new kinode_process_lib
version 0.6.0. Lastly, the password/login system has changed to provide more security in a hosted environment. Nodes that were booted with 0.5.x versions must reset their passwords. Note that the runtime has not undergone any security audits and must be used at your own risk.
eth:distro:sys
The RPC Provider runtime module has been rewritten to support multiple chain IDs and multiple data sources, which can either be RPC URLs or other nodes. The API has changed to include chain ID in requests. Full API docs here: https://book.kinode.org/apis/eth_provider.html
app_store:sys
The App Store has undergone breaking changes in order to unify onchain app metadata and package metadata. The format of the metadata.json
file has changed such that it can be the metadata for the app's ERC-721 onchain. See here for the new format: https://book.kinode.org/my_first_app/chapter_1.html#metadatajson
terminal:sys
Scripts have been adjusted slightly using the new capabilities system. Piping has been removed because it was unintuitive/buggy. It may be reintroduced in the future.
Capabilities
The kernel now has functionality to drop capabilities from a process, which can be accessed by a new function in kinode.wit
: drop-capabilities
. A process can only drop its own capabilities, but root access to the kernel includes the ability to drop capabilities from any process.
Boot instructions have changed:
To run the binary, you must indicate where the home folder for the node will be. You may also optionally specify your HTTP port. The default if unspecified is 8080
. Here's an example:
./kinode home/mynodename
For most purposes, you should be booting a testnet node on ETH Sepolia:
./kinode home/mynodename --testnet
Testnet nodes must use the --testnet flag on boot.
What's Changed
- Da/drop by @tadad in #234
- kernel: refactor for clarity by @dr-frmr in #231
- bump kit version to avoid compile warnings by @nick1udwig in #241
- hotfix: bump curve-dalek dep that breaks builds by @nick1udwig in #239
- vfs: hotfix remove bug by @bitful-pannul in #243
- Show message when no app details found by @willbach in #245
- Da/timer by @tadad in #247
- kernel: in a process, only ingest responses/errors which have an outstanding request in contexts map by @dr-frmr in #249
- app_store: make
auto-update
real, add support for selecting mirror from FE by @dr-frmr in #246 - add pull_request_template.md by @nick1udwig in #251
- Da/metadata by @tadad in #250
- build-release: use
uname -m
instead of-p
by @nick1udwig in #253 - IncomingHttpRequest updates by @willbach in #254
- new eth by @bitful-pannul in #222
- bump wasm deps by @nick1udwig in #248
- kernel: instant timeout if local target is unreachable by @dr-frmr in #255
- Wg/http server update packages by @willbach in #257
- Fix register redirect by @willbach in #258
- add issue templates by @nick1udwig in #256
- Added metadata form to app store UI + fixes by @willbach in #263
- Da/kernel errors by @tadad in #261
- fix tests by @nick1udwig in #264
- Da/tempfile by @tadad in #268
- Redesign with all the fonts by @willbach in #269
- Da/pipe fix by @tadad in #267
- vfs: sanitize paths by @bitful-pannul in #270
- eth: multi-chain provider model, multi-provider model by @dr-frmr in #266
- terminal: color changes and print provenance by @dr-frmr in #271
- change net api to be response-based instead of prints by @dr-frmr in #274
- HTTP server: add
Unbind
actions by @dr-frmr in #275 - make homepage dynamic, apps can add and remove links to themselves by @dr-frmr in #276
- password work by @bitful-pannul in #273
- Da/drop caps final by @tadad in #277
- Additional redesign + .ens registration by @willbach in #272
- Develop (0.6.0) by @dr-frmr in #233
Full Changelog: v0.5.3-alpha...v0.6.0