Repository navigation
v4.2.2
What's Changed
Breaking Changes
- feat(delta): browse, preview, verify, generate and validate on Unity Catalog; generated mappings key and join lowercase tables (Iceberg too) by @bplatz in #1902
- Apply a request's policy on the graph-scoped read path, and to hydration by @zonotope in #1935
- fix: parse ledger ids once at the edge and key everything by a typed id by @bplatz in #1958
- fix: scope MCP and the ledger listing by token claims; MCP follows data auth by @bplatz in #1963
Features
- feat(iceberg): time-pinned graph-source reads via @iso: and @snapshot: by @bplatz in #1896
- feat(query): @time: as the canonical timestamp selector; @iso: stays an alias by @bplatz in #1897
- feat(delta): Delta Lake graph sources on local, S3, ADLS Gen2 and OneLake; reqwest 0.13 (outbound TLS trusts the OS certificate store) by @bplatz in #1899
- feat(delta): Databricks tables by name through Unity Catalog by @bplatz in #1901
- feat(sparql): support GRAPH ?g in UPDATE templates by @bplatz in #1921
- feat: encryption key rotation without export and import by @bplatz in #1919
- feat(server): accept Turtle, N-Triples and TriG on /sync by @bplatz in #1932
- feat(server): Graph Store HTTP Protocol endpoint and default-graph sync by @bplatz in #1934
- feat: Turtle and N-Triples output for CONSTRUCT and DESCRIBE by @bplatz in #1940
- feat: edge annotations and GRAPH blocks in CONSTRUCT templates by @bplatz in #1948
- feat(server): accept a time pin in the /query ledger path by @bplatz in #1970
- feat(cli): fluree server run --memory for a throwaway in-memory server by @bplatz in #1968
- feat(api): branch from a point in time with at: "time:" by @bplatz in #1969
- Accept TriG on insert (API, server, CLI) by @bplatz in #1971
Bug Fixes
- fix(query): unmatched OPTIONAL leaves vars unbound in SPARQL, null in Cypher by @bplatz in #1923
- fix: route named graphs by ledger graph id, not transaction-local numbers by @bplatz in #1926
- fix(query): keep left joins in written order when they share a variable by @bplatz in #1927
- fix(storage): apply AES256Key on every encryptable build path and keep the disk cache free of decrypted artifacts by @bplatz in #1916
- fix(indexer): remove rebuild session directories on every exit by @bplatz in #1917
- fix(server): honour SPARQL Protocol dataset parameters by @bplatz in #1928
- fix(query): key literals alike whichever join lane produced them by @bplatz in #1939
- Compare branches by commit identity instead of
tby @zonotope in #1905 - fix(server): config precedence, boolean switches, and docs for what exists by @bplatz in #1944
- fix(server): branching from a ledger with no commits is a 400, not a 500 by @bplatz in #1945
- fix(query): filter and negation placement, and point-in-time visibility after reindex by @bplatz in #1965
- fix(query): restore fast paths after cached index adoption by @bplatz in #1967
Performance
- perf(query): fix worker-dependent 1.5x slowdown in COUNT star merges (DBLP regression in 4.2.1) by @bplatz in #1900
- Read only the probe's slice of untranslatable overlay flakes by @bplatz in #1904
- perf(query): cut per-row overhead in type scans, stars, grouping, and MINUS by @bplatz in #1933
- perf(query): let LIMIT stop property joins and OPTIONAL early by @bplatz in #1936
- perf(query): accelerate joins, existence checks, and counts by @bplatz in #1959
Other Changes
- Push and pull histories with merges by @zonotope in #1888
- refactor: consolidate staging and commit helpers by @bplatz in #1929
- release v4.2.2 by @bplatz in #1946
Full Changelog: v4.2.1...v4.2.2