- Stub new HTTP cache hostcalls (#433)
- Add support for reading secrets from a JSON file (#428)
- Added hostcalls for the new builder api hostcalls (#427)
- Add ReplaceHandle hostcall stubs for upcoming SDK release (#424)
- Add keepalive options for dynamic backends (#423)
- Fix bug in
inspect
implementation and add a test (#422) - Add the missing adapter calls for new cache operations (#419)
- Implement component traits on ComponentCtx (#421)
- Split info spans when logging request IDs (#420)
- Rename the kv-store interface to object-store in compute.wit (#415)
- Add support for JSON files in
local_server.kv_stores
(#365) - Add
get_vcpu_ms
hostcall (#412) - Add
inspect
hostcall (#417) - Add
downstream_compliance_region
hostcall (#403) - Emit the status code for responses, in addition to other stats (#416)
- Update
compute.wit
and the adapter for some api fixes (#414) - Use
mozilla-actions/sccache-action
for caching builds (#411)
- Add support for supplying client certificates in fastly.toml, through the use of the
client_cert_info
table, which must have one of a "certificate" or "certificate_file" key, as well as one of a "key" and "key_file" key. The "_file" variants can be used to point to certificate/key files on disk, whereas the non-"_file" variants should be multi-line string constants in the toml. In all cases, they should be in PEM format. - Restore compatibility with older glibc versions in release artifacts
- Revert a CI configuration change that inadvertently prevented builds being created for amd64 macOS endpoints (#405)
- Add
get_addr_dest_{ip,port}
hostcalls (#402) - Add
downstream_server_ip_addr
hostcall (#401) - Support
wat
files when adapting core wasm (#399) - Add support for environment variables in the adapter (#400)
- Run tests as components (#396)
- Remove some unused memory management code in the adapter (#398)
- Allow capturing logging endpoint messages (#397)
- Support cli args in the adapter (#394)
- Rework component testing support to make test updates easier (#395)
- Populate the guest cli args (#393)
- Update to wasmtime 22.0.0 (#392)
- Populate
nwritten_out
when errors occur in config-store::get or dictionary::get (#389) - Switch to using the on-demand allocator, instead of the pooling allocator (#391)
- Explicitly test the dictionary host calls in the dictionary fixture (#390)
- Enable the config-store-lookup tests (#387)
- Run the
request
tests as a component (#386) - Update Ubuntu and MacOS runners to latest (and non-EOL) versions (#388)
- Fix trap handling when running components (#382)
- fix(wiggle_abi): write the result's length, not the guest buffer's (#385)
- Add adaptive buffer support for geo + device detection lookups (#383)
- Fix buffer-len handling in the component adapter (#381)
- Switch to reading dictionaries during the
fastly_dictionary_open
call (#379) - Support adapting core wasm to components (#374)
- Update to wasmtime-21.0.0 (#369)
- Initial WebAssembly component support (#367)
- Add stubs for new busy-handle hostcalls (#373)
- Return a ValueAbsent for all the downstream-tls related functions instead of a NotAvailable (#315)
-
Bug fix: Honor CA certificates when they are supplied, either as part of a dynamic backend definition or as part of a backend defined in fastly.toml. (In the latter case, CA certificates can be added using the "ca_certificate" key.) (#305)
-
Consistently use Error::NotAvailable instead of Unsupported (#349)
- Added
delete_async
hostcall for KV stores (#332) - Added
known_length
hostcall for body handles (#344) - Added stubs for new functionality available in production Compute (#333, #337, #344)
- Fixed inconsistent behavior for not-found geolocation lookups compared to production Compute (#341)
- Renamed Compute@Edge to Compute. (#328)
- Added asynchronous versions of the KV store
lookup
andinsert
operations. (#329) - Added support for device detection. (#330)
-
Warn instead of fail when certificates can't be loaded (#325)
-
Add support for trailers. Trailer modification calls should be considered experimental, as we finalize interfaces (#327)
- Match the number of memories to the number of core instances (#322)
- Add options to customize behavior of unknown Wasm imports (#313)
- Lower Hostcall error log level to DEBUG (#314)
- Add perfmap profiling strategy (#316)
- Update to wasmtime-13.0.0 (#317)
- Revamp profile handling CLI flags (#318)
- Fix a bug in which static backends were marked as GRPC by default (#311)
- Make
viceroy_lib::Error
non-exhaustive - Support the gRPC flag for dynamic backends (#308)
- Update ABI definitions and stub out some hostcalls (#307)
- Add --profile-guest support to serve mode. (#301)
- Use a ResourceLimiter for tracking allocations. (#300)
- Support the new mTLS features for dynamic backends, allowing two-way authentication for backend connections. (#297)
- Support the new config store hostcalls. (#296)
- Bump to wasmtime-11.0.1 (#295)
- Unblock Secret::from_bytes test by upgrading the fastly crate dependency. (#294)
- Map Error::UnknownBackend to FastlyStatus::Inval (#293)
- When an upstream body is unexpectedly closed, return Httpincomplete (#290)
- Error::ValueAbsent should map to FastlyStatus::None, not Inval (#291)
- Switch default log level to "error", add -v to run (#288)
- Update rustls and various dependencies (#278)
- Change default port from 7878 to 7676, which is what the Fastly CLI defaults to (#287)
- ⏱️ Add cross-platform ability to profile guest code in run mode (#280)
- pin to hyper 0.14.26 for the time being (#285)
- 😯 Add support for the new secret from_bytes extension. (#283)
- feat: Add a stub for downstream_client_h2_fingerprint (#277)
- Fill downstream_client_request_id in (#282)
- Bump to wasmtime-10.0.0 (#279)
- Add a stub for downstream_client_request_id (#276)
- Fix various warnings (#271)
- ⛽ -> ⏲️ Switch from fuel to epoch interruptions. (#273)
- Bump wasmtime dependencies to 9.0.1 (#272)
- ⏩ none should not be defined in cache_override_tag witx (#269)
- in single run mode, keep the response receiver alive during execution (#270)
- Return appropriate exit code in run-mode, rather than just 0 or 1 (#224)
- Update crates and add http_keepalive_mode_set (#266)
- 🚧 Add stubs for Cache API primitives (#260)
- Make is_healthy always return Unknown instead of an unsupporte…
- 🕷️ Rework integration tests to allow parallel test execution (#257)
- Add KVStore async lookup (#253)
- Update to Wasmtime 8 (#251)
- Add documentation explaining how to run rust unit tests w/ viceroy (#242)
- Remove validation on config store and dictionary names (#248)
- feat: Allow local KV Stores to be defined using
[local_server.kv_stores]
(#245)
- Add the
fastly_backend
module to the wiggle abi (#243)
- Allow config-stores to be defined using
[local_server.config_stores]
(#240)
- Add
fastly_backend
interfaces for backend introspection (#236)
- Add a run-mode that executes the input program once and then exits (#211)
- Update to Wasmtime 6.0.0 (#226)
- Make object and secret store config names consistent (#206)
- Remove dictionary count limit (#227)
- Split out run-mode and serve mode into subcommands (#229)
- Add support for Secret Store (#210)
- Update to Wasmtime 4.0.0 (#217)
- Set fixed release build images to improve compatibility of precompiled release artifacts (#216)
- Support the streaming body
finish()
method introduced in version 0.9.0 of the Rust SDK (#203) - Update to wasmtime 3.0.0 and enable experimental wasi-nn interface (#209)
- Add geolocation implementation to Viceroy (#165)
- Implement async select hostcalls for Viceroy (#188)
- Update wasmtime dependency to 2.0 (#194)
- Return a FastlyStatus::Inval when opening a non-existant object-store (#196)
- Add limit exceeded variant to fastly_status witx definition (#199)
- Add stubs for fastly purge (#184)
- Add stubs for mTLS information (#186)
- Allow to enable wasmtime's profiling support (#181)
- Add stubs for
redirect_to_
(#187)
- Add support for
ObjectStore
(#167) - Add support for dynamic backends (#163)
- Extend backend TLS configuration with cert host and SNI (#168)
- Add support for inline TOML dictionaries (#150)
- Add stubs for JA3 hashes and WebSocket upgrades (#153)
- Add stubs for framing header controls, now available on Compute (#139)
- Implement automatic decompression of gzip backend responses (#125)
- Remove excess logging for programs that exit with a zero exit code (#128)
- Do not panic when
auto_decompress_response_set
is called (#116)
- Disable ALPN by using rustls more directly (#100)
- Catch interrupt signals (#85)
- Include aarch64 tarballs for Linux and macOS (#88)
- Align URI and Host header semantics with production Compute (#90)
- Replaced
hyper-tls
withhyper-rustls
. (#75) - Unknown dictionary items are now logged at debug level. (#80)
- Windows releases are now built in CI. (#82)
- Improved error messages when a file could not be read. (#70)
- Fixed a bug for dictionary lookups that returned and error rather than
None
. (#69)
- Added the close functionality for
RequestHandle
,ResponseHandle
,BodyHandle
, andStreamingBodyHandle
in the upcoming Rust Compute0.8.0
SDK release (#65) - Added local dictionary support so that Compute programs that need dictionaries can work in Viceroy (#61)
- Added the ability to do host overrides from the TOML configuration (#48)
- Viceroy now tracks the latest stable Rust which as of this release is 1.54.0
- Renamed
viceroy-cli
package toviceroy
, in preparation forcargo install viceroy
(#41). - Improved UI for traces and errors (#37).
- Increase limit on functions per wasm module (#33).
- Be more flexible with wasm module input, allowing for WAT input as well (#32).
- Changed release artifacts naming format.
- Initial release.