Releases: photostructure/sqlite-vec
Releases · photostructure/sqlite-vec
v1.0.0
Immutable
release. Only release title and notes can be modified.
Full Changelog: v0.4.1...v1.0.0
v0.4.1
Full Changelog: v0.4.0...v0.4.1
v0.4.0
Full Changelog: v0.3.3...v0.4.0
v0.3.3
Full Changelog: v0.3.2...v0.3.3
v0.3.2
Added
- Memory testing framework (
c8654d0)- Valgrind and AddressSanitizer support via
make test-memory - Catches memory leaks, use-after-free, and buffer overflows
- Valgrind and AddressSanitizer support via
Fixed
-
Memory leaks in KNN queries (
e4d3340,df2c2fc,f05a360)- Fixed leaks in
vec0Filter_knnmetadata IN clause processing - Fixed leaks and potential crashes in
vec_static_blob_entriesfilter - Ensured
knn_datais freed on error paths
- Fixed leaks in
-
Memory leaks in vtab lifecycle (
5f667d8,49dcce7)- Fixed leaks in
vec0_initandvec0Destroyerror paths - Added NULL check before blob read to prevent crashes
vec0_freenow properly frees partition, auxiliary, and metadata column names
- Fixed leaks in
-
Cosine distance with zero vectors (
5d1279b)- Returns 1.0 (max distance) instead of NaN for zero-magnitude vectors
Commits
Full Changelog: v0.3.1...v0.3.2
v0.3.1
Added
-
Lua binding with IEEE 754 compliant float serialization (
1d3c258)- New
bindings/lua/sqlite_vec.luamodule for Lua 5.1+ serialize_f32()for IEEE 754 binary formatserialize_json()for JSON format- Example script in
examples/simple-lua/ - Incorporates upstream PR #237 with extensive bugfixes for float encoding
- New
-
Safer automated release workflow (
6d06b7d)prepare-releasejob creates a release branch before building- All builds use the release branch with correct version baked in
- Main branch only updated after successful npm publish
- If any step fails, main is untouched
Fixed
-
Numpy header parsing: fixed
&&→||logic bug (90e0099) -
Go bindings patch updated for new SQLite source (
ceb488c)- Updated
bindings/go/ncruces/go-sqlite3.patchfor compatibility with latest SQLite
- Updated
-
npm-release workflow improvements
Commits
Full Changelog: v0.3.0...v0.3.1
v0.3.0
Added
-
OIDC npm release workflow with bundled platform binaries (
f7ae5c0)- Single npm package contains all platform builds (prebuildify approach)
- Simpler, more secure, works offline and with disabled scripts
- Platform binaries: linux-x64, linux-arm64, darwin-x64, darwin-arm64, win32-x64, win32-arm64
-
Alpine/MUSL support (
f7ae5c0)- Added linux-x64-musl and linux-arm64-musl builds
- Uses node:20-alpine Docker images for compilation
Fixed
- MSVC-compatible
__builtin_popcountlimplementation (fab929b)- Added fallback for MSVC which lacks GCC/Clang builtins
- Enables Windows ARM64 and x64 builds
Changed
- Node.js package renamed to
@mceachen/sqlite-vec(fe9f038)- Published to npm under scoped package name
- Updated documentation to reflect new package name
- All other language bindings will continue to reference upstream (vlasky/sqlite-vec)
Infrastructure
- Updated GitHub Actions to pinned versions via pinact (
b904a1d) - Added
bash,curlandunzipto Alpine build dependencies (aa7f3e7,9c446c8) - Documentation fixes (
4d446f7,3a5b6d7)
Commits
Full Changelog: https://github.com/mceachen/sqlite-vec/commits/v0.3.0