# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 0.15.0 (2024-11-08)
### Chore
- bump wascap v0.15.1, wasmcloud-core v0.13.0, wash-lib v0.29.0, wasmcloud-tracing v0.10.0, wasmcloud-provider-sdk v0.11.0, wash-cli v0.36.0, safety bump 7 crates
SAFETY BUMP: wash-lib v0.29.0, wasmcloud-tracing v0.10.0, wasmcloud-provider-sdk v0.11.0, wash-cli v0.36.0, wasmcloud-host v0.22.0, wasmcloud-runtime v0.6.0, wasmcloud-test-util v0.14.0
- Improve parse_wit_package_name handling
- bump wasmcloud-core v0.12.0, wash-lib v0.28.0, wasmcloud-tracing v0.9.0, wasmcloud-provider-sdk v0.10.0, wash-cli v0.35.0, safety bump 7 crates
SAFETY BUMP: wash-lib v0.28.0, wasmcloud-tracing v0.9.0, wasmcloud-provider-sdk v0.10.0, wash-cli v0.35.0, wasmcloud-host v0.21.0, wasmcloud-runtime v0.5.0, wasmcloud-test-util v0.13.0
- Revert OtelProtocol rename, add future compatibility aliasing
- Use Default impl for Level
- remove redundant `tower` dep
- Switch oci-distribution to oci feature
- Replace actor references by component in crates
Rename wash-cli wash-build tests name and references
Fix nix flake path to Cargo.lock file
Fix format
Rename in wash-cli tests
- generate changelogs after 1.0.1 release
- updated with newest features
- address clippy warnings
- Excises vestigal remains of wasmbus-rpc
There were some parts of the core crate that we no longer use,
especially now that we don't require claims signing anymore. This
removes them and bumps the core crate in preparation for 1.0
- bump to 0.3
- use `&str` directly
- Use traces instead of tracing user-facing language to align with OTEL signal names
- move CallTargetInterface to core
- address clippy issues
- add descriptions to crates
- remove direct `wasmbus_rpc` dependency
- replace error field name with err
### Documentation
- add README and update docs
### New Features
- Updates tests and examples to support the new wkg deps
This updates all dependencies to have a wkg.lock but I didn't add to the
gitignore for convenience. The deps are still committed in tree for backwards
compatibility and they all use the new versioned logging. This looks
really chunky bust is mostly dep updates/deletes
- fix tests, update parsing of advanced WIT package names
- add RPC subject for provider config updates
- add string and byte utility functions for SecretValue
This commit add some utility functions to enable easily accessing
string values or byte vector values of `SecretValue`s
- impl Zeroize for secret values
- Add support for supplying additional CA certificates to OCI and OpenTelemetry clients
- fetch secrets for providers and links
- upgrade `wrpc`, `async-nats`, `wasmtime`
- Add support for configuring grpc protocol with opentelemetry
- generate crate changelogs
- introduce provider interface sdk
- use native TLS roots along webpki
- implement Redis `wrpc:keyvalue/{atomic,eventual}`
- implement `wasi:http/outgoing-handler` provider
- deliver full config with link
- Add flags for overriding the default OpenTelemetry endpoint
- Switch to using --enable-observability and --enable- flags
- support pubsub on wRPC subjects
Up until now, publishing and subscribing for RPC communcations on the
NATS cluster happened on subjects that were related to the wasmbus
protocol (i.e. 'wasmbus.rpc.*').
To support the WIT-native invocations, i.e. wRPC (#1389), we must
change the publication and subscription subjects to include also the
subjects that are expected to be used by wprc.
This commit updates the provider-sdk to listen *additionally* to
subjects that are required/used by wrpc, though we do not yet have an
implementation for encode/deocde.
- change set-target to set-link-name
Up until the relatively low-level `wasmcloud:bus/lattice` WIT
interface has used a function called `set-target` to aim invocations
that occurred in compliant actors and providers.
Since wRPC (#1389)
enabled wasmCloud 1.0 is going to be WIT-first going forward, all
WIT-driven function executions have access to the relevant
interface (WIT interfaces, rather than Smithy-derived ones) that they
call, at call time.
Given that actor & provider side function executions have access to
their WIT interfaces (ex. `wasi:keyvalue/readwrite.get`), what we need
to do is differentiate between the case where *multiple targets*
might be responding to the same WIT interface-backed invocations.
Unlike before, `set-target` only needs to really differentiate between *link
names*.
This commit updates `set-target` to perform differentiate between link
names, building on the work already done to introduce more opaque
targeting via Component IDs.
- support chunking and dechunking of requests
- support OTEL traces end-to-end
### Bug Fixes
- allow missing registry authentication
This commit fixes a bug that ignored the `allow_insecure` setting when
building registry configuration.
- prep for upgrade to rustls_native_certs v0.8.0
- add missing feature for `oci-wasm`
- Add signal-specific path components to OtelConfig's default endpoints
- default to http otel protocol if not supplied
- compile with default features
- fix `link_name` functionality, reorganize tests
- remove LatticeTargetId
- correct comment on wrpc Client
- allow namespaces with slashes
- look for invocation responses from providers
- enable `std` anyhow feature
### Other
- v0.12.1
- wasmcloud-core v0.11.0
- bump wasmcloud-core v0.10.0, safety bump 5 crates
SAFETY BUMP: wasmcloud-runtime v0.3.0, wasmcloud-tracing v0.8.0, wasmcloud-provider-sdk v0.9.0, wash-cli v0.33.0, wash-lib v0.26.0
- bump wasmcloud-core v0.9.0, wash-lib v0.24.0, wasmcloud-tracing v0.7.0, wasmcloud-provider-sdk v0.8.0, wasmcloud-secrets-types v0.4.0, wash-cli v0.31.0, safety bump 5 crates
SAFETY BUMP: wash-lib v0.24.0, wasmcloud-tracing v0.7.0, wasmcloud-provider-sdk v0.8.0, wash-cli v0.31.0, wasmcloud-secrets-client v0.4.0
- bump for test-util release
Bump wasmcloud-core v0.8.0, opentelemetry-nats v0.1.1, provider-archive v0.12.0, wasmcloud-runtime v0.3.0, wasmcloud-secrets-types v0.3.0, wasmcloud-secrets-client v0.3.0, wasmcloud-tracing v0.6.0, wasmcloud-host v0.82.0, wasmcloud-test-util v0.12.0, safety bump 8 crates
SAFETY BUMP: wasmcloud-runtime v0.3.0, wasmcloud-secrets-client v0.3.0, wasmcloud-tracing v0.6.0, wasmcloud-host v0.82.0, wasmcloud-test-util v0.12.0, wasmcloud-provider-sdk v0.7.0, wash-cli v0.30.0, wash-lib v0.23.0
- update wRPC
### Refactor
- re-add missing cache code
- move functionality into core
This commit moves functionality that was previously located in the
unreleased `wasmcloud-host` crate into core.
- efficiency, pass optional vec secrets
- light refactor from PR followup
- remove extra trace_level field
- return wrapped `WrpcClient` directly
- move wasmbus RPC topic generation to core
This commit moves the topic generation functions that were used for
wasmbus RPC topics from `provider-sdk` to `core` so that they can be
used/referred to more widely.
- get values from new link def constistently
This commit updates all providers that were marked with TODOs related
to using named config to use `InterfaceLinkDefinition.target_config`
temporarily.
The idea is to stuff configuration into the "names"s of configs that
were supposed to be in use (i.e. `["NAME=VALUE", "NAME=VALUE"]` rather
than `["config-1", "config-2"]`), ahead of named config being ready.
- move wasmcloud wrpc transport client to core
This commit moves the wasmcloud-specific wrpc transport client to the
`wasmcloud-core` crate. From here, it can be used by both
the host (`wasmbus`) and other places like tests.
- InterfaceLinkDefinition -> core
This commit refators the types defined in both `wasmcloud-core` and
`wasmcloud-control-interface` to make it easier to distinguish what
types belong where and what they're related to.
Ultimately the goal here was was to move `InterfaceLinkDefinition`
into `wasmcloud-core` so it can be used in other places, but it was a
good chance to reorganize.
- convert httpclient provider to bindgen
This commit converts the in-tree httpclient provider to use
provider-wit-bindgen for it's implementation.
- clean-up imports
- move chunking to core
### Style
- replace needs_chunking function with direct comparison
### Chore (BREAKING)
- Rename OtelProtocol variants to lowercase
- Skip serializing Option fields if set to None
- remove cluster_seed/cluster_issuers
- remove LinkDefinition
- bump to 0.2.0 for async-nats release
### New Features (BREAKING)
- add checked set_link_name
- add hostdata xkeys, secrets as binary
- add trace_level option
- add secrets to hostdata and links
- Adds version to control API
This should be the final breaking change of the API and it will require
a two phased rollout. I'll need to cut new core and host versions first
and then update wash to use the new host for tests.
- pass config directly to providers
- Updates topics to the new standard
This is a wide ranging PR that changes all the topics as described
in #1108. This also involved removing the start and stop actor
operations. While I was in different parts of the code I did some small
"campfire rule" cleanups mostly of clippy lints and removal of
clippy pedant mode.
### Bug Fixes (BREAKING)
- Fixes issue with provider cache invalidation
So it turns out that our digest check and invalidation was working
perfectly, but changes to a provider weren't working properly. This was
due to the _separate_ caching step for the actual extracted binary. To
fix this, I made the oci loader return an enum indicating whether it was
a cache hit or miss and then converted that over to do the right thing
when loading the par
Also, I bumped the version to 0.14 of wasmcloud-core because that is the
version that is released on crates.io. I don't know why it ended up that
way, but I wanted to make sure things reflected reality
### Refactor (BREAKING)
- make content_length a required field
### Commit Statistics
- 93 commits contributed to the release over the course of 438 calendar days.
- 88 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' were seen in commit messages
### Commit Details
view details
* **Uncategorized**
- Fixes issue with provider cache invalidation ([`57efd50`](https://github.com/wasmCloud/wasmCloud/commit/57efd505aebe0f9805221449b7ef3e8557370721))
- Bump wascap v0.15.1, wasmcloud-core v0.13.0, wash-lib v0.29.0, wasmcloud-tracing v0.10.0, wasmcloud-provider-sdk v0.11.0, wash-cli v0.36.0, safety bump 7 crates ([`c5ba85c`](https://github.com/wasmCloud/wasmCloud/commit/c5ba85cfe6ad63227445b0a5e21d58a8f3e15e33))
- Improve parse_wit_package_name handling ([`db94b15`](https://github.com/wasmCloud/wasmCloud/commit/db94b15b82f041bd80026c6f3dcf5e5102701e38))
- V0.12.1 ([`18dccc3`](https://github.com/wasmCloud/wasmCloud/commit/18dccc362462cc70e82720bb4cb818bda9ae5b12))
- Allow missing registry authentication ([`86863ee`](https://github.com/wasmCloud/wasmCloud/commit/86863ee2ed2e0bb8c2c39844baff5cb8a17119fd))
- Updates tests and examples to support the new wkg deps ([`f0f3fd7`](https://github.com/wasmCloud/wasmCloud/commit/f0f3fd7011724137e5f8a4c47a8e4e97be0edbb2))
- Add checked set_link_name ([`5f05bcc`](https://github.com/wasmCloud/wasmCloud/commit/5f05bcc468b3e67e67a22c666d93176b44164fbc))
- Fix tests, update parsing of advanced WIT package names ([`ea814a1`](https://github.com/wasmCloud/wasmCloud/commit/ea814a1603d9d2ac7173c729024ba2834d97f45b))
- Bump wasmcloud-core v0.12.0, wash-lib v0.28.0, wasmcloud-tracing v0.9.0, wasmcloud-provider-sdk v0.10.0, wash-cli v0.35.0, safety bump 7 crates ([`44bf4c8`](https://github.com/wasmCloud/wasmCloud/commit/44bf4c8793b3989aebbbc28c2f2ce3ebbd4d6a0a))
- Revert OtelProtocol rename, add future compatibility aliasing ([`b8d2293`](https://github.com/wasmCloud/wasmCloud/commit/b8d229303bc1f8d1e0983cb5066f7b08bd961bbc))
- Wasmcloud-core v0.11.0 ([`e3c9676`](https://github.com/wasmCloud/wasmCloud/commit/e3c96762bda98efeb49bc67605d09453dadaa9ce))
- Rename OtelProtocol variants to lowercase ([`5aebf9b`](https://github.com/wasmCloud/wasmCloud/commit/5aebf9bab8b3dfdcb65342c549e8700138ab381f))
- Skip serializing Option fields if set to None ([`8676d12`](https://github.com/wasmCloud/wasmCloud/commit/8676d12373f238286606b17ba7918b308f2144be))
- Use Default impl for Level ([`ebe8ba9`](https://github.com/wasmCloud/wasmCloud/commit/ebe8ba9c7984a158c2c7e787bf02a420be62c530))
- Remove redundant `tower` dep ([`c205148`](https://github.com/wasmCloud/wasmCloud/commit/c205148b7f67ab5e80edbae46489083fcb665f99))
- Prep for upgrade to rustls_native_certs v0.8.0 ([`842b1c0`](https://github.com/wasmCloud/wasmCloud/commit/842b1c0f24c78ab5b891be204675748750387424))
- Bump wasmcloud-core v0.10.0, safety bump 5 crates ([`1af6e05`](https://github.com/wasmCloud/wasmCloud/commit/1af6e05f1a47be4e62a4c21d1704aff2e09bef89))
- Switch oci-distribution to oci feature ([`d26c69a`](https://github.com/wasmCloud/wasmCloud/commit/d26c69a22749bc92b8bfd2f4c93d0c9d3cc744ba))
- Re-add missing cache code ([`caa9e41`](https://github.com/wasmCloud/wasmCloud/commit/caa9e41b302571c864c56733f3a119da8a2a9a57))
- Add missing feature for `oci-wasm` ([`21d0601`](https://github.com/wasmCloud/wasmCloud/commit/21d0601b066a29a8b8f182c26372a0adeea290eb))
- Move functionality into core ([`0547e3a`](https://github.com/wasmCloud/wasmCloud/commit/0547e3a429059b15ec969a0fa36d7823a6b7331f))
- Bump wasmcloud-core v0.9.0, wash-lib v0.24.0, wasmcloud-tracing v0.7.0, wasmcloud-provider-sdk v0.8.0, wasmcloud-secrets-types v0.4.0, wash-cli v0.31.0, safety bump 5 crates ([`8403350`](https://github.com/wasmCloud/wasmCloud/commit/8403350432a2387d4a2bce9c096f002005ba54be))
- Add RPC subject for provider config updates ([`02d8865`](https://github.com/wasmCloud/wasmCloud/commit/02d88655045d7e620c2452b7d7689cede4ad12db))
- Bump for test-util release ([`7cd2e71`](https://github.com/wasmCloud/wasmCloud/commit/7cd2e71cb82c1e1b75d0c89bd5bda343016e75f4))
- Add string and byte utility functions for SecretValue ([`4ffee2e`](https://github.com/wasmCloud/wasmCloud/commit/4ffee2ed95985902071cbdbf8300dba8e2c37d81))
- Efficiency, pass optional vec secrets ([`cfbf232`](https://github.com/wasmCloud/wasmCloud/commit/cfbf23226f34f3e7245a5d36cd7bb15e1796850c))
- Impl Zeroize for secret values ([`10e5d70`](https://github.com/wasmCloud/wasmCloud/commit/10e5d702d940a4c36dff542d21c6f56f6c7cb28f))
- Add hostdata xkeys, secrets as binary ([`9045597`](https://github.com/wasmCloud/wasmCloud/commit/9045597210b60ea842a91a99d549d58d6440f660))
- Light refactor from PR followup ([`5a6fdbd`](https://github.com/wasmCloud/wasmCloud/commit/5a6fdbda50d91f23c3fc6ea2b28dfe55edd46217))
- Remove extra trace_level field ([`4e1d6da`](https://github.com/wasmCloud/wasmCloud/commit/4e1d6da189ff49790d876cd244aed89114efba98))
- Add trace_level option ([`3bd9da5`](https://github.com/wasmCloud/wasmCloud/commit/3bd9da571cb2a700cbb9a4966d805664a762d9a0))
- Add support for supplying additional CA certificates to OCI and OpenTelemetry clients ([`24e77b7`](https://github.com/wasmCloud/wasmCloud/commit/24e77b7f1f29580ca348a758302cdc6e75cc3afd))
- Fetch secrets for providers and links ([`e0324d6`](https://github.com/wasmCloud/wasmCloud/commit/e0324d66e49be015b7b231626bc3b619d9374c91))
- Add secrets to hostdata and links ([`724b079`](https://github.com/wasmCloud/wasmCloud/commit/724b079ef76491e7b030e7db248a2a8364258154))
- Upgrade `wrpc`, `async-nats`, `wasmtime` ([`9cb1b78`](https://github.com/wasmCloud/wasmCloud/commit/9cb1b784fe7a8892d73bdb40d1172b1879fcd932))
- Add README and update docs ([`48f6307`](https://github.com/wasmCloud/wasmCloud/commit/48f6307da226a48969d3d08188db89d3d8069495))
- Bump wascap v0.15.0, wasmcloud-core v0.7.0, wash-lib v0.22.0, wasmcloud-tracing v0.5.0, wasmcloud-provider-sdk v0.6.0, wash-cli v0.29.0, safety bump 5 crates ([`2e38cd4`](https://github.com/wasmCloud/wasmCloud/commit/2e38cd45adef18d47af71b87ca456a25edb2f53a))
- Add signal-specific path components to OtelConfig's default endpoints ([`56807ae`](https://github.com/wasmCloud/wasmCloud/commit/56807ae5d0f6bbddb12f0e22d58a3d84fdb4f48c))
- Default to http otel protocol if not supplied ([`825ef3a`](https://github.com/wasmCloud/wasmCloud/commit/825ef3a28cbdf49727b902a0a8d5e43aa502c522))
- Add support for configuring grpc protocol with opentelemetry ([`378b7c8`](https://github.com/wasmCloud/wasmCloud/commit/378b7c89c8b00a5dcee76c06bc8de615dc58f8aa))
- Configure reqwest with user-agent ([`ac8f773`](https://github.com/wasmCloud/wasmCloud/commit/ac8f773abc171d4083ae5d266c9e9efdf1a0af59))
- Replace actor references by component in crates ([`20c72ce`](https://github.com/wasmCloud/wasmCloud/commit/20c72ce0ed423561ae6dbd5a91959bec24ff7cf3))
- Bump provider-archive v0.10.2, wasmcloud-core v0.6.0, wash-lib v0.21.0, wasmcloud-tracing v0.4.0, wasmcloud-provider-sdk v0.5.0, wash-cli v0.28.0 ([`73c0ef0`](https://github.com/wasmCloud/wasmCloud/commit/73c0ef0bbe2f6b525655939d2cd30740aef4b6bc))
- Compile with default features ([`8fc13bf`](https://github.com/wasmCloud/wasmCloud/commit/8fc13bfee8927e9002014ead06762c8a32ed4356))
- Bump provider-archive v0.10.1, wasmcloud-core v0.6.0, wash-lib v0.21.0, wasmcloud-tracing v0.4.0, wasmcloud-provider-sdk v0.5.0, wash-cli v0.28.0, safety bump 5 crates ([`75a2e52`](https://github.com/wasmCloud/wasmCloud/commit/75a2e52f52690ba143679c90237851ebd07e153f))
- Generate changelogs after 1.0.1 release ([`4e0313a`](https://github.com/wasmCloud/wasmCloud/commit/4e0313ae4cfb5cbb2d3fa0320c662466a7082c0e))
- Updated with newest features ([`0f03f1f`](https://github.com/wasmCloud/wasmCloud/commit/0f03f1f91210a4ed3fa64a4b07aebe8e56627ea6))
- Generate crate changelogs ([`f986e39`](https://github.com/wasmCloud/wasmCloud/commit/f986e39450676dc598b92f13cb6e52b9c3200c0b))
- Address clippy warnings ([`5957fce`](https://github.com/wasmCloud/wasmCloud/commit/5957fce86a928c7398370547d0f43c9498185441))
- Remove cluster_seed/cluster_issuers ([`bc5d296`](https://github.com/wasmCloud/wasmCloud/commit/bc5d296f3a58bc5e8df0da7e0bf2624d03335d9f))
- Return wrapped `WrpcClient` directly ([`87eb6c8`](https://github.com/wasmCloud/wasmCloud/commit/87eb6c8b2c0bd31def1cfdc6121c612c4dc90871))
- Excises vestigal remains of wasmbus-rpc ([`fd69df4`](https://github.com/wasmCloud/wasmCloud/commit/fd69df40f24ca565ace0f8c97a0c47a89db575a4))
- Remove LinkDefinition ([`8e7d6c8`](https://github.com/wasmCloud/wasmCloud/commit/8e7d6c80b56e143bb09dc441e8b21104328d0ab0))
- Adds version to control API ([`3f2d2f4`](https://github.com/wasmCloud/wasmCloud/commit/3f2d2f44470d44809fb83de2fa34b29ad1e6cb30))
- Introduce provider interface sdk ([`a84492d`](https://github.com/wasmCloud/wasmCloud/commit/a84492d15d154a272de33680f6338379fc036a3a))
- Use native TLS roots along webpki ([`07b5e70`](https://github.com/wasmCloud/wasmCloud/commit/07b5e70a7f1321d184962d7197a8d98d1ecaaf71))
- Move wasmbus RPC topic generation to core ([`5d73831`](https://github.com/wasmCloud/wasmCloud/commit/5d7383137897d28a1bc5df9b1c48f75281dab55b))
- Fix `link_name` functionality, reorganize tests ([`4ed3891`](https://github.com/wasmCloud/wasmCloud/commit/4ed38913f19fcd4dd44dfdcc9007e80e80cdc960))
- Bump to 0.3 ([`95233cb`](https://github.com/wasmCloud/wasmCloud/commit/95233cbade898a8b17df2fec3d6aed8ce8ceca2a))
- Implement Redis `wrpc:keyvalue/{atomic,eventual}` ([`614af7e`](https://github.com/wasmCloud/wasmCloud/commit/614af7e3ed734c56b27cd1d2aacb0789a85e8b81))
- Implement `wasi:http/outgoing-handler` provider ([`e0dac9d`](https://github.com/wasmCloud/wasmCloud/commit/e0dac9de4d3a74424e3138971753db9da143db5a))
- Deliver full config with link ([`e14d040`](https://github.com/wasmCloud/wasmCloud/commit/e14d0405e9f746041001e101fc24320c9e6b4f9c))
- Update wRPC ([`95cfb6d`](https://github.com/wasmCloud/wasmCloud/commit/95cfb6d99f0e54243b2fb2618de39210d8f3694f))
- Pass config directly to providers ([`7fbd597`](https://github.com/wasmCloud/wasmCloud/commit/7fbd597546c0ae25d5ce981b716167e4cc01263c))
- Remove LatticeTargetId ([`5ed5367`](https://github.com/wasmCloud/wasmCloud/commit/5ed5367063e39f890dabafdc476ea2370d32aae7))
- Use `&str` directly ([`6b369d4`](https://github.com/wasmCloud/wasmCloud/commit/6b369d49cd37a87dca1f92f31c4d4d3e33dec501))
- Use traces instead of tracing user-facing language to align with OTEL signal names ([`d65512b`](https://github.com/wasmCloud/wasmCloud/commit/d65512b5e86eb4d13e64cffa220a5a842c7bb72b))
- Add flags for overriding the default OpenTelemetry endpoint ([`6fe14b8`](https://github.com/wasmCloud/wasmCloud/commit/6fe14b89d4c26e5c01e54773268c6d0f04236e71))
- Switch to using --enable-observability and --enable- flags ([`868570b`](https://github.com/wasmCloud/wasmCloud/commit/868570be8d94a6d73608c7cde5d2422e15f9eb0c))
- Move CallTargetInterface to core ([`0d90023`](https://github.com/wasmCloud/wasmCloud/commit/0d9002340ca8776c92a7d1e8b2caa4f804bb1bfb))
- Correct comment on wrpc Client ([`dc2c93d`](https://github.com/wasmCloud/wasmCloud/commit/dc2c93df97bb119bb2a024d5bd3458394f421792))
- Get values from new link def constistently ([`b6a6b04`](https://github.com/wasmCloud/wasmCloud/commit/b6a6b04229730d6783c3fee61c6e078cd3b962ef))
- Move wasmcloud wrpc transport client to core ([`c654448`](https://github.com/wasmCloud/wasmCloud/commit/c654448653db224c6a676ecf43150d880a9daf8c))
- Support pubsub on wRPC subjects ([`76c1ed7`](https://github.com/wasmCloud/wasmCloud/commit/76c1ed7b5c49152aabd83d27f0b8955d7f874864))
- InterfaceLinkDefinition -> core ([`c49a6ef`](https://github.com/wasmCloud/wasmCloud/commit/c49a6ef0b6460b3eb463315fe31878eb71ae5364))
- Change set-target to set-link-name ([`5d19ba1`](https://github.com/wasmCloud/wasmCloud/commit/5d19ba16a98dca9439628e8449309ccaa763ab10))
- Updates topics to the new standard ([`42d069e`](https://github.com/wasmCloud/wasmCloud/commit/42d069eee87d1b5befff1a95b49973064f1a1d1b))
- Bump to 0.2.0 for async-nats release ([`6abbcac`](https://github.com/wasmCloud/wasmCloud/commit/6abbcac954a9834d871ea69b8a40bd79d258c0f1))
- Convert httpclient provider to bindgen ([`123e536`](https://github.com/wasmCloud/wasmCloud/commit/123e53611e6d0b2bd4e92358783213784653fbf6))
- Address clippy issues ([`eb0599f`](https://github.com/wasmCloud/wasmCloud/commit/eb0599fbdc6e1ac58616c7676b89bf7b19d4c662))
- Clean-up imports ([`7402a1f`](https://github.com/wasmCloud/wasmCloud/commit/7402a1f5cc4515e270fa66bbdd3d8bf2c03f35cb))
- Add descriptions to crates ([`cb0bcab`](https://github.com/wasmCloud/wasmCloud/commit/cb0bcab822cb4290c673051ec1dd98d034a61546))
- Remove direct `wasmbus_rpc` dependency ([`8e071dd`](https://github.com/wasmCloud/wasmCloud/commit/8e071dde1a98caa7339e92882bb63c433ae2a042))
- Replace error field name with err ([`3ffbd3a`](https://github.com/wasmCloud/wasmCloud/commit/3ffbd3ae2770a2bb7ef2d5635489e2725b3d9daa))
- Allow namespaces with slashes ([`1829b27`](https://github.com/wasmCloud/wasmCloud/commit/1829b27213e836cb347a542e9cdc771c74427892))
- Include context on host errors ([`0e6e2da`](https://github.com/wasmCloud/wasmCloud/commit/0e6e2da7720e469b85940cadde3756b2afd64f7c))
- Look for invocation responses from providers ([`7502bcb`](https://github.com/wasmCloud/wasmCloud/commit/7502bcb569420e2d402bf66d8a5eff2e6481a80b))
- Enable `std` anyhow feature ([`a896f05`](https://github.com/wasmCloud/wasmCloud/commit/a896f05a35824f5e2ba16fdb1c1f5217c52a5388))
- Make content_length a required field ([`6428747`](https://github.com/wasmCloud/wasmCloud/commit/642874717b6aab760d4692f9e8b12803548314e2))
- Replace needs_chunking function with direct comparison ([`6de67aa`](https://github.com/wasmCloud/wasmCloud/commit/6de67aa1ddab22ec99fe70f2c2fdc92dc5760b06))
- Support chunking and dechunking of requests ([`813ce52`](https://github.com/wasmCloud/wasmCloud/commit/813ce52a9c11270814eec051dfaa8817bf9f567d))
- Move chunking to core ([`0319a92`](https://github.com/wasmCloud/wasmCloud/commit/0319a9245589709d96b03786374d8026beb5d5d0))
- Support OTEL traces end-to-end ([`675d364`](https://github.com/wasmCloud/wasmCloud/commit/675d364d2f53f9dbf7ebb6c655d5fbbbba6c62b6))
## 0.13.0 (2024-10-23)
### Chore
- Improve parse_wit_package_name handling
- bump wasmcloud-core v0.12.0, wash-lib v0.28.0, wasmcloud-tracing v0.9.0, wasmcloud-provider-sdk v0.10.0, wash-cli v0.35.0, safety bump 7 crates
SAFETY BUMP: wash-lib v0.28.0, wasmcloud-tracing v0.9.0, wasmcloud-provider-sdk v0.10.0, wash-cli v0.35.0, wasmcloud-host v0.21.0, wasmcloud-runtime v0.5.0, wasmcloud-test-util v0.13.0
- Revert OtelProtocol rename, add future compatibility aliasing
- Use Default impl for Level
- remove redundant `tower` dep
- Switch oci-distribution to oci feature
- Replace actor references by component in crates
Rename wash-cli wash-build tests name and references
Fix nix flake path to Cargo.lock file
Fix format
Rename in wash-cli tests
- generate changelogs after 1.0.1 release
- updated with newest features
- address clippy warnings
- Excises vestigal remains of wasmbus-rpc
There were some parts of the core crate that we no longer use,
especially now that we don't require claims signing anymore. This
removes them and bumps the core crate in preparation for 1.0
- bump to 0.3
- use `&str` directly
- Use traces instead of tracing user-facing language to align with OTEL signal names
- move CallTargetInterface to core
- address clippy issues
- add descriptions to crates
- remove direct `wasmbus_rpc` dependency
- replace error field name with err
### Documentation
- add README and update docs
### New Features
- Updates tests and examples to support the new wkg deps
This updates all dependencies to have a wkg.lock but I didn't add to the
gitignore for convenience. The deps are still committed in tree for backwards
compatibility and they all use the new versioned logging. This looks
really chunky bust is mostly dep updates/deletes
- fix tests, update parsing of advanced WIT package names
- add RPC subject for provider config updates
- add string and byte utility functions for SecretValue
This commit add some utility functions to enable easily accessing
string values or byte vector values of `SecretValue`s
- impl Zeroize for secret values
- Add support for supplying additional CA certificates to OCI and OpenTelemetry clients
- fetch secrets for providers and links
- upgrade `wrpc`, `async-nats`, `wasmtime`
- Add support for configuring grpc protocol with opentelemetry
- generate crate changelogs
- introduce provider interface sdk
- use native TLS roots along webpki
- implement Redis `wrpc:keyvalue/{atomic,eventual}`
- implement `wasi:http/outgoing-handler` provider
- deliver full config with link
- Add flags for overriding the default OpenTelemetry endpoint
- Switch to using --enable-observability and --enable- flags
- support pubsub on wRPC subjects
Up until now, publishing and subscribing for RPC communcations on the
NATS cluster happened on subjects that were related to the wasmbus
protocol (i.e. 'wasmbus.rpc.*').
To support the WIT-native invocations, i.e. wRPC (#1389), we must
change the publication and subscription subjects to include also the
subjects that are expected to be used by wprc.
This commit updates the provider-sdk to listen *additionally* to
subjects that are required/used by wrpc, though we do not yet have an
implementation for encode/deocde.
- change set-target to set-link-name
Up until the relatively low-level `wasmcloud:bus/lattice` WIT
interface has used a function called `set-target` to aim invocations
that occurred in compliant actors and providers.
Since wRPC (#1389)
enabled wasmCloud 1.0 is going to be WIT-first going forward, all
WIT-driven function executions have access to the relevant
interface (WIT interfaces, rather than Smithy-derived ones) that they
call, at call time.
Given that actor & provider side function executions have access to
their WIT interfaces (ex. `wasi:keyvalue/readwrite.get`), what we need
to do is differentiate between the case where *multiple targets*
might be responding to the same WIT interface-backed invocations.
Unlike before, `set-target` only needs to really differentiate between *link
names*.
This commit updates `set-target` to perform differentiate between link
names, building on the work already done to introduce more opaque
targeting via Component IDs.
- support chunking and dechunking of requests
- support OTEL traces end-to-end
### Bug Fixes
- allow missing registry authentication
This commit fixes a bug that ignored the `allow_insecure` setting when
building registry configuration.
- prep for upgrade to rustls_native_certs v0.8.0
- add missing feature for `oci-wasm`
- Add signal-specific path components to OtelConfig's default endpoints
- default to http otel protocol if not supplied
- compile with default features
- fix `link_name` functionality, reorganize tests
- remove LatticeTargetId
- correct comment on wrpc Client
- allow namespaces with slashes
- look for invocation responses from providers
- enable `std` anyhow feature
### Other
- v0.12.1
- wasmcloud-core v0.11.0
- bump wasmcloud-core v0.10.0, safety bump 5 crates
SAFETY BUMP: wasmcloud-runtime v0.3.0, wasmcloud-tracing v0.8.0, wasmcloud-provider-sdk v0.9.0, wash-cli v0.33.0, wash-lib v0.26.0
- bump wasmcloud-core v0.9.0, wash-lib v0.24.0, wasmcloud-tracing v0.7.0, wasmcloud-provider-sdk v0.8.0, wasmcloud-secrets-types v0.4.0, wash-cli v0.31.0, safety bump 5 crates
SAFETY BUMP: wash-lib v0.24.0, wasmcloud-tracing v0.7.0, wasmcloud-provider-sdk v0.8.0, wash-cli v0.31.0, wasmcloud-secrets-client v0.4.0
- bump for test-util release
Bump wasmcloud-core v0.8.0, opentelemetry-nats v0.1.1, provider-archive v0.12.0, wasmcloud-runtime v0.3.0, wasmcloud-secrets-types v0.3.0, wasmcloud-secrets-client v0.3.0, wasmcloud-tracing v0.6.0, wasmcloud-host v0.82.0, wasmcloud-test-util v0.12.0, safety bump 8 crates
SAFETY BUMP: wasmcloud-runtime v0.3.0, wasmcloud-secrets-client v0.3.0, wasmcloud-tracing v0.6.0, wasmcloud-host v0.82.0, wasmcloud-test-util v0.12.0, wasmcloud-provider-sdk v0.7.0, wash-cli v0.30.0, wash-lib v0.23.0
- update wRPC
### Refactor
- re-add missing cache code
- move functionality into core
This commit moves functionality that was previously located in the
unreleased `wasmcloud-host` crate into core.
- efficiency, pass optional vec secrets
- light refactor from PR followup
- remove extra trace_level field
- return wrapped `WrpcClient` directly
- move wasmbus RPC topic generation to core
This commit moves the topic generation functions that were used for
wasmbus RPC topics from `provider-sdk` to `core` so that they can be
used/referred to more widely.
- get values from new link def constistently
This commit updates all providers that were marked with TODOs related
to using named config to use `InterfaceLinkDefinition.target_config`
temporarily.
The idea is to stuff configuration into the "names"s of configs that
were supposed to be in use (i.e. `["NAME=VALUE", "NAME=VALUE"]` rather
than `["config-1", "config-2"]`), ahead of named config being ready.
- move wasmcloud wrpc transport client to core
This commit moves the wasmcloud-specific wrpc transport client to the
`wasmcloud-core` crate. From here, it can be used by both
the host (`wasmbus`) and other places like tests.
- InterfaceLinkDefinition -> core
This commit refators the types defined in both `wasmcloud-core` and
`wasmcloud-control-interface` to make it easier to distinguish what
types belong where and what they're related to.
Ultimately the goal here was was to move `InterfaceLinkDefinition`
into `wasmcloud-core` so it can be used in other places, but it was a
good chance to reorganize.
- convert httpclient provider to bindgen
This commit converts the in-tree httpclient provider to use
provider-wit-bindgen for it's implementation.
- clean-up imports
- move chunking to core
### Style
- replace needs_chunking function with direct comparison
### Chore (BREAKING)
- Rename OtelProtocol variants to lowercase
- Skip serializing Option fields if set to None
- remove cluster_seed/cluster_issuers
- remove LinkDefinition
- bump to 0.2.0 for async-nats release
### New Features (BREAKING)
- add checked set_link_name
- add hostdata xkeys, secrets as binary
- add trace_level option
- add secrets to hostdata and links
- Adds version to control API
This should be the final breaking change of the API and it will require
a two phased rollout. I'll need to cut new core and host versions first
and then update wash to use the new host for tests.
- pass config directly to providers
- Updates topics to the new standard
This is a wide ranging PR that changes all the topics as described
in #1108. This also involved removing the start and stop actor
operations. While I was in different parts of the code I did some small
"campfire rule" cleanups mostly of clippy lints and removal of
clippy pedant mode.
### Refactor (BREAKING)
- make content_length a required field
## 0.12.1 (2024-10-18)
### Chore
- bump wasmcloud-core v0.12.0, wash-lib v0.28.0, wasmcloud-tracing v0.9.0, wasmcloud-provider-sdk v0.10.0, wash-cli v0.35.0, safety bump 7 crates
SAFETY BUMP: wash-lib v0.28.0, wasmcloud-tracing v0.9.0, wasmcloud-provider-sdk v0.10.0, wash-cli v0.35.0, wasmcloud-host v0.21.0, wasmcloud-runtime v0.5.0, wasmcloud-test-util v0.13.0
- Revert OtelProtocol rename, add future compatibility aliasing
- Use Default impl for Level
- remove redundant `tower` dep
- Switch oci-distribution to oci feature
- Replace actor references by component in crates
Rename wash-cli wash-build tests name and references
Fix nix flake path to Cargo.lock file
Fix format
Rename in wash-cli tests
- generate changelogs after 1.0.1 release
- updated with newest features
- address clippy warnings
- Excises vestigal remains of wasmbus-rpc
There were some parts of the core crate that we no longer use,
especially now that we don't require claims signing anymore. This
removes them and bumps the core crate in preparation for 1.0
- bump to 0.3
- use `&str` directly
- Use traces instead of tracing user-facing language to align with OTEL signal names
- move CallTargetInterface to core
- address clippy issues
- add descriptions to crates
- remove direct `wasmbus_rpc` dependency
- replace error field name with err
### Documentation
- add README and update docs
### New Features
- Updates tests and examples to support the new wkg deps
This updates all dependencies to have a wkg.lock but I didn't add to the
gitignore for convenience. The deps are still committed in tree for backwards
compatibility and they all use the new versioned logging. This looks
really chunky bust is mostly dep updates/deletes
- fix tests, update parsing of advanced WIT package names
- add RPC subject for provider config updates
- add string and byte utility functions for SecretValue
This commit add some utility functions to enable easily accessing
string values or byte vector values of `SecretValue`s
- impl Zeroize for secret values
- Add support for supplying additional CA certificates to OCI and OpenTelemetry clients
- fetch secrets for providers and links
- upgrade `wrpc`, `async-nats`, `wasmtime`
- Add support for configuring grpc protocol with opentelemetry
- generate crate changelogs
- introduce provider interface sdk
- use native TLS roots along webpki
- implement Redis `wrpc:keyvalue/{atomic,eventual}`
- implement `wasi:http/outgoing-handler` provider
- deliver full config with link
- Add flags for overriding the default OpenTelemetry endpoint
- Switch to using --enable-observability and --enable- flags
- support pubsub on wRPC subjects
Up until now, publishing and subscribing for RPC communcations on the
NATS cluster happened on subjects that were related to the wasmbus
protocol (i.e. 'wasmbus.rpc.*').
To support the WIT-native invocations, i.e. wRPC (#1389), we must
change the publication and subscription subjects to include also the
subjects that are expected to be used by wprc.
This commit updates the provider-sdk to listen *additionally* to
subjects that are required/used by wrpc, though we do not yet have an
implementation for encode/deocde.
- change set-target to set-link-name
Up until the relatively low-level `wasmcloud:bus/lattice` WIT
interface has used a function called `set-target` to aim invocations
that occurred in compliant actors and providers.
Since wRPC (#1389)
enabled wasmCloud 1.0 is going to be WIT-first going forward, all
WIT-driven function executions have access to the relevant
interface (WIT interfaces, rather than Smithy-derived ones) that they
call, at call time.
Given that actor & provider side function executions have access to
their WIT interfaces (ex. `wasi:keyvalue/readwrite.get`), what we need
to do is differentiate between the case where *multiple targets*
might be responding to the same WIT interface-backed invocations.
Unlike before, `set-target` only needs to really differentiate between *link
names*.
This commit updates `set-target` to perform differentiate between link
names, building on the work already done to introduce more opaque
targeting via Component IDs.
- support chunking and dechunking of requests
- support OTEL traces end-to-end
### Bug Fixes
- allow missing registry authentication
This commit fixes a bug that ignored the `allow_insecure` setting when
building registry configuration.
- prep for upgrade to rustls_native_certs v0.8.0
- add missing feature for `oci-wasm`
- Add signal-specific path components to OtelConfig's default endpoints
- default to http otel protocol if not supplied
- compile with default features
- fix `link_name` functionality, reorganize tests
- remove LatticeTargetId
- correct comment on wrpc Client
- allow namespaces with slashes
- look for invocation responses from providers
- enable `std` anyhow feature
### Other
- wasmcloud-core v0.11.0
- bump wasmcloud-core v0.10.0, safety bump 5 crates
SAFETY BUMP: wasmcloud-runtime v0.3.0, wasmcloud-tracing v0.8.0, wasmcloud-provider-sdk v0.9.0, wash-cli v0.33.0, wash-lib v0.26.0
- bump wasmcloud-core v0.9.0, wash-lib v0.24.0, wasmcloud-tracing v0.7.0, wasmcloud-provider-sdk v0.8.0, wasmcloud-secrets-types v0.4.0, wash-cli v0.31.0, safety bump 5 crates
SAFETY BUMP: wash-lib v0.24.0, wasmcloud-tracing v0.7.0, wasmcloud-provider-sdk v0.8.0, wash-cli v0.31.0, wasmcloud-secrets-client v0.4.0
- bump for test-util release
Bump wasmcloud-core v0.8.0, opentelemetry-nats v0.1.1, provider-archive v0.12.0, wasmcloud-runtime v0.3.0, wasmcloud-secrets-types v0.3.0, wasmcloud-secrets-client v0.3.0, wasmcloud-tracing v0.6.0, wasmcloud-host v0.82.0, wasmcloud-test-util v0.12.0, safety bump 8 crates
SAFETY BUMP: wasmcloud-runtime v0.3.0, wasmcloud-secrets-client v0.3.0, wasmcloud-tracing v0.6.0, wasmcloud-host v0.82.0, wasmcloud-test-util v0.12.0, wasmcloud-provider-sdk v0.7.0, wash-cli v0.30.0, wash-lib v0.23.0
- update wRPC
### Refactor
- re-add missing cache code
- move functionality into core
This commit moves functionality that was previously located in the
unreleased `wasmcloud-host` crate into core.
- efficiency, pass optional vec secrets
- light refactor from PR followup
- remove extra trace_level field
- return wrapped `WrpcClient` directly
- move wasmbus RPC topic generation to core
This commit moves the topic generation functions that were used for
wasmbus RPC topics from `provider-sdk` to `core` so that they can be
used/referred to more widely.
- get values from new link def constistently
This commit updates all providers that were marked with TODOs related
to using named config to use `InterfaceLinkDefinition.target_config`
temporarily.
The idea is to stuff configuration into the "names"s of configs that
were supposed to be in use (i.e. `["NAME=VALUE", "NAME=VALUE"]` rather
than `["config-1", "config-2"]`), ahead of named config being ready.
- move wasmcloud wrpc transport client to core
This commit moves the wasmcloud-specific wrpc transport client to the
`wasmcloud-core` crate. From here, it can be used by both
the host (`wasmbus`) and other places like tests.
- InterfaceLinkDefinition -> core
This commit refators the types defined in both `wasmcloud-core` and
`wasmcloud-control-interface` to make it easier to distinguish what
types belong where and what they're related to.
Ultimately the goal here was was to move `InterfaceLinkDefinition`
into `wasmcloud-core` so it can be used in other places, but it was a
good chance to reorganize.
- convert httpclient provider to bindgen
This commit converts the in-tree httpclient provider to use
provider-wit-bindgen for it's implementation.
- clean-up imports
- move chunking to core
### Style
- replace needs_chunking function with direct comparison
### Chore (BREAKING)
- Rename OtelProtocol variants to lowercase
- Skip serializing Option fields if set to None
- remove cluster_seed/cluster_issuers
- remove LinkDefinition
- bump to 0.2.0 for async-nats release
### New Features (BREAKING)
- add checked set_link_name
- add hostdata xkeys, secrets as binary
- add trace_level option
- add secrets to hostdata and links
- Adds version to control API
This should be the final breaking change of the API and it will require
a two phased rollout. I'll need to cut new core and host versions first
and then update wash to use the new host for tests.
- pass config directly to providers
- Updates topics to the new standard
This is a wide ranging PR that changes all the topics as described
in #1108. This also involved removing the start and stop actor
operations. While I was in different parts of the code I did some small
"campfire rule" cleanups mostly of clippy lints and removal of
clippy pedant mode.
### Refactor (BREAKING)
- make content_length a required field
## 0.12.0 (2024-10-09)
### Chore
- Revert OtelProtocol rename, add future compatibility aliasing
- Use Default impl for Level
- remove redundant `tower` dep
- Switch oci-distribution to oci feature
- Replace actor references by component in crates
Rename wash-cli wash-build tests name and references
Fix nix flake path to Cargo.lock file
Fix format
Rename in wash-cli tests
- generate changelogs after 1.0.1 release
- updated with newest features
- address clippy warnings
- Excises vestigal remains of wasmbus-rpc
There were some parts of the core crate that we no longer use,
especially now that we don't require claims signing anymore. This
removes them and bumps the core crate in preparation for 1.0
- bump to 0.3
- use `&str` directly
- Use traces instead of tracing user-facing language to align with OTEL signal names
- move CallTargetInterface to core
- address clippy issues
- add descriptions to crates
- remove direct `wasmbus_rpc` dependency
- replace error field name with err
### Documentation
- add README and update docs
### New Features
- add RPC subject for provider config updates
- add string and byte utility functions for SecretValue
This commit add some utility functions to enable easily accessing
string values or byte vector values of `SecretValue`s
- impl Zeroize for secret values
- Add support for supplying additional CA certificates to OCI and OpenTelemetry clients
- fetch secrets for providers and links
- upgrade `wrpc`, `async-nats`, `wasmtime`
- Add support for configuring grpc protocol with opentelemetry
- generate crate changelogs
- introduce provider interface sdk
- use native TLS roots along webpki
- implement Redis `wrpc:keyvalue/{atomic,eventual}`
- implement `wasi:http/outgoing-handler` provider
- deliver full config with link
- Add flags for overriding the default OpenTelemetry endpoint
- Switch to using --enable-observability and --enable- flags
- support pubsub on wRPC subjects
Up until now, publishing and subscribing for RPC communcations on the
NATS cluster happened on subjects that were related to the wasmbus
protocol (i.e. 'wasmbus.rpc.*').
To support the WIT-native invocations, i.e. wRPC (#1389), we must
change the publication and subscription subjects to include also the
subjects that are expected to be used by wprc.
This commit updates the provider-sdk to listen *additionally* to
subjects that are required/used by wrpc, though we do not yet have an
implementation for encode/deocde.
- change set-target to set-link-name
Up until the relatively low-level `wasmcloud:bus/lattice` WIT
interface has used a function called `set-target` to aim invocations
that occurred in compliant actors and providers.
Since wRPC (#1389)
enabled wasmCloud 1.0 is going to be WIT-first going forward, all
WIT-driven function executions have access to the relevant
interface (WIT interfaces, rather than Smithy-derived ones) that they
call, at call time.
Given that actor & provider side function executions have access to
their WIT interfaces (ex. `wasi:keyvalue/readwrite.get`), what we need
to do is differentiate between the case where *multiple targets*
might be responding to the same WIT interface-backed invocations.
Unlike before, `set-target` only needs to really differentiate between *link
names*.
This commit updates `set-target` to perform differentiate between link
names, building on the work already done to introduce more opaque
targeting via Component IDs.
- support chunking and dechunking of requests
- support OTEL traces end-to-end
### Bug Fixes
- prep for upgrade to rustls_native_certs v0.8.0
- add missing feature for `oci-wasm`
- Add signal-specific path components to OtelConfig's default endpoints
- default to http otel protocol if not supplied
- compile with default features
- fix `link_name` functionality, reorganize tests
- remove LatticeTargetId
- correct comment on wrpc Client
- allow namespaces with slashes
- look for invocation responses from providers
- enable `std` anyhow feature
### Other
- wasmcloud-core v0.11.0
- bump wasmcloud-core v0.10.0, safety bump 5 crates
SAFETY BUMP: wasmcloud-runtime v0.3.0, wasmcloud-tracing v0.8.0, wasmcloud-provider-sdk v0.9.0, wash-cli v0.33.0, wash-lib v0.26.0
- bump wasmcloud-core v0.9.0, wash-lib v0.24.0, wasmcloud-tracing v0.7.0, wasmcloud-provider-sdk v0.8.0, wasmcloud-secrets-types v0.4.0, wash-cli v0.31.0, safety bump 5 crates
SAFETY BUMP: wash-lib v0.24.0, wasmcloud-tracing v0.7.0, wasmcloud-provider-sdk v0.8.0, wash-cli v0.31.0, wasmcloud-secrets-client v0.4.0
- bump for test-util release
Bump wasmcloud-core v0.8.0, opentelemetry-nats v0.1.1, provider-archive v0.12.0, wasmcloud-runtime v0.3.0, wasmcloud-secrets-types v0.3.0, wasmcloud-secrets-client v0.3.0, wasmcloud-tracing v0.6.0, wasmcloud-host v0.82.0, wasmcloud-test-util v0.12.0, safety bump 8 crates
SAFETY BUMP: wasmcloud-runtime v0.3.0, wasmcloud-secrets-client v0.3.0, wasmcloud-tracing v0.6.0, wasmcloud-host v0.82.0, wasmcloud-test-util v0.12.0, wasmcloud-provider-sdk v0.7.0, wash-cli v0.30.0, wash-lib v0.23.0
- update wRPC
### Refactor
- re-add missing cache code
- move functionality into core
This commit moves functionality that was previously located in the
unreleased `wasmcloud-host` crate into core.
- efficiency, pass optional vec secrets
- light refactor from PR followup
- remove extra trace_level field
- return wrapped `WrpcClient` directly
- move wasmbus RPC topic generation to core
This commit moves the topic generation functions that were used for
wasmbus RPC topics from `provider-sdk` to `core` so that they can be
used/referred to more widely.
- get values from new link def constistently
This commit updates all providers that were marked with TODOs related
to using named config to use `InterfaceLinkDefinition.target_config`
temporarily.
The idea is to stuff configuration into the "names"s of configs that
were supposed to be in use (i.e. `["NAME=VALUE", "NAME=VALUE"]` rather
than `["config-1", "config-2"]`), ahead of named config being ready.
- move wasmcloud wrpc transport client to core
This commit moves the wasmcloud-specific wrpc transport client to the
`wasmcloud-core` crate. From here, it can be used by both
the host (`wasmbus`) and other places like tests.
- InterfaceLinkDefinition -> core
This commit refators the types defined in both `wasmcloud-core` and
`wasmcloud-control-interface` to make it easier to distinguish what
types belong where and what they're related to.
Ultimately the goal here was was to move `InterfaceLinkDefinition`
into `wasmcloud-core` so it can be used in other places, but it was a
good chance to reorganize.
- convert httpclient provider to bindgen
This commit converts the in-tree httpclient provider to use
provider-wit-bindgen for it's implementation.
- clean-up imports
- move chunking to core
### Style
- replace needs_chunking function with direct comparison
### Chore (BREAKING)
- Rename OtelProtocol variants to lowercase
- Skip serializing Option fields if set to None
- remove cluster_seed/cluster_issuers
- remove LinkDefinition
- bump to 0.2.0 for async-nats release
### New Features (BREAKING)
- add hostdata xkeys, secrets as binary
- add trace_level option
- add secrets to hostdata and links
- Adds version to control API
This should be the final breaking change of the API and it will require
a two phased rollout. I'll need to cut new core and host versions first
and then update wash to use the new host for tests.
- pass config directly to providers
- Updates topics to the new standard
This is a wide ranging PR that changes all the topics as described
in #1108. This also involved removing the start and stop actor
operations. While I was in different parts of the code I did some small
"campfire rule" cleanups mostly of clippy lints and removal of
clippy pedant mode.
### Refactor (BREAKING)
- make content_length a required field
## 0.11.0 (2024-09-30)
### Chore
- Use Default impl for Level
- remove redundant `tower` dep
- Switch oci-distribution to oci feature
- Replace actor references by component in crates
Rename wash-cli wash-build tests name and references
Fix nix flake path to Cargo.lock file
Fix format
Rename in wash-cli tests
- generate changelogs after 1.0.1 release
- updated with newest features
- address clippy warnings
- Excises vestigal remains of wasmbus-rpc
There were some parts of the core crate that we no longer use,
especially now that we don't require claims signing anymore. This
removes them and bumps the core crate in preparation for 1.0
- bump to 0.3
- use `&str` directly
- Use traces instead of tracing user-facing language to align with OTEL signal names
- move CallTargetInterface to core
- address clippy issues
- add descriptions to crates
- remove direct `wasmbus_rpc` dependency
- replace error field name with err
### Documentation
- add README and update docs
### New Features
- add RPC subject for provider config updates
- add string and byte utility functions for SecretValue
This commit add some utility functions to enable easily accessing
string values or byte vector values of `SecretValue`s
- impl Zeroize for secret values
- Add support for supplying additional CA certificates to OCI and OpenTelemetry clients
- fetch secrets for providers and links
- upgrade `wrpc`, `async-nats`, `wasmtime`
- Add support for configuring grpc protocol with opentelemetry
- generate crate changelogs
- introduce provider interface sdk
- use native TLS roots along webpki
- implement Redis `wrpc:keyvalue/{atomic,eventual}`
- implement `wasi:http/outgoing-handler` provider
- deliver full config with link
- Add flags for overriding the default OpenTelemetry endpoint
- Switch to using --enable-observability and --enable- flags
- support pubsub on wRPC subjects
Up until now, publishing and subscribing for RPC communcations on the
NATS cluster happened on subjects that were related to the wasmbus
protocol (i.e. 'wasmbus.rpc.*').
To support the WIT-native invocations, i.e. wRPC (#1389), we must
change the publication and subscription subjects to include also the
subjects that are expected to be used by wprc.
This commit updates the provider-sdk to listen *additionally* to
subjects that are required/used by wrpc, though we do not yet have an
implementation for encode/deocde.
- change set-target to set-link-name
Up until the relatively low-level `wasmcloud:bus/lattice` WIT
interface has used a function called `set-target` to aim invocations
that occurred in compliant actors and providers.
Since wRPC (#1389)
enabled wasmCloud 1.0 is going to be WIT-first going forward, all
WIT-driven function executions have access to the relevant
interface (WIT interfaces, rather than Smithy-derived ones) that they
call, at call time.
Given that actor & provider side function executions have access to
their WIT interfaces (ex. `wasi:keyvalue/readwrite.get`), what we need
to do is differentiate between the case where *multiple targets*
might be responding to the same WIT interface-backed invocations.
Unlike before, `set-target` only needs to really differentiate between *link
names*.
This commit updates `set-target` to perform differentiate between link
names, building on the work already done to introduce more opaque
targeting via Component IDs.
- support chunking and dechunking of requests
- support OTEL traces end-to-end
### Bug Fixes
- prep for upgrade to rustls_native_certs v0.8.0
- add missing feature for `oci-wasm`
- Add signal-specific path components to OtelConfig's default endpoints
- default to http otel protocol if not supplied
- compile with default features
- fix `link_name` functionality, reorganize tests
- remove LatticeTargetId
- correct comment on wrpc Client
- allow namespaces with slashes
- look for invocation responses from providers
- enable `std` anyhow feature
### Other
- bump wasmcloud-core v0.10.0, safety bump 5 crates
SAFETY BUMP: wasmcloud-runtime v0.3.0, wasmcloud-tracing v0.8.0, wasmcloud-provider-sdk v0.9.0, wash-cli v0.33.0, wash-lib v0.26.0
- bump wasmcloud-core v0.9.0, wash-lib v0.24.0, wasmcloud-tracing v0.7.0, wasmcloud-provider-sdk v0.8.0, wasmcloud-secrets-types v0.4.0, wash-cli v0.31.0, safety bump 5 crates
SAFETY BUMP: wash-lib v0.24.0, wasmcloud-tracing v0.7.0, wasmcloud-provider-sdk v0.8.0, wash-cli v0.31.0, wasmcloud-secrets-client v0.4.0
- bump for test-util release
Bump wasmcloud-core v0.8.0, opentelemetry-nats v0.1.1, provider-archive v0.12.0, wasmcloud-runtime v0.3.0, wasmcloud-secrets-types v0.3.0, wasmcloud-secrets-client v0.3.0, wasmcloud-tracing v0.6.0, wasmcloud-host v0.82.0, wasmcloud-test-util v0.12.0, safety bump 8 crates
SAFETY BUMP: wasmcloud-runtime v0.3.0, wasmcloud-secrets-client v0.3.0, wasmcloud-tracing v0.6.0, wasmcloud-host v0.82.0, wasmcloud-test-util v0.12.0, wasmcloud-provider-sdk v0.7.0, wash-cli v0.30.0, wash-lib v0.23.0
- update wRPC
### Refactor
- re-add missing cache code
- move functionality into core
This commit moves functionality that was previously located in the
unreleased `wasmcloud-host` crate into core.
- efficiency, pass optional vec secrets
- light refactor from PR followup
- remove extra trace_level field
- return wrapped `WrpcClient` directly
- move wasmbus RPC topic generation to core
This commit moves the topic generation functions that were used for
wasmbus RPC topics from `provider-sdk` to `core` so that they can be
used/referred to more widely.
- get values from new link def constistently
This commit updates all providers that were marked with TODOs related
to using named config to use `InterfaceLinkDefinition.target_config`
temporarily.
The idea is to stuff configuration into the "names"s of configs that
were supposed to be in use (i.e. `["NAME=VALUE", "NAME=VALUE"]` rather
than `["config-1", "config-2"]`), ahead of named config being ready.
- move wasmcloud wrpc transport client to core
This commit moves the wasmcloud-specific wrpc transport client to the
`wasmcloud-core` crate. From here, it can be used by both
the host (`wasmbus`) and other places like tests.
- InterfaceLinkDefinition -> core
This commit refators the types defined in both `wasmcloud-core` and
`wasmcloud-control-interface` to make it easier to distinguish what
types belong where and what they're related to.
Ultimately the goal here was was to move `InterfaceLinkDefinition`
into `wasmcloud-core` so it can be used in other places, but it was a
good chance to reorganize.
- convert httpclient provider to bindgen
This commit converts the in-tree httpclient provider to use
provider-wit-bindgen for it's implementation.
- clean-up imports
- move chunking to core
### Style
- replace needs_chunking function with direct comparison
### Chore (BREAKING)
- Rename OtelProtocol variants to lowercase
- Skip serializing Option fields if set to None
- remove cluster_seed/cluster_issuers
- remove LinkDefinition
- bump to 0.2.0 for async-nats release
### New Features (BREAKING)
- add hostdata xkeys, secrets as binary
- add trace_level option
- add secrets to hostdata and links
- Adds version to control API
This should be the final breaking change of the API and it will require
a two phased rollout. I'll need to cut new core and host versions first
and then update wash to use the new host for tests.
- pass config directly to providers
- Updates topics to the new standard
This is a wide ranging PR that changes all the topics as described
in #1108. This also involved removing the start and stop actor
operations. While I was in different parts of the code I did some small
"campfire rule" cleanups mostly of clippy lints and removal of
clippy pedant mode.
### Refactor (BREAKING)
- make content_length a required field
## 0.10.0 (2024-09-18)
### Chore
- Replace actor references by component in crates
Rename wash-cli wash-build tests name and references
Fix nix flake path to Cargo.lock file
Fix format
Rename in wash-cli tests
- generate changelogs after 1.0.1 release
- updated with newest features
- address clippy warnings
- Excises vestigal remains of wasmbus-rpc
There were some parts of the core crate that we no longer use,
especially now that we don't require claims signing anymore. This
removes them and bumps the core crate in preparation for 1.0
- bump to 0.3
- use `&str` directly
- Use traces instead of tracing user-facing language to align with OTEL signal names
- move CallTargetInterface to core
- address clippy issues
- add descriptions to crates
- remove direct `wasmbus_rpc` dependency
- replace error field name with err
### Documentation
- add README and update docs
### New Features
- add RPC subject for provider config updates
- add string and byte utility functions for SecretValue
This commit add some utility functions to enable easily accessing
string values or byte vector values of `SecretValue`s
- impl Zeroize for secret values
- Add support for supplying additional CA certificates to OCI and OpenTelemetry clients
- fetch secrets for providers and links
- upgrade `wrpc`, `async-nats`, `wasmtime`
- Add support for configuring grpc protocol with opentelemetry
- generate crate changelogs
- introduce provider interface sdk
- use native TLS roots along webpki
- implement Redis `wrpc:keyvalue/{atomic,eventual}`
- implement `wasi:http/outgoing-handler` provider
- deliver full config with link
- Add flags for overriding the default OpenTelemetry endpoint
- Switch to using --enable-observability and --enable- flags
- support pubsub on wRPC subjects
Up until now, publishing and subscribing for RPC communcations on the
NATS cluster happened on subjects that were related to the wasmbus
protocol (i.e. 'wasmbus.rpc.*').
To support the WIT-native invocations, i.e. wRPC (#1389), we must
change the publication and subscription subjects to include also the
subjects that are expected to be used by wprc.
This commit updates the provider-sdk to listen *additionally* to
subjects that are required/used by wrpc, though we do not yet have an
implementation for encode/deocde.
- change set-target to set-link-name
Up until the relatively low-level `wasmcloud:bus/lattice` WIT
interface has used a function called `set-target` to aim invocations
that occurred in compliant actors and providers.
Since wRPC (#1389)
enabled wasmCloud 1.0 is going to be WIT-first going forward, all
WIT-driven function executions have access to the relevant
interface (WIT interfaces, rather than Smithy-derived ones) that they
call, at call time.
Given that actor & provider side function executions have access to
their WIT interfaces (ex. `wasi:keyvalue/readwrite.get`), what we need
to do is differentiate between the case where *multiple targets*
might be responding to the same WIT interface-backed invocations.
Unlike before, `set-target` only needs to really differentiate between *link
names*.
This commit updates `set-target` to perform differentiate between link
names, building on the work already done to introduce more opaque
targeting via Component IDs.
- support chunking and dechunking of requests
- support OTEL traces end-to-end
### Bug Fixes
- add missing feature for `oci-wasm`
- Add signal-specific path components to OtelConfig's default endpoints
- default to http otel protocol if not supplied
- compile with default features
- fix `link_name` functionality, reorganize tests
- remove LatticeTargetId
- correct comment on wrpc Client
- allow namespaces with slashes
- look for invocation responses from providers
- enable `std` anyhow feature
### Other
- bump wasmcloud-core v0.9.0, wash-lib v0.24.0, wasmcloud-tracing v0.7.0, wasmcloud-provider-sdk v0.8.0, wasmcloud-secrets-types v0.4.0, wash-cli v0.31.0, safety bump 5 crates
SAFETY BUMP: wash-lib v0.24.0, wasmcloud-tracing v0.7.0, wasmcloud-provider-sdk v0.8.0, wash-cli v0.31.0, wasmcloud-secrets-client v0.4.0
- bump for test-util release
Bump wasmcloud-core v0.8.0, opentelemetry-nats v0.1.1, provider-archive v0.12.0, wasmcloud-runtime v0.3.0, wasmcloud-secrets-types v0.3.0, wasmcloud-secrets-client v0.3.0, wasmcloud-tracing v0.6.0, wasmcloud-host v0.82.0, wasmcloud-test-util v0.12.0, safety bump 8 crates
SAFETY BUMP: wasmcloud-runtime v0.3.0, wasmcloud-secrets-client v0.3.0, wasmcloud-tracing v0.6.0, wasmcloud-host v0.82.0, wasmcloud-test-util v0.12.0, wasmcloud-provider-sdk v0.7.0, wash-cli v0.30.0, wash-lib v0.23.0
- update wRPC
### Refactor
- re-add missing cache code
- move functionality into core
This commit moves functionality that was previously located in the
unreleased `wasmcloud-host` crate into core.
- efficiency, pass optional vec secrets
- light refactor from PR followup
- remove extra trace_level field
- return wrapped `WrpcClient` directly
- move wasmbus RPC topic generation to core
This commit moves the topic generation functions that were used for
wasmbus RPC topics from `provider-sdk` to `core` so that they can be
used/referred to more widely.
- get values from new link def constistently
This commit updates all providers that were marked with TODOs related
to using named config to use `InterfaceLinkDefinition.target_config`
temporarily.
The idea is to stuff configuration into the "names"s of configs that
were supposed to be in use (i.e. `["NAME=VALUE", "NAME=VALUE"]` rather
than `["config-1", "config-2"]`), ahead of named config being ready.
- move wasmcloud wrpc transport client to core
This commit moves the wasmcloud-specific wrpc transport client to the
`wasmcloud-core` crate. From here, it can be used by both
the host (`wasmbus`) and other places like tests.
- InterfaceLinkDefinition -> core
This commit refators the types defined in both `wasmcloud-core` and
`wasmcloud-control-interface` to make it easier to distinguish what
types belong where and what they're related to.
Ultimately the goal here was was to move `InterfaceLinkDefinition`
into `wasmcloud-core` so it can be used in other places, but it was a
good chance to reorganize.
- convert httpclient provider to bindgen
This commit converts the in-tree httpclient provider to use
provider-wit-bindgen for it's implementation.
- clean-up imports
- move chunking to core
### Style
- replace needs_chunking function with direct comparison
### Chore (BREAKING)
- remove cluster_seed/cluster_issuers
- remove LinkDefinition
- bump to 0.2.0 for async-nats release
### New Features (BREAKING)
- add hostdata xkeys, secrets as binary
- add trace_level option
- add secrets to hostdata and links
- Adds version to control API
This should be the final breaking change of the API and it will require
a two phased rollout. I'll need to cut new core and host versions first
and then update wash to use the new host for tests.
- pass config directly to providers
- Updates topics to the new standard
This is a wide ranging PR that changes all the topics as described
in #1108. This also involved removing the start and stop actor
operations. While I was in different parts of the code I did some small
"campfire rule" cleanups mostly of clippy lints and removal of
clippy pedant mode.
### Refactor (BREAKING)
- make content_length a required field
## 0.9.0 (2024-08-23)
### Chore
- Replace actor references by component in crates
Rename wash-cli wash-build tests name and references
Fix nix flake path to Cargo.lock file
Fix format
Rename in wash-cli tests
- generate changelogs after 1.0.1 release
- updated with newest features
- address clippy warnings
- Excises vestigal remains of wasmbus-rpc
There were some parts of the core crate that we no longer use,
especially now that we don't require claims signing anymore. This
removes them and bumps the core crate in preparation for 1.0
- bump to 0.3
- use `&str` directly
- Use traces instead of tracing user-facing language to align with OTEL signal names
- move CallTargetInterface to core
- address clippy issues
- add descriptions to crates
- remove direct `wasmbus_rpc` dependency
- replace error field name with err
### Documentation
- add README and update docs
### New Features
- add RPC subject for provider config updates
- add string and byte utility functions for SecretValue
This commit add some utility functions to enable easily accessing
string values or byte vector values of `SecretValue`s
- impl Zeroize for secret values
- Add support for supplying additional CA certificates to OCI and OpenTelemetry clients
- fetch secrets for providers and links
- upgrade `wrpc`, `async-nats`, `wasmtime`
- Add support for configuring grpc protocol with opentelemetry
- generate crate changelogs
- introduce provider interface sdk
- use native TLS roots along webpki
- implement Redis `wrpc:keyvalue/{atomic,eventual}`
- implement `wasi:http/outgoing-handler` provider
- deliver full config with link
- Add flags for overriding the default OpenTelemetry endpoint
- Switch to using --enable-observability and --enable- flags
- support pubsub on wRPC subjects
Up until now, publishing and subscribing for RPC communcations on the
NATS cluster happened on subjects that were related to the wasmbus
protocol (i.e. 'wasmbus.rpc.*').
To support the WIT-native invocations, i.e. wRPC (#1389), we must
change the publication and subscription subjects to include also the
subjects that are expected to be used by wprc.
This commit updates the provider-sdk to listen *additionally* to
subjects that are required/used by wrpc, though we do not yet have an
implementation for encode/deocde.
- change set-target to set-link-name
Up until the relatively low-level `wasmcloud:bus/lattice` WIT
interface has used a function called `set-target` to aim invocations
that occurred in compliant actors and providers.
Since wRPC (#1389)
enabled wasmCloud 1.0 is going to be WIT-first going forward, all
WIT-driven function executions have access to the relevant
interface (WIT interfaces, rather than Smithy-derived ones) that they
call, at call time.
Given that actor & provider side function executions have access to
their WIT interfaces (ex. `wasi:keyvalue/readwrite.get`), what we need
to do is differentiate between the case where *multiple targets*
might be responding to the same WIT interface-backed invocations.
Unlike before, `set-target` only needs to really differentiate between *link
names*.
This commit updates `set-target` to perform differentiate between link
names, building on the work already done to introduce more opaque
targeting via Component IDs.
- support chunking and dechunking of requests
- support OTEL traces end-to-end
### Bug Fixes
- Add signal-specific path components to OtelConfig's default endpoints
- default to http otel protocol if not supplied
- compile with default features
- fix `link_name` functionality, reorganize tests
- remove LatticeTargetId
- correct comment on wrpc Client
- allow namespaces with slashes
- look for invocation responses from providers
- enable `std` anyhow feature
### Other
- bump for test-util release
Bump wasmcloud-core v0.8.0, opentelemetry-nats v0.1.1, provider-archive v0.12.0, wasmcloud-runtime v0.3.0, wasmcloud-secrets-types v0.3.0, wasmcloud-secrets-client v0.3.0, wasmcloud-tracing v0.6.0, wasmcloud-host v0.82.0, wasmcloud-test-util v0.12.0, safety bump 8 crates
SAFETY BUMP: wasmcloud-runtime v0.3.0, wasmcloud-secrets-client v0.3.0, wasmcloud-tracing v0.6.0, wasmcloud-host v0.82.0, wasmcloud-test-util v0.12.0, wasmcloud-provider-sdk v0.7.0, wash-cli v0.30.0, wash-lib v0.23.0
- update wRPC
### Refactor
- efficiency, pass optional vec secrets
- light refactor from PR followup
- remove extra trace_level field
- return wrapped `WrpcClient` directly
- move wasmbus RPC topic generation to core
This commit moves the topic generation functions that were used for
wasmbus RPC topics from `provider-sdk` to `core` so that they can be
used/referred to more widely.
- get values from new link def constistently
This commit updates all providers that were marked with TODOs related
to using named config to use `InterfaceLinkDefinition.target_config`
temporarily.
The idea is to stuff configuration into the "names"s of configs that
were supposed to be in use (i.e. `["NAME=VALUE", "NAME=VALUE"]` rather
than `["config-1", "config-2"]`), ahead of named config being ready.
- move wasmcloud wrpc transport client to core
This commit moves the wasmcloud-specific wrpc transport client to the
`wasmcloud-core` crate. From here, it can be used by both
the host (`wasmbus`) and other places like tests.
- InterfaceLinkDefinition -> core
This commit refators the types defined in both `wasmcloud-core` and
`wasmcloud-control-interface` to make it easier to distinguish what
types belong where and what they're related to.
Ultimately the goal here was was to move `InterfaceLinkDefinition`
into `wasmcloud-core` so it can be used in other places, but it was a
good chance to reorganize.
- convert httpclient provider to bindgen
This commit converts the in-tree httpclient provider to use
provider-wit-bindgen for it's implementation.
- clean-up imports
- move chunking to core
### Style
- replace needs_chunking function with direct comparison
### Chore (BREAKING)
- remove cluster_seed/cluster_issuers
- remove LinkDefinition
- bump to 0.2.0 for async-nats release
### New Features (BREAKING)
- add hostdata xkeys, secrets as binary
- add trace_level option
- add secrets to hostdata and links
- Adds version to control API
This should be the final breaking change of the API and it will require
a two phased rollout. I'll need to cut new core and host versions first
and then update wash to use the new host for tests.
- pass config directly to providers
- Updates topics to the new standard
This is a wide ranging PR that changes all the topics as described
in #1108. This also involved removing the start and stop actor
operations. While I was in different parts of the code I did some small
"campfire rule" cleanups mostly of clippy lints and removal of
clippy pedant mode.
### Refactor (BREAKING)
- make content_length a required field
## 0.8.0 (2024-07-31)
### Chore
- Replace actor references by component in crates
Rename wash-cli wash-build tests name and references
Fix nix flake path to Cargo.lock file
Fix format
Rename in wash-cli tests
- generate changelogs after 1.0.1 release
- updated with newest features
- address clippy warnings
- Excises vestigal remains of wasmbus-rpc
There were some parts of the core crate that we no longer use,
especially now that we don't require claims signing anymore. This
removes them and bumps the core crate in preparation for 1.0
- bump to 0.3
- use `&str` directly
- Use traces instead of tracing user-facing language to align with OTEL signal names
- move CallTargetInterface to core
- address clippy issues
- add descriptions to crates
- remove direct `wasmbus_rpc` dependency
- replace error field name with err
### Documentation
- add README and update docs
### New Features
- add string and byte utility functions for SecretValue
This commit add some utility functions to enable easily accessing
string values or byte vector values of `SecretValue`s
- impl Zeroize for secret values
- Add support for supplying additional CA certificates to OCI and OpenTelemetry clients
- fetch secrets for providers and links
- upgrade `wrpc`, `async-nats`, `wasmtime`
- Add support for configuring grpc protocol with opentelemetry
- generate crate changelogs
- introduce provider interface sdk
- use native TLS roots along webpki
- implement Redis `wrpc:keyvalue/{atomic,eventual}`
- implement `wasi:http/outgoing-handler` provider
- deliver full config with link
- Add flags for overriding the default OpenTelemetry endpoint
- Switch to using --enable-observability and --enable- flags
- support pubsub on wRPC subjects
Up until now, publishing and subscribing for RPC communcations on the
NATS cluster happened on subjects that were related to the wasmbus
protocol (i.e. 'wasmbus.rpc.*').
To support the WIT-native invocations, i.e. wRPC (#1389), we must
change the publication and subscription subjects to include also the
subjects that are expected to be used by wprc.
This commit updates the provider-sdk to listen *additionally* to
subjects that are required/used by wrpc, though we do not yet have an
implementation for encode/deocde.
- change set-target to set-link-name
Up until the relatively low-level `wasmcloud:bus/lattice` WIT
interface has used a function called `set-target` to aim invocations
that occurred in compliant actors and providers.
Since wRPC (#1389)
enabled wasmCloud 1.0 is going to be WIT-first going forward, all
WIT-driven function executions have access to the relevant
interface (WIT interfaces, rather than Smithy-derived ones) that they
call, at call time.
Given that actor & provider side function executions have access to
their WIT interfaces (ex. `wasi:keyvalue/readwrite.get`), what we need
to do is differentiate between the case where *multiple targets*
might be responding to the same WIT interface-backed invocations.
Unlike before, `set-target` only needs to really differentiate between *link
names*.
This commit updates `set-target` to perform differentiate between link
names, building on the work already done to introduce more opaque
targeting via Component IDs.
- support chunking and dechunking of requests
- support OTEL traces end-to-end
### Bug Fixes
- Add signal-specific path components to OtelConfig's default endpoints
- default to http otel protocol if not supplied
- compile with default features
- fix `link_name` functionality, reorganize tests
- remove LatticeTargetId
- correct comment on wrpc Client
- allow namespaces with slashes
- look for invocation responses from providers
- enable `std` anyhow feature
### Other
- update wRPC
### Refactor
- efficiency, pass optional vec secrets
- light refactor from PR followup
- remove extra trace_level field
- return wrapped `WrpcClient` directly
- move wasmbus RPC topic generation to core
This commit moves the topic generation functions that were used for
wasmbus RPC topics from `provider-sdk` to `core` so that they can be
used/referred to more widely.
- get values from new link def constistently
This commit updates all providers that were marked with TODOs related
to using named config to use `InterfaceLinkDefinition.target_config`
temporarily.
The idea is to stuff configuration into the "names"s of configs that
were supposed to be in use (i.e. `["NAME=VALUE", "NAME=VALUE"]` rather
than `["config-1", "config-2"]`), ahead of named config being ready.
- move wasmcloud wrpc transport client to core
This commit moves the wasmcloud-specific wrpc transport client to the
`wasmcloud-core` crate. From here, it can be used by both
the host (`wasmbus`) and other places like tests.
- InterfaceLinkDefinition -> core
This commit refators the types defined in both `wasmcloud-core` and
`wasmcloud-control-interface` to make it easier to distinguish what
types belong where and what they're related to.
Ultimately the goal here was was to move `InterfaceLinkDefinition`
into `wasmcloud-core` so it can be used in other places, but it was a
good chance to reorganize.
- convert httpclient provider to bindgen
This commit converts the in-tree httpclient provider to use
provider-wit-bindgen for it's implementation.
- clean-up imports
- move chunking to core
### Style
- replace needs_chunking function with direct comparison
### Chore (BREAKING)
- remove cluster_seed/cluster_issuers
- remove LinkDefinition
- bump to 0.2.0 for async-nats release
### New Features (BREAKING)
- add hostdata xkeys, secrets as binary
- add trace_level option
- add secrets to hostdata and links
- Adds version to control API
This should be the final breaking change of the API and it will require
a two phased rollout. I'll need to cut new core and host versions first
and then update wash to use the new host for tests.
- pass config directly to providers
- Updates topics to the new standard
This is a wide ranging PR that changes all the topics as described
in #1108. This also involved removing the start and stop actor
operations. While I was in different parts of the code I did some small
"campfire rule" cleanups mostly of clippy lints and removal of
clippy pedant mode.
### Refactor (BREAKING)
- make content_length a required field
## 0.7.0 (2024-06-11)
### Chore
- Replace actor references by component in crates
Rename wash-cli wash-build tests name and references
Fix nix flake path to Cargo.lock file
Fix format
Rename in wash-cli tests
- generate changelogs after 1.0.1 release
- updated with newest features
- address clippy warnings
- Excises vestigal remains of wasmbus-rpc
There were some parts of the core crate that we no longer use,
especially now that we don't require claims signing anymore. This
removes them and bumps the core crate in preparation for 1.0
- bump to 0.3
- use `&str` directly
- Use traces instead of tracing user-facing language to align with OTEL signal names
- move CallTargetInterface to core
- address clippy issues
- add descriptions to crates
- remove direct `wasmbus_rpc` dependency
- replace error field name with err
### New Features
- Add support for configuring grpc protocol with opentelemetry
- generate crate changelogs
- introduce provider interface sdk
- use native TLS roots along webpki
- implement Redis `wrpc:keyvalue/{atomic,eventual}`
- implement `wasi:http/outgoing-handler` provider
- deliver full config with link
- Add flags for overriding the default OpenTelemetry endpoint
- Switch to using --enable-observability and --enable- flags
- support pubsub on wRPC subjects
Up until now, publishing and subscribing for RPC communcations on the
NATS cluster happened on subjects that were related to the wasmbus
protocol (i.e. 'wasmbus.rpc.*').
To support the WIT-native invocations, i.e. wRPC (#1389), we must
change the publication and subscription subjects to include also the
subjects that are expected to be used by wprc.
This commit updates the provider-sdk to listen *additionally* to
subjects that are required/used by wrpc, though we do not yet have an
implementation for encode/deocde.
- change set-target to set-link-name
Up until the relatively low-level `wasmcloud:bus/lattice` WIT
interface has used a function called `set-target` to aim invocations
that occurred in compliant actors and providers.
Since wRPC (#1389)
enabled wasmCloud 1.0 is going to be WIT-first going forward, all
WIT-driven function executions have access to the relevant
interface (WIT interfaces, rather than Smithy-derived ones) that they
call, at call time.
Given that actor & provider side function executions have access to
their WIT interfaces (ex. `wasi:keyvalue/readwrite.get`), what we need
to do is differentiate between the case where *multiple targets*
might be responding to the same WIT interface-backed invocations.
Unlike before, `set-target` only needs to really differentiate between *link
names*.
This commit updates `set-target` to perform differentiate between link
names, building on the work already done to introduce more opaque
targeting via Component IDs.
- support chunking and dechunking of requests
- support OTEL traces end-to-end
### Bug Fixes
- Add signal-specific path components to OtelConfig's default endpoints
- default to http otel protocol if not supplied
- compile with default features
- fix `link_name` functionality, reorganize tests
- remove LatticeTargetId
- correct comment on wrpc Client
- allow namespaces with slashes
- look for invocation responses from providers
- enable `std` anyhow feature
### Other
- update wRPC
### Refactor
- return wrapped `WrpcClient` directly
- move wasmbus RPC topic generation to core
This commit moves the topic generation functions that were used for
wasmbus RPC topics from `provider-sdk` to `core` so that they can be
used/referred to more widely.
- get values from new link def constistently
This commit updates all providers that were marked with TODOs related
to using named config to use `InterfaceLinkDefinition.target_config`
temporarily.
The idea is to stuff configuration into the "names"s of configs that
were supposed to be in use (i.e. `["NAME=VALUE", "NAME=VALUE"]` rather
than `["config-1", "config-2"]`), ahead of named config being ready.
- move wasmcloud wrpc transport client to core
This commit moves the wasmcloud-specific wrpc transport client to the
`wasmcloud-core` crate. From here, it can be used by both
the host (`wasmbus`) and other places like tests.
- InterfaceLinkDefinition -> core
This commit refators the types defined in both `wasmcloud-core` and
`wasmcloud-control-interface` to make it easier to distinguish what
types belong where and what they're related to.
Ultimately the goal here was was to move `InterfaceLinkDefinition`
into `wasmcloud-core` so it can be used in other places, but it was a
good chance to reorganize.
- convert httpclient provider to bindgen
This commit converts the in-tree httpclient provider to use
provider-wit-bindgen for it's implementation.
- clean-up imports
- move chunking to core
### Style
- replace needs_chunking function with direct comparison
### Chore (BREAKING)
- remove cluster_seed/cluster_issuers
- remove LinkDefinition
- bump to 0.2.0 for async-nats release
### New Features (BREAKING)
- Adds version to control API
This should be the final breaking change of the API and it will require
a two phased rollout. I'll need to cut new core and host versions first
and then update wash to use the new host for tests.
- pass config directly to providers
- Updates topics to the new standard
This is a wide ranging PR that changes all the topics as described
in #1108. This also involved removing the start and stop actor
operations. While I was in different parts of the code I did some small
"campfire rule" cleanups mostly of clippy lints and removal of
clippy pedant mode.
### Refactor (BREAKING)
- make content_length a required field
## 0.6.0 (2024-05-08)
### Chore
- address clippy warnings
- Excises vestigal remains of wasmbus-rpc
There were some parts of the core crate that we no longer use,
especially now that we don't require claims signing anymore. This
removes them and bumps the core crate in preparation for 1.0
- bump to 0.3
- use `&str` directly
- Use traces instead of tracing user-facing language to align with OTEL signal names
- move CallTargetInterface to core
- address clippy issues
- add descriptions to crates
- remove direct `wasmbus_rpc` dependency
- replace error field name with err
### Chore
- generate changelogs after 1.0.1 release
### Chore
- updated with newest features
### New Features
- introduce provider interface sdk
- use native TLS roots along webpki
- implement Redis `wrpc:keyvalue/{atomic,eventual}`
- implement `wasi:http/outgoing-handler` provider
- deliver full config with link
- Add flags for overriding the default OpenTelemetry endpoint
- Switch to using --enable-observability and --enable- flags
- support pubsub on wRPC subjects
Up until now, publishing and subscribing for RPC communcations on the
NATS cluster happened on subjects that were related to the wasmbus
protocol (i.e. 'wasmbus.rpc.*').
To support the WIT-native invocations, i.e. wRPC (#1389), we must
change the publication and subscription subjects to include also the
subjects that are expected to be used by wprc.
This commit updates the provider-sdk to listen *additionally* to
subjects that are required/used by wrpc, though we do not yet have an
implementation for encode/deocde.
- change set-target to set-link-name
Up until the relatively low-level `wasmcloud:bus/lattice` WIT
interface has used a function called `set-target` to aim invocations
that occurred in compliant actors and providers.
Since wRPC (#1389)
enabled wasmCloud 1.0 is going to be WIT-first going forward, all
WIT-driven function executions have access to the relevant
interface (WIT interfaces, rather than Smithy-derived ones) that they
call, at call time.
Given that actor & provider side function executions have access to
their WIT interfaces (ex. `wasi:keyvalue/readwrite.get`), what we need
to do is differentiate between the case where *multiple targets*
might be responding to the same WIT interface-backed invocations.
Unlike before, `set-target` only needs to really differentiate between *link
names*.
This commit updates `set-target` to perform differentiate between link
names, building on the work already done to introduce more opaque
targeting via Component IDs.
- support chunking and dechunking of requests
- support OTEL traces end-to-end
- generate crate changelogs
- generate crate changelogs
### Bug Fixes
- fix `link_name` functionality, reorganize tests
- remove LatticeTargetId
- correct comment on wrpc Client
- allow namespaces with slashes
- look for invocation responses from providers
- enable `std` anyhow feature
- compile with default features
### Other
- update wRPC
### Refactor
- return wrapped `WrpcClient` directly
- move wasmbus RPC topic generation to core
This commit moves the topic generation functions that were used for
wasmbus RPC topics from `provider-sdk` to `core` so that they can be
used/referred to more widely.
- get values from new link def constistently
This commit updates all providers that were marked with TODOs related
to using named config to use `InterfaceLinkDefinition.target_config`
temporarily.
The idea is to stuff configuration into the "names"s of configs that
were supposed to be in use (i.e. `["NAME=VALUE", "NAME=VALUE"]` rather
than `["config-1", "config-2"]`), ahead of named config being ready.
- move wasmcloud wrpc transport client to core
This commit moves the wasmcloud-specific wrpc transport client to the
`wasmcloud-core` crate. From here, it can be used by both
the host (`wasmbus`) and other places like tests.
- InterfaceLinkDefinition -> core
This commit refators the types defined in both `wasmcloud-core` and
`wasmcloud-control-interface` to make it easier to distinguish what
types belong where and what they're related to.
Ultimately the goal here was was to move `InterfaceLinkDefinition`
into `wasmcloud-core` so it can be used in other places, but it was a
good chance to reorganize.
- convert httpclient provider to bindgen
This commit converts the in-tree httpclient provider to use
provider-wit-bindgen for it's implementation.
- clean-up imports
- move chunking to core
### Style
- replace needs_chunking function with direct comparison
### Chore (BREAKING)
- remove cluster_seed/cluster_issuers
- remove LinkDefinition
- bump to 0.2.0 for async-nats release
### New Features (BREAKING)
- Adds version to control API
This should be the final breaking change of the API and it will require
a two phased rollout. I'll need to cut new core and host versions first
and then update wash to use the new host for tests.
- pass config directly to providers
- Updates topics to the new standard
This is a wide ranging PR that changes all the topics as described
in #1108. This also involved removing the start and stop actor
operations. While I was in different parts of the code I did some small
"campfire rule" cleanups mostly of clippy lints and removal of
clippy pedant mode.
### Refactor (BREAKING)
- make content_length a required field