Skip to content

Conversation

@GaspardKirira
Copy link
Member

Vix.cpp v1.21.0

This release stabilizes the new DB core module, improves CLI runtime output, and fixes several build/link issues across modules.

Highlights

  • DB/ORM separation is now fully aligned: vix::db is the low-level core layer, vix::orm remains optional sugar on top.
  • CLI runtime output and error UX were refined to be clearer and less noisy.
  • Improved reliability for MySQL detection/linking in diverse environments.

CLI (modules/cli)

  • Fix: prevent duplicate runtime logs in some failure paths.
  • Improve: runtime error detectors and diagnostics formatting.
  • Improve: UX cleanup for run/dev flows (clearer output, less noise).

DB Core (modules/db)

  • Fix: CMake/source/linkage issues across DB drivers.
  • Fix: MySQL Connector/C++ discovery via fallback alias target (more robust CI/local setups).
  • Improve: driver linkage consistency and feature flag reporting.

Umbrella / Modules

  • Introduced vix::db as a core module and decoupled ORM tooling/drivers accordingly.
  • Synced submodules after DB/ORM compatibility fixes.

Upgrade notes

  • If you enable ORM, it automatically implies DB.
  • If MySQL is enabled, ensure Connector/C++ is available (the fallback alias helps when CMake configs are missing).

- Add vix::db as first-class core module (anti-ORM layer)
- Update umbrella CMake to build and export vix::db
- Make vix::orm a pure sugar layer on top of vix::db
- Move migrator tool ownership from ORM to DB
- Update CLI to target DB-level migrator
- Sync submodules (cli, db, orm) with new architecture
- Update db submodule to latest main (Transaction header-only + ConnectionPool stabilization)
- Update orm submodule to latest dev (any->DbValue binding + examples/build fixes)
- DB:
  - properly register MakeMigrations sources and headers
  - ensure MySQL driver symbols are built and linked when enabled
- ORM:
  - guard MySQL-specific APIs behind VIX_DB_HAS_MYSQL
  - prevent exposing unavailable driver symbols
- CLI:
  - fix generated CMake for vix run to avoid link-time undefined references
- Examples:
  - update HTTP CRUD samples to match current DB/ORM APIs
- Build:
  - align umbrella CMakeLists with updated module structure

This commit fixes real-world link errors and restores explicit, reliable module boundaries.
- Update cli submodule
- Align runtime error rendering with Vix styled output
- Remove duplicate runtime messages and trailing blank line
- Pull latest CLI changes
- Improved compiler error rules (lifetime, ownership, misuse)
- Cleaner runtime error summaries and sanitizer handling
- More focused, actionable diagnostics

No API changes.
@GaspardKirira GaspardKirira added core Core runtime, HTTP server, executor, lifecycle cli Vix CLI (vix new, build, run, dev) orm ORM, database drivers, migrations devx Developer experience improvements: tooling, diagnostics, ergonomics, and workflow polish. ux User experience improvements: CLI output, help formatting, readability, and usability. labels Jan 24, 2026
@GaspardKirira GaspardKirira merged commit 8088f23 into main Jan 24, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli Vix CLI (vix new, build, run, dev) core Core runtime, HTTP server, executor, lifecycle devx Developer experience improvements: tooling, diagnostics, ergonomics, and workflow polish. orm ORM, database drivers, migrations ux User experience improvements: CLI output, help formatting, readability, and usability.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants