# 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).
## 2.2.0 (2024-10-04)
### Chore
- partially update to NATS 0.35.1
- 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
- bump to v1.0.0
- 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 v1.0.0-alpha.3
- bump to v1.0.0-alpha.2
- bump to 1.0.0-alpha.1
- bump to 0.32.1
- remove support for bindle references
- fix lint
This commit fixes a couple small lints that were left in the
wasmcloud-control-interface crate
- address clippy warnings
- integrate `control-interface` into the workspace
- add 'crates/control-interface/' from commit 'cea335729f3bf368178cc6b8745478bdd01c54b5'
### Documentation
- indicate get_response usage
- actor to components terminology
This change only updates documentation terminology
to use components instead of actors.
Examples will use the terminology components as well so
I'm opting to rename the example directories now ahead
of any source code changes for actor to component
renames.
### New Features
- add ScaleComponentCommand::allow_update
This commit adds the ability to update along with a scale command by
specifying the `allow_update` boolean member.
- generate crate changelogs
- 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.
- Glues in named config to actors
This introduces a new config bundle that can watch for config changes. There
is probably a way to reduce the number of allocations here, but it is good
enough for now.
Also, sorry for the new file. I renamed `config.rs` to `host_config.rs` so
I could reuse the `config.rs` file, but I forgot to git mv. So that file
hasn't changed
- add wasmcloud-test-util crate
This commit adds a `wasmcloud-test-util` crate, which contains utilities
for testing wasmCloud hosts, providers, and actors locally
- 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.
- added InterfaceLinkDefinition
- enable OTEL logs
- add event name as suffix on event topic
- enable updating host labels via the control interface
- Adds support for actor config
This is a fairly large PR because it is adding several new control interface
topics as well as actually adding the actor config feature.
This feature was motivated by 2 major reasons:
1. We have been needing something like this for a while, at the very least for
being able to configure link names in an actor at runtime
2. There aren't currently any active (yes there were some in the past) efforts
to add a generic `wasi:cloud/guest-config` interface that can allow any host
to provide config values to a component. I want to use this as a springboard
for the conversation in wasi-cloud as we will start to use it and can give
active feedback as to how the interface should be shaped
With that said, note that this is only going to be added for actors built against
the component model. Since this is net new functionality, I didn't think it was
worth it to try to backport.
As for testing, I have tested that an actor can import the functions and get the values
via the various e2e tests and also manually validated that all of the new topics
work.
### Bug Fixes
- wrong data returned from provider auction
This commit fixes incorrect data provided from a message in the
control-interface, and also adds test for all the newly added builders
in 2.x.x.
- order HostInventory labels when serializing
- flatten claims response payload
- fix compilation
### Other
- wasmcloud-control-interface v2.1.0
- control-interface v2.0.0
- upgrade to 0.36
- v0.33.0
- v0.32.0
- update `wasmcloud-control-interface`
### Refactor
- 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.
- remove deprecated code related to start actor cmd
- update parsing from RegistryCredential to RegistryAuth
- revised implementation of registry url and credentials resolution
- some cleanup before revised implementation
- rename label to key
- reverting back to simple util method call for identifier verification
- trying out "nominal typing" for validating identifiers. Only HostId implemented.
- validate identifier inputs
- simplify `collect_sub_timeout`
- remove `sub_stream` module
- remove unused `HeaderInjector`
- clean-up imports
### Test
- remove initial test function.
### Chore (BREAKING)
- builder-ize ProviderDescription
- remove cluster_seed/cluster_issuers
- rename actor to component
### New Features (BREAKING)
- rename actor_scale* events
- 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.
- support static named config for providers
- wrap all operations in CtlResponse
- remove collection type aliases
- flatten instances on actor/providers
- fully support interface links, remove aliases
- Changes config topic to be for named config
This is the first in a set of changes to move over to named config. It is
not technically complete as you essentially have to name your config the
same as the actor ID. I did this purposefully so as to not have a PR of
doom with all the changes. The next PR will be adding named config to the
scale command, then support for named config and providers in another PR
after that
- 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.
- allow receiving specific events
- add heartbeat fields to inventory
- remove singular actor events, add actor_scaled
- upgrade max_instances to u32
- rename max-concurrent to max-instances, simplify scale
### Bug Fixes (BREAKING)
- consistent link operations
### Refactor (BREAKING)
- prep for v2 release
This commit prepares control-interface for v2.0.0 release, in
particular:
- Trimming publically available API surface
- Ensuring provided are appropriately marked with `#[non_exhaustive]`
The goal of this prep is to prevent future breaking changes in
`wasmcloud-control-interface` releases.
- rename lattice prefix to just lattice
### Commit Statistics
- 76 commits contributed to the release.
- 1253 days passed between releases.
- 74 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' were seen in commit messages
### Commit Details
view details
* **Uncategorized**
- Wrong data returned from provider auction ([`f40394f`](https://github.com/vados-cosmonic/wasmCloud/commit/f40394f87acce6e074e8db7acc6538b118c3ccb2))
- Wasmcloud-control-interface v2.1.0 ([`a753015`](https://github.com/vados-cosmonic/wasmCloud/commit/a75301563346bcc0ae458e20ca25e577380e733f))
- Builder-ize ProviderDescription ([`0785e83`](https://github.com/vados-cosmonic/wasmCloud/commit/0785e8374dbd843250af60a19da9ae5d5b340622))
- Control-interface v2.0.0 ([`b40df26`](https://github.com/vados-cosmonic/wasmCloud/commit/b40df26032b9f653ab3f3e60f7a34f1bea6c95df))
- Prep for v2 release ([`8b369e7`](https://github.com/vados-cosmonic/wasmCloud/commit/8b369e7bd068a1cf2b4d034dcc287c657d1ae8d1))
- Upgrade to 0.36 ([`c65d9ca`](https://github.com/vados-cosmonic/wasmCloud/commit/c65d9cab4cc8917eedcad1672812bafad0311ee0))
- Partially update to NATS 0.35.1 ([`94bfb0e`](https://github.com/vados-cosmonic/wasmCloud/commit/94bfb0e23d4f1f58b70500eaa635717a6ba83484))
- Add ScaleComponentCommand::allow_update ([`1d58e51`](https://github.com/vados-cosmonic/wasmCloud/commit/1d58e519160f0404954181dfc77af774e2ededcf))
- Order HostInventory labels when serializing ([`d4880ab`](https://github.com/vados-cosmonic/wasmCloud/commit/d4880abaff6c86e27d4d4de0f2affd81dcbe5df5))
- Replace actor references by component in crates ([`20c72ce`](https://github.com/vados-cosmonic/wasmCloud/commit/20c72ce0ed423561ae6dbd5a91959bec24ff7cf3))
- Generate changelogs after 1.0.1 release ([`4e0313a`](https://github.com/vados-cosmonic/wasmCloud/commit/4e0313ae4cfb5cbb2d3fa0320c662466a7082c0e))
- Updated with newest features ([`0f03f1f`](https://github.com/vados-cosmonic/wasmCloud/commit/0f03f1f91210a4ed3fa64a4b07aebe8e56627ea6))
- Generate crate changelogs ([`f986e39`](https://github.com/vados-cosmonic/wasmCloud/commit/f986e39450676dc598b92f13cb6e52b9c3200c0b))
- Address clippy warnings ([`5957fce`](https://github.com/vados-cosmonic/wasmCloud/commit/5957fce86a928c7398370547d0f43c9498185441))
- Bump to v1.0.0 ([`4a51868`](https://github.com/vados-cosmonic/wasmCloud/commit/4a51868f45b6bff8472b1e9337ca83243ee102e8))
- Indicate get_response usage ([`7d0a977`](https://github.com/vados-cosmonic/wasmCloud/commit/7d0a9774b24c182b0e38ecaa0c1c4383c517af45))
- Remove cluster_seed/cluster_issuers ([`bc5d296`](https://github.com/vados-cosmonic/wasmCloud/commit/bc5d296f3a58bc5e8df0da7e0bf2624d03335d9f))
- Excises vestigal remains of wasmbus-rpc ([`fd69df4`](https://github.com/vados-cosmonic/wasmCloud/commit/fd69df40f24ca565ace0f8c97a0c47a89db575a4))
- Bump v1.0.0-alpha.3 ([`0c193ff`](https://github.com/vados-cosmonic/wasmCloud/commit/0c193ff7cdf626b1ad8da11f933456d21be21246))
- Rename actor to component ([`d4bf78a`](https://github.com/vados-cosmonic/wasmCloud/commit/d4bf78a704affaa84808fb167d3ab1636ffc35ac))
- Bump to v1.0.0-alpha.2 ([`74eb752`](https://github.com/vados-cosmonic/wasmCloud/commit/74eb7525a8b0a32d5dfaeb16d347ef3a0ec48b7c))
- Rename actor_scale* events ([`9e23be2`](https://github.com/vados-cosmonic/wasmCloud/commit/9e23be23131bbcdad746f7e85d33d5812e5f2ff9))
- Adds version to control API ([`3f2d2f4`](https://github.com/vados-cosmonic/wasmCloud/commit/3f2d2f44470d44809fb83de2fa34b29ad1e6cb30))
- Bump to 1.0.0-alpha.1 ([`647a635`](https://github.com/vados-cosmonic/wasmCloud/commit/647a6358ffd0355bf00fb53aef18d937ee0e5324))
- Flatten claims response payload ([`cab6fd2`](https://github.com/vados-cosmonic/wasmCloud/commit/cab6fd2cae47f0a866f17dfdb593a48a9210bab8))
- Actor to components terminology ([`05ac449`](https://github.com/vados-cosmonic/wasmCloud/commit/05ac449d3da207fd495ecbd786220b053fd6300e))
- Support static named config for providers ([`36c70a6`](https://github.com/vados-cosmonic/wasmCloud/commit/36c70a6e572eeefc4fd211baef3934c691af2679))
- Move wasmcloud wrpc transport client to core ([`c654448`](https://github.com/vados-cosmonic/wasmCloud/commit/c654448653db224c6a676ecf43150d880a9daf8c))
- Support pubsub on wRPC subjects ([`76c1ed7`](https://github.com/vados-cosmonic/wasmCloud/commit/76c1ed7b5c49152aabd83d27f0b8955d7f874864))
- InterfaceLinkDefinition -> core ([`c49a6ef`](https://github.com/vados-cosmonic/wasmCloud/commit/c49a6ef0b6460b3eb463315fe31878eb71ae5364))
- Glues in named config to actors ([`82c249b`](https://github.com/vados-cosmonic/wasmCloud/commit/82c249b15dba4dbe4c14a6afd2b52c7d3dc99985))
- Wrap all operations in CtlResponse ([`4c54a48`](https://github.com/vados-cosmonic/wasmCloud/commit/4c54a488f5ea4a7d5f6793db62c9e2b0fd6ddf3a))
- Consistent link operations ([`301ba5a`](https://github.com/vados-cosmonic/wasmCloud/commit/301ba5aacadfe939db5717eb9cff47a31fffd116))
- Remove collection type aliases ([`e16da66`](https://github.com/vados-cosmonic/wasmCloud/commit/e16da6614ad9ae28e8c3e6ac3ebb36faf12cb4d1))
- Flatten instances on actor/providers ([`49aba5d`](https://github.com/vados-cosmonic/wasmCloud/commit/49aba5d593d1d2a5ef10c46bb412be434bcf7e49))
- Feat(control-interface)!: add component ID, remove unneeded parameters from payloads for wrpc ([`a9518e0`](https://github.com/vados-cosmonic/wasmCloud/commit/a9518e0b567685fa2c6bf0d9d8aca80498c79da9))
- Fully support interface links, remove aliases ([`48fc893`](https://github.com/vados-cosmonic/wasmCloud/commit/48fc893ba2de576511aeea98a3da4cc97024c53e))
- Add wasmcloud-test-util crate ([`4803b7f`](https://github.com/vados-cosmonic/wasmCloud/commit/4803b7f2381b5439f862746407ac13a31ebdfee3))
- Change set-target to set-link-name ([`5d19ba1`](https://github.com/vados-cosmonic/wasmCloud/commit/5d19ba16a98dca9439628e8449309ccaa763ab10))
- Added InterfaceLinkDefinition ([`85a550d`](https://github.com/vados-cosmonic/wasmCloud/commit/85a550d889d18ce4e437f88cbd8b3d127a9e5fbe))
- Changes config topic to be for named config ([`1d46c28`](https://github.com/vados-cosmonic/wasmCloud/commit/1d46c284e32d2623d0b105014ef0c2f6ebc7e079))
- Updates topics to the new standard ([`42d069e`](https://github.com/vados-cosmonic/wasmCloud/commit/42d069eee87d1b5befff1a95b49973064f1a1d1b))
- Enable OTEL logs ([`3602bdf`](https://github.com/vados-cosmonic/wasmCloud/commit/3602bdf5345ec9a75e88c7ce1ab4599585bcc2d3))
- V0.33.0 ([`6417be8`](https://github.com/vados-cosmonic/wasmCloud/commit/6417be87afb6df3e14892022148f38815056104c))
- Fix compilation ([`215b492`](https://github.com/vados-cosmonic/wasmCloud/commit/215b492a1297fd35577e428dee25c1407ef8e6e2))
- Allow receiving specific events ([`1753549`](https://github.com/vados-cosmonic/wasmCloud/commit/1753549d210c41405c9f2758ec857adc1505b61a))
- Rename lattice prefix to just lattice ([`6e8faab`](https://github.com/vados-cosmonic/wasmCloud/commit/6e8faab6a6e9f9bb7327ffb71ded2a83718920f7))
- Add heartbeat fields to inventory ([`2e8893a`](https://github.com/vados-cosmonic/wasmCloud/commit/2e8893af27700b86dbeb63e5e7fc4252ec6771e1))
- Remove singular actor events, add actor_scaled ([`df01bbd`](https://github.com/vados-cosmonic/wasmCloud/commit/df01bbd89fd2b690c2d1bcfe68455fb827646a10))
- Upgrade max_instances to u32 ([`5cca9ee`](https://github.com/vados-cosmonic/wasmCloud/commit/5cca9ee0a88d63cb53e8d352c16a5d9d59966bc8))
- Rename max-concurrent to max-instances, simplify scale ([`d8eb9f3`](https://github.com/vados-cosmonic/wasmCloud/commit/d8eb9f3ee9df65e96d076a6ba11d2600d0513207))
- Bump to 0.32.1 ([`39d4de5`](https://github.com/vados-cosmonic/wasmCloud/commit/39d4de57e25af8cb4686d53410037c1cc93027ba))
- Remove deprecated code related to start actor cmd ([`7de3182`](https://github.com/vados-cosmonic/wasmCloud/commit/7de31820034c4b70ab6edc772713e64aafe294a9))
- Update parsing from RegistryCredential to RegistryAuth ([`65d2e28`](https://github.com/vados-cosmonic/wasmCloud/commit/65d2e28d54929b8f4d0b39077ee82ddad2387c8e))
- Revised implementation of registry url and credentials resolution ([`57d014f`](https://github.com/vados-cosmonic/wasmCloud/commit/57d014fb7fe11542d2e64068ba86e42a19f64f98))
- Some cleanup before revised implementation ([`4e9bae3`](https://github.com/vados-cosmonic/wasmCloud/commit/4e9bae34fe95ecaffbc81fd452bf29746b4e5856))
- Add event name as suffix on event topic ([`6994a22`](https://github.com/vados-cosmonic/wasmCloud/commit/6994a2202f856da93d0fe50e40c8e72dd3b7d9e6))
- Rename label to key ([`bdb72ee`](https://github.com/vados-cosmonic/wasmCloud/commit/bdb72eed8778a5d8c59d0b8939f147c374cb671f))
- Enable updating host labels via the control interface ([`85cb573`](https://github.com/vados-cosmonic/wasmCloud/commit/85cb573d29c75eae4fdaca14be808131383ca3cd))
- Adds support for actor config ([`1a048a7`](https://github.com/vados-cosmonic/wasmCloud/commit/1a048a71320dbbf58f331e7e958f4b1cd5ed4537))
- V0.32.0 ([`a61723a`](https://github.com/vados-cosmonic/wasmCloud/commit/a61723a12a298f10e28eb7464a2bb623b5cfe244))
- Update `wasmcloud-control-interface` ([`17db669`](https://github.com/vados-cosmonic/wasmCloud/commit/17db669d79e242144eeffbd8d2ac2b1ae9edeb35))
- Reverting back to simple util method call for identifier verification ([`d3e6269`](https://github.com/vados-cosmonic/wasmCloud/commit/d3e6269dc1441b21d4c06d7620e9e7c6d839e211))
- Remove initial test function. ([`ae3c37c`](https://github.com/vados-cosmonic/wasmCloud/commit/ae3c37c61b20c38abbf8e09b37c546dd1db4db42))
- Trying out "nominal typing" for validating identifiers. Only HostId implemented. ([`413410b`](https://github.com/vados-cosmonic/wasmCloud/commit/413410bad26d148aeda28b6403add7842570efac))
- Validate identifier inputs ([`f8846e0`](https://github.com/vados-cosmonic/wasmCloud/commit/f8846e022a49d4c9158250af1ab9ae6661bceaf0))
- Remove support for bindle references ([`5301084`](https://github.com/vados-cosmonic/wasmCloud/commit/5301084bde0db0c65811aa30c48de2a63e091fcf))
- Fix lint ([`f43d882`](https://github.com/vados-cosmonic/wasmCloud/commit/f43d88283ddc17ed81b1f95bf64b5985bda70fd3))
- Simplify `collect_sub_timeout` ([`79a8f1b`](https://github.com/vados-cosmonic/wasmCloud/commit/79a8f1b03a63a4b5a5295cdf86ef69780bade052))
- Remove `sub_stream` module ([`b604a8c`](https://github.com/vados-cosmonic/wasmCloud/commit/b604a8c7a5f1c9d3b417a178d68d90104d817b3a))
- Address clippy warnings ([`723ae50`](https://github.com/vados-cosmonic/wasmCloud/commit/723ae50ea0eff41875f65622ba72cf2c4f53489f))
- Remove unused `HeaderInjector` ([`98a5952`](https://github.com/vados-cosmonic/wasmCloud/commit/98a59529e451214d61acdffe4703552a5f4a231a))
- Clean-up imports ([`f8c2d51`](https://github.com/vados-cosmonic/wasmCloud/commit/f8c2d51f1b049e2035ea0d5df096a129482da7e4))
- Merge pull request #927 from rvolosatovs/merge/control-interface ([`5d40fcb`](https://github.com/vados-cosmonic/wasmCloud/commit/5d40fcb06f4a029cca05f0d5b5f8c12722553822))
- Integrate `control-interface` into the workspace ([`18791e7`](https://github.com/vados-cosmonic/wasmCloud/commit/18791e7666b4de2526628e2a973c47b7f51d9481))
- Add 'crates/control-interface/' from commit 'cea335729f3bf368178cc6b8745478bdd01c54b5' ([`84fc7a9`](https://github.com/vados-cosmonic/wasmCloud/commit/84fc7a928697c8fc9c6a03e94ed2053783577a4f))
## 2.0.0 (2024-09-27)
### Chore
- address clippy warnings
- bump to v1.0.0
- 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 v1.0.0-alpha.3
- bump to v1.0.0-alpha.2
- bump to 1.0.0-alpha.1
- bump to 0.32.1
- remove support for bindle references
- fix lint
This commit fixes a couple small lints that were left in the
wasmcloud-control-interface crate
- address clippy warnings
- integrate `control-interface` into the workspace
- add 'crates/control-interface/' from commit 'cea335729f3bf368178cc6b8745478bdd01c54b5'
### Refactor (BREAKING)
- prep for v2 release
This commit prepares control-interface for v2.0.0 release, in
particular:
- Trimming publically available API surface
- Ensuring provided are appropriately marked with `#[non_exhaustive]`
The goal of this prep is to prevent future breaking changes in
`wasmcloud-control-interface` releases.
### Other
- upgrade to 0.36
### Chore
- partially update to NATS 0.35.1
- 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
### Chore
- updated with newest features
### Documentation
- indicate get_response usage
- actor to components terminology
This change only updates documentation terminology
to use components instead of actors.
Examples will use the terminology components as well so
I'm opting to rename the example directories now ahead
of any source code changes for actor to component
renames.
### New Features
- 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.
- Glues in named config to actors
This introduces a new config bundle that can watch for config changes. There
is probably a way to reduce the number of allocations here, but it is good
enough for now.
Also, sorry for the new file. I renamed `config.rs` to `host_config.rs` so
I could reuse the `config.rs` file, but I forgot to git mv. So that file
hasn't changed
- add wasmcloud-test-util crate
This commit adds a `wasmcloud-test-util` crate, which contains utilities
for testing wasmCloud hosts, providers, and actors locally
- 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.
- added InterfaceLinkDefinition
- enable OTEL logs
- add event name as suffix on event topic
- enable updating host labels via the control interface
- Adds support for actor config
This is a fairly large PR because it is adding several new control interface
topics as well as actually adding the actor config feature.
This feature was motivated by 2 major reasons:
1. We have been needing something like this for a while, at the very least for
being able to configure link names in an actor at runtime
2. There aren't currently any active (yes there were some in the past) efforts
to add a generic `wasi:cloud/guest-config` interface that can allow any host
to provide config values to a component. I want to use this as a springboard
for the conversation in wasi-cloud as we will start to use it and can give
active feedback as to how the interface should be shaped
- generate crate changelogs
- generate crate changelogs
- add ScaleComponentCommand::allow_update
This commit adds the ability to update along with a scale command by
specifying the `allow_update` boolean member.
### Bug Fixes
- flatten claims response payload
- fix compilation
- order HostInventory labels when serializing
### Other
- v0.33.0
- v0.32.0
- update `wasmcloud-control-interface`
### Refactor
- 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.
- remove deprecated code related to start actor cmd
- update parsing from RegistryCredential to RegistryAuth
- revised implementation of registry url and credentials resolution
- some cleanup before revised implementation
- rename label to key
- reverting back to simple util method call for identifier verification
- trying out "nominal typing" for validating identifiers. Only HostId implemented.
- validate identifier inputs
- simplify `collect_sub_timeout`
- remove `sub_stream` module
- remove unused `HeaderInjector`
- clean-up imports
### Test
- remove initial test function.
### Chore (BREAKING)
- remove cluster_seed/cluster_issuers
- rename actor to component
### New Features (BREAKING)
- rename actor_scale* events
- 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.
- support static named config for providers
- wrap all operations in CtlResponse
- remove collection type aliases
- flatten instances on actor/providers
- fully support interface links, remove aliases
- Changes config topic to be for named config
This is the first in a set of changes to move over to named config. It is
not technically complete as you essentially have to name your config the
same as the actor ID. I did this purposefully so as to not have a PR of
doom with all the changes. The next PR will be adding named config to the
scale command, then support for named config and providers in another PR
after that
- 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.
- allow receiving specific events
- add heartbeat fields to inventory
- remove singular actor events, add actor_scaled
- upgrade max_instances to u32
- rename max-concurrent to max-instances, simplify scale
### Bug Fixes (BREAKING)
- consistent link operations
### Refactor (BREAKING)
- rename lattice prefix to just lattice
## v0.3.1 (2021-04-29)
## v0.3.0 (2021-04-16)
## v0.2.1 (2021-03-26)
## v0.2.0 (2021-03-22)
## v0.1.0 (2021-02-16)
### Commit Statistics
- 14 commits contributed to the release.
- 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 9 unique issues were worked on: [#16](https://github.com/vados-cosmonic/wasmCloud/issues/16), [#25](https://github.com/vados-cosmonic/wasmCloud/issues/25), [#32](https://github.com/vados-cosmonic/wasmCloud/issues/32), [#37](https://github.com/vados-cosmonic/wasmCloud/issues/37), [#40](https://github.com/vados-cosmonic/wasmCloud/issues/40), [#49](https://github.com/vados-cosmonic/wasmCloud/issues/49), [#67](https://github.com/vados-cosmonic/wasmCloud/issues/67), [#81](https://github.com/vados-cosmonic/wasmCloud/issues/81), [#84](https://github.com/vados-cosmonic/wasmCloud/issues/84)
### Commit Details
view details
* **[#16](https://github.com/vados-cosmonic/wasmCloud/issues/16)**
- Safety/WIP checkin. Partially done implementing control interface ([`308bbe4`](https://github.com/vados-cosmonic/wasmCloud/commit/308bbe4605f2f21359a7eed8518a8fe844a4f149))
* **[#25](https://github.com/vados-cosmonic/wasmCloud/issues/25)**
- Implementation of the scheduling auction client and host functionality ([`617555f`](https://github.com/vados-cosmonic/wasmCloud/commit/617555f8412b5485c266585c031a9a4332eb70af))
* **[#32](https://github.com/vados-cosmonic/wasmCloud/issues/32)**
- Initial implementation of actor update functionality ([`2390d79`](https://github.com/vados-cosmonic/wasmCloud/commit/2390d79063f3df58a8f358010839462a3f8e77a1))
* **[#37](https://github.com/vados-cosmonic/wasmCloud/issues/37)**
- Adding support for RPC invocations over control interface ([`f411d06`](https://github.com/vados-cosmonic/wasmCloud/commit/f411d06fb5cadda900928e620407538213aa5c2c))
* **[#40](https://github.com/vados-cosmonic/wasmCloud/issues/40)**
- Fixing topic prefixes ([`e968243`](https://github.com/vados-cosmonic/wasmCloud/commit/e968243a954806086f4cf2ae6f586a2a8207422e))
* **[#49](https://github.com/vados-cosmonic/wasmCloud/issues/49)**
- Convert lattice cache (networked and offline) into use of capability provider ([`6b47d05`](https://github.com/vados-cosmonic/wasmCloud/commit/6b47d050fd85883758518ff069a74b6eca5627a9))
* **[#67](https://github.com/vados-cosmonic/wasmCloud/issues/67)**
- Control interface start actor and provider now acknowledge prior to downloading OCI bytes ([`e6c228e`](https://github.com/vados-cosmonic/wasmCloud/commit/e6c228e70f433a1d2e6049d702c1841652c449d2))
* **[#81](https://github.com/vados-cosmonic/wasmCloud/issues/81)**
- Remove git dependencies ([`3d3bd2d`](https://github.com/vados-cosmonic/wasmCloud/commit/3d3bd2d7542efe037e56b1ea98e401cae1252fd5))
* **[#84](https://github.com/vados-cosmonic/wasmCloud/issues/84)**
- Updated crate READMEs, additional build/release actions, increased echo delay ([`9643645`](https://github.com/vados-cosmonic/wasmCloud/commit/9643645b18bf4d1478e4cf7666e7c576d9ed5ce0))
* **Uncategorized**
- Merge pull request #39 from brooksmtownsend/pub-mod-but-not-too-pub ([`9ed226d`](https://github.com/vados-cosmonic/wasmCloud/commit/9ed226d3eece88def03af7c173e5777d6b9d4823))
- Merge remote-tracking branch 'upstream/main' into release_gh ([`c02921b`](https://github.com/vados-cosmonic/wasmCloud/commit/c02921bf17cf14767894449df08b886aab2e9eed))
- Make only Invocation and InvocationResponse public ([`0154b89`](https://github.com/vados-cosmonic/wasmCloud/commit/0154b8943795c7925b94bfa3a1aa4f4da1b75854))
- Merge pull request #38 from brooksmtownsend/make-mod-pub ([`27232ff`](https://github.com/vados-cosmonic/wasmCloud/commit/27232ffacf3b5d277328c6821b3cd25479f8bda9))
- Make inv mod public for control_interface imports ([`92c80c1`](https://github.com/vados-cosmonic/wasmCloud/commit/92c80c11d35421d6ed3899d0e32651f177697772))