Releases: graphistry/pygraphistry
v0.56.0
PyGraphistry 0.56.0
Broad GFQL/Cypher release with public tooling additions, stricter validation of invalid query shapes, private compatibility cleanup, and substantial implementation shrink.
Highlights
- Added public visualization settings contracts and committed schema artifacts for downstream tooling.
- Expanded GFQL layout-chain, encode-call, temporal, predicate, and coverage-audit capabilities.
- Hardened local Cypher validation and native physical planning across reentry, OPTIONAL MATCH, multiple MATCH, CALL, pattern predicates, and temporal comparisons.
- Removed private GFQL compatibility shims and stale fallback paths while preserving documented public APIs.
- Added migration guidance for legacy api=1/api=2 auth settings, deprecated compiler-inspection internals, invalid/ambiguous Cypher query shapes, and private GFQL helper imports.
Compatibility
Expected impact is low for users on documented APIs: current api=3 authentication, valid GFQL/Cypher queries, public g.gfql(...) / g.gfql_remote(...), documented Chain constructors, and documented predicate APIs continue to work.
Full changelog
0.55.1
v0.54.1
PyGraphistry 0.54.1
Patch release focused on stability, typing scaffolding, CI hardening, and expanded regression coverage.
Highlights
- CI hardening and speedups via
uvlockfile-based installs and supply-chain cooldown policy. - Added initial GFQL IR type layer (
graphistry/compute/gfql/ir/*) as frozen dataclass scaffolding for compiler/binder work. - Multiple GFQL/Cypher correctness fixes, including OPTIONAL MATCH execution improvements and shortest-path-related parity hardening.
- Expanded test coverage across GFQL/Cypher/cudf/oracle parity paths.
Full changelog
v0.53.16
Added
- GFQL native-chain
rows()now materializes connected multi-alias bindings tables for named traversal chains (#880).
Fixed
- Duplicate aliases are rejected in both legacy named-chain execution and direct
rows(binding_ops=...)execution. - Missing alias-prefixed bindings properties now project as null instead of failing with a generic row-expression error.
Tests
- Added regression coverage for binding-op duplicate aliases and native-chain injection guards.
v0.53.13 - Connected Multi-Alias Row Bindings
Highlights
- Added direct Cypher support for connected multi-alias row bindings in scalar projections.
- Added bounded
WITH ... MATCHreentry support for connected suffix projections using the same row-binding path. - Landed the benchmark-facing continuation behind
interactive-short-2, closing the narrower blockers#981and#1006.
Scope
This release targets the connected single-path / connected multi-pattern lane. It keeps broader generalized row-binding architecture work under the still-open umbrella #880.
Validation
- Hosted CI green on the product merge and the release PR
- Targeted DGX cuDF validation green on official RAPIDS
26.02cuda13 - Publish workflow green:
23834354640 - PyPI version verified:
0.53.13
Install
pip install -U graphistryFull changelog: https://github.com/graphistry/pygraphistry/blob/master/CHANGELOG.md
v0.53.11 - Cypher WITH -> UNWIND Reentry
PyGraphistry v0.53.11 adds a focused Cypher/GFQL fix for graph-backed WITH -> UNWIND -> MATCH continuation.
Highlights
- Direct local Cypher now supports the narrow graph-backed shape
MATCH ... WITH collect([DISTINCT] alias) AS list UNWIND list AS alias MATCH ... RETURN. - The admitted path is covered end-to-end on both pandas and cuDF, including targeted DGX validation.
- Unsupported adjacent shapes remain explicit fail-fast errors instead of silently widening semantics.
Included Changes
MATCH ... WITH collect([DISTINCT] alias) AS list UNWIND list AS alias MATCH ... RETURNlowering support- Additional parser/lowering regression coverage for admitted and rejected shapes
- A small
cugraphtyping baseline fix needed to keep current hosted typecheck green
Install
pip install -U graphistry==0.53.11Full changelog: https://github.com/graphistry/pygraphistry/blob/master/CHANGELOG.md
v0.53.10 - Bounded Cypher Reentry
Highlights
- Added bounded direct local Cypher reentry support for the vectorized same-alias
MATCH ... WITH ... MATCH ...subset. - Added carried scalar projection and trailing
RETURN/ORDER BYsupport on the bounded reentry path. - Hardened fail-fast behavior for unsupported cross-alias, fresh row-seeded, and prefix-order-dependent reentry shapes.
- Added pandas and cuDF regression coverage for bounded reentry, including targeted DGX validation on official RAPIDS
26.02cuda13.
Notes
- This release keeps the bounded-reentry feature intentionally narrower than a general
WITHor row-carrier redesign. - Follow-on cleanup and design work are tracked separately in
#987and#989.
Installation
pip install -U graphistry==0.53.10Links
- Changelog: https://github.com/graphistry/pygraphistry/blob/master/CHANGELOG.md
- PR: #975
- Cleanup follow-on: #987
- Row-carrier follow-on: #989
v0.53.5
Fixed
- GFQL: Fixed
g.gfql()rejecting pre-serialized Let dict envelopes ({"type": "Let", "bindings": {...}}). Unblocks ETL server from passinggfql_queryLet payloads tog.gfql(). - GFQL / Remote: Fixed
_step_to_jsonemitting"ChainRef"instead of"Ref". Removed spurious"ChainRef"alias fromfrom_json()and all documentation — the wire type has always been"Ref".
Added
- GFQL / Remote:
gfql_remote()now acceptsoutputparameter for selecting which Let/DAG binding to return.
v0.53.4
Fixed
- GFQL / Remote: Fixed
gfql_remote()silently dropping WHERE clauses — queries with same-path constraints (e.g.,WHERE a.x = b.y) now send the full Chain envelope via a newgfql_queryrequest field. The existinggfql_operationsflat array is still sent for backward compatibility with older servers.
Added
- GFQL / Remote:
gfql_remote()now accepts ASTLet/Let dict input for DAG queries, serialized as{"type": "Let", ...}in thegfql_queryfield. - GFQL / Remote:
gfql_remote()now accepts Cypher strings (compiled locally, sent as Chain or Let wire format). SupportsMATCH ... RETURN,GRAPH { ... }, andGRAPH g = ... USE g ...forms. - GFQL / Remote:
gfql_remote()now acceptsparamsfor parameterized Cypher queries.
Docs
- Updated remote mode guide with Cypher string, GRAPH constructor, multi-stage pipeline, and params examples.
v0.52.1 - Local Cypher CALL backend procedure families
Highlights
Local Cypher CALL backend procedure families
Direct local Cypher now supports shared-registry-backed CALL graphistry.degree, CALL graphistry.igraph.<alg>, and CALL graphistry.cugraph.<alg> procedure families, with a smaller graphistry.nx.* compatibility subset.
Row vs graph-preserving CALL modes
Bare local CALL graphistry.* forms stay row-returning for supported node and edge algorithms, while .write() preserves graph state and also covers topology-returning algorithms so enrich-then-match workflows can stay in graph mode.
Better backend parity and regression coverage
Local CALL graphistry.cugraph.* output naming is now aligned with real compute_cugraph() behavior for edge algorithms and multi-column node algorithms, with backend-backed regression coverage for representative cuGraph and igraph CALL paths.
Full Changelog
See CHANGELOG.md for complete details.
Installation
pip install --upgrade graphistry