Releases: kinode-dao/kinode
v0.8.1
A patch release. Contains UI fixes and networking-configuration fixes that allow hosted nodes to upgrade and operate smoothly. Please see the 0.8.0 release notes for more details.
For Developers: Apps that worked on 0.7.x will continue to work on 0.8.x. However, the eth:distro:sys
and net:distro:sys
APIs have had breaking changes, and the kinode_process_lib
library functions to interact with them are outdated. In order to use these APIs with kinode_process_lib
, you must upgrade to that library's 0.8.0 release. When you do this, you must update your program to use wit-bindgen = "0.24.0"
and, in the metadata.json
file for your package, add the field "wit_version": 0
in the properties
object. Packages that do not specify a wit_version will default to 0.7. Packages signaling version 0
will use the current wit version, 0.8. This version will be incremented with every future wit change.
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
What's Changed
- valet button should link to valet, not to the kinode homepage (which … by @0x70b1a5 in #389
- fix: allow for registration without a networking mode by @dr-frmr in #391
- Dp/on demand buildserver by @dolled-possum in #392
- Develop 0.8.1 by @dr-frmr in #390
Full Changelog: v0.8.0...v0.8.1
Beta 0.8.0
A new release! Since we are still pre-1.0, this minor release contains breaking changes from 0.7.4. However, nodes that upgrade to 0.8.0 will still be able to safely communicate with older nodes. The networking protocol has been rewritten to operate on multiple protocols, but older nodes that only use the WebSockets version of the protocol will still work.
Upgrading should also be seamless. You can safely boot an older node with this release.
However, in order to take advantage of the new networking TCP implementation, you must reset your Node ID onchain. You can do this by rebooting the node and choosing "reset node" instead of logging in.
For Developers: Apps that worked on 0.7.x will continue to work on 0.8.0. However, the eth:distro:sys
and net:distro:sys
APIs have had breaking changes, and the kinode_process_lib
library functions to interact with them are outdated. In order to use these APIs with kinode_process_lib
, you must upgrade to that library's 0.8.0 release. When you do this, you must update your program to use wit-bindgen = "0.24.0"
and, in the metadata.json
file for your package, add the field "wit_version": 0
in the properties
object. Packages that do not specify a wit_version will default to 0.7. Packages signaling version 0
will use the current wit version, 0.8. This version will be incremented with every future wit change.
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
What's Changed
- wit apis by @nick1udwig in #335
- Add multi-wit-version support to kernel by @dr-frmr in #348
- dont
kit::build
.DS_Store
by @nick1udwig in #351 - native-tls so that wss:// type urls will work by @Tenari in #349
- Revert "native-tls so that wss:// type urls will work" by @dr-frmr in #353
- Native tls feature flag dev by @Tenari in #354
- appstore widget links by @0x70b1a5 in #352
- vfs: remove unused select by @nick1udwig in #350
- 0.8: modular networking by @dr-frmr in #319
- Widget ui fixes by @0x70b1a5 in #355
- Drag and drop apps, settings buttons by @0x70b1a5 in #357
- Tm/refactor networking info by @0x70b1a5 in #360
- push on github releases by @0xlynett in #346
- Designed default app icons & appstore visuals by @0x70b1a5 in #358
- permit multiple buttons (update + launch) to show in appstore by @0x70b1a5 in #364
- Fix osname ownership check UI by @0x70b1a5 in #365
- add tcp to networking, rewrite ws networking by @dr-frmr in #359
- add comments to terminal src by @jurij-jukic in #369
- make kernelprint a response instead of a raw print by @dr-frmr in #363
- tester: simplify by @nick1udwig in #370
- widget styling by @0x70b1a5 in #373
- Refactor keygen FE code by @0x70b1a5 in #368
- add download/install in progress messages by @0x70b1a5 in #372
- add comments to kernel by @jurij-jukic in #371
- Update README.md by @nick1udwig in #376
- Appstore paging fix by @0x70b1a5 in #375
- app store refactor by @dr-frmr in #366
- feat: secure subdomains for settings, improvements to server and login by @dr-frmr in #374
- configure dev servers' proxies; fix blackscreen by @0x70b1a5 in #377
- add delete key to terminal by @dr-frmr in #378
- fix: vfs crash due to ProcessIdParseError display function by @dr-frmr in #380
- fix: delete old /pkg when new one is unzipped to there by @dr-frmr in #381
- eth: explicit rpc error return by @bitful-pannul in #383
- update alloy deps by @bitful-pannul in #382
- release-candidate workflow by @dolled-possum in #384
- hotfix by @bitful-pannul in #385
- Dp/automated build workflow by @dolled-possum in #386
- ssh command timeout by @dolled-possum in #388
- develop 0.8.0 by @nick1udwig in #347
New Contributors
- @Tenari made their first contribution in #349
- @jurij-jukic made their first contribution in #369
- @dolled-possum made their first contribution in #384
Full Changelog: v0.7.4...v0.8.0
Beta 0.7.4
Contains an important set of fixes for the app store UI.
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
Full Changelog: v0.7.3...v0.7.4
Beta 0.7.3
Contains an important bugfix for the ETH provider runtime module and a number of 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
- homepage and appstore touch-up by @0x70b1a5 in #340
- fix punycode error showing up on all name attempts by @0x70b1a5 in #342
- Develop 0.7.3 by @dr-frmr in #341
- fix import keyfile by @0x70b1a5 in #343
- Develop 0.7.3 by @dr-frmr in #344
Full Changelog: v0.7.2...v0.7.3
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