-
v4.8.0 Stable
released this
2026-07-15 07:31:52 +00:00 | 30 commits to main since this releaseFull Changelog: https://github.com/Jairodaniel-17/Luma/compare/v4.7.0...v4.8.0
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v4.7.0 Stable
released this
2026-07-15 01:14:24 +00:00 | 32 commits to main since this releaseFull Changelog: https://github.com/Jairodaniel-17/Luma/compare/v4.6.0...v4.7.0
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v4.6.0 Stable
released this
2026-07-15 00:33:19 +00:00 | 34 commits to main since this releaseFull Changelog: https://github.com/Jairodaniel-17/Luma/compare/v4.5.0...v4.6.0
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v4.5.0 Stable
released this
2026-07-14 23:02:54 +00:00 | 36 commits to main since this releaseFull Changelog: https://github.com/Jairodaniel-17/Luma/compare/v4.4.0...v4.5.0
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v4.4.0 Stable
released this
2026-07-14 20:30:46 +00:00 | 44 commits to main since this releaseFull Changelog: https://github.com/Jairodaniel-17/Luma/compare/v4.3.0...v4.4.0
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v4.3.0 Stable
released this
2026-07-14 14:03:47 +00:00 | 50 commits to main since this releaseFull Changelog: https://github.com/Jairodaniel-17/Luma/compare/v4.2.0...v4.3.0
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v4.2.0 Stable
released this
2026-06-20 05:52:27 +00:00 | 86 commits to main since this releaseFull Changelog: https://github.com/Jairodaniel-17/Luma/compare/v4.1.1...v4.2.0
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
released this
2026-06-20 04:58:49 +00:00 | 89 commits to main since this release✨ Nuevo: módulo de almacenamiento de objetos tipo S3 (blobs)
Luma ahora puede guardar objetos binarios en disco, fuera del document store — ideal para adjuntos sin meter base64 en JSON.
Endpoints (autenticados con
Authorization: Bearer <api_key>)PUT /v1/blob/:bucket/:key— sube bytes crudos (body binario). Devuelve{ bucket, key, size, etag }.GET /v1/blob/:bucket/:key— descarga los bytes.DELETE /v1/blob/:bucket/:key— borra (idempotente).GET /v1/blob/:bucket— lista las keys del bucket.
Los objetos se persisten en
{data_dir}/blobs/{bucket}/{key}con escritura atómica (tmp + rename), validación anti path-traversal (charset + componentes + prefix-check), límite pormax_body_bytesyetag(crc32).Binario precompilado
luma-v4.1.0-linux-x86_64— Linux x86-64, enlazado dinámicamente a glibc (≥ 2.x). Ejecuta:chmod +x luma-v4.1.0-linux-x86_64 LUMA_API_KEY=tu-clave PORT=1234 ./luma-v4.1.0-linux-x86_64 serve- Verifica la integridad con el
.sha256adjunto:sha256sum -c luma-v4.1.0-linux-x86_64.sha256.
Incluye también la config recomendada para escritura rápida (
wal_sync_mode = "group").Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v3.0.0 Stable
released this
2026-04-22 21:07:17 +00:00 | 99 commits to main since this releaseCHANGELOG
🚀 Novedades en v3.0.0 (Search, Observabilidad y NS-Mem Avanzado)
Búsqueda y exportación
- Batch search (
POST /v1/vector/{collection}/search_batch): hasta 100 queries ejecutadas en paralelo internamente (rayon). Reduce 100 round-trips a 1. - Scroll / cursor API (
GET /v1/vector/{collection}/scroll): paginación lexicográfica con cursor opaco para exportar colecciones completas sin límite dek. - Reranking por coseno (
POST /v1/vector/{collection}/rerank): recibe IDs + query (texto o vector), embebe si es texto, reordena por coseno real. Ideal para pipeline search-then-rerank. - Aggregations (
POST /v1/vector/{collection}/aggregate):{ "group_by": "campo", "filter": {...}, "limit": N }— cuenta ítems por valor usando el keyword index. Fast path O(1) para campos indexados. - Pre-filter threshold configurable (
pre_filter_threshold, default 10 000): brute-force automático sobre subconjuntos filtrados, más eficiente que HNSW + post-filter para corpus muy filtrados.
Embeddings
- 4 nuevos providers:
azure(Azure OpenAI),cohere(v1/embed con input_type),huggingface(Inference API), añadidos a los existentesopenai,ollama,mock. - Retry con backoff exponencial + jitter:
EMBEDDING_RETRY_ATTEMPTS(default 3) yEMBEDDING_RETRY_INITIAL_MS(default 200). Resiste 429 y 503 transitorios sin fallar la request.
Observabilidad y operaciones
- Audit log (
GET /v1/admin/audit): cada request queda registrada en SQLite conts,api_key_id,ip,method,path,status,latency_ms. Filtra por rango de tiempo, key e id. - Backup endpoint (
POST /v1/admin/backup): dispara snapshot WAL y retorna{ "ok": true, "offset": N }. Ambos requieren roladmin. - Bench CI:
cargo bench --no-runcomo job en GitHub Actions — bloquea merges que rompen compilación de benchmarks. - RBAC tests (
tests/auth_rbac.rs): 7 tests de integración que cubren 401/403 en todas las combinaciones de token ausente, inválido, revocado y roluservsadmin.
NS-Mem — Memoria de agentes más inteligente
- Deduplicación de facts: el consolidador verifica similitud semántica (cosine ≥ 0.95) antes de insertar. Facts redundantes extraídos de eventos distintos no se acumulan.
- Decay exponencial (
memory_decay_enabled): campodecay_scoreen cada fact semántico. Decae con semivida configurable (memory_decay_half_life_days, default 30d). Facts por debajo del umbral se archivan automáticamente. - Detección de contradicciones: al sobrescribir un fact (
upsert_fact), si la similitud semántica entre el contenido viejo y el nuevo es < 0.55, se crea una aristaContradictsen lugar deSupersedesy se emite log de contradicción detectada.
v2.1.0 (2026-04-22)
Added
- Typed
MetadataFiltersystem (src/vector/filter.rs): composable filter tree replacing the flat{"field": "value"}object.- Operators:
eq,neq,gt,gte,lt,lte,in,not_in,any_of,contains,starts_with,exists. - Logical combinators:
and,or,not(arbitrarily nested). - New
filterfield onSearchOptions(typed); legacyfiltersfield kept for backward compatibility — both are merged with AND when both are present.
- Operators:
any_ofoperator for array-valued metadata fields: returns true when the field (JSON array) contains at least one of the query values. Example:tax_system: ["suitetax","legacy"]matchesany_of: ["suitetax"]. Supports multi-system queries (any_of: ["suitetax","v3"]).- Keyword index extended to array fields:
add_meta_to_indexnow indexes each string element of array-valued fields individually, enabling the keyword fast-path forany_ofandeqqueries on array fields without a full scan. - Keyword index fast path for
any_of: resolves candidate ID sets directly from the index (union of all query values), same O(1) lookup aseq. - SQL translation for hub pre-filtering (
to_sql_where):any_ofmaps toEXISTS (SELECT 1 FROM json_each(metadata, '$.field') WHERE value IN (...)). from_legacy(): automatic conversion of old flat-object filters to typedAnd([Eq(...)])— no breaking change for existing API clients.
Internal
- Removed
matches_filters()free function andCollection::keyword_candidates()method; replaced byfilter::evaluate_filter()andfilter::index_candidates(). - 7 new tests for
any_ofcovering: single-value match, multi-value OR semantics, scalar-field non-match, missing field, keyword index fast path, AND combination, SQL translation.
v2.0.1 (2026-04-22)
Security
- CVE fix: bump
rustls-webpki0.103.12 → 0.103.13 (RUSTSEC-2026-0104 — reachable panic in CRL parsing via DoS). - Remove API key support via query parameter — keys were leaking into access logs and proxy logs.
- Enforce admin role check on all
/v1/auth/keysendpoints; previously any valid key could create or revoke keys.
Robustness
- Switch
EmbeddingClientandMetricsfromstd::sync::Mutextoparking_lot::Mutex— eliminates mutex-poison cascade panics. - Add bounded concurrency semaphore to
EmbeddingClient(with_limits) — caps inflight HTTP requests to embedding providers. - Chunk OpenAI
embed_batchinto ≤ 96 texts per request to avoid rate limits and token overflow. - Log
TriggeredByedge failures in consolidator withtracing::warn!instead of silently swallowing errors. - Raise default HNSW compaction tombstone ratio from 0.2 → 0.5 (conservative by default, avoids compaction under normal write load).
CI
- Remove
continue-on-error: truefrom test and fmt jobs — failing tests now block merges. - Add MSRV check job (Rust 1.75).
- Add
cargo-denyjob withdeny.tomlfor license, source, and advisory enforcement.
v2.0.0 (2026-04-20)
Added
- NS-Mem Graph Layer: replaced flat K-NN recall with semantic walk BFS over typed memory graph (
memory_edges).- Recall score:
cosine × edge_factor × (1 + PageRank). - Edge factors:
supports=1.0,triggered_by=0.8,related_to=0.7,contradicts=-0.5(skip),supersedes=0.0(skip).
- Recall score:
memory_edgestable: typed weighted edges with auto-creation on consolidation (TriggeredBy) and onupsert_factoverwrite (Supersedes).memory_historytable: append-only belief versioning — everyupsert_facton an existing fact snapshots the old version.- Simplified PageRank (15 iterations, damping 0.85) stored in
memory_records.centrality_score; recomputable viaPOST /v1/memory/{namespace}/graph/centrality. - 5 new API endpoints:
POST /v1/memory/{namespace}/edges— create/update edgeGET /v1/memory/{namespace}/edges/{memory_id}— list edges for a nodePOST /v1/memory/{namespace}/edges/{edge_id}/delete— remove edgeGET /v1/memory/{namespace}/beliefs/{fact_key}/history— belief version historyPOST /v1/memory/{namespace}/graph/centrality— trigger PageRank recomputation
Security
- Updated
quinn-proto→ 0.11.14,rustls-webpki→ 0.103.12.
CI
- All checks pass: fmt, clippy
-D warnings, 99/99 tests, 0 audit errors.
v1.4.0 (2026-03-15)
Added
- NS-Mem (
src/memory/): episodic / semantic / procedural / working memory layer.- Consolidation pipeline:
ingest_event→ LLM fact extraction → semantic promotion. - Procedural memory: DAG-based procedures with typed edges, priority ordering, and constraint evaluation.
- LLM providers:
none,mock,openai,ollama. - Full REST API at
/v1/memory/{namespace}/.
- Consolidation pipeline:
- WAL hardening: checksummed envelopes, corruption stop-at-tail semantics, idempotent recovery for
state_dband vector replay. - Range scans for KV:
start/endparameters (end-exclusive) onGET /v1/state. - Cached metrics: RSS read outside the scrape path;
GET /v1/metricsreturns pre-rendered Prometheus text. - SSE gap signaling: explicit
gapevents when clients request offsets no longer retained.
Documentation
docs/NS_MEM.md— full API reference for the memory layer.
v1.3.0 (2025-12-20)
Added
- LumaDatabase hub (
/v1/db/{namespace}/): orchestrates auto-chunking, embedding generation, hybrid SQL+vector search, and auto-schema indexing. - Hybrid search planner: decides
sql_firstvsvector_firststrategy based on filter selectivity and collection size. - Multi-tenant isolation: per-namespace vector collections and SQL tables.
- DiskANN index: disk-based Vamana graph for collections beyond HNSW memory limits. CLI:
diskann-build,diskann-status.
v1.2.0 (2025-10-05)
Added
- IVF_FLAT_Q8 index: inverted file index with 8-bit quantization refinement for large-scale approximate search.
- SIMD acceleration: AVX2 dot-product and int8 dot-product intrinsics with runtime feature detection.
- mmap vector storage: zero-copy memory-mapped access to frozen segments.
- Segment compaction: background compaction triggered by tombstone ratio threshold.
v1.1.0 (2025-08-15)
Added
- HNSW segmentation: collections split into ~8,192-vector segments; active segment receives upserts, frozen segments are read-only. Search merges results across all segments.
- Pub/Sub events (
/v1/events,/v1/stream): SSE-based event bus with monotonic offsets and gap detection. - TTL for KV state: per-key TTL with background expiration.
- Optimistic locking:
if_revisioncompare-and-swap for KV put/delete. - OpenAPI spec (
docs/openapi.yaml): generated from route definitions.
v0.2.0 (2025-12-14)
Added
- Secure bind (
127.0.0.1default;--bind/--unsafe-bindflags for explicit exposure). - Consistent error responses (
{ "error": "...", "message": "..." }across all routes). - Batch APIs:
/v1/state/batch_put,/v1/vector/*_batch. - DocStore over KV (
/v1/doc/*+ metadata find). - SQLite module (
/v1/sql/query,/v1/sql/exec). - Vector store segmentation + metadata keyword index.
vacuumCLI command for vector collection compaction.
v0.1.0 (2025-10-01)
Initial release. Core primitives:
- Vector store with HNSW (in-memory, single segment).
- Key-value state store with JSON values.
- WAL persistence with periodic snapshots.
- Axum HTTP server with Bearer token auth.
- Basic
cargo benchfor vector add/search.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Batch search (
-
v2.0.0 Stable
released this
2026-04-16 20:50:11 +00:00 | 105 commits to main since this releaseDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)