Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: vixcpp/vix

v1.17.1

26 Dec 12:45
74079c6

Choose a tag to compare

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 / println
    • Vix API (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
    Running vix starts the interactive shell automatically
    (no more vix repl).

  • Modern runtime experience
    Behavior aligned with Python, Node.js, and Deno.


✨ Added

  • Default interactive REPL when running vix
  • Dedicated README_REPL.md with:
    • Math expressions
    • Variables
    • JSON usage
    • print / println
    • Built-in Vix API 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 repl as 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 .cpp file without execution.
  • vix tests: run project tests (alias of vix 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.md in 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 pack potentially 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/cli to the latest version.
  • Improved vix pack user experience:
    • Minisign password prompt is now visible when --verbose is enabled.
    • Prevents silent blocking during package signing.
  • Added vix verify command:
    • 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 pack and verify.
    • More practical usage examples.

Packaging & Security

  • Clear separation between signed and unsigned packages.
  • Environment-based key discovery:
    • VIX_MINISIGN_SECKEY for package signing.
    • VIX_MINISIGN_PUBKEY for 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 .vixpkg archive 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.digest
    • meta/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 minisign is 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 Connection interface.
  • Fixed CI failures caused by abstract Connection instantiation.
  • 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 exposes vix::json builders (o, a, kv).
  • Fixed missing OrderedJson type in core RequestHandler.
  • Fixed compilation errors in examples relying on implicit JSON availability.
  • Fixed vix_json CMake 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 RequestHandler build failures by using the local OrderedJson alias and preventing name lookup from resolving to POSIX ::send() (now uses this->send() internally).
  • json: improved unified include header vix/json.hpp and ensured OrderedJson exposure 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, and Session.
  • 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

  • core
  • middleware
  • cli
  • websocket
  • orm
  • utils
  • json

🔒 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.sql support
  • Internal migrator tool (vix_orm_migrator) used by the CLI
  • vix orm command with subcommands:
    • migrate
    • rollback
    • status
  • Support for CLI flags:
    • --db, --dir, --host, --user, --pass, --steps
  • Environment-based...
Read more

v1.17.0

26 Dec 12:22
74079c6

Choose a tag to compare

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 / println
    • Vix API (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
    Running vix starts the interactive shell automatically
    (no more vix repl).

  • Modern runtime experience
    Behavior aligned with Python, Node.js, and Deno.


✨ Added

  • Default interactive REPL when running vix
  • Dedicated README_REPL.md with:
    • Math expressions
    • Variables
    • JSON usage
    • print / println
    • Built-in Vix API 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 repl as 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 .cpp file without execution.
  • vix tests: run project tests (alias of vix 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.md in 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 pack potentially 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/cli to the latest version.
  • Improved vix pack user experience:
    • Minisign password prompt is now visible when --verbose is enabled.
    • Prevents silent blocking during package signing.
  • Added vix verify command:
    • 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 pack and verify.
    • More practical usage examples.

Packaging & Security

  • Clear separation between signed and unsigned packages.
  • Environment-based key discovery:
    • VIX_MINISIGN_SECKEY for package signing.
    • VIX_MINISIGN_PUBKEY for 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 .vixpkg archive 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.digest
    • meta/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 minisign is 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 Connection interface.
  • Fixed CI failures caused by abstract Connection instantiation.
  • 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 exposes vix::json builders (o, a, kv).
  • Fixed missing OrderedJson type in core RequestHandler.
  • Fixed compilation errors in examples relying on implicit JSON availability.
  • Fixed vix_json CMake 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 RequestHandler build failures by using the local OrderedJson alias and preventing name lookup from resolving to POSIX ::send() (now uses this->send() internally).
  • json: improved unified include header vix/json.hpp and ensured OrderedJson exposure 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, and Session.
  • 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

  • core
  • middleware
  • cli
  • websocket
  • orm
  • utils
  • json

🔒 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.sql support
  • Internal migrator tool (vix_orm_migrator) used by the CLI
  • vix orm command with subcommands:
    • migrate
    • rollback
    • status
  • Support for CLI flags:
    • --db, --dir, --host, --user, --pass, --steps
  • Environment-based...
Read more

v1.16.1

22 Dec 12:46
c52024b

Choose a tag to compare

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 / println
    • Vix API (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
    Running vix starts the interactive shell automatically
    (no more vix repl).

  • Modern runtime experience
    Behavior aligned with Python, Node.js, and Deno.


✨ Added

  • Default interactive REPL when running vix
  • Dedicated README_REPL.md with:
    • Math expressions
    • Variables
    • JSON usage
    • print / println
    • Built-in Vix API 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 repl as 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 .cpp file without execution.
  • vix tests: run project tests (alias of vix 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.md in 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 pack potentially 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/cli to the latest version.
  • Improved vix pack user experience:
    • Minisign password prompt is now visible when --verbose is enabled.
    • Prevents silent blocking during package signing.
  • Added vix verify command:
    • 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 pack and verify.
    • More practical usage examples.

Packaging & Security

  • Clear separation between signed and unsigned packages.
  • Environment-based key discovery:
    • VIX_MINISIGN_SECKEY for package signing.
    • VIX_MINISIGN_PUBKEY for 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 .vixpkg archive 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.digest
    • meta/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 minisign is 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 Connection interface.
  • Fixed CI failures caused by abstract Connection instantiation.
  • 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 exposes vix::json builders (o, a, kv).
  • Fixed missing OrderedJson type in core RequestHandler.
  • Fixed compilation errors in examples relying on implicit JSON availability.
  • Fixed vix_json CMake 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 RequestHandler build failures by using the local OrderedJson alias and preventing name lookup from resolving to POSIX ::send() (now uses this->send() internally).
  • json: improved unified include header vix/json.hpp and ensured OrderedJson exposure 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, and Session.
  • 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

  • core
  • middleware
  • cli
  • websocket
  • orm
  • utils
  • json

🔒 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.sql support
  • Internal migrator tool (vix_orm_migrator) used by the CLI
  • vix orm command with subcommands:
    • migrate
    • rollback
    • status
  • Support for CLI flags:
    • --db, --dir, --host, --user, --pass, --steps
  • Environment-based...
Read more

v1.16.0

21 Dec 21:47
01d0b3c

Choose a tag to compare

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
    Running vix starts the interactive shell automatically
    (no more vix repl).

  • Modern runtime experience
    Behavior aligned with Python, Node.js, and Deno.


✨ Added

  • Default interactive REPL when running vix
  • Dedicated README_REPL.md with:
    • Math expressions
    • Variables
    • JSON usage
    • print / println
    • Built-in Vix API 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 repl as 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 .cpp file without execution.
  • vix tests: run project tests (alias of vix 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.md in 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 pack potentially 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/cli to the latest version.
  • Improved vix pack user experience:
    • Minisign password prompt is now visible when --verbose is enabled.
    • Prevents silent blocking during package signing.
  • Added vix verify command:
    • 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 pack and verify.
    • More practical usage examples.

Packaging & Security

  • Clear separation between signed and unsigned packages.
  • Environment-based key discovery:
    • VIX_MINISIGN_SECKEY for package signing.
    • VIX_MINISIGN_PUBKEY for 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 .vixpkg archive 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.digest
    • meta/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 minisign is 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 Connection interface.
  • Fixed CI failures caused by abstract Connection instantiation.
  • 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 exposes vix::json builders (o, a, kv).
  • Fixed missing OrderedJson type in core RequestHandler.
  • Fixed compilation errors in examples relying on implicit JSON availability.
  • Fixed vix_json CMake 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 RequestHandler build failures by using the local OrderedJson alias and preventing name lookup from resolving to POSIX ::send() (now uses this->send() internally).
  • json: improved unified include header vix/json.hpp and ensured OrderedJson exposure 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, and Session.
  • 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

  • core
  • middleware
  • cli
  • websocket
  • orm
  • utils
  • json

🔒 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.sql support
  • Internal migrator tool (vix_orm_migrator) used by the CLI
  • vix orm command with subcommands:
    • migrate
    • rollback
    • status
  • 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 (vixdb vs app DB)
  • Rollback failures caused by mismatched migration directories

Removed

  • Legacy ORM example source files
  • Deprecated...
Read more

v1.15.1

21 Dec 08:25
ff7b1fb

Choose a tag to compare

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 .cpp file without execution.
  • vix tests: run project tests (alias of vix 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.md in 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 pack potentially 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/cli to the latest version.
  • Improved vix pack user experience:
    • Minisign password prompt is now visible when --verbose is enabled.
    • Prevents silent blocking during package signing.
  • Added vix verify command:
    • 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 pack and verify.
    • More practical usage examples.

Packaging & Security

  • Clear separation between signed and unsigned packages.
  • Environment-based key discovery:
    • VIX_MINISIGN_SECKEY for package signing.
    • VIX_MINISIGN_PUBKEY for 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 .vixpkg archive 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.digest
    • meta/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 minisign is 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 Connection interface.
  • Fixed CI failures caused by abstract Connection instantiation.
  • 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 exposes vix::json builders (o, a, kv).
  • Fixed missing OrderedJson type in core RequestHandler.
  • Fixed compilation errors in examples relying on implicit JSON availability.
  • Fixed vix_json CMake 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 RequestHandler build failures by using the local OrderedJson alias and preventing name lookup from resolving to POSIX ::send() (now uses this->send() internally).
  • json: improved unified include header vix/json.hpp and ensured OrderedJson exposure 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, and Session.
  • 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

  • core
  • middleware
  • cli
  • websocket
  • orm
  • utils
  • json

🔒 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.sql support
  • Internal migrator tool (vix_orm_migrator) used by the CLI
  • vix orm command with subcommands:
    • migrate
    • rollback
    • status
  • 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 (vixdb vs 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 SqliteMessageStore compilation errors with proper sqlite3.h usage.
  • 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...
Read more

v1.15.0

20 Dec 15:37
ac8618c

Choose a tag to compare

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 .cpp file without execution.
  • vix tests: run project tests (alias of vix 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.md in 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 pack potentially 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/cli to the latest version.
  • Improved vix pack user experience:
    • Minisign password prompt is now visible when --verbose is enabled.
    • Prevents silent blocking during package signing.
  • Added vix verify command:
    • 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 pack and verify.
    • More practical usage examples.

Packaging & Security

  • Clear separation between signed and unsigned packages.
  • Environment-based key discovery:
    • VIX_MINISIGN_SECKEY for package signing.
    • VIX_MINISIGN_PUBKEY for 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 .vixpkg archive 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.digest
    • meta/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 minisign is 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 Connection interface.
  • Fixed CI failures caused by abstract Connection instantiation.
  • 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 exposes vix::json builders (o, a, kv).
  • Fixed missing OrderedJson type in core RequestHandler.
  • Fixed compilation errors in examples relying on implicit JSON availability.
  • Fixed vix_json CMake 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 RequestHandler build failures by using the local OrderedJson alias and preventing name lookup from resolving to POSIX ::send() (now uses this->send() internally).
  • json: improved unified include header vix/json.hpp and ensured OrderedJson exposure 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, and Session.
  • 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

  • core
  • middleware
  • cli
  • websocket
  • orm
  • utils
  • json

🔒 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.sql support
  • Internal migrator tool (vix_orm_migrator) used by the CLI
  • vix orm command with subcommands:
    • migrate
    • rollback
    • status
  • 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 (vixdb vs 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 SqliteMessageStore compilation errors with proper sqlite3.h usage.
  • 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...
Read more