All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Migrated all middleware to the new vix::http HTTP layer
- Removed all dependencies on Boost.Beast-based APIs
- Updated middleware interface to use Request / ResponseWrapper
- Refactored auth, performance, observability and http modules
- Rewrote pipeline integration for new async-first architecture
- Updated all tests and examples to the new HTTP model
Breaking changes:
- Old Beast-based Request/Response APIs removed
- Middleware implementations must use ResponseWrapper
- Header/body/status access now uses vix::http primitives
This release aligns middleware with Vix v2 core and completes the transition to a fully native HTTP stack.
This release introduces a major cleanup and DX improvement for the middleware system.
- Moved middleware primitives (
Context,Next,Hooks,Result) frommiddleware/core/*intocore/mw/* - Removed circular dependency between
coreandmiddleware - Middleware now depends on core primitives, never the opposite
- Introduced
vix::middleware::appnamespace for App-level middleware helpers - Added Node/FastAPI-like helpers:
middleware::app::http_cache(...)install_*helpers for App integration
- Standardized middleware adapters and conditions (
adapt,when,install)
- Updated all middleware modules to use new core primitives:
- auth (jwt, api_key, rbac)
- observability (metrics, tracing, debug)
- parsers, security, performance, basics
- Updated pipeline and hooks integration
- Updated all core middleware smoke tests
- Updated http_cache demos and tests
- All middleware tests now target core primitives
This release significantly simplifies user-facing middleware usage while making the internal architecture cleaner, safer, and future-proof.
- Initial project scaffolding for the
vixcpp/middlewaremodule. - CMake build system:
- STATIC vs header-only build depending on
src/contents. - Integration with
vix::coreand optional JSON backend. - Support for sanitizers via
VIX_ENABLE_SANITIZERS.
- STATIC vs header-only build depending on
- Basic repository structure:
include/vix/middleware/for public middleware API.src/for implementation files.
- Release workflow:
Makefilewithrelease,commit,push,merge, andtagtargets.changelogtarget wired toscripts/update_changelog.sh.