All notable changes to Vix ORM are documented in this file.
This project follows a developer-first approach:
- explicit changes
- no hidden behavior
- predictable evolution
This release focuses on clarity, correctness, and developer experience.
- Full rewrite of examples
- API consistency improvements
- Fixes for move semantics and const correctness
- Cleaner positioning of ORM as a pure explicit layer on top of Vix DB
-
Complete structured examples suite (16 examples):
- basic repository usage
- full CRUD flows
- unit of work
- batch operations
- query builder usage
- error handling
- custom repositories
- SQLite / MySQL integration
- migrations (code + files)
- entity identity handling
- manual SQL integration
-
examples/CMakeLists.txt:- automatic registration of examples
- unified build output
- migration files auto-copy
-
README.md
- rewritten for clarity and positioning
- stronger “explicit ORM” philosophy
- real-world usage examples added
-
ORM API stabilization
-
Entity- clarified identity model
-
Mapper- standardized:
toInsertFieldstoUpdateFields
- standardized:
-
Repository- improved SQL generation clarity
- stricter behavior on empty fields
-
QueryBuilder- safer parameter handling
- improved API consistency
-
db_compat.hpp- centralized DB interop layer
- cleaner type exposure
-
-
CMake
- improved example integration
- better standalone + monorepo compatibility
- Legacy examples:
- batch_insert_tx.cpp
- error_handling.cpp
- querybuilder_update.cpp
- repository_crud_full.cpp
- tx_unit_of_work.cpp
- users_crud.cpp
Replaced by a structured numbered examples system.
-
UnitOfWork
-
removed invalid move assignment (Transaction is non-assignable)
-
fixed const correctness for
conn()
-
-
Examples
- fixed entity initialization issues
- aligned examples with current API
-
General
- improved build stability for examples
- fixed multiple compilation edge cases
vix.jsonmodule definition for@vix/orm- improved packaging (header + source module)
- standalone build improvements
- fetch only required modules (
core,db)
- CI stability
- CMake standalone issues
- stabilized public API
- improved examples
- inline templates
- internal refactor
- file-based migrations runner
- CLI migration support
- MySQL driver gating
- connection abstraction issues
- CMake integration
- MySQL linking issues
Databaseabstraction- multi-engine support (MySQL / SQLite)
- modern CMake
- MySQL / SQLite detection
- sanitizers
- documentation improvements
Initial release:
- ConnectionPool
- Transaction system
- UnitOfWork
- MySQL driver
- modular CMake
- documentation + examples
Vix ORM evolves with one invariant:
No magic No hidden cost No abstraction leaks