Skip to content

v0.6.1

Latest

Choose a tag to compare

@github-actions github-actions released this 17 Jun 21:22
· 4 commits to main since this release
v0.6.1
6f1e314

The v0.6.1 release is a major milestone in Built On Envoy, bringing many bugfixes and improvements, an enhanced UX with a brand new web UI to manage extensions, and a couple of shiny new extensions:

🔥 New Extensions

  • DNS Gateway: A new Rust dynamic module that intercepts DNS queries and returns synthetic responses for domains matching configured egress policies. It allocates virtual IPs for matching domains, and a companion network filter resolves destination virtual IPs back to their domain names via Envoy filter state (io.builtonenvoy.dns_gateway.domain).

  • Cluster Router: An extension that routes HTTP requests across a peered Envoy mesh using a path vector protocol inspired by BGP. Each Envoy advertises its locally reachable clusters to its peers and learns transitively reachable clusters back. Connection targeting a remote cluster will be routed to the next hop to achieve the shortest path.

Many thanks to @AntonKanug and @ovadiagal from @palantir for these great contributions!

🚀 New Features

  • Web UI: boe ui launches a local web interface for configuring and running BOE extensions. The UI is dynamically generated from each extension's JSON config schema, validates configurations before running, and supports single or multiple extensions simultaneously — including local extensions. The easiest way to get started with Envoy extensions!
Screenshot 2026-06-17 at 17 53 53
  • boe logs command: A new command to tail and follow the BOE logs to make it easier to follow and troubleshoot the Built On Envoy internals.

  • Multiple filter types per dynamic module: Extension manifests now declare filterType as a list, allowing a single compiled dynamic module to contain multiple filter types (e.g. HTTP + listener). boe run and boe gen-config gain a new --filter-type flag to select which type to instantiate. The change is backwards-compatible with existing single-type manifests.

  • Automatic UDP listener configuration: boe gen-config now automatically creates a UDP listener when UDP filters are present in the configuration, eliminating the need for manual listener setup.

  • Rust listener filter scaffolding: boe create now generates scaffolding for listener filters in Rust, expanding beyond the existing HTTP filter template.

  • Config schema generation: boe create generates a JSON config schema for new extensions, enabling the web UI and future tooling to validate configurations.

  • Custom Docker image version: boe run --docker accepts a new flag to explicitly override the Docker image version used, rather than always deriving it from the CLI version.

  • Dev Envoy version support: boe run natively supports dev/nightly Envoy builds via func-e v1.6.0, making it easier to test against pre-release Envoy versions.

  • Composer Lite as independent artifact: composer-lite is now fully decoupled from the main composer component, preventing shared local cache conflicts between the two.

  • Go plugin 📖 as a standalone extension: The Go plugin loader composer module has been promoted as a standalone extension to make it easy to run it with boe run or the boe ui to test and load Go Plugin based extensions.

  • Bundle mechanism generalized: The artifact bundling logic previously tied to the composer is now a general-purpose mechanism available across all extension types.

  • --envoy-path in Docker mode: The --envoy-path flag (introduced in v0.5.0 for local Envoy binaries) now also works when running extensions in Docker mode.

🐞 Bug Fixes

  • Fixed broken paths in the extension Makefile generated by boe create.
  • Fixed golang-loader Docker image extraction logic.
  • Fixed local build failure when the extproc extension package is not found.
  • Fixed composer-lite binary panicking when built with -trimpath.
  • Fixed manifest packaging in composer-based extensions.
  • Fixed misleading error message when --platform is not explicitly set during download.

🚨 Security

  • Go updated to 1.26.4 to address several CVEs in the Go standard library.

📖 Documentation

  • Added docs for all the new supported filter types.
  • Generated reference docs for extension config from their JSON schemas.
  • Added a filter-type filter to the extensions catalogue page on the website.

🙌 Acknowledgements

Special thanks to @AntonKanug and @ovadiagal for the awesome new extensions and the work on Envoy upstream and the Rust SDK, and to @codefromthecrypt for the enhancements to developer UX and improvements to Envoy process launch.

📊 Full Changelog

Take a look at the full changelog here: v0.5.0...v0.6.1