v0.2.0
We are really excited to announce the new release of Spin, v0.2.0.
This release is packed with new features that simplify building and running WebAssembly components with Spin!
New features
- support for creating new Spin applications using templates (https://spin.fermyon.dev/quickstart)
- initial support for deploying Spin applications to Hippo (#353)
- a new Go SDK for building Spin components in TinyGo (https://spin.fermyon.dev/go-components)
- new mechanism for setting application and component configuration (https://spin.fermyon.dev/configuration)
- new command to simplify building multi-component applications (https://spin.fermyon.dev/developing)
- support for connecting to Redis from Spin components with the Rust and Go SDK (https://spin.fermyon.dev/rust-components, https://spin.fermyon.dev/go-components)
What's Changed
- Release .zip files only for Windows users by @bacongobbler in #301
- docs(index.md): remove redundant 'type' by @vdice in #303
- sip: Application Configuration by @lann in #202
- Add build info to spin version output by @dio in #308
- docs: add gzip content encoding for docs website by @radu-matei in #300
- Hello, Fermyon! by @bacongobbler in #306
- fix(spin/http): use URI with query as request URI by @radu-matei in #315
- chore(.github): uncomment macos build by @vdice in #317
- Rename config to manifest by @lann in #319
- Remove unused examples/spin-timer/Cargo.lock by @lann in #325
- docs: Refer to spin.toml as "manifest" by @lann in #326
- ci: Only run cargo fmt / clippy on Linux by @lann in #327
- List all languages that we believe work on Spin by @technosophos in #320
- Don't error if guest calls proc_exit with exit code 0 by @itowlson in #323
- Application Configuration by @lann in #307
- fix(docs): remove the content_encoding config for docs by @flynnduism in #329
- Object store iface by @lann in #165
- chore(templates): appease clippy by @vdice in #336
- Mitigate issue #337 by @lann in #339
- chore(styles): update styleguide so logo stop spinning by @flynnduism in #331
- Implement
outbound-redis
interface by @fibonacci1729 in #328 - ci(.github): add dispatch workflow by @vdice in #335
- Implement default value for --file by @bacongobbler in #350
- Diagnostic for running Wagi component under Spin executor by @itowlson in #351
- feat(sdk/go/redis): Tinygo sdk for outbound redis by @adamreese in #347
- feat(sdk/go/redis): Implement Redis handler for TinyGo by @adamreese in #355
- ref(sdk/go/http): Simplify code and free memory allocations by @adamreese in #356
- chore(ci): stop cancelling concurrent runs by @radu-matei in #358
- chore(sdk/go): consolidate
redis
andoutbound_redis
into single package by @radu-matei in #359 - fix(docs): stop the spin on the Fermyon logo on the docs website by @radu-matei in #360
- ci(dispatch.yml): only dispatch event if from fermyon/spin by @vdice in #361
- ci(release.yml): update canary release commit by @vdice in #364
- Add additional languages and toolchains by @0xcodeboi in #368
- Exit Spin when no Redis connection is available by @fibonacci1729 in #374
- Refactor ExecutionContext init out of triggers by @lann in #382
- feat(sdk/go): Implement spin-http for TinyGo by @adamreese in #375
- fix(http): Make spin http headers optional by @adamreese in #372
- feat(deploy): add spin deploy command by @michelleN in #353
- Fix link to contributing guide in doc's readme by @phaleth in #391
- feat: print available routes at startup of spin up by @toVersus in #392
- chore(tinygo): Add -no-debug build flag in examples by @adamreese in #387
- chore (devcontainer): remove the third-party as extension by @0xcodeboi in #395
- Validate component IDs are unique by @0xcodeboi in #370
- chore: go version suggestion in docs, go v1.17.9 in dev container by @0xcodeboi in #396
- Add support for "host components" by @lann in #381
- docs(*): add SIP for spin deploy by @michelleN in #304
- Improve config error formatting by @lann in #401
- Address feedback from host components PR by @lann in #403
- Rename config Path to TreePath by @lann in #405
- Migrate outbound-http to a HostComponent by @lann in #404
- feat: add spin build command to run local build command for components by @radu-matei in #352
- Only include the files for a component in its mount folder by @itowlson in #408
- Check for
wasm32-wasi
target in build script by @GeorgeHahn in #410 - feat(bindle push): add basic auth support by @vdice in #407
- fix(examples): Update examples to use current go SDK by @adamreese in #409
- feat: Remove ansi escape sequences when non-interactive by @adamreese in #416
- docs(*): fix links which result in 404: Not Found on GitHub by @dicej in #426
- added http OPTIONS by @Mossaka in #419
- feat(cli): add Wasmtime cache by @radu-matei in #424
- feat: print component id when spin up by @lianghanzhen in #420
- refactor: default Application generic type to CoreComponent by @Mossaka in #430
- feat: trigger crate by @Mossaka in #418
- fix(docs): update Bartholomew with fix for relative links by @radu-matei in #432
- fix(http/router): update router to contain an ordered component map by @radu-matei in #435
- feat: add C++ spin-http example by @dicej in #433
- doc: fix instructions in distributing-apps.md by @dicej in #439
- perf: reduce peak memory usage and open files when loading bindle by @dicej in #440
- chore: update spin-sdk to point to upstream wasi-experimental-http by @Mossaka in #423
- Basic template support by @itowlson in #400
- Documentation fixes for quickstart, rust component guide by @technosophos in #441
- SIP: Trigger Executors by @lann in #417
- docs: Clean up SIP index, metadata by @lann in #443
- Fix Go template to get SDK from Git by @itowlson in #442
- Switch from
structopt
toclap
by @lann in #446 - Change
spin up
--server
to--bindle-server
by @lann in #452 - feat(sdk/go): Add SIP-002 "Application Configuration" to TinyGo SDK by @adamreese in #399
- Follow logs by @itowlson in #431
- fix(vscode): add templates directory to gopls ignore list by @radu-matei in #450
- Add update flag to
spin templates install
by @itowlson in #448 - add pub dev meeting info by @michelleN in #457
- Check if bindle already exists before pushing by @itowlson in #459
- docs(sip): add
spin build
SIP by @radu-matei in #384 - add with_wasmtime_engine() to Builder by @Mossaka in #437
- Doc comments for templates crate by @itowlson in #461
- Allow parcel ref in component source by @itowlson in #456
- Limit parallelism copying local assets by @lann in #465
- Confirm before writing template into directory with existing content by @itowlson in #467
- feat: Implement a wildcard in http allowed_domains to allow all domains by @Mossaka in #422
- test(sdk/go): Add integration tests for go sdk by @adamreese in #445
- Fix broken link in template docs by @itowlson in #470
New Contributors
- @dio made their first contribution in #308
- @0xcodeboi made their first contribution in #368
- @phaleth made their first contribution in #391
- @toVersus made their first contribution in #392
- @GeorgeHahn made their first contribution in #410
- @dicej made their first contribution in #426
- @Mossaka made their first contribution in #419
- @lianghanzhen made their first contribution in #420
Full Changelog: v0.1.0...v0.2