What's Changed
Bug Fixes
Other Changes
- apply rdf set semantics to construct results by @aaj3f in #1634
- perf(r2rml): multi-fact fused-join generality (K≥2 semi-joins, multi ref group keys) by @aaj3f in #1589
- preserve fully-retracted history through full index rebuilds by @aaj3f in #1624
- accept legal aggregate and property-path forms below the parser by @aaj3f in #1629
- align http dataset-clause semantics with the engine by @aaj3f in #1631
- tighten indexed fast-path eligibility guards by @aaj3f in #1628
- make governance default-allow tri-state so ledger config applies by @aaj3f in #1625
- seed connected values through type-anchored stars by @aaj3f in #1626
- emit absolute iris in w3c result formats by @aaj3f in #1630
- refuse graph-source patterns the plan cannot route by @aaj3f in #1632
- forward the query prologue to remote service sub-queries by @aaj3f in #1633
- report policy enforcement state in tracked query meta by @aaj3f in #1627
- fix: don't fail open when a subject's namespace code is undecodable by @bplatz in #1645
- fix(policy): key the class cache on the graph, not just the subject by @christophediprima in #1580
- fix(policy): alias the class-cache type (clippy type_complexity, red on main) by @aaj3f in #1658
- fix: harden the upsert absent-subject skip against an unattached index by @bplatz in #1656
- fix(indexer): stamp the target ledger_id on incrementally built index roots by @bplatz in #1655
- perf: stop widening scans for a bound subject absent from the base index by @bplatz in #1657
- perf: fold a one-row VALUES into its object and cost nested UNION honestly by @bplatz in #1659
- fix(query): correct three fast paths that diverged from the generic pipeline by @bplatz in #1666
- fix(query): answer unbound for a calendar field the value does not carry by @bplatz in #1667
- feat(nameservice): add NameServiceLookup::heads for cheap head reads by @bplatz in #1668
- fix(storage): treat a zero-length blob as absent, not as empty content by @christophediprima in #1599
- perf(bm25): scope the incremental indexing query to the subjects that changed by @christophediprima in #1604
- fix(bm25): worker fixes by @christophediprima in #1618
- count the NumBig distinct-object slice exactly instead of declining by @aaj3f in #1644
- fix(materialize): skip materialize targets that already applied the window by @christophediprima in #1647
- Name terms and the failed constraint in SHACL violation messages by @zonotope in #1646
- release v4.1.6 by @bplatz in #1660
Full Changelog: v4.1.5...v4.1.6