v0.3 #216
progrium
announced in
Announcements
v0.3
#216
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Bundles and Builds
While v0.3-preview brought a full rewrite and introduced a new foundation inspired by Plan 9, this release is a refinement of that preview release. We put a lot of effort into the build process to improve the initial contributor experience and our release process. We now have GitHub Actions creating release-ready artifacts with every push. We are also introducing Wanix bundles, bug fixes, and much more.
Wanix Bundles
Wanix bundles are what the Wanix runtime runs. They let you define a Wanix environment for a particular purpose. A Wanix bundle is a tarball of files made available to Wanix via a
#bundlekernel device. They can contain one or more filesystem images, Wasm/WASI executables, an initialization script, and optionally their own build of the Wanix Wasm runtime module. In future releases they'll be able to contain the v86 files and Linux kernel, making the runtime smaller and x86 emulation truly optional.The Wanix shell seen in the v0.3-preview demo is now a bundle. There is another experimental bundle under
hackfor an Alpine environment with networking/internet support. Another extremely minimal bundle can be found in the WASI Golang test program (test/wasi/golang). It just contains the Wasm and an init script to run it, wiring its stdout to the new console device. Here is an abbreviated version of this init script, which also shows newly added stream APIs:Bundles and their init scripts are still very loosely defined and are expected to evolve over the next releases.
New Makefile
The CONTRIBUTING doc has been updated on how to use our new Makefile, which now prints its own help. Running
makealone will return a list of task targets and descriptions:This should also give a sense of the various components involved in Wanix now. Notably, we've consolidated the Wasm module and all JavaScript into what we call the Wanix runtime. This is what you'd include on a web page to run Wanix. This runtime is embedded in the Wanix command (aka Wanix CLI), which acts as a toolchain for developing and working with Wanix and Wanix bundles.
As usual, we'd love your help with the next release, so if you're interested, take a look at this list of potential good first issues as well as our 0.4 sprint roadmap. Definitely join the Discord either way!
Bug Fixes
Improved Contributor Experience and CI #191
Introduced Bundles #207
#bundlekernel deviceChanges to Wanix command / CLI
wanix bundlecommands added to manage bundles CLI: Bundle Management #194wanix consoleandwanix mountexperimental commands disabled and moved to hack dirwanix serveserves current directory with Wanix files overlayedwanix exportwrites to a dir instead of outputting tar, but is also now deprecatedChanges to API
Other Changes
#pipeand#consolekernel devices Pipe and console device #214New Contributors
Thank you to everybody that contributed beyond code as well!
Full Changelog: v0.3-preview...v0.3
This discussion was created from the release v0.3.
Beta Was this translation helpful? Give feedback.
All reactions