Repository navigation
v4.2.6
What's Changed
Breaking Changes
- 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
- 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
- fix(r2rml): a graph source reached through a GRAPH scope is filtered by its own view policy by @aaj3f in #2314
Features
- 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
- Push and pull apply graph drops by @bplatz in #2272
- feat(cli): iceberg map can name a catalog connection and mapping the remote stores by @aaj3f in #2257
- feat(shacl): validate against additional data graphs (f:additionalDataSource) by @bplatz in #2264
- ontology check: event classes and their kinds; refuse xt:example and extraction results by @aaj3f in #2262
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
- fix(sparql): an anonymous
[]is one node across;and,lists by @bplatz in #2270 - fix(indexer): a reindex keeps the ledger's spatial index by @bplatz in #2274
- json-ld: a native number or boolean @value with no @type keeps its RDF datatype by @aaj3f in #2212
- Each queued submission writes an envelope of its own by @bplatz in #2275
- fix(api): a key rotation that reads completed is done for every client by @bplatz in #2277
- fix(json-ld): honor @vocab and @JSON coercion, term @language, null terms and @index maps by @bplatz in #2283
- fix(api): a ledger drop takes a legacy branch with it, and a sweep keeps a nested ledger's by @aaj3f in #2157
- fix(query): filters on the index lane answer as they do over novelty by @aaj3f in #2226
- json-ld: a value object under an @id or @vocab term stays a literal by @aaj3f in #2297
Performance
- perf: sustained writes on large ledgers — staging, indexing, publish stalls by @bplatz in #2230
- Batched join lanes run under reasoning and decode what they emit by @bplatz in #2271
Other Changes
- 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
- ci(bench): build the nightly bench gate without fat LTO by @bplatz in #2276
- fix(query): keep historical reads on one index version by @judepayne in #2331
- release v4.2.6 by @bplatz in #2256
New Contributors
- @judepayne made their first contribution in #2331
Full Changelog: v4.2.5...v4.2.6