Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## v1.17.5 β€” Performance & CLI Stability Release

### πŸš€ Performance

- **core:** remove logger context and console synchronization from HTTP access logs, reducing contention under load
- **utils:** snapshot `spdlog` logger instances to avoid global mutex contention and improve logging throughput

### πŸ–₯️ CLI & Tooling

- **cli(run):** remove capture-based configure phase and switch to live execution for more predictable runtime behavior
- **cli:** clean and stabilize CMake output during configure while keeping build and run steps intact
- **cli:** remove dead helpers left after the build UX rewrite

### 🧹 Maintenance

- Internal cleanup across `cli`, `core`, and `utils` modules
- No breaking changes

### βœ… Notes

This release focuses on **runtime performance**, **log scalability**, and **CLI robustness**, especially under high load and iterative development workflows.

## v1.17.4 β€” 2026-01-02

### πŸ”§ Fixed
Expand Down
34 changes: 17 additions & 17 deletions examples/ip_filter/ip_filter_server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,25 +40,25 @@ using namespace vix;

int main()
{
App app;
App app;

// Apply on /api/*
app.use("/api", middleware::app::ip_filter_allow_deny_dev(
"x-forwarded-for",
{"10.0.0.1", "127.0.0.1"}, // allow
{"9.9.9.9"}, // deny (priority)
true // fallback to x-real-ip, etc.
));
// Apply on /api/*
app.use("/api", middleware::app::ip_filter_allow_deny_dev(
"x-forwarded-for",
{"10.0.0.1", "127.0.0.1"}, // allow
{"9.9.9.9"}, // deny (priority)
true // fallback to x-real-ip, etc.
));

// Routes
app.get("/", [](Request &, Response &res)
{ res.send("public route"); });
// Routes
app.get("/", [](Request &, Response &res)
{ res.send("public route"); });

app.get("/api/hello", [](Request &req, Response &res)
{ res.json({"ok", true,
"message", "Hello from /api/hello",
"x_forwarded_for", req.header("x-forwarded-for"),
"x_real_ip", req.header("x-real-ip")}); });
app.get("/api/hello", [](Request &req, Response &res)
{ res.json({"ok", true,
"message", "Hello from /api/hello",
"x_forwarded_for", req.header("x-forwarded-for"),
"x_real_ip", req.header("x-real-ip")}); });

app.run(8080);
app.run(8080);
}
2 changes: 1 addition & 1 deletion modules/core
Submodule core updated 2 files
+11 βˆ’0 CHANGELOG.md
+31 βˆ’39 src/app/App.cpp
2 changes: 1 addition & 1 deletion modules/utils
Submodule utils updated 2 files
+96 βˆ’40 include/vix/utils/Logger.hpp
+2 βˆ’2 src/Logger.cpp
Loading