Releases: deislabs/spiderlightning
v0.5.1
What's Changed
- fix typo in README by @danbugs in #399
- update the perm mode of install.sh by @Iceber in #401
- removed downloaded wit files in JS template by @danbugs in #400
- Fixes bug reported in #402 by @danbugs in #403
- bump to v0.5.1 by @danbugs in #405
New Contributors
Full Changelog: v0.5.0...v0.5.1
v0.5.0
What's Changed
- tests: Re-enable AWS integration tests by @Mossaka in #360
- Chore: bump wasmtime to 7.0.0 by @Mossaka in #373
- feat(blob-store): Add wasi-blob-store capability by @Mossaka in #361
- test: added a messaging integration test by @Mossaka in #283
- refactor(slightfile): move slightfile logic to its own crate by @Mossaka in #375
- feat(slightfile): implement wildcard namespace for resources by @Mossaka in #376
- new logo for SpiderLightning by @danbugs in #387
- CI: Update Windows CI to the correct openssl path by @Mossaka in #392
- Fixed clippy issue by @Mossaka in #393
- added cli option to link all caps needed for dynamic langs by @danbugs in #386
- fixed typo in slightfile of nats messaging example by @danbugs in #389
- fix: change receive to receive with a timeout by @Mossaka in #385
- fix: remove tempdir crate and replace it with tempfile by @Mossaka in #394
- fix(messaging): fixed a bug in
subscribe
function and moved filesystem implementation in house by @Mossaka in #388 - chore: bump to 0.5.0 by @Mossaka in #384
- http client requests can now have a body by @danbugs in #390
- merging slightJS upstream by @danbugs in #395
- added command to download js template by @danbugs in #396
- added JS docs, and fixed build command by @danbugs in #397
- update docs && fix && fmt by @danbugs in #398
Full Changelog: v0.4.1...v0.5.0
v0.4.1
v0.4.0
Announcing slight
v0.4.0, which includes several new features and improvements.
New Features:
- NATS is now available as a new service for the messaging capability. This feature was added by @danbugs in pull request #354.
Breaking Change:
The http-server capability now builds on WASI Reactor model. This basically means that the rust program that uses http-server capability will need to be created as a rust library instead of a binary program.
To get started, execute the command: cargo new --lib spidey
. This will create a rust library.
The Cargo.toml
will then look like
[package]
name = "spidey"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib]
crate-type = ["cdylib"]
[dependencies]
anyhow = "1"
# ^^^ Flexible concrete Error type built on std::error::Error
wit-bindgen-rust = { git = "https://github.com/fermyon/wit-bindgen-backport" }
# ^^^ A language binding generator for WebAssembly interface types
wit-error-rs = { git = "https://github.com/danbugs/wit-error-rs", rev = "05362f1a4a3a9dc6a1de39195e06d2d5d6491a5e" }
# ^^^ Convenience error-related trait implementations for types generated from a wit-bindgen import
slight-http-handler-macro = { git = "https://github.com/deislabs/spiderlightning", tag = "v0.4.0" }
# ^^^ Macro for creating http request handlers when using SpiderLightning's http interface
slight-http-server-macro = { git = "https://github.com/deislabs/spiderlightning", tag = "v0.4.0" }
Last, a simply http-server looks like
use anyhow::Result;
use keyvalue::*;
use http_server::*;
use slight_http_handler_macro::register_handler;
use slight_http_server_macro::on_server_init;
wit_bindgen_rust::import!("wit/keyvalue_0.4.0/keyvalue.wit");
wit_bindgen_rust::import!("wit/http-server_0.4.0/http-server.wit");
wit_bindgen_rust::export!("wit/http-server_0.4.0/http-server-export.wit");
wit_error_rs::impl_error!(http_server::HttpRouterError);
wit_error_rs::impl_error!(keyvalue::KeyvalueError);
#[on_server_init]
fn main() -> Result<()> {
let router = Router::new()?;
let router_with_route = router.get("/hello", "handle_hello")?;
let _ = Server::serve("0.0.0.0:3000", &router_with_route)?;
Ok(())
}
#[register_handler]
fn handle_hello(req: Request) -> Result<Response, HttpError> {
println!("I just got a request uri: {} method: {}", req.uri, req.method);
let container = Keyvalue::open("my-container").unwrap();
let res = container.get("key1");
let body = match res {
Ok(value) => value,
Err(e) => "".as_bytes().to_vec(),
};
Ok(Response {
headers: Some(req.headers),
body: Some(body),
status: 200,
})
}
Improvements:
The handle_run
function now accepts io redirect paths, thanks to @devigned's contribution in pull request #342.
We encourage all users to upgrade to this latest version to take advantage of these new features and improvements. Thank you to all of our contributors who made this release possible!
What's Changed
- added NATS - a new implementor for the messaging capability! by @danbugs in #354
- enable handle_run to accept io redirect paths by @devigned in #342
- feat(http-server): Add WASI reactor support to http-server cap by @Mossaka in #359
- ci: Remove restaurant-backend and updated CI to build examples by @Mossaka in #362
- made supported capabilities msg more maintaible by @danbugs in #357
- chore: bump to 0.4.0 by @Mossaka in #363
Full Changelog: v0.3.3...v0.4.0
v0.3.3
What's Changed
- Fix team name typo by @fcabrera23 in #341
slight
now pre-opens the.
dir to allow filesystem access by @danbugs in #343- Updated wit-bindgen to fermyon/wit-bindgen-backport and wasmtime to 5 by @Mossaka in #344
- Chore: removed unused deps by @Mossaka in #345
- Chore: update deps by @Mossaka in #346
- Chore: Bump to 0.3.3 by @Mossaka in #347
New Contributors
- @fcabrera23 made their first contribution in #341
Full Changelog: v0.3.2...v0.3.3
v0.3.2
What's Changed
- Refactor: Re-structure slight repo by @Mossaka in #325
- chore: updated http-server example by @Mossaka in #326
- Chore: bump slight version to 0.4.0 by @Mossaka in #333
- Refactor: move slight to root path and simplify CLI by @Mossaka in #334
- Update README's repo structure by @Mossaka in #335
- Bug: Fixed typos in
add
command and added integration tests by @Mossaka in #336 - Lower version to 0.3.2 for a new release by @Mossaka in #338
- lower templates version to 0.3.2 for a new release by @Mossaka in #339
- Update templates's cargo.toml by @Mossaka in #340
Full Changelog: v0.3.1...v0.3.2
v0.3.1
What's Changed
- Updated the slight new readme to use
0.1.0
version by @Mossaka in #227 - feat: better error message for missing `wasm32-wasi by @Mossaka in #218
- chore(mq): update azure service bus dependency by @Mossaka in #224
- feat(slight): better error message for slight new command by @Mossaka in #228
- feat(test): added integration tests for kv redis implementaiton by @Mossaka in #196
- refactor: runtime takes no dependencies on capabilities by @Mossaka in #240
- refactor: removed events capability by @Mossaka in #243
- fix: do not alter source path for install binary when untarring on macOS by @raymundovr in #245
- small improvements on the mosquitto implementation by @danbugs in #256
- no longer using brew to install redis on linux by @danbugs in #257
- moved proposals to a proposals folder and created a proposal template by @danbugs in #258
- docs: added pub/sub background study doc by @Mossaka in #255
- pubsub refactor: persistent subscriptions + http interop by @danbugs in #261
- pubsub refactor: added subscription tokens to receive fxn by @danbugs in #263
- fixing Azure pipelines by @danbugs in #264
- improved error messages when failing to provide a correct slightfile by @danbugs in #273
- update README repo structure by @danbugs in #274
- align our interfaces w/ the wasi proposals by @danbugs in #269
- chore: updated dependencies by @Mossaka in #260
- merging mq into messaging by @danbugs in #270
- equalizing azsbus implemenation w/ kafka and mosquitto by @danbugs in #271
- updating docs after mq merge by @danbugs in #277
- modified messaging filesystem impl to have all functions of messaging by @danbugs in #279
- deleted old mq folder by @danbugs in #281
- Added dependabot.yml by @Mossaka in #286
- tests: disabling the aws dynamodb integration test by @Mossaka in #287
- feat: renamed router http error to http-router-error by @Mossaka in #282
- feat: use conditional compilation for each service's implementation in messaging and keyvalue capabilities by @Mossaka in #284
- feat: added http-client capability and a reqwest implementation by @Mossaka in #285
- Bump anyhow from 1.0.66 to 1.0.68 by @dependabot in #288
- Bump proc-macro2 from 1.0.47 to 1.0.49 by @dependabot in #289
- Bump async-trait from 0.1.59 to 0.1.60 by @dependabot in #290
- Bump openssl from 0.10.43 to 0.10.45 by @dependabot in #291
- Bump serde from 1.0.148 to 1.0.152 by @dependabot in #292
- Bump clap from 3.2.23 to 4.0.32 by @dependabot in #295
- Bump quote from 1.0.21 to 1.0.23 by @dependabot in #297
- Bump toml from 0.5.9 to 0.5.10 by @dependabot in #298
- Bump tokio from 1.22.0 to 1.24.1 by @dependabot in #299
- small fix on http-client-demo by @danbugs in #304
- Update dependabot.yml to monthly by @Mossaka in #303
- Bump serde_json from 1.0.89 to 1.0.91 by @dependabot in #302
- Bump redis from 0.22.1 to 0.22.2 by @dependabot in #301
- Bump azure_core from 0.7.0 to 0.8.0 by @dependabot in #300
- fix ci by @danbugs in #306
- tests: added a http-client integration test by @Mossaka in #293
- sql capability by @danbugs in #305
- Bump futures from 0.3.25 to 0.3.26 by @dependabot in #313
- Bump reqwest from 0.11.13 to 0.11.14 by @dependabot in #315
- Bump tokio from 1.24.1 to 1.25.0 by @dependabot in #317
- Bump redis from 0.22.2 to 0.22.3 by @dependabot in #316
- chore: small cleanup of http-server-demo by @flavio in #318
- Bump openssl-src from 111.24.0+1.1.1s to 111.25.0+1.1.1t by @dependabot in #319
- Fix: bump slight version to 0.3.0 by @Mossaka in #320
- Docs: modifies README by @Mossaka in #321
- CI: Use a seperate job to run rustfmt by @Mossaka in #323
- tied slight version to interface version when using slight add or slight new by @danbugs in #322
- bump version to v0.3.1 by @danbugs in #324
- reusing ci.yaml for releases by @danbugs in #327
- added workflow_call to on by @danbugs in #328
- add needs to release pipeline by @danbugs in #329
- added artifact communication between ci.yaml and release.yml by @danbugs in #330
- update path of downloaded artifacts in release pipeline by @danbugs in #331
- release.yml now downloads specific artifacts for release by @danbugs in #332
New Contributors
- @raymundovr made their first contribution in #245
- @dependabot made their first contribution in #288
- @flavio made their first contribution in #318
Full Changelog: v0.2.0...v0.3.1
v0.3.0
What's Changed
- Updated the slight new readme to use
0.1.0
version by @Mossaka in #227 - feat: better error message for missing `wasm32-wasi by @Mossaka in #218
- chore(mq): update azure service bus dependency by @Mossaka in #224
- feat(slight): better error message for slight new command by @Mossaka in #228
- feat(test): added integration tests for kv redis implementaiton by @Mossaka in #196
- refactor: runtime takes no dependencies on capabilities by @Mossaka in #240
- refactor: removed events capability by @Mossaka in #243
- fix: do not alter source path for install binary when untarring on macOS by @raymundovr in #245
- small improvements on the mosquitto implementation by @danbugs in #256
- no longer using brew to install redis on linux by @danbugs in #257
- moved proposals to a proposals folder and created a proposal template by @danbugs in #258
- docs: added pub/sub background study doc by @Mossaka in #255
- pubsub refactor: persistent subscriptions + http interop by @danbugs in #261
- pubsub refactor: added subscription tokens to receive fxn by @danbugs in #263
- fixing Azure pipelines by @danbugs in #264
- improved error messages when failing to provide a correct slightfile by @danbugs in #273
- update README repo structure by @danbugs in #274
- align our interfaces w/ the wasi proposals by @danbugs in #269
- chore: updated dependencies by @Mossaka in #260
- merging mq into messaging by @danbugs in #270
- equalizing azsbus implemenation w/ kafka and mosquitto by @danbugs in #271
- updating docs after mq merge by @danbugs in #277
- modified messaging filesystem impl to have all functions of messaging by @danbugs in #279
- deleted old mq folder by @danbugs in #281
- Added dependabot.yml by @Mossaka in #286
- tests: disabling the aws dynamodb integration test by @Mossaka in #287
- feat: renamed router http error to http-router-error by @Mossaka in #282
- feat: use conditional compilation for each service's implementation in messaging and keyvalue capabilities by @Mossaka in #284
- feat: added http-client capability and a reqwest implementation by @Mossaka in #285
- Bump anyhow from 1.0.66 to 1.0.68 by @dependabot in #288
- Bump proc-macro2 from 1.0.47 to 1.0.49 by @dependabot in #289
- Bump async-trait from 0.1.59 to 0.1.60 by @dependabot in #290
- Bump openssl from 0.10.43 to 0.10.45 by @dependabot in #291
- Bump serde from 1.0.148 to 1.0.152 by @dependabot in #292
- Bump clap from 3.2.23 to 4.0.32 by @dependabot in #295
- Bump quote from 1.0.21 to 1.0.23 by @dependabot in #297
- Bump toml from 0.5.9 to 0.5.10 by @dependabot in #298
- Bump tokio from 1.22.0 to 1.24.1 by @dependabot in #299
- small fix on http-client-demo by @danbugs in #304
- Update dependabot.yml to monthly by @Mossaka in #303
- Bump serde_json from 1.0.89 to 1.0.91 by @dependabot in #302
- Bump redis from 0.22.1 to 0.22.2 by @dependabot in #301
- Bump azure_core from 0.7.0 to 0.8.0 by @dependabot in #300
- fix ci by @danbugs in #306
- tests: added a http-client integration test by @Mossaka in #293
- sql capability by @danbugs in #305
- Bump futures from 0.3.25 to 0.3.26 by @dependabot in #313
- Bump reqwest from 0.11.13 to 0.11.14 by @dependabot in #315
- Bump tokio from 1.24.1 to 1.25.0 by @dependabot in #317
- Bump redis from 0.22.2 to 0.22.3 by @dependabot in #316
New Contributors
- @raymundovr made their first contribution in #245
- @dependabot made their first contribution in #288
Full Changelog: v0.2.0...v0.3.0
v0.2.0
What's Changed
- fix(events): added async to events cap by @Mossaka in #220
- feat(kv): added keys() operation to kv cap by @Mossaka in #221
- fixed install script on MacOS by @danbugs in #223
- v0.2.0 (
slightfile
redesign) by @danbugs in #222 - pre-kubecon patches by @danbugs in #226
Full Changelog: v0.1.0...v0.2.0
v0.1.0
This release includes:
- all SpiderLightning
.wit
files, - templates that generate new projects when running
slight new
(i.e.,c-template
, andrust-template
), and slight
binaries for linux x86_64, windows x86_64, mac amd64, and mac aarch64.