Skip to content

v0.17.0

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Apr 14:49
· 9 commits to main since this release
b468d67

Enhancements to code quality, improved TLS handling, and experimental WebAssembly features to help you build more robust Compute services.


🧪 Better backend testing with health status mocking

Added by @kailan in #606

You can now mock backend health status using the new health config parameter for backends in your fastly.toml. This allows you to simulate unhealthy backends and test how your service handles backend failures, timeouts, and degraded conditions. Simply add health = "unhealthy" (or "healthy" / "unknown") to any backend definition to control its health status during testing.

🔐 Improved TLS certificate handling

Big thanks to @jedisct1 who added this in #478

TLS certificate loading, handling and validation has been significantly improved in this release. The server now provides better error handling when working with certificates, more robust validation, and clearer feedback when certificate issues arise.

🔑 Test API key validation locally

Contributed by @kailan in #599

The new fake_valid_fastly_keys config parameter lets you test the fastly_key_is_valid hostcall with fake valid keys during local development.

🧬 Experimental WebAssembly features

Thanks to @dgohman-fastly for adding this in #601

For those wanting to experiment with cutting-edge WebAssembly features, Viceroy now includes options to enable WebAssembly garbage collection (GC) and exceptions. These are experimental features that can be enabled for testing future WebAssembly capabilities. Note that these features are not yet available in production Compute.

⚠️ Breaking change: Error type rename

Fixed in #612 thanks to external contributor @jsoref

The error type Error::InvalidAlpnRepsonse has been renamed to Error::InvalidAlpnResponse to correct a typo. If you're using viceroy-lib directly and matching on this error variant, you'll need to update your code to use the corrected spelling.

🔧 Under the hood improvements

  • Stub implementations added for resvpnproxy hostcalls to support upcoming SDK features - by @clintjedwards (#596)
  • Code quality improvements with cargo clippy now running in CI (#603)
  • Upgraded to Rust 1.95 for the latest language improvements (#604)

If you use the Fastly CLI, you should see this functionality available later today. If using directly, run cargo install viceroy to update to the latest version. Happy hacking!

Full Changelog: v0.16.5...v0.17.0