Repository navigation
v5.0.0-alpha.2
Pre-release
Pre-release
What's Changed
Breaking Changes
- RDF 1.2 triple terms: rdf:reifies links, triple terms as values, faster annotation queries by @bplatz in #2017
- feat(indexer): one leaf size for import, rebuild and incremental builds by @bplatz in #2051
- Lock file storage by default; route CLI commands before opening storage by @bplatz in #2132
- Iceberg on Google: a Google identity for REST catalogs, a per-source storage identity with a GCS reader, and one codec for every surface by @aaj3f in #2196
- doc ingest: --ontology replaces --model, --catalog names --entities (and takes a mapped table) by @aaj3f in #2206
- fix(query): a graph source that can't serve a query says why, and registration refuses one that never could by @aaj3f in #2190
- feat(lists): each list on a property keeps its own id; lists read and edited as RDF on request by @bplatz in #2229
- fix(config): a branch or a copy reads its source's ledger config by @bplatz in #2249
- feat: DROP takes a graph and its history out of the ledger by @bplatz in #2251
Features
- RDF 1.2 in Python, and RDF documents without a ledger (fluree.parse / serialize, fluree_db_api::rdf) by @bplatz in #2042
- feat(index): small named graphs share one pooled index tree by @bplatz in #2140
- fluree ontology from tables (CSV, XLSX, SQL DDL) and fluree catalog from rows by @aaj3f in #2210
- fluree ontology from a semantic layer: Snowflake semantic views and Genie exports by @aaj3f in #2213
- fluree ontology from dbt projects and Apache Ossie documents by @aaj3f in #2215
- fluree ontology from a Neo4j schema export by @aaj3f in #2216
- doc ingest: read with an HTTP reader ([doc.reader], --model, --cache) by @aaj3f in #2207
- doc read: read one file with an HTTP reader and print the reading by @aaj3f in #2209
- python: fluree.doc.read reads a document with an HTTP reader (the CLI's own read) by @aaj3f in #2219
- fluree login / logout: sign a machine in to a fluree.ai account by @aaj3f in #2205
- feat: bulk import into a new named graph of an existing ledger by @bplatz in #2232
Bug Fixes
- Graph sources: a crawl keeps its ORDER BY, and a fused scan stays above an OPTIONAL by @aaj3f in #2199
- fix(query): every R2RML lane answers an un-annotated column the way the generic pipeline does by @aaj3f in #2193
- fix(query): a planner stats view is keyed by the index root it came from by @aaj3f in #2200
- fix(core): disk cache byte accounting is exact around its scans by @aaj3f in #2183
- fix(query): a subject probe over a graph with no branch finds nothing by @aaj3f in #2187
- Iceberg: a table's row count comes from its manifest list when the summary has none by @aaj3f in #2198
- fix(cypher): a statement's clauses see one another's writes, and the last holds by @aaj3f in #2184
- fix(iceberg): a pushed FILTER literal keeps only rows it can compare exactly by @aaj3f in #2186
- fix(server): a peer forwards a write under the path it was sent to by @bplatz in #2245
- fix(search): a full-text index whose indexing query reasons rebuilds on sync by @bplatz in #2248
- fix(api): reindex reads a branch's history through its source by @bplatz in #2246
- fix(api): a push of a config write reaches a ledger of the same name by @bplatz in #2247
Performance
- refactor(storage): shared byte handles from get; the disk cache as a store wrapper by @bplatz in #2035
- perf(query): batched probes skip empty leaflets and gallop subject runs by @bplatz in #2050
- perf: read encrypted storage by range within the cache budget by @bplatz in #2130
- perf: sustained writes on large ledgers — staging, indexing, publish stalls by @bplatz in #2230
Other Changes
- feat: inline order-preserving xsd:decimal encoding + numeric range pushdown by @bplatz in #1335
- feat: ledger lifecycle — name bindings, restorable drops, fenced writers by @bplatz in #1980
- style(doc): rustfmt reader/session.rs (main's fmt check) by @aaj3f in #2255
- ci(release): build Apple silicon on macOS 26, for macOS 14 and later by @bplatz in #2231
Full Changelog: v4.2.5...v5.0.0-alpha.2