Skip to content

feat: logosdb 0.8.0 — sync, stats, compact, doctor, snapshots, stress suite#100

Merged
jose-compu merged 4 commits into
mainfrom
release/0.8.0
May 12, 2026
Merged

feat: logosdb 0.8.0 — sync, stats, compact, doctor, snapshots, stress suite#100
jose-compu merged 4 commits into
mainfrom
release/0.8.0

Conversation

@jose-compu

Copy link
Copy Markdown
Owner

Summary

Ships logosdb 0.8.0: durability and ops (sync, snapshot/restore, stats, compact), CLI doctor/upgrade, opt-in stress tests (including concurrent API use), search paths taking the DB mutex for safe sharing of one handle across threads, and version / packaging alignment (CMake, C header, Python, Node vendored core, MCP, n8n, npm workspaces + CHANGELOG).

Closes #81
Closes #82
Closes #83
Closes #88

(Drop any line that does not match your issue linkage.)

Changes

  • Feature: logosdb_sync / CLI snapshot & restore (snapshot.json v1)
  • Feature: logosdb_stats / CLI stats (+ Python DB.stats())
  • Feature: logosdb_compact / CLI compact (+ Python compact)
  • Feature: CLI doctor / upgrade (vectors v2, probes)
  • Feature: Opt-in doctest suite stress (default ctest excludes via --test-suite-exclude=stress)
  • Fix: Serialize logosdb_search / logosdb_search_ts_range under db->mu vs concurrent writes
  • Chore: npm 0.8.0 (logosdb, logosdb-mcp-server, n8n-nodes-logosdb), root workspace includes n8n, remove redundant n8n/package-lock.json
  • Refactor: Remove dead start_id / stale WAL comment in put_batch (clean Node build warning)

Type of Change

  • Bug fix (non-breaking change which fixes an issue) — search mutex vs concurrent mutators
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update — README threading note, bench version line, CONTRIBUTING / MCP README / CHANGELOG
  • Performance improvement — search now contends on mu with writes (slight contention vs prior lock-free search)
  • Refactoring (no functional changes)

Testing

  • Unit tests added/updated — test_doctest.cpp + test_stress.cpp
  • Integration tests pass — npm run npm:verify (vendor-core, logosdb native tests, MCP tests + smoke)
  • Manual testing performed — ctest --output-on-failure, ./logosdb-test --test-suite-exclude=stress, ./logosdb-test --test-suite=stress, Release CMake build

Describe the tests you ran:

  • cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DLOGOSDB_BUILD_TESTS=ON && cmake --build build && cd build && ctest --output-on-failure -V
  • ./logosdb-test --test-suite-exclude=stress and ./logosdb-test --test-suite=stress
  • npm run npm:verify from repo root

Checklist

  • Code compiles without warnings on GCC and Clang — Node put_batch unused-var warning addressed
  • Tests pass (ctest --output-on-failure, pytest) — CMake/doctest + npm verify; run pytest if you touch Python further
  • Benchmarks run if performance-related
  • CHANGELOG updated for user-facing changes
  • Documentation updated (README, headers, guides) — README minimal threading + bench version; CONTRIBUTING / MCP README
  • PR title follows conventional commit style (feat:, fix:, docs:, etc.)

Additional Notes

  • Threading: Search now shares the same mutex as writes so stress tests and multi-threaded clients do not race the HNSW index / metadata; concurrent searches serialize with each other and with writes.
  • npm: Use root npm install so n8n resolves workspace logosdb; publish logosdblogosdb-mcp-servern8n-nodes-logosdb after registry has native 0.8.0.
  • Vendored core: Run npm run vendor-core -w logosdb (or npm:verify) so nodejs/deps/core stays in sync with src/ / include/.

@jose-compu jose-compu self-assigned this May 12, 2026
@jose-compu jose-compu added enhancement New feature or request feature New feature/capability performance Performance-related work testing Tests / test infrastructure 0.8.0-scope Committed scope for v0.8.0 labels May 12, 2026
@jose-compu jose-compu changed the title Release/0.8.0 feat: logosdb 0.8.0 — sync, stats, compact, doctor, snapshots, stress suite May 12, 2026
@jose-compu
jose-compu merged commit ff365a5 into main May 12, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

0.8.0-scope Committed scope for v0.8.0 enhancement New feature or request feature New feature/capability performance Performance-related work testing Tests / test infrastructure

Projects

None yet

1 participant