Releases: kinode-dao/kinode
Beta 0.7.2
Contains the usual bugfixes, and a large improvement to the node user interface.
The homepage and app store frontends have been redone, adding the ability to create and use "widgets". We've also added a "system settings" page, still rough around the edges, but useful for debugging in beta.
To showcase widgets, we've added one for the app store and one to display recent news from kinode.org.
Simulation mode (fake nodes) have also been overhauled, including a new networking strategy and the ability to work against a fake local EVM chain. This is quite useful in conjunction with recent updates to kit
.
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 developers, make sure to follow the instructions for 0.7.0 if upgrading from 0.6.x or earlier: https://github.com/kinode-dao/kinode/releases/tag/v0.7.0
What's Changed
- Add settings page app by @dr-frmr in #313
- move register to uno and vite by @0x70b1a5 in #323
- fix: use process_lib dnswire_decode with error handling by @dr-frmr in #326
- fix build.rs
src/
behavior by @nick1udwig in #334 - fix: make ws port selection explicit on boot by @dr-frmr in #336
- feat: /amionline endpoint to indicate if node is online or not by @dr-frmr in #337
- Widgets by @0x70b1a5 in #328
- remove fake networking by @bitful-pannul in #318
- update pr template by @nick1udwig in #339
- Develop 0.7.2 by @dr-frmr in #324
Full Changelog: v0.7.1...v0.7.2
v0.7.1
Contains bugfixes and frontend improvements.
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 developers, make sure to follow the instructions for 0.7.0 if upgrading from 0.6.x or earlier: https://github.com/kinode-dao/kinode/releases/tag/v0.7.0
What's Changed
- http-client: fix WS client closing by @nick1udwig in #311
- Dr/eth provider fixes by @dr-frmr in #314
- Kernel: process restart even on crash by @dr-frmr in #316
- Update Dockerfile to download from GitHub releases by @0xlynett in #317
- app store: add rebuild-index endpoint for frontend by @dr-frmr in #320
- Vite-ify homepage by @0x70b1a5 in #321
- develop 0.7.1 by @dr-frmr in #312
- frontend fixes: background images -> gradients; remove unused fonts by @dr-frmr in #322
Full Changelog: v0.7.0...v0.7.1
Beta 0.7.0
7th major alpha/beta release.
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 this update, process devs with existing processes are recommended to:
- Bump
process_lib
import:process_lib = { git = "https://github.com/kinode-dao/process_lib.git", tag = "v0.6.1" }
- Bump
wit-bindgen
:wit-bindgen = "0.24.0"
- Use the newest
kit
:kit update
- Change the
wit_bindgen::generate!()
call to remove theexports
field:wit_bindgen::generate!({ path: "wit", world: "process", });
- If not using
call_init!()
, addexport!()
macro call:export!(Component);
What's Changed
- app store UI dropdown fix by @nick1udwig in #292
- app store and build fixes redux by @nick1udwig in #294
- Enable sign/verify for apps using node's networking key by @dr-frmr in #295
- Dockerize Kinode by @0xlynett in #299
- Updated register UI by @willbach in #300
- bump wasmtime deps to 19.0.1 by @nick1udwig in #298
- appstore facelift by @0x70b1a5 in #301
- OP app_store by @bitful-pannul in #302
- Da/unpublish by @tadad in #305
- hotfix: app_store rpc by @bitful-pannul in #308
- develop by @nick1udwig in #293
New Contributors
Full Changelog: v0.6.2...v0.7.0
Beta 0.6.2
Small fixes related to hostable nodes and registration frontend.
Boot instructions have not changed, but can now use the --ws-routing port to enforce a given port for the websockets-based networking protocol.
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
- fix: enforce ws-routing port by @dr-frmr in #282
- fix: use personal rpc for register, if set with flag by @dr-frmr in #286
- fix: remove control chars from pasted lines by @dr-frmr in #288
- fix: insert headers even if they're set-cookie by @dr-frmr in #289
- Move homepage & appstore UIs to main repo by @0x70b1a5 in #285
- fix login page and add compiled types to register-ui by @0x70b1a5 in #296
- static files by @dr-frmr in #297
New Contributors
Full Changelog: v0.6.1...v0.6.2
Beta 0.6.1
Bugfix release. Fixes some aspects of process exit behavior (more to be done here) and fixes dev workflow around booting fake nodes (--simulation-mode flag).
Boot instructions have not changed from the previous release:
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
- fix: kernel: do not reboot persisted processes if their OnExit behavior is
None
by @dr-frmr in #278 - hotfix: use kit --features flag to pass simulation-mode and fix kit s by @nick1udwig in #279
- hotfix: fix a bad merge by @nick1udwig in #280
Full Changelog: v0.6.0...v0.6.1
Beta 0.6.0
This 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
Alpha 0.5.3
Add "App Store", a new distro process that hooks into Kinode's onchain app store. Runs on ETH Sepolia testnet only. App Store will be empty on an Optimism node.
Runtime extensions are now supported. See docs for info.
Bug fixes and general improvements. scripts.json
uses snake_case dictionary keys as was originally intended. Nodes will no longer boot if they are run with/without the testnet flag if they were originally booted on/off the testnet.
Known issue: OnExit::Requests
behavior is incorrect. Will be fixed in next release!
Boot instructions remain the same:
To run the binary, you must indicate where the home folder for the node will be and use an --rpc-url flag. You may also optionally specify your HTTP port. Here's an example:
./kinode home/mynodename --rpc wss://opt-mainnet.g.alchemy.com/v2/<RPC_API_KEY> --port 8080
Note that the RPC provider is set to Optimism Mainnet. This is where the identity contract is deployed. You may also boot a testnet node on ETH Sepolia:
./kinode home/mynodename --rpc wss://eth-sepolia.g.alchemy.com/v2/<RPC_API_KEY> --port 8081 --testnet
Testnet nodes must use the --testnet flag on boot.
What's Changed
- add python code runner extension by @hosted-fornet in #218
- add lib by @hosted-fornet in #221
- vfs: hotfix copy and rename by @bitful-pannul in #224
- scripts.json uses snake_case by @tadad in #225
- fix a few issues slowing down builds by @hosted-fornet in #228
- Enforce same network at boot as node was originally booted on by @dr-frmr in #227
- Da/grant-caps by @tadad in #229
- App Store: frontend and chain integration by @dr-frmr in #205
- 0.5.3 by @dr-frmr in #232
- Develop (0.6.0) by @dr-frmr in #217
Full Changelog: v0.5.2-alpha...v0.5.3-alpha
Alpha 0.5.2
Bug fixes and general improvements.
"Breaking changes", not to process development, but to terminal usage. Terminal no longer uses /
commands, but rather uses scripting. Scripting is also now available to all processes: see terminal:sys and app_store:sys in this repo for examples of doing so. Scripts can be called by using their name in the terminal and then writing our their arguments. See README for examples.
Boot instructions remain the same:
To run the binary, you must indicate where the home folder for the node will be and use an --rpc-url flag. You may also optionally specify your HTTP port. Here's an example:
./kinode home/mynodename --rpc wss://opt-mainnet.g.alchemy.com/v2/<RPC_API_KEY> --port 8080
Note that the RPC provider is set to Optimism Mainnet. This is where the identity contract is deployed. You may also boot a testnet node on ETH Sepolia:
./kinode home/mynodename --rpc wss://eth-sepolia.g.alchemy.com/v2/<RPC_API_KEY> --port 8081 --testnet
Testnet nodes must use the --testnet flag on boot.
What's Changed
- Da/script runner by @tadad in #186
- README: add some more links & intro prose by @hosted-fornet in #187
- Update the chess UI by @willbach in #191
- change ssh import to https by @hosted-fornet in #193
- remove almost all compiler warnings by @hosted-fornet in #192
- Show alert if chain switch unsuccessful by @willbach in #195
- app store download, install, uninstall scripts by @dr-frmr in #190
- Da/alias by @tadad in #196
- add hi-protocol to mock networking by @dr-frmr in #201
- kernel: print useful error message on process crash by @hosted-fornet in #204
- change
uqbar
->kinode
by @hosted-fornet in #207 - http: remove old ws & http metadata by @hosted-fornet in #209
- kns_indexer: add namehash resolver by @dr-frmr in #212
- Da/m response by @tadad in #210
- vfs root ls by @bitful-pannul in #213
- kns_indexer: add pending_requests map to only respond to discrete que… by @dr-frmr in #214
- Da/pipe by @tadad in #215
- RC 0.5.2 by @dr-frmr in #216
- Develop by @dr-frmr in #189
Full Changelog: v0.5.1-alpha...v0.5.2-alpha
Alpha 0.5.1
To run the binary, you must indicate where the home folder for the node will be and use an --rpc-url flag. You may also optionally specify your HTTP port. Here's an example:
./kinode home/mynodename --rpc wss://opt-mainnet.g.alchemy.com/v2/<RPC_API_KEY> --port 8080
Note that the RPC provider is set to Optimism Mainnet. This is where the identity contract is deployed. You may also boot a testnet node on ETH Sepolia:
./kinode home/mynodename --rpc wss://eth-sepolia.g.alchemy.com/v2/<RPC_API_KEY> --port 8081 --testnet
Testnet nodes must use the --testnet flag on boot.
What's Changed
- Restyling for register, home, login by @willbach in #178
- Network indicator and better register styling by @willbach in #182
- eth: change two nerdview error messages by @hosted-fornet in #184
- Silly bugfix for login.html JS by @dr-frmr in #175
- net: respond to debugging, and http_client: remove panics by @dr-frmr in #179
- Da/remove cap sigs by @tadad in #173
- build-release: build into zip files with proper names by @hosted-fornet in #181
- app_store: fix
get_capability()
bug by using fixed process_lib by @hosted-fornet in #185 - http_server: only send response if process wants it by @bitful-pannul in #180
- develop by @hosted-fornet in #172
Full Changelog: v0.5.0-alpha...v0.5.1-alpha
Alpha 0.5.0
First release under the new name: Kinode
To run the binary, you must indicate where the home folder for the node will be and use an --rpc-url
flag. You may also optionally specify your HTTP port. Here's an example:
./kinode home/mynodename --rpc wss://opt-mainnet.g.alchemy.com/v2/<RPC_API_KEY> --port 8080
Note that the RPC provider is set to Optimism Mainnet. This is where the identity contract is deployed. You may also boot a testnet node on ETH Sepolia:
./kinode home/mynodename --rpc wss://eth-sepolia.g.alchemy.com/v2/<RPC_API_KEY> --port 8081 --testnet
Testnet nodes must use the --testnet
flag on boot.
What's Changed
- login redirect fixes for fake and real nodes by @dr-frmr in #109
- gracefully exit in case of many SIG*s by @hosted-fornet in #111
- Check that Sepolia is current network before each interaction by @willbach in #116
- Dr/app store refresh by @dr-frmr in #118
- backup by @bitful-pannul in #117
- Handle refreshes in the register UI and update page titles by @willbach in #119
- Display chain and address info in header by @willbach in #120
- kernel: fix bugs associated with process sending messages to itself by @dr-frmr in #121
- Moar debug prints by @dr-frmr in #122
- vfs 0.5.0 by @bitful-pannul in #124
- Make wit version explicit per-process for backcompat by @dr-frmr in #127
- db ergonomics by @bitful-pannul in #131
- http_server: pass non-GET requests through on static binding by @dr-frmr in #132
- Add websocket client functionality to http/client by @willbach in #130
- kernel restart change by @bitful-pannul in #134
- Da/caps 3 by @tadad in #133
- hotfix bootstrap dirs by @bitful-pannul in #135
- Jf/eth rpc by @commercium-sys in #126
- Update chess to use uqdev UI format by @willbach in #136
- version->0.5.0, router->next-router by @dr-frmr in #137
- uqbar->nectar by @dr-frmr in #138
- vfs: hotfix cursor position addzip by @bitful-pannul in #141
- vfs, dbs: turn public off by @bitful-pannul in #142
- cargo clippy cleanup by @dr-frmr in #140
- Runtime flag for testnet, QNS->NDNS by @dr-frmr in #143
- Create LICENSE by @dr-frmr in #139
- Wg/ws client refactor by @willbach in #144
- Handle WS messages that are Blobs by @willbach in #147
- Register UI now selects Optimism or Sepolia by @willbach in #149
- Da/caps bug by @tadad in #152
- Add better debugging commands to term by @dr-frmr in #151
- Fixed chain switching by @willbach in #153
- eth: make provider robust, remove excess features for now by @dr-frmr in #155
- vfs: write_at() -> write_all() by @bitful-pannul in #154
- Fixed issue with resetting networking keys from login by @willbach in #157
- towards fixing
ket run-tests
by @hosted-fornet in #148 - in register UI, first prompt to change network by @willbach in #160
- Added more comments to http_client by @willbach in #161
- http-server: fix deadlock by @hosted-fornet in #159
- types: make message print prettier by @hosted-fornet in #162
- remove
Nectar
and.nec
by @dr-frmr in #156 - manifest: require *_capabilities by @hosted-fornet in #164
- http raw_path fix by @bitful-pannul in #158
- ndns->kns by @dr-frmr in #165
- Update chess URL by @willbach in #167
- rpc: add fire-and-forget mode by @hosted-fornet in #163
- Dr/port flag enforce only by @dr-frmr in #168
- app_store: add sqlite & kv perms so they can be requested by @hosted-fornet in #169
- tester: run tests in order by @hosted-fornet in #170
- Next release by @dr-frmr in #110
Full Changelog: v0.4.0-alpha...v0.5.0-alpha