site/versioning.md
sqlite-vecsqlite-vec is pre-v1, so according to the rules of
Semantic Versioning, so "minor" release like "0.2.0" or
"0.3.0" may contain breaking changes.
Only SQL functions, table functions, and virtual tables that are defined in the default sqlite3_vec_init entrypoint are considered as the sqlite-vec API for semantic versioning. This means that other entrypoints and other SQL functions should be considered unstable, untested, and possibly dangerous.
For the SQL API, a "breaking change" would include:
CREATE VIRTUAL TABLE constructor of a virtual table in a backwards-incompatible wayThe official "bindings" to sqlite-vec, including the Python/Node.js/Ruby/Go/Rust are subject to change and are not covered by semantic versioning.
Though I have no plans to change or break them, and would include notes in changelogs if that ever needs to happen.