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.
- Removed Boost.Beast completely
- Introduced native HTTP layer (vix::http)
- New Request / Response / ResponseWrapper API
- Async-first architecture powered by vix::async
- Middleware system updated to new model
Breaking changes:
- Old Beast-based APIs removed
- Middleware and tests updated to new HTTP layer
Vix is now fully independent from Boost.
This release introduces foundational middleware primitives into the core and significantly stabilizes the HTTP cache engine.
- Added
core/mw/*primitives:ContextNext/NextOnceHooksResult/Error
- These primitives are now owned by core and reused by middleware
- Eliminates circular dependency between core and middleware
- Refactored cache core:
Cache,CacheEntry,CacheKey,CachePolicyCacheContext+CacheContextMapper
- Improved store implementations:
MemoryStoreLruMemoryStoreFileStore
- Better cache key stability and header handling
- Cleaner separation between policy, keying, and storage
- Updated
Appto support middleware-based cache usage - Internal cleanup for cache/middleware interaction
- Updated cache smoke tests
- Added coverage for CacheContextMapper behavior
This release provides a clean, reusable middleware foundation inside core and prepares the ecosystem for higher-level middleware APIs.
core: refine HTTP facade, handler system and configuration loading
• Exposed clean public types (Request, Response) via umbrella headers (vix.hpp, core.h) • Adjusted RequestHandler to: - fix header find() overloads - stabilize concepts (HandlerReqRes, HandlerReqResParams) - support new Request facade (params, query, JSON body) • Improved App.cpp: - unified route registration logs - stronger error diagnostics in development mode - safer shutdown callback execution • Reworked Config.cpp: - deterministic resolution of config/config.json - support for relative, absolute and project-root discovery - improved warnings and fallback behavior
- Modular C++ framework structure with
core,orm,cli,docs,middleware,websocket,devtools,examples. Appclass for simplified HTTP server setup.- Router system supporting dynamic route parameters (
/users/{id}style). - JSON response wrapper using
nlohmann::json. - Middleware system for request handling.
- Example endpoints
/hello,/ping, and/users/{id}. - Thread-safe signal handling for graceful shutdown.
- Basic configuration system (
Configclass) to manage JSON config files.
- Logger integrated using
spdlogwith configurable log levels. - Improved request parameter extraction for performance.
- Path parameter extraction to correctly handle
string_viewtypes. - Fixed default response for unmatched routes (
404JSON message).
- Initial release of core module with working HTTP server.
- Basic routing system and request handlers.
- Simple example endpoints demonstrating JSON and text responses.
- Thread-safe server shutdown handling.
- Integration of performance measurement scripts (FlameGraph ready).
- Optimized route parameter parsing to avoid
boost::regexoverhead.
- Compilation errors due to
string_viewmismatch in request handler. - Minor bug fixes in App initialization and signal handling.
- Project skeleton created.
- Basic CMake setup and folder structure.
- Placeholder modules for
core,orm, andexamples.