Releases: vixcpp/vix
v1.17.1
Changelog
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.
[Unreleased]
v1.16.1 — REPL Isolation & Stability
✨ Improvements
- Fully isolated the REPL from CLI commands (
build,run,check,tests,verify) - Disabled execution of CLI commands and flags inside the REPL
- Removed CLI flags from REPL autocompletion to avoid misleading suggestions
- Disabled
help <command>and CLI command listing inside the REPL - Improved REPL UX consistency with a sandboxed, Bun/Deno-like experience
🧠 Behavior Changes
- The REPL is now a pure interactive sandbox for:
- math expressions
- variables
- JSON literals
print / printlnVixAPI (cd,cwd,env,args,exit, etc.)
- All project-related CLI commands must now be executed outside the REPL
🛠 Internal
- Removed remaining runtime dependencies between the REPL and the CLI dispatcher
- Simplified REPL command completion logic
1.16.0 — 2025-01-XX
🚀 Highlights
-
REPL is now the default mode
Runningvixstarts the interactive shell automatically
(no morevix repl). -
Modern runtime experience
Behavior aligned with Python, Node.js, and Deno.
✨ Added
- Default interactive REPL when running
vix - Dedicated
README_REPL.mdwith:- Math expressions
- Variables
- JSON usage
print/println- Built-in
VixAPI examples
- Improved CLI documentation (
docs/modules/cli.md)
🧠 Improved
- REPL argument evaluation:
- Correct handling of string literals
- Math expressions with variables
- Mixed arguments (
println("x =", x+1))
- REPL execution flow stability
- Error messages clarity in interactive mode
- Overall CLI UX consistency
🧹 Changed
- Removed
vix replas a required entry point - REPL is now the primary interaction mode
- CLI documentation updated to reflect new behavior
🔧 Internal
- REPL flow refactoring and cleanup
- Better separation between CLI dispatcher and REPL runtime
- Documentation structure improvements
⚠️ Notes
- JSON literals must be strictly valid JSON
({"key":"value"}, not{key, value})
[1.15.0] - 2025-12-20
Added
Changed
Removed
v1.15.0 — 2025-12-20
Added
vix check: validate a project or compile a single.cppfile without execution.vix tests: run project tests (alias ofvix check --tests).vix verify: verify packaged artifacts and signatures.- CLI reference documentation (
docs/vix-cli-help.md). - Pull Request template to standardize contributions.
Changed
- Improved global CLI help output formatting and readability.
- Updated README with clearer CLI usage and script mode examples.
- Updated security testing documentation with realistic, tool-based practices.
- Improved contributing guidelines and code of conduct.
Removed
- Deprecated
SECURITY.mdin favor of a more accurate security testing guide.
Notes
- This release significantly improves CLI usability, testing workflow, and project governance.
- Recommended upgrade for all users relying on the Vix CLI.
[1.14.7] - 2025-12-19
Added
Changed
Removed
v1.14.7 — CLI Packaging Stability Update
Fixed
- Fixed
vix packpotentially blocking when minisign required interactive input. - Prevented unintended blocking behavior when signing is auto-detected.
Added
- Integrated new CLI signing modes from vix-cli v1.9.2:
--sign=auto(default, non-blocking)--sign=never--sign=required(fail-fast, explicit)
Improved
- More predictable and professional packaging workflow.
- Clear separation between optional and mandatory cryptographic signing.
- Improved developer experience for CI/CD and non-interactive environments.
[1.14.6] - 2025-12-19
Added
Changed
Removed
1.14.6 — 2025-XX-XX
CLI
- Updated
modules/clito the latest version. - Improved
vix packuser experience:- Minisign password prompt is now visible when
--verboseis enabled. - Prevents silent blocking during package signing.
- Minisign password prompt is now visible when
- Added
vix verifycommand:- Manifest v2 validation.
- Payload digest verification.
- Optional minisign signature verification.
- Auto-detection of
dist/<name>@<version>packages.
- Improved CLI help output:
- Clearer command grouping.
- Better descriptions for
packandverify. - More practical usage examples.
Packaging & Security
- Clear separation between signed and unsigned packages.
- Environment-based key discovery:
VIX_MINISIGN_SECKEYfor package signing.VIX_MINISIGN_PUBKEYfor signature verification.
- More robust verification feedback and strict modes.
Developer Experience
- Smoother packaging and verification workflow.
- More predictable CLI behavior with explicit output.
- Improved diagnostics in verbose mode.
This release focuses on polishing the CLI, strengthening package security,
and delivering a professional packaging & verification workflow for Vix.
[1.14.5] - 2025-12-19
Added
Changed
Removed
v1.14.5 — 2025-01-18
Added
- New CLI command:
vix pack. - Package a Vix project into
dist/<name>@<version>/. - Optional
.vixpkgarchive generation. - Manifest v2 (
vix.manifest.v2) with:- Package metadata (name, version, kind, license).
- ABI detection (OS, architecture).
- Toolchain information (C++ compiler, standard, CMake).
- Layout flags (include, src, lib, modules, README).
- Exports and dependencies from
vix.toml.
Security
- Payload integrity via SHA256 content digest.
- Stable payload hashing excluding generated files.
- Optional Ed25519 signature using
minisign:meta/payload.digestmeta/payload.digest.minisig- Secret key via
VIX_MINISIGN_SECKEY.
Changed
- CLI help updated to include
vix pack. - Internal CLI and middleware refactoring to support packaging flow.
Notes
- Signing is optional and enabled only when
minisignis available. - Manifest generation avoids self-referential hashing.
[1.14.4] - 2025-12-17
Added
Changed
Removed
v1.14.4
Fixed
- Fixed ORM migrator build after driver abstraction refactor.
- Replaced deprecated MySQL connection APIs with the factory-based
Connectioninterface. - Fixed CI failures caused by abstract
Connectioninstantiation. - Ensured the migrator compiles correctly when database drivers are disabled.
[1.14.3] - 2025-12-17
Added
Changed
Removed
v1.14.3 — 2025-12-17
Fixed
- Fixed JSON umbrella integration:
<vix.hpp>now reliably exposesvix::jsonbuilders (o,a,kv). - Fixed missing
OrderedJsontype in coreRequestHandler. - Fixed compilation errors in examples relying on implicit JSON availability.
- Fixed
vix_jsonCMake include paths for both build-tree and install-tree usage.
Internal
- Improved Core ↔ JSON module boundary consistency.
- Stabilized umbrella build (
vix::vix) dependency propagation.
Compatibility
- No breaking API changes.
- Existing applications continue to work without modification.
[1.14.2] - 2025-12-17
Added
Changed
Removed
v1.14.2 — 2025-12-17
Fixed
- core/http: fixed
RequestHandlerbuild failures by using the localOrderedJsonalias and preventing name lookup from resolving to POSIX::send()(now usesthis->send()internally). - json: improved unified include header
vix/json.hppand ensuredOrderedJsonexposure is consistent across the JSON module.
[1.14.1] - 2025-12-17
Added
Changed
Removed
v1.14.1 — Stability, Cache & Build Hygiene Release
Release date: 2025-12-17
✨ Highlights
- Finalized HTTP GET cache system across core and middleware.
- Integrated cache as a first-class middleware in the request pipeline.
- Added comprehensive cache and middleware tests.
- Achieved strict warning-free builds (
-Weffc++) across all modules.
🧱 Core & Middleware
- Completed HTTP cache implementation (Memory, File, LRU stores).
- Introduced cache utilities (
CacheKey, HTTP header helpers). - Clean integration with
HTTPServer,Router, andSession. - Added HTTP cache middleware for transparent GET caching.
- Added periodic middleware support for timed/background tasks.
- Middleware pipeline refined and stabilized.
🛠️ Build & Quality
- Enforced strict warning hygiene with
-Weffc++. - Fixed:
- sign-conversion warnings
- ignored return values (
chdir,setenv, etc.) [[nodiscard]]API misuse in examples
- Isolated GCC/libstdc++ false positives (
std::regex) without masking project warnings. - Improved and unified CMake configuration across all modules.
🧪 Tests
- Added and stabilized HTTP cache smoke tests.
- Added middleware-level tests validating cache behavior.
- Improved test CMake configuration for consistency.
📦 Modules Updated
coremiddlewarecliwebsocketormutilsjson
🔒 Stability & Compatibility
- No breaking API changes.
- Focus on correctness, performance, and long-term maintainability.
- Stable foundation for upcoming offline-first and sync/WAL features.
[1.14.0] - 2025-12-14
Added
Changed
Removed
ORM Migrations & CLI Stabilization
Added
- New ORM migrations engine with file-based
.up.sql/.down.sqlsupport - Internal migrator tool (
vix_orm_migrator) used by the CLI vix ormcommand with subcommands:migraterollbackstatus
- Support for CLI flags:
--db,--dir,--host,--user,--pass,--steps
- Environment-based...
v1.17.0
Changelog
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.
[Unreleased]
v1.16.1 — REPL Isolation & Stability
✨ Improvements
- Fully isolated the REPL from CLI commands (
build,run,check,tests,verify) - Disabled execution of CLI commands and flags inside the REPL
- Removed CLI flags from REPL autocompletion to avoid misleading suggestions
- Disabled
help <command>and CLI command listing inside the REPL - Improved REPL UX consistency with a sandboxed, Bun/Deno-like experience
🧠 Behavior Changes
- The REPL is now a pure interactive sandbox for:
- math expressions
- variables
- JSON literals
print / printlnVixAPI (cd,cwd,env,args,exit, etc.)
- All project-related CLI commands must now be executed outside the REPL
🛠 Internal
- Removed remaining runtime dependencies between the REPL and the CLI dispatcher
- Simplified REPL command completion logic
1.16.0 — 2025-01-XX
🚀 Highlights
-
REPL is now the default mode
Runningvixstarts the interactive shell automatically
(no morevix repl). -
Modern runtime experience
Behavior aligned with Python, Node.js, and Deno.
✨ Added
- Default interactive REPL when running
vix - Dedicated
README_REPL.mdwith:- Math expressions
- Variables
- JSON usage
print/println- Built-in
VixAPI examples
- Improved CLI documentation (
docs/modules/cli.md)
🧠 Improved
- REPL argument evaluation:
- Correct handling of string literals
- Math expressions with variables
- Mixed arguments (
println("x =", x+1))
- REPL execution flow stability
- Error messages clarity in interactive mode
- Overall CLI UX consistency
🧹 Changed
- Removed
vix replas a required entry point - REPL is now the primary interaction mode
- CLI documentation updated to reflect new behavior
🔧 Internal
- REPL flow refactoring and cleanup
- Better separation between CLI dispatcher and REPL runtime
- Documentation structure improvements
⚠️ Notes
- JSON literals must be strictly valid JSON
({"key":"value"}, not{key, value})
[1.15.0] - 2025-12-20
Added
Changed
Removed
v1.15.0 — 2025-12-20
Added
vix check: validate a project or compile a single.cppfile without execution.vix tests: run project tests (alias ofvix check --tests).vix verify: verify packaged artifacts and signatures.- CLI reference documentation (
docs/vix-cli-help.md). - Pull Request template to standardize contributions.
Changed
- Improved global CLI help output formatting and readability.
- Updated README with clearer CLI usage and script mode examples.
- Updated security testing documentation with realistic, tool-based practices.
- Improved contributing guidelines and code of conduct.
Removed
- Deprecated
SECURITY.mdin favor of a more accurate security testing guide.
Notes
- This release significantly improves CLI usability, testing workflow, and project governance.
- Recommended upgrade for all users relying on the Vix CLI.
[1.14.7] - 2025-12-19
Added
Changed
Removed
v1.14.7 — CLI Packaging Stability Update
Fixed
- Fixed
vix packpotentially blocking when minisign required interactive input. - Prevented unintended blocking behavior when signing is auto-detected.
Added
- Integrated new CLI signing modes from vix-cli v1.9.2:
--sign=auto(default, non-blocking)--sign=never--sign=required(fail-fast, explicit)
Improved
- More predictable and professional packaging workflow.
- Clear separation between optional and mandatory cryptographic signing.
- Improved developer experience for CI/CD and non-interactive environments.
[1.14.6] - 2025-12-19
Added
Changed
Removed
1.14.6 — 2025-XX-XX
CLI
- Updated
modules/clito the latest version. - Improved
vix packuser experience:- Minisign password prompt is now visible when
--verboseis enabled. - Prevents silent blocking during package signing.
- Minisign password prompt is now visible when
- Added
vix verifycommand:- Manifest v2 validation.
- Payload digest verification.
- Optional minisign signature verification.
- Auto-detection of
dist/<name>@<version>packages.
- Improved CLI help output:
- Clearer command grouping.
- Better descriptions for
packandverify. - More practical usage examples.
Packaging & Security
- Clear separation between signed and unsigned packages.
- Environment-based key discovery:
VIX_MINISIGN_SECKEYfor package signing.VIX_MINISIGN_PUBKEYfor signature verification.
- More robust verification feedback and strict modes.
Developer Experience
- Smoother packaging and verification workflow.
- More predictable CLI behavior with explicit output.
- Improved diagnostics in verbose mode.
This release focuses on polishing the CLI, strengthening package security,
and delivering a professional packaging & verification workflow for Vix.
[1.14.5] - 2025-12-19
Added
Changed
Removed
v1.14.5 — 2025-01-18
Added
- New CLI command:
vix pack. - Package a Vix project into
dist/<name>@<version>/. - Optional
.vixpkgarchive generation. - Manifest v2 (
vix.manifest.v2) with:- Package metadata (name, version, kind, license).
- ABI detection (OS, architecture).
- Toolchain information (C++ compiler, standard, CMake).
- Layout flags (include, src, lib, modules, README).
- Exports and dependencies from
vix.toml.
Security
- Payload integrity via SHA256 content digest.
- Stable payload hashing excluding generated files.
- Optional Ed25519 signature using
minisign:meta/payload.digestmeta/payload.digest.minisig- Secret key via
VIX_MINISIGN_SECKEY.
Changed
- CLI help updated to include
vix pack. - Internal CLI and middleware refactoring to support packaging flow.
Notes
- Signing is optional and enabled only when
minisignis available. - Manifest generation avoids self-referential hashing.
[1.14.4] - 2025-12-17
Added
Changed
Removed
v1.14.4
Fixed
- Fixed ORM migrator build after driver abstraction refactor.
- Replaced deprecated MySQL connection APIs with the factory-based
Connectioninterface. - Fixed CI failures caused by abstract
Connectioninstantiation. - Ensured the migrator compiles correctly when database drivers are disabled.
[1.14.3] - 2025-12-17
Added
Changed
Removed
v1.14.3 — 2025-12-17
Fixed
- Fixed JSON umbrella integration:
<vix.hpp>now reliably exposesvix::jsonbuilders (o,a,kv). - Fixed missing
OrderedJsontype in coreRequestHandler. - Fixed compilation errors in examples relying on implicit JSON availability.
- Fixed
vix_jsonCMake include paths for both build-tree and install-tree usage.
Internal
- Improved Core ↔ JSON module boundary consistency.
- Stabilized umbrella build (
vix::vix) dependency propagation.
Compatibility
- No breaking API changes.
- Existing applications continue to work without modification.
[1.14.2] - 2025-12-17
Added
Changed
Removed
v1.14.2 — 2025-12-17
Fixed
- core/http: fixed
RequestHandlerbuild failures by using the localOrderedJsonalias and preventing name lookup from resolving to POSIX::send()(now usesthis->send()internally). - json: improved unified include header
vix/json.hppand ensuredOrderedJsonexposure is consistent across the JSON module.
[1.14.1] - 2025-12-17
Added
Changed
Removed
v1.14.1 — Stability, Cache & Build Hygiene Release
Release date: 2025-12-17
✨ Highlights
- Finalized HTTP GET cache system across core and middleware.
- Integrated cache as a first-class middleware in the request pipeline.
- Added comprehensive cache and middleware tests.
- Achieved strict warning-free builds (
-Weffc++) across all modules.
🧱 Core & Middleware
- Completed HTTP cache implementation (Memory, File, LRU stores).
- Introduced cache utilities (
CacheKey, HTTP header helpers). - Clean integration with
HTTPServer,Router, andSession. - Added HTTP cache middleware for transparent GET caching.
- Added periodic middleware support for timed/background tasks.
- Middleware pipeline refined and stabilized.
🛠️ Build & Quality
- Enforced strict warning hygiene with
-Weffc++. - Fixed:
- sign-conversion warnings
- ignored return values (
chdir,setenv, etc.) [[nodiscard]]API misuse in examples
- Isolated GCC/libstdc++ false positives (
std::regex) without masking project warnings. - Improved and unified CMake configuration across all modules.
🧪 Tests
- Added and stabilized HTTP cache smoke tests.
- Added middleware-level tests validating cache behavior.
- Improved test CMake configuration for consistency.
📦 Modules Updated
coremiddlewarecliwebsocketormutilsjson
🔒 Stability & Compatibility
- No breaking API changes.
- Focus on correctness, performance, and long-term maintainability.
- Stable foundation for upcoming offline-first and sync/WAL features.
[1.14.0] - 2025-12-14
Added
Changed
Removed
ORM Migrations & CLI Stabilization
Added
- New ORM migrations engine with file-based
.up.sql/.down.sqlsupport - Internal migrator tool (
vix_orm_migrator) used by the CLI vix ormcommand with subcommands:migraterollbackstatus
- Support for CLI flags:
--db,--dir,--host,--user,--pass,--steps
- Environment-based...
v1.16.1
Changelog
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.
[Unreleased]
v1.16.1 — REPL Isolation & Stability
✨ Improvements
- Fully isolated the REPL from CLI commands (
build,run,check,tests,verify) - Disabled execution of CLI commands and flags inside the REPL
- Removed CLI flags from REPL autocompletion to avoid misleading suggestions
- Disabled
help <command>and CLI command listing inside the REPL - Improved REPL UX consistency with a sandboxed, Bun/Deno-like experience
🧠 Behavior Changes
- The REPL is now a pure interactive sandbox for:
- math expressions
- variables
- JSON literals
print / printlnVixAPI (cd,cwd,env,args,exit, etc.)
- All project-related CLI commands must now be executed outside the REPL
🛠 Internal
- Removed remaining runtime dependencies between the REPL and the CLI dispatcher
- Simplified REPL command completion logic
1.16.0 — 2025-01-XX
🚀 Highlights
-
REPL is now the default mode
Runningvixstarts the interactive shell automatically
(no morevix repl). -
Modern runtime experience
Behavior aligned with Python, Node.js, and Deno.
✨ Added
- Default interactive REPL when running
vix - Dedicated
README_REPL.mdwith:- Math expressions
- Variables
- JSON usage
print/println- Built-in
VixAPI examples
- Improved CLI documentation (
docs/modules/cli.md)
🧠 Improved
- REPL argument evaluation:
- Correct handling of string literals
- Math expressions with variables
- Mixed arguments (
println("x =", x+1))
- REPL execution flow stability
- Error messages clarity in interactive mode
- Overall CLI UX consistency
🧹 Changed
- Removed
vix replas a required entry point - REPL is now the primary interaction mode
- CLI documentation updated to reflect new behavior
🔧 Internal
- REPL flow refactoring and cleanup
- Better separation between CLI dispatcher and REPL runtime
- Documentation structure improvements
⚠️ Notes
- JSON literals must be strictly valid JSON
({"key":"value"}, not{key, value})
[1.15.0] - 2025-12-20
Added
Changed
Removed
v1.15.0 — 2025-12-20
Added
vix check: validate a project or compile a single.cppfile without execution.vix tests: run project tests (alias ofvix check --tests).vix verify: verify packaged artifacts and signatures.- CLI reference documentation (
docs/vix-cli-help.md). - Pull Request template to standardize contributions.
Changed
- Improved global CLI help output formatting and readability.
- Updated README with clearer CLI usage and script mode examples.
- Updated security testing documentation with realistic, tool-based practices.
- Improved contributing guidelines and code of conduct.
Removed
- Deprecated
SECURITY.mdin favor of a more accurate security testing guide.
Notes
- This release significantly improves CLI usability, testing workflow, and project governance.
- Recommended upgrade for all users relying on the Vix CLI.
[1.14.7] - 2025-12-19
Added
Changed
Removed
v1.14.7 — CLI Packaging Stability Update
Fixed
- Fixed
vix packpotentially blocking when minisign required interactive input. - Prevented unintended blocking behavior when signing is auto-detected.
Added
- Integrated new CLI signing modes from vix-cli v1.9.2:
--sign=auto(default, non-blocking)--sign=never--sign=required(fail-fast, explicit)
Improved
- More predictable and professional packaging workflow.
- Clear separation between optional and mandatory cryptographic signing.
- Improved developer experience for CI/CD and non-interactive environments.
[1.14.6] - 2025-12-19
Added
Changed
Removed
1.14.6 — 2025-XX-XX
CLI
- Updated
modules/clito the latest version. - Improved
vix packuser experience:- Minisign password prompt is now visible when
--verboseis enabled. - Prevents silent blocking during package signing.
- Minisign password prompt is now visible when
- Added
vix verifycommand:- Manifest v2 validation.
- Payload digest verification.
- Optional minisign signature verification.
- Auto-detection of
dist/<name>@<version>packages.
- Improved CLI help output:
- Clearer command grouping.
- Better descriptions for
packandverify. - More practical usage examples.
Packaging & Security
- Clear separation between signed and unsigned packages.
- Environment-based key discovery:
VIX_MINISIGN_SECKEYfor package signing.VIX_MINISIGN_PUBKEYfor signature verification.
- More robust verification feedback and strict modes.
Developer Experience
- Smoother packaging and verification workflow.
- More predictable CLI behavior with explicit output.
- Improved diagnostics in verbose mode.
This release focuses on polishing the CLI, strengthening package security,
and delivering a professional packaging & verification workflow for Vix.
[1.14.5] - 2025-12-19
Added
Changed
Removed
v1.14.5 — 2025-01-18
Added
- New CLI command:
vix pack. - Package a Vix project into
dist/<name>@<version>/. - Optional
.vixpkgarchive generation. - Manifest v2 (
vix.manifest.v2) with:- Package metadata (name, version, kind, license).
- ABI detection (OS, architecture).
- Toolchain information (C++ compiler, standard, CMake).
- Layout flags (include, src, lib, modules, README).
- Exports and dependencies from
vix.toml.
Security
- Payload integrity via SHA256 content digest.
- Stable payload hashing excluding generated files.
- Optional Ed25519 signature using
minisign:meta/payload.digestmeta/payload.digest.minisig- Secret key via
VIX_MINISIGN_SECKEY.
Changed
- CLI help updated to include
vix pack. - Internal CLI and middleware refactoring to support packaging flow.
Notes
- Signing is optional and enabled only when
minisignis available. - Manifest generation avoids self-referential hashing.
[1.14.4] - 2025-12-17
Added
Changed
Removed
v1.14.4
Fixed
- Fixed ORM migrator build after driver abstraction refactor.
- Replaced deprecated MySQL connection APIs with the factory-based
Connectioninterface. - Fixed CI failures caused by abstract
Connectioninstantiation. - Ensured the migrator compiles correctly when database drivers are disabled.
[1.14.3] - 2025-12-17
Added
Changed
Removed
v1.14.3 — 2025-12-17
Fixed
- Fixed JSON umbrella integration:
<vix.hpp>now reliably exposesvix::jsonbuilders (o,a,kv). - Fixed missing
OrderedJsontype in coreRequestHandler. - Fixed compilation errors in examples relying on implicit JSON availability.
- Fixed
vix_jsonCMake include paths for both build-tree and install-tree usage.
Internal
- Improved Core ↔ JSON module boundary consistency.
- Stabilized umbrella build (
vix::vix) dependency propagation.
Compatibility
- No breaking API changes.
- Existing applications continue to work without modification.
[1.14.2] - 2025-12-17
Added
Changed
Removed
v1.14.2 — 2025-12-17
Fixed
- core/http: fixed
RequestHandlerbuild failures by using the localOrderedJsonalias and preventing name lookup from resolving to POSIX::send()(now usesthis->send()internally). - json: improved unified include header
vix/json.hppand ensuredOrderedJsonexposure is consistent across the JSON module.
[1.14.1] - 2025-12-17
Added
Changed
Removed
v1.14.1 — Stability, Cache & Build Hygiene Release
Release date: 2025-12-17
✨ Highlights
- Finalized HTTP GET cache system across core and middleware.
- Integrated cache as a first-class middleware in the request pipeline.
- Added comprehensive cache and middleware tests.
- Achieved strict warning-free builds (
-Weffc++) across all modules.
🧱 Core & Middleware
- Completed HTTP cache implementation (Memory, File, LRU stores).
- Introduced cache utilities (
CacheKey, HTTP header helpers). - Clean integration with
HTTPServer,Router, andSession. - Added HTTP cache middleware for transparent GET caching.
- Added periodic middleware support for timed/background tasks.
- Middleware pipeline refined and stabilized.
🛠️ Build & Quality
- Enforced strict warning hygiene with
-Weffc++. - Fixed:
- sign-conversion warnings
- ignored return values (
chdir,setenv, etc.) [[nodiscard]]API misuse in examples
- Isolated GCC/libstdc++ false positives (
std::regex) without masking project warnings. - Improved and unified CMake configuration across all modules.
🧪 Tests
- Added and stabilized HTTP cache smoke tests.
- Added middleware-level tests validating cache behavior.
- Improved test CMake configuration for consistency.
📦 Modules Updated
coremiddlewarecliwebsocketormutilsjson
🔒 Stability & Compatibility
- No breaking API changes.
- Focus on correctness, performance, and long-term maintainability.
- Stable foundation for upcoming offline-first and sync/WAL features.
[1.14.0] - 2025-12-14
Added
Changed
Removed
ORM Migrations & CLI Stabilization
Added
- New ORM migrations engine with file-based
.up.sql/.down.sqlsupport - Internal migrator tool (
vix_orm_migrator) used by the CLI vix ormcommand with subcommands:migraterollbackstatus
- Support for CLI flags:
--db,--dir,--host,--user,--pass,--steps
- Environment-based...
v1.16.0
Changelog
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.
[Unreleased]
1.16.0 — 2025-01-XX
🚀 Highlights
-
REPL is now the default mode
Runningvixstarts the interactive shell automatically
(no morevix repl). -
Modern runtime experience
Behavior aligned with Python, Node.js, and Deno.
✨ Added
- Default interactive REPL when running
vix - Dedicated
README_REPL.mdwith:- Math expressions
- Variables
- JSON usage
print/println- Built-in
VixAPI examples
- Improved CLI documentation (
docs/modules/cli.md)
🧠 Improved
- REPL argument evaluation:
- Correct handling of string literals
- Math expressions with variables
- Mixed arguments (
println("x =", x+1))
- REPL execution flow stability
- Error messages clarity in interactive mode
- Overall CLI UX consistency
🧹 Changed
- Removed
vix replas a required entry point - REPL is now the primary interaction mode
- CLI documentation updated to reflect new behavior
🔧 Internal
- REPL flow refactoring and cleanup
- Better separation between CLI dispatcher and REPL runtime
- Documentation structure improvements
⚠️ Notes
- JSON literals must be strictly valid JSON
({"key":"value"}, not{key, value})
[1.15.0] - 2025-12-20
Added
Changed
Removed
v1.15.0 — 2025-12-20
Added
vix check: validate a project or compile a single.cppfile without execution.vix tests: run project tests (alias ofvix check --tests).vix verify: verify packaged artifacts and signatures.- CLI reference documentation (
docs/vix-cli-help.md). - Pull Request template to standardize contributions.
Changed
- Improved global CLI help output formatting and readability.
- Updated README with clearer CLI usage and script mode examples.
- Updated security testing documentation with realistic, tool-based practices.
- Improved contributing guidelines and code of conduct.
Removed
- Deprecated
SECURITY.mdin favor of a more accurate security testing guide.
Notes
- This release significantly improves CLI usability, testing workflow, and project governance.
- Recommended upgrade for all users relying on the Vix CLI.
[1.14.7] - 2025-12-19
Added
Changed
Removed
v1.14.7 — CLI Packaging Stability Update
Fixed
- Fixed
vix packpotentially blocking when minisign required interactive input. - Prevented unintended blocking behavior when signing is auto-detected.
Added
- Integrated new CLI signing modes from vix-cli v1.9.2:
--sign=auto(default, non-blocking)--sign=never--sign=required(fail-fast, explicit)
Improved
- More predictable and professional packaging workflow.
- Clear separation between optional and mandatory cryptographic signing.
- Improved developer experience for CI/CD and non-interactive environments.
[1.14.6] - 2025-12-19
Added
Changed
Removed
1.14.6 — 2025-XX-XX
CLI
- Updated
modules/clito the latest version. - Improved
vix packuser experience:- Minisign password prompt is now visible when
--verboseis enabled. - Prevents silent blocking during package signing.
- Minisign password prompt is now visible when
- Added
vix verifycommand:- Manifest v2 validation.
- Payload digest verification.
- Optional minisign signature verification.
- Auto-detection of
dist/<name>@<version>packages.
- Improved CLI help output:
- Clearer command grouping.
- Better descriptions for
packandverify. - More practical usage examples.
Packaging & Security
- Clear separation between signed and unsigned packages.
- Environment-based key discovery:
VIX_MINISIGN_SECKEYfor package signing.VIX_MINISIGN_PUBKEYfor signature verification.
- More robust verification feedback and strict modes.
Developer Experience
- Smoother packaging and verification workflow.
- More predictable CLI behavior with explicit output.
- Improved diagnostics in verbose mode.
This release focuses on polishing the CLI, strengthening package security,
and delivering a professional packaging & verification workflow for Vix.
[1.14.5] - 2025-12-19
Added
Changed
Removed
v1.14.5 — 2025-01-18
Added
- New CLI command:
vix pack. - Package a Vix project into
dist/<name>@<version>/. - Optional
.vixpkgarchive generation. - Manifest v2 (
vix.manifest.v2) with:- Package metadata (name, version, kind, license).
- ABI detection (OS, architecture).
- Toolchain information (C++ compiler, standard, CMake).
- Layout flags (include, src, lib, modules, README).
- Exports and dependencies from
vix.toml.
Security
- Payload integrity via SHA256 content digest.
- Stable payload hashing excluding generated files.
- Optional Ed25519 signature using
minisign:meta/payload.digestmeta/payload.digest.minisig- Secret key via
VIX_MINISIGN_SECKEY.
Changed
- CLI help updated to include
vix pack. - Internal CLI and middleware refactoring to support packaging flow.
Notes
- Signing is optional and enabled only when
minisignis available. - Manifest generation avoids self-referential hashing.
[1.14.4] - 2025-12-17
Added
Changed
Removed
v1.14.4
Fixed
- Fixed ORM migrator build after driver abstraction refactor.
- Replaced deprecated MySQL connection APIs with the factory-based
Connectioninterface. - Fixed CI failures caused by abstract
Connectioninstantiation. - Ensured the migrator compiles correctly when database drivers are disabled.
[1.14.3] - 2025-12-17
Added
Changed
Removed
v1.14.3 — 2025-12-17
Fixed
- Fixed JSON umbrella integration:
<vix.hpp>now reliably exposesvix::jsonbuilders (o,a,kv). - Fixed missing
OrderedJsontype in coreRequestHandler. - Fixed compilation errors in examples relying on implicit JSON availability.
- Fixed
vix_jsonCMake include paths for both build-tree and install-tree usage.
Internal
- Improved Core ↔ JSON module boundary consistency.
- Stabilized umbrella build (
vix::vix) dependency propagation.
Compatibility
- No breaking API changes.
- Existing applications continue to work without modification.
[1.14.2] - 2025-12-17
Added
Changed
Removed
v1.14.2 — 2025-12-17
Fixed
- core/http: fixed
RequestHandlerbuild failures by using the localOrderedJsonalias and preventing name lookup from resolving to POSIX::send()(now usesthis->send()internally). - json: improved unified include header
vix/json.hppand ensuredOrderedJsonexposure is consistent across the JSON module.
[1.14.1] - 2025-12-17
Added
Changed
Removed
v1.14.1 — Stability, Cache & Build Hygiene Release
Release date: 2025-12-17
✨ Highlights
- Finalized HTTP GET cache system across core and middleware.
- Integrated cache as a first-class middleware in the request pipeline.
- Added comprehensive cache and middleware tests.
- Achieved strict warning-free builds (
-Weffc++) across all modules.
🧱 Core & Middleware
- Completed HTTP cache implementation (Memory, File, LRU stores).
- Introduced cache utilities (
CacheKey, HTTP header helpers). - Clean integration with
HTTPServer,Router, andSession. - Added HTTP cache middleware for transparent GET caching.
- Added periodic middleware support for timed/background tasks.
- Middleware pipeline refined and stabilized.
🛠️ Build & Quality
- Enforced strict warning hygiene with
-Weffc++. - Fixed:
- sign-conversion warnings
- ignored return values (
chdir,setenv, etc.) [[nodiscard]]API misuse in examples
- Isolated GCC/libstdc++ false positives (
std::regex) without masking project warnings. - Improved and unified CMake configuration across all modules.
🧪 Tests
- Added and stabilized HTTP cache smoke tests.
- Added middleware-level tests validating cache behavior.
- Improved test CMake configuration for consistency.
📦 Modules Updated
coremiddlewarecliwebsocketormutilsjson
🔒 Stability & Compatibility
- No breaking API changes.
- Focus on correctness, performance, and long-term maintainability.
- Stable foundation for upcoming offline-first and sync/WAL features.
[1.14.0] - 2025-12-14
Added
Changed
Removed
ORM Migrations & CLI Stabilization
Added
- New ORM migrations engine with file-based
.up.sql/.down.sqlsupport - Internal migrator tool (
vix_orm_migrator) used by the CLI vix ormcommand with subcommands:migraterollbackstatus
- Support for CLI flags:
--db,--dir,--host,--user,--pass,--steps
- Environment-based configuration via
VIX_ORM_* - Automatic project root and migrations directory detection
- New ORM documentation:
- Migrations overview
- Batch insert
- Repository & QueryBuilder examples
- Application-level ORM workflow (no longer tied to ORM module paths)
Changed
- ORM examples moved from source tree to documentation
- ORM usage clarified to always target application databases
- CLI help improved with full ORM usage examples
- README updated to reflect new ORM & CLI capabilities
Fixed
- Logger initialization issues (
static auto& logger) across:- core
- utils
- middleware
- websocket
- CMake linkage inconsistencies between modules
- Incorrect default database usage during migrations (
vixdbvs app DB) - Rollback failures caused by mismatched migration directories
Removed
- Legacy ORM example source files
- Deprecated...
v1.15.1
Changelog
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.
[Unreleased]
[1.15.0] - 2025-12-20
Added
Changed
Removed
v1.15.0 — 2025-12-20
Added
vix check: validate a project or compile a single.cppfile without execution.vix tests: run project tests (alias ofvix check --tests).vix verify: verify packaged artifacts and signatures.- CLI reference documentation (
docs/vix-cli-help.md). - Pull Request template to standardize contributions.
Changed
- Improved global CLI help output formatting and readability.
- Updated README with clearer CLI usage and script mode examples.
- Updated security testing documentation with realistic, tool-based practices.
- Improved contributing guidelines and code of conduct.
Removed
- Deprecated
SECURITY.mdin favor of a more accurate security testing guide.
Notes
- This release significantly improves CLI usability, testing workflow, and project governance.
- Recommended upgrade for all users relying on the Vix CLI.
[1.14.7] - 2025-12-19
Added
Changed
Removed
v1.14.7 — CLI Packaging Stability Update
Fixed
- Fixed
vix packpotentially blocking when minisign required interactive input. - Prevented unintended blocking behavior when signing is auto-detected.
Added
- Integrated new CLI signing modes from vix-cli v1.9.2:
--sign=auto(default, non-blocking)--sign=never--sign=required(fail-fast, explicit)
Improved
- More predictable and professional packaging workflow.
- Clear separation between optional and mandatory cryptographic signing.
- Improved developer experience for CI/CD and non-interactive environments.
[1.14.6] - 2025-12-19
Added
Changed
Removed
1.14.6 — 2025-XX-XX
CLI
- Updated
modules/clito the latest version. - Improved
vix packuser experience:- Minisign password prompt is now visible when
--verboseis enabled. - Prevents silent blocking during package signing.
- Minisign password prompt is now visible when
- Added
vix verifycommand:- Manifest v2 validation.
- Payload digest verification.
- Optional minisign signature verification.
- Auto-detection of
dist/<name>@<version>packages.
- Improved CLI help output:
- Clearer command grouping.
- Better descriptions for
packandverify. - More practical usage examples.
Packaging & Security
- Clear separation between signed and unsigned packages.
- Environment-based key discovery:
VIX_MINISIGN_SECKEYfor package signing.VIX_MINISIGN_PUBKEYfor signature verification.
- More robust verification feedback and strict modes.
Developer Experience
- Smoother packaging and verification workflow.
- More predictable CLI behavior with explicit output.
- Improved diagnostics in verbose mode.
This release focuses on polishing the CLI, strengthening package security,
and delivering a professional packaging & verification workflow for Vix.
[1.14.5] - 2025-12-19
Added
Changed
Removed
v1.14.5 — 2025-01-18
Added
- New CLI command:
vix pack. - Package a Vix project into
dist/<name>@<version>/. - Optional
.vixpkgarchive generation. - Manifest v2 (
vix.manifest.v2) with:- Package metadata (name, version, kind, license).
- ABI detection (OS, architecture).
- Toolchain information (C++ compiler, standard, CMake).
- Layout flags (include, src, lib, modules, README).
- Exports and dependencies from
vix.toml.
Security
- Payload integrity via SHA256 content digest.
- Stable payload hashing excluding generated files.
- Optional Ed25519 signature using
minisign:meta/payload.digestmeta/payload.digest.minisig- Secret key via
VIX_MINISIGN_SECKEY.
Changed
- CLI help updated to include
vix pack. - Internal CLI and middleware refactoring to support packaging flow.
Notes
- Signing is optional and enabled only when
minisignis available. - Manifest generation avoids self-referential hashing.
[1.14.4] - 2025-12-17
Added
Changed
Removed
v1.14.4
Fixed
- Fixed ORM migrator build after driver abstraction refactor.
- Replaced deprecated MySQL connection APIs with the factory-based
Connectioninterface. - Fixed CI failures caused by abstract
Connectioninstantiation. - Ensured the migrator compiles correctly when database drivers are disabled.
[1.14.3] - 2025-12-17
Added
Changed
Removed
v1.14.3 — 2025-12-17
Fixed
- Fixed JSON umbrella integration:
<vix.hpp>now reliably exposesvix::jsonbuilders (o,a,kv). - Fixed missing
OrderedJsontype in coreRequestHandler. - Fixed compilation errors in examples relying on implicit JSON availability.
- Fixed
vix_jsonCMake include paths for both build-tree and install-tree usage.
Internal
- Improved Core ↔ JSON module boundary consistency.
- Stabilized umbrella build (
vix::vix) dependency propagation.
Compatibility
- No breaking API changes.
- Existing applications continue to work without modification.
[1.14.2] - 2025-12-17
Added
Changed
Removed
v1.14.2 — 2025-12-17
Fixed
- core/http: fixed
RequestHandlerbuild failures by using the localOrderedJsonalias and preventing name lookup from resolving to POSIX::send()(now usesthis->send()internally). - json: improved unified include header
vix/json.hppand ensuredOrderedJsonexposure is consistent across the JSON module.
[1.14.1] - 2025-12-17
Added
Changed
Removed
v1.14.1 — Stability, Cache & Build Hygiene Release
Release date: 2025-12-17
✨ Highlights
- Finalized HTTP GET cache system across core and middleware.
- Integrated cache as a first-class middleware in the request pipeline.
- Added comprehensive cache and middleware tests.
- Achieved strict warning-free builds (
-Weffc++) across all modules.
🧱 Core & Middleware
- Completed HTTP cache implementation (Memory, File, LRU stores).
- Introduced cache utilities (
CacheKey, HTTP header helpers). - Clean integration with
HTTPServer,Router, andSession. - Added HTTP cache middleware for transparent GET caching.
- Added periodic middleware support for timed/background tasks.
- Middleware pipeline refined and stabilized.
🛠️ Build & Quality
- Enforced strict warning hygiene with
-Weffc++. - Fixed:
- sign-conversion warnings
- ignored return values (
chdir,setenv, etc.) [[nodiscard]]API misuse in examples
- Isolated GCC/libstdc++ false positives (
std::regex) without masking project warnings. - Improved and unified CMake configuration across all modules.
🧪 Tests
- Added and stabilized HTTP cache smoke tests.
- Added middleware-level tests validating cache behavior.
- Improved test CMake configuration for consistency.
📦 Modules Updated
coremiddlewarecliwebsocketormutilsjson
🔒 Stability & Compatibility
- No breaking API changes.
- Focus on correctness, performance, and long-term maintainability.
- Stable foundation for upcoming offline-first and sync/WAL features.
[1.14.0] - 2025-12-14
Added
Changed
Removed
ORM Migrations & CLI Stabilization
Added
- New ORM migrations engine with file-based
.up.sql/.down.sqlsupport - Internal migrator tool (
vix_orm_migrator) used by the CLI vix ormcommand with subcommands:migraterollbackstatus
- Support for CLI flags:
--db,--dir,--host,--user,--pass,--steps
- Environment-based configuration via
VIX_ORM_* - Automatic project root and migrations directory detection
- New ORM documentation:
- Migrations overview
- Batch insert
- Repository & QueryBuilder examples
- Application-level ORM workflow (no longer tied to ORM module paths)
Changed
- ORM examples moved from source tree to documentation
- ORM usage clarified to always target application databases
- CLI help improved with full ORM usage examples
- README updated to reflect new ORM & CLI capabilities
Fixed
- Logger initialization issues (
static auto& logger) across:- core
- utils
- middleware
- websocket
- CMake linkage inconsistencies between modules
- Incorrect default database usage during migrations (
vixdbvs app DB) - Rollback failures caused by mismatched migration directories
Removed
- Legacy ORM example source files
- Deprecated ORM documentation pages
- Old migrate_init example binaries
Notes
- Databases must be created manually before running migrations
- Migrations are now strictly application-scoped
[1.13.3] - 2025-12-12
Added
Changed
Removed
v1.13.3 — Patch Release
Fixed
- Fixed SQLite integration in WebSocket module (missing includes, symbols, WAL usage).
- Fixed
SqliteMessageStorecompilation errors with propersqlite3.husage. - Split WebSocket router implementation into
.cpp(no implementation in headers). - Fixed Long Polling and WebSocket bridge consistency.
Build / CMake
- ORM examples are now automatically disabled when MySQL support is OFF.
- Prevented MySQL-dependent ORM examples from breaking default builds.
- Improved umbrella CMake example filtering logic.
- Safer linking of optional modules (ORM, WebSocket).
Internal
- Reduced header coupling and improved compile hygiene.
- More robust optional-feature handling (SQLite / MySQL / ORM).
[1.13.2] - 2025-12-12
Added
Changed
Removed
WebSocket
- Add SQLite-based message store with WAL support (
SqliteMessageStore) - Introduce long-polling fallback for unstabl...
v1.15.0
Changelog
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.
[Unreleased]
[1.15.0] - 2025-12-20
Added
Changed
Removed
v1.15.0 — 2025-12-20
Added
vix check: validate a project or compile a single.cppfile without execution.vix tests: run project tests (alias ofvix check --tests).vix verify: verify packaged artifacts and signatures.- CLI reference documentation (
docs/vix-cli-help.md). - Pull Request template to standardize contributions.
Changed
- Improved global CLI help output formatting and readability.
- Updated README with clearer CLI usage and script mode examples.
- Updated security testing documentation with realistic, tool-based practices.
- Improved contributing guidelines and code of conduct.
Removed
- Deprecated
SECURITY.mdin favor of a more accurate security testing guide.
Notes
- This release significantly improves CLI usability, testing workflow, and project governance.
- Recommended upgrade for all users relying on the Vix CLI.
[1.14.7] - 2025-12-19
Added
Changed
Removed
v1.14.7 — CLI Packaging Stability Update
Fixed
- Fixed
vix packpotentially blocking when minisign required interactive input. - Prevented unintended blocking behavior when signing is auto-detected.
Added
- Integrated new CLI signing modes from vix-cli v1.9.2:
--sign=auto(default, non-blocking)--sign=never--sign=required(fail-fast, explicit)
Improved
- More predictable and professional packaging workflow.
- Clear separation between optional and mandatory cryptographic signing.
- Improved developer experience for CI/CD and non-interactive environments.
[1.14.6] - 2025-12-19
Added
Changed
Removed
1.14.6 — 2025-XX-XX
CLI
- Updated
modules/clito the latest version. - Improved
vix packuser experience:- Minisign password prompt is now visible when
--verboseis enabled. - Prevents silent blocking during package signing.
- Minisign password prompt is now visible when
- Added
vix verifycommand:- Manifest v2 validation.
- Payload digest verification.
- Optional minisign signature verification.
- Auto-detection of
dist/<name>@<version>packages.
- Improved CLI help output:
- Clearer command grouping.
- Better descriptions for
packandverify. - More practical usage examples.
Packaging & Security
- Clear separation between signed and unsigned packages.
- Environment-based key discovery:
VIX_MINISIGN_SECKEYfor package signing.VIX_MINISIGN_PUBKEYfor signature verification.
- More robust verification feedback and strict modes.
Developer Experience
- Smoother packaging and verification workflow.
- More predictable CLI behavior with explicit output.
- Improved diagnostics in verbose mode.
This release focuses on polishing the CLI, strengthening package security,
and delivering a professional packaging & verification workflow for Vix.
[1.14.5] - 2025-12-19
Added
Changed
Removed
v1.14.5 — 2025-01-18
Added
- New CLI command:
vix pack. - Package a Vix project into
dist/<name>@<version>/. - Optional
.vixpkgarchive generation. - Manifest v2 (
vix.manifest.v2) with:- Package metadata (name, version, kind, license).
- ABI detection (OS, architecture).
- Toolchain information (C++ compiler, standard, CMake).
- Layout flags (include, src, lib, modules, README).
- Exports and dependencies from
vix.toml.
Security
- Payload integrity via SHA256 content digest.
- Stable payload hashing excluding generated files.
- Optional Ed25519 signature using
minisign:meta/payload.digestmeta/payload.digest.minisig- Secret key via
VIX_MINISIGN_SECKEY.
Changed
- CLI help updated to include
vix pack. - Internal CLI and middleware refactoring to support packaging flow.
Notes
- Signing is optional and enabled only when
minisignis available. - Manifest generation avoids self-referential hashing.
[1.14.4] - 2025-12-17
Added
Changed
Removed
v1.14.4
Fixed
- Fixed ORM migrator build after driver abstraction refactor.
- Replaced deprecated MySQL connection APIs with the factory-based
Connectioninterface. - Fixed CI failures caused by abstract
Connectioninstantiation. - Ensured the migrator compiles correctly when database drivers are disabled.
[1.14.3] - 2025-12-17
Added
Changed
Removed
v1.14.3 — 2025-12-17
Fixed
- Fixed JSON umbrella integration:
<vix.hpp>now reliably exposesvix::jsonbuilders (o,a,kv). - Fixed missing
OrderedJsontype in coreRequestHandler. - Fixed compilation errors in examples relying on implicit JSON availability.
- Fixed
vix_jsonCMake include paths for both build-tree and install-tree usage.
Internal
- Improved Core ↔ JSON module boundary consistency.
- Stabilized umbrella build (
vix::vix) dependency propagation.
Compatibility
- No breaking API changes.
- Existing applications continue to work without modification.
[1.14.2] - 2025-12-17
Added
Changed
Removed
v1.14.2 — 2025-12-17
Fixed
- core/http: fixed
RequestHandlerbuild failures by using the localOrderedJsonalias and preventing name lookup from resolving to POSIX::send()(now usesthis->send()internally). - json: improved unified include header
vix/json.hppand ensuredOrderedJsonexposure is consistent across the JSON module.
[1.14.1] - 2025-12-17
Added
Changed
Removed
v1.14.1 — Stability, Cache & Build Hygiene Release
Release date: 2025-12-17
✨ Highlights
- Finalized HTTP GET cache system across core and middleware.
- Integrated cache as a first-class middleware in the request pipeline.
- Added comprehensive cache and middleware tests.
- Achieved strict warning-free builds (
-Weffc++) across all modules.
🧱 Core & Middleware
- Completed HTTP cache implementation (Memory, File, LRU stores).
- Introduced cache utilities (
CacheKey, HTTP header helpers). - Clean integration with
HTTPServer,Router, andSession. - Added HTTP cache middleware for transparent GET caching.
- Added periodic middleware support for timed/background tasks.
- Middleware pipeline refined and stabilized.
🛠️ Build & Quality
- Enforced strict warning hygiene with
-Weffc++. - Fixed:
- sign-conversion warnings
- ignored return values (
chdir,setenv, etc.) [[nodiscard]]API misuse in examples
- Isolated GCC/libstdc++ false positives (
std::regex) without masking project warnings. - Improved and unified CMake configuration across all modules.
🧪 Tests
- Added and stabilized HTTP cache smoke tests.
- Added middleware-level tests validating cache behavior.
- Improved test CMake configuration for consistency.
📦 Modules Updated
coremiddlewarecliwebsocketormutilsjson
🔒 Stability & Compatibility
- No breaking API changes.
- Focus on correctness, performance, and long-term maintainability.
- Stable foundation for upcoming offline-first and sync/WAL features.
[1.14.0] - 2025-12-14
Added
Changed
Removed
ORM Migrations & CLI Stabilization
Added
- New ORM migrations engine with file-based
.up.sql/.down.sqlsupport - Internal migrator tool (
vix_orm_migrator) used by the CLI vix ormcommand with subcommands:migraterollbackstatus
- Support for CLI flags:
--db,--dir,--host,--user,--pass,--steps
- Environment-based configuration via
VIX_ORM_* - Automatic project root and migrations directory detection
- New ORM documentation:
- Migrations overview
- Batch insert
- Repository & QueryBuilder examples
- Application-level ORM workflow (no longer tied to ORM module paths)
Changed
- ORM examples moved from source tree to documentation
- ORM usage clarified to always target application databases
- CLI help improved with full ORM usage examples
- README updated to reflect new ORM & CLI capabilities
Fixed
- Logger initialization issues (
static auto& logger) across:- core
- utils
- middleware
- websocket
- CMake linkage inconsistencies between modules
- Incorrect default database usage during migrations (
vixdbvs app DB) - Rollback failures caused by mismatched migration directories
Removed
- Legacy ORM example source files
- Deprecated ORM documentation pages
- Old migrate_init example binaries
Notes
- Databases must be created manually before running migrations
- Migrations are now strictly application-scoped
[1.13.3] - 2025-12-12
Added
Changed
Removed
v1.13.3 — Patch Release
Fixed
- Fixed SQLite integration in WebSocket module (missing includes, symbols, WAL usage).
- Fixed
SqliteMessageStorecompilation errors with propersqlite3.husage. - Split WebSocket router implementation into
.cpp(no implementation in headers). - Fixed Long Polling and WebSocket bridge consistency.
Build / CMake
- ORM examples are now automatically disabled when MySQL support is OFF.
- Prevented MySQL-dependent ORM examples from breaking default builds.
- Improved umbrella CMake example filtering logic.
- Safer linking of optional modules (ORM, WebSocket).
Internal
- Reduced header coupling and improved compile hygiene.
- More robust optional-feature handling (SQLite / MySQL / ORM).
[1.13.2] - 2025-12-12
Added
Changed
Removed
WebSocket
- Add SQLite-based message store with WAL support (
SqliteMessageStore) - Introduce long-polling fallback for unstabl...