Releases: wasmCloud/wadm
v0.18.0
What's Changed
- feat: support shared components and providers by @brooksmtownsend in #381
- release(wadm): v0.18.0-rc.1 by @brooksmtownsend in #460
- chore: Swap wolfi-base source to cgr.dev instead of Docker Hub by @joonas in #462
- fix(wadm-types): Address RUSTSEC-2024-0370 by @joonas in #461
- chore(deps): bump serde_json from 1.0.128 to 1.0.132 by @dependabot in #457
- chore(deps): bump uuid from 1.10.0 to 1.11.0 by @dependabot in #459
- chore(deps): bump anyhow from 1.0.89 to 1.0.91 by @dependabot in #463
- release(wadm): 0.18, types and client 0.7 by @brooksmtownsend in #464
Full Changelog: v0.17.1...v0.18.0
v0.18.0-rc.1
release(wadm): v0.18.0-rc.1
v0.17.1
What's Changed
- chore: add MAINTAINERS.md by @brooksmtownsend in #452
- chore(MAINTAINERS): add organizations by @brooksmtownsend in #453
- chore(deps): bump clap from 4.5.19 to 4.5.20 by @dependabot in #454
- chore: Pull in slightly older version of regex by @thomastaylor312 in #455
Full Changelog: v0.17.0...v0.17.1
v0.17.0
v0.16.1
What's Changed
- chore(deps): bump clap from 4.5.18 to 4.5.19 by @dependabot in #441
- chore(deps): bump indexmap from 2.5.0 to 2.6.0 by @dependabot in #442
- fix/fetch stream status by @brooksmtownsend in #444
Full Changelog: v0.16.0...v0.16.1
v0.16.0
What's Changed
- chore(deps): update control interface to v2.0.0 by @vados-cosmonic in #431
- chore(deps): bump regex from 1.10.6 to 1.11.0 by @dependabot in #436
- chore(deps): bump testcontainers from 0.22.0 to 0.23.1 by @dependabot in #434
- chore(deps): bump async-trait from 0.1.82 to 0.1.83 by @dependabot in #435
- chore(deps): update to ctrl iface 2.1.0 by @vados-cosmonic in #437
- release: Bump wadm client and types by @joonas in #438
- chore(deps): update for control-interface 2.2.0 by @vados-cosmonic in #439
- release(wadm): v0.16.0 by @brooksmtownsend in #440
Full Changelog: v0.15.0...v0.16.0
v0.15.0
What's Changed
- chore(schema): change name and description on json schema by @lachieh in #395
- chore(deps): bump clap from 4.5.15 to 4.5.16 by @dependabot in #399
- chore(deps): bump serde_json from 1.0.125 to 1.0.127 by @dependabot in #397
- chore(deps): bump serde from 1.0.208 to 1.0.209 by @dependabot in #398
- fix(wadm): ensure custom traits are not spread or link traits by @brooksmtownsend in #396
- fix(server): deprecate and replace model.list operation with model.get by @ahmedtadde in #400
- chore(deps): bump tokio from 1.39.3 to 1.40.0 by @dependabot in #403
- chore(deps): bump actions/setup-python from 5.1.1 to 5.2.0 by @dependabot in #407
- chore(deps): bump indexmap from 2.4.0 to 2.5.0 by @dependabot in #406
- chore(deps): bump testcontainers from 0.21.1 to 0.22.0 by @dependabot in #404
- chore(deps): bump async-trait from 0.1.81 to 0.1.82 by @dependabot in #405
- chore(chart): Bump wadm chart to default to 0.14.0 by @joonas in #402
- chore(deps): bump serde_json from 1.0.127 to 1.0.128 by @dependabot in #410
- chore(deps): bump anyhow from 1.0.86 to 1.0.87 by @dependabot in #413
- chore(deps): bump serde from 1.0.209 to 1.0.210 by @dependabot in #412
- chore(deps): bump clap from 4.5.16 to 4.5.17 by @dependabot in #411
- fix(types): Fixes validation for wasi:keyvalue by @thomastaylor312 in #415
- feat(wadm)!: support configuring max stream bytes by @brooksmtownsend in #418
- chore: Revise the default NATS Server address logic by @joonas in #420
- chore: Rework release pipeline by @joonas in #421
- chore: Use normal cargo build on windows by @joonas in #422
- chore: Fix up release workflow by @joonas in #423
- chore(deps): bump bytes from 1.7.1 to 1.7.2 by @dependabot in #424
- chore(deps): bump thiserror from 1.0.63 to 1.0.64 by @dependabot in #426
- chore(deps): bump clap from 4.5.17 to 4.5.18 by @dependabot in #427
- chore(deps): bump nkeys from 0.4.3 to 0.4.4 by @dependabot in #425
- chore(deps): bump anyhow from 1.0.87 to 1.0.89 by @dependabot in #416
- fix(handler): backwards compat list by @brooksmtownsend in #428
- release: bump crates for release by @brooksmtownsend in #429
- feat: Add wolfi image by @joonas in #430
New Contributors
Full Changelog: v0.14.0...v0.15.0
v0.14.0
This release of wadm includes a whole suite of quality of life improvements, fixes, and new features.
Features
- The wadm client API now returns the name and the version from deploying a model, which previously was difficult to infer if you didn't know the version but wanted to deploy the latest version of an application
- wadm's host cleanup interval has been reduced to 70 seconds, requiring only two missed heartbeats instead of four. This will cut down the time to remove a host that no longer exists. If you're running wadm in a highly distributed scenario where you expect for hosts to have intermittent network connections, you may want to re-adjust this value to 120 seconds to keep the previous functionality.
- The BackoffWrapper for scalers now has the ability to correlate failure events to particular scalers, reporting failed events as failed scaler statuses. This also comes with a 5 second backoff for now, which is enough to prevent hot-loops for reconciliation. Most users will find this via
wash app status
, which has been revamped in wash 0.31.0
Fixes and improvements
- Link scalers will now create links when a component is the source or target of a link when that component starts, previously we only did this when the component was the source
- All WIT bindings / helpers are updated
What's Changed
- feat(client)!: return name and version from deploy model by @brooksmtownsend in #368
- fix(wit): update bindings to types 0.2.0 by @brooksmtownsend in #363
- feat(wadm)!: set cleanup interval to 60s by @brooksmtownsend in #364
- fix(wadm): attach lattice/multitenant to consumer metadata by @brooksmtownsend in #359
- fix(scalers): remove scalers upon notification by @brooksmtownsend in #375
- fix(wadm): update reaper to allow for latency by @brooksmtownsend in #377
- feat(scaler): report status per scaler by @brooksmtownsend in #362
- fix(server): use backwards compatible undeployed by @brooksmtownsend in #380
- fix(scalers): put link for component as target by @brooksmtownsend in #378
- fix(charts): align replicas value by @ricochet in #382
- feat(*)!: surface application errors in status by @brooksmtownsend in #379
- release: v0.14.0 by @brooksmtownsend in #394
Full Changelog: v0.13.1...v0.14.0
v0.13.1
What's Changed
- fix: react to configuration events by @brooksmtownsend in #361
- chore: update README to be more direct by @brooksmtownsend in #366
- chore: Replace wash up with testcontainers by @joonas in #367
- chore: cleanup repository tests, files, README by @brooksmtownsend in #365
- chore(deps): bump serde_json from 1.0.121 to 1.0.122 by @dependabot in #372
- chore(deps): bump base64 from 0.21.7 to 0.22.1 by @dependabot in #373
- chore(deps): bump bytes from 1.6.1 to 1.7.1 by @dependabot in #370
- chore(deps): bump indexmap from 2.2.6 to 2.3.0 by @dependabot in #371
- chore: Migrate more tests over to using testcontainers for setup by @joonas in #369
- chore(deps): bump clap from 4.5.11 to 4.5.13 by @dependabot in #374
- fix(#345): use cached links when req fails by @brooksmtownsend in #360
Full Changelog: v0.13.0...v0.13.1
v0.13.0
What's Changed
The wadm manifest has a new block, policies
, and a new streamlined syntax for link traits with the addition of secrets. Both of these changes are backwards compatible.
Secrets
Secret configuration can now be defined for components, providers, and links. For components and providers, the secrets:
block is now available in the component properties:
section, alongside config. The secret should be named however the component or provider refers to it in code, the policy
field should point to an appropriate policy that configures the secrets backend, and then the key
, field
, and version
properties should indicate how to reference the secret in the backend itself.
components:
- name: http-component
type: component
properties:
image: ghcr.io/wasmcloud/test-fetch-with-token:0.1.0-fake
secrets:
# wasmCloud will fetch this secret from the vault backend
- name: some-api-token
properties:
policy: vault
key: secrets/test/value
field: api-token
version: 1
Policies
With the addition of secrets in wasmCloud, secrets backends often require more information in order to authenticate a component. In the case of Vault for example, the secrets backend requires knowledge of the role name and mount path. If you're using secrets, ensure you define an appropriate policy for the backend, and then refer to that policy by name
spec:
policies:
- name: vault
type: policy.secret.wasmcloud.dev/v1alpha1
properties:
backend: 'vault'
role_name: 'demo-role'
mount_path: 'jwt'
Links
The link trait definition now deprecates the source_config
, target_config
, and target: <name>
properties in favor of a new streamlined syntax:
- type: link
properties:
namespace: wasi
package: keyvalue
interfaces: [atomics, store]
source:
config:
- name: redis-url
properties:
url: 127.0.0.1:6379
target:
name: kvredis
secrets:
- name: redis_password
properties:
policy: nats-kv
key: redis_password
The link source and target blocks now have config:
and secrets:
nested properties for defining config and secrets, respectively. To simplify the blocks, the target: name: <name>
field is now nested in order to organize all target information in one place. This change is backwards compatible and wadm will automatically update an application manifest with the source_config
or target_config
blocks before storage. Put another way, you can use the following script to update any application manifests:
wash app put wadm.yaml
wash app get <app-name> > wadm-updated.yaml
Features
- Add support for secrets in manifests - Breaking change: introduces the ability to manage secrets directly within the manifests. (#307)
- Retry state updates - Added a feature to automatically retry state updates to improve reliability. (#315)
- Add policy configuration block - Introduces a new block for configuring policies. (#306)
- Added WIT bindings for OAM types and subscription method - Enables OAM type support and a new subscription method. (#301)
Bug Fixes
- Correctly emit a validation error if a backend key in a policy is missing - Ensures that a missing backend key in a policy results in a validation error. (#344)
- Copy backend key to top level in a generated config value - Fixes an issue where the backend key was not correctly copied. (#343)
- Write out policy data in a secret config correctly - Corrects the way policy data is written out in secret configurations. (#339)
- Use instances in all examples - Updates all examples to utilize instances. (#314)
Enhancements
- Enable upgrades integration test - Added integration tests for upgrade scenarios. (#312)
- Add dependabot configuration - Added Dependabot for automatic dependency updates. (#319)
- Update CODEOWNERS with team - Updated the CODEOWNERS file to reflect the current team. (#349)
- Use application verbiage instead of model - Updated terminology from "model" to "application" throughout the project. (#342)
- Updating wadm links - Updated documentation links for
wadm
. (#338) - Bump appVersion in the helm chart - Updated the Helm chart appVersion to the latest. (#351)
Chores
- Prepare 0.13 release - General preparation and housekeeping for the 0.13 release. (#348)
CI/CD
- Use GITHUB_TOKEN to release - Updated release process to utilize GITHUB_TOKEN. (#318)
- Update upload/download to v4 - Updated CI workflows to use version 4 of the upload/download actions. (#331)
New Contributors
- @ricochet made their first contribution in #314
- @LUK3ARK made their first contribution in #301
- @dependabot made their first contribution in #323
- @lxfontes made their first contribution in #338
Full Changelog: v0.12.2...v0.13.0