# Apoxy v0.15.0

> An interactive installer for Kubernetes deployments, domain record management with new CLI commands, Gateway API reflection support, and improved CLI output formatting with JSON/YAML options and field selectors. Also includes tunnel integration for edge runtime, latency-based edge selection, and DirectResponse support for static HTTP responses.

Based on the git commits provided, here are the release notes for v0.15.0:

# Release Notes - v0.15.0

## Features

- **Interactive Installation TUI**: Added interactive terminal UI for `apoxy k8s install` command ([759b464](https://github.com/apoxy-dev/apoxy/commit/759b464))
- **Domain Record Management**: Introduced new DomainRecord API type with custom field selectors and bidirectional Domain ↔ DomainRecord reflection ([a6ce1f7](https://github.com/apoxy-dev/apoxy/commit/a6ce1f7), [0f70939](https://github.com/apoxy-dev/apoxy/commit/0f70939), [ce1c669](https://github.com/apoxy-dev/apoxy/commit/ce1c669))
- **Domain CLI Commands**: Added `domain` and `domain zone` commands with emoji target display and improved column formatting ([5a9d2d7](https://github.com/apoxy-dev/apoxy/commit/5a9d2d7), [be8bc00](https://github.com/apoxy-dev/apoxy/commit/be8bc00), [d7e0ad8](https://github.com/apoxy-dev/apoxy/commit/d7e0ad8))
- **Gateway API Reflection**: Implemented kube-mirror Gateway API reflection controller with GatewayClass filtering ([50a52e5](https://github.com/apoxy-dev/apoxy/commit/50a52e5), [0c38e1e](https://github.com/apoxy-dev/apoxy/commit/0c38e1e))
- **DirectResponse Support**: Added DirectResponse CRD for static HTTP responses ([7d4764b](https://github.com/apoxy-dev/apoxy/commit/7d4764b), [6f6b895](https://github.com/apoxy-dev/apoxy/commit/6f6b895))
- **Edge Runtime Controller**: Added EdgeController for per-namespace runtime management ([7d145c3](https://github.com/apoxy-dev/apoxy/commit/7d145c3))
- **Tunnel Integration**: Integrated tunnel client into `apoxy run` runtime component with connection lifecycle callbacks ([5680a90](https://github.com/apoxy-dev/apoxy/commit/5680a90), [80d07c9](https://github.com/apoxy-dev/apoxy/commit/80d07c9))
- **Latency-based Edge Selection**: Added multi-ping edge selection with outlier removal and /ping endpoint ([e28d330](https://github.com/apoxy-dev/apoxy/commit/e28d330), [3f2a2eb](https://github.com/apoxy-dev/apoxy/commit/3f2a2eb))
- **Dashboard Configuration**: Added `--dashboard-url` and `--api-base-url` flags to `apoxy auth` ([60f646b](https://github.com/apoxy-dev/apoxy/commit/60f646b))

## Improvements

- **CLI Output Formatting**: Added `-o json/yaml` output formatting to all get/list commands ([bce8bf8](https://github.com/apoxy-dev/apoxy/commit/bce8bf8), [2d34eca](https://github.com/apoxy-dev/apoxy/commit/2d34eca))
- **Field Selectors**: Added `--field-selector` flag to all list commands with `--zone` shortcut for domains ([de0f2ef](https://github.com/apoxy-dev/apoxy/commit/de0f2ef))
- **Error Messages**: Improved error messages for missing runtime components and rewrote API not-found errors to use user-facing names ([ec69172](https://github.com/apoxy-dev/apoxy/commit/ec69172), [321f4b3](https://github.com/apoxy-dev/apoxy/commit/321f4b3))
- **Install Plan Diffing**: Use dry-run SSA for install plan diffing ([5c7c95a](https://github.com/apoxy-dev/apoxy/commit/5c7c95a))
- **Cluster Name Recovery**: Recover existing cluster name from namespace annotation on reinstall ([616c82a](https://github.com/apoxy-dev/apoxy/commit/616c82a))
- **Domain API v1alpha3**: Added core/v1alpha3 with per-record TTL, Conditions/Records status, and improved DNS record types ([739ba3d](https://github.com/apoxy-dev/apoxy/commit/739ba3d), [df74af3](https://github.com/apoxy-dev/apoxy/commit/df74af3), [885ba0a](https://github.com/apoxy-dev/apoxy/commit/885ba0a))
- **CLI Table Output**: Added Status column to CLI table output ([d71a4d1](https://github.com/apoxy-dev/apoxy/commit/d71a4d1))
- **Gateway Extension Hooks**: Invoke PostVirtualHostModify and PostRouteModify extension hooks during xDS translation ([7c028d5](https://github.com/apoxy-dev/apoxy/commit/7c028d5), [ce7fd1e](https://github.com/apoxy-dev/apoxy/commit/ce7fd1e))
- **xDS Bootstrap Configuration**: Added TLS, SNI, and authority header support for xDS bootstrap config ([c85ee19](https://github.com/apoxy-dev/apoxy/commit/c85ee19), [7eab064](https://github.com/apoxy-dev/apoxy/commit/7eab064), [8ed65be](https://github.com/apoxy-dev/apoxy/commit/8ed65be))

## Bug Fixes

- **API Validation**: Fixed A/AAAA IP format validation and silent misclassification ([c30c045](https://github.com/apoxy-dev/apoxy/commit/c30c045))
- **API Security**: Reject status.type tampering via ValidateUpdate and skip validation for deleted objects ([0697ab3](https://github.com/apoxy-dev/apoxy/commit/0697ab3), [1a0509e](https://github.com/apoxy-dev/apoxy/commit/1a0509e))
- **DomainRecord Validation**: Validate DomainRecord metadata.name matches derived name ([c3acaeb](https://github.com/apoxy-dev/apoxy/commit/c3acaeb))
- **SQLite Database**: Enable incremental auto_vacuum, drop litestream recovery artifacts, and fix lost_and_found cleanup ([8abb52b](https://github.com/apoxy-dev/apoxy/commit/8abb52b), [36a2ccf](https://github.com/apoxy-dev/apoxy/commit/36a2ccf), [c85ee19](https://github.com/apoxy-dev/apoxy/commit/c85ee19))
- **Tunnel Addresses**: Remove stale overlay addresses in SetAddr ([47419da](https://github.com/apoxy-dev/apoxy/commit/47419da))
- **API Client Generation**: Fixed DirectResponse client generation and removed subdomains field ([51c5041](https://github.com/apoxy-dev/apoxy/commit/51c5041))
- **Status Deduplication**: Deduplicate proxy replica status writes on xDS events ([9445e52](https://github.com/apoxy-dev/apoxy/commit/9445e52))

## Infrastructure

- **Kubernetes v1.34 Upgrade**: Complete upgrade to Kubernetes v1.34 with compatibility fixes ([a6e1bc9](https://github.com/apoxy-dev/apoxy/commit/a6e1bc9), [4f8a5a3](https://github.com/apoxy-dev/apoxy/commit/4f8a5a3), [46145d7](https://github.com/apoxy-dev/apoxy/commit/46145d7), [9a9c92f](https://github.com/apoxy-dev/apoxy/commit/9a9c92f), [633ffe3](https://github.com/apoxy-dev/apoxy/commit/633ffe3))
- **Dependency Updates**: Bumped runc v1.2.2 → v1.2.5 and kine to v0.14.11 ([9cee1c7](https://github.com/apoxy-dev/apoxy/commit/9cee1c7), [f7cda56](https://github.com/apoxy-dev/apoxy/commit/f7cda56))
- **Build Optimizations**: Added sccache and mold for faster edge-runtime builds with native arch workers ([c7a05b9](https://github.com/apoxy-dev/apoxy/commit/c7a05b9), [558f10f](https://github.com/apoxy-dev/apoxy/commit/558f10f), [3800a00](https://github.com/apoxy-dev/apoxy/commit/3800a00))
- **Image Registry**: Moved edge-runtime images to Google Artifact Registry ([ea5de14](https://github.com/apoxy-dev/apoxy/commit/ea5de14))
- **Kine Compaction**: Added kine compaction observability ([6ab2f66](https://github.com/apoxy-dev/apoxy/commit/6ab2f66))
- **API Server Extensibility**: Added WithAddToScheme, WithSkipBuiltinControllers, and WithOpenAPIDefinitions options ([ccc3c8e](https://github.com/apoxy-dev/apoxy/commit/ccc3c8e), [b6149b1](https://github.com/apoxy-dev/apoxy/commit/b6149b1), [19d27c9](https://github.com/apoxy-dev/apoxy/commit/19d27c9))
- **Gateway Status**: Implemented Gateway status error handling ([d71a4d1](https://github.com/apoxy-dev/apoxy/commit/d71a4d1))
- **Build Configuration**: Added sqlite_enable_dbstat_vtab build tag to all CGO builds ([bb038b0](https://github.com/apoxy-dev/apoxy/commit/bb038b0))

---

**Full Changelog**: [v0.14.0...v0.15.0](https://github.com/apoxy-dev/apoxy/compare/v0.14.0...v0.15.0)
