Skip to content

Releases: graphistry/pygraphistry

v0.56.0

23 May 17:59
710729e

Choose a tag to compare

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

06 May 07:21
ab459fe

Choose a tag to compare

chore(release): cut 0.55.1 changelog section (#1323)

v0.54.1

08 Apr 23:56
75110a5

Choose a tag to compare

PyGraphistry 0.54.1

Patch release focused on stability, typing scaffolding, CI hardening, and expanded regression coverage.

Highlights

  • CI hardening and speedups via uv lockfile-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

01 Apr 20:47

Choose a tag to compare

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

01 Apr 06:00
9632479

Choose a tag to compare

Highlights

  • Added direct Cypher support for connected multi-alias row bindings in scalar projections.
  • Added bounded WITH ... MATCH reentry support for connected suffix projections using the same row-binding path.
  • Landed the benchmark-facing continuation behind interactive-short-2, closing the narrower blockers #981 and #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.02 cuda13
  • Publish workflow green: 23834354640
  • PyPI version verified: 0.53.13

Install

pip install -U graphistry

Full changelog: https://github.com/graphistry/pygraphistry/blob/master/CHANGELOG.md

v0.53.11 - Cypher WITH -> UNWIND Reentry

01 Apr 00:07
5f737dd

Choose a tag to compare

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 ... RETURN lowering support
  • Additional parser/lowering regression coverage for admitted and rejected shapes
  • A small cugraph typing baseline fix needed to keep current hosted typecheck green

Install

pip install -U graphistry==0.53.11

Full changelog: https://github.com/graphistry/pygraphistry/blob/master/CHANGELOG.md

v0.53.10 - Bounded Cypher Reentry

31 Mar 08:46
7095102

Choose a tag to compare

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 BY support 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.02 cuda13.

Notes

  • This release keeps the bounded-reentry feature intentionally narrower than a general WITH or row-carrier redesign.
  • Follow-on cleanup and design work are tracked separately in #987 and #989.

Installation

pip install -U graphistry==0.53.10

Links

v0.53.5

18 Mar 02:06
339a623

Choose a tag to compare

Fixed

  • GFQL: Fixed g.gfql() rejecting pre-serialized Let dict envelopes ({"type": "Let", "bindings": {...}}). Unblocks ETL server from passing gfql_query Let payloads to g.gfql().
  • GFQL / Remote: Fixed _step_to_json emitting "ChainRef" instead of "Ref". Removed spurious "ChainRef" alias from from_json() and all documentation — the wire type has always been "Ref".

Added

  • GFQL / Remote: gfql_remote() now accepts output parameter for selecting which Let/DAG binding to return.

v0.53.4

17 Mar 09:31
4b1b803

Choose a tag to compare

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 new gfql_query request field. The existing gfql_operations flat 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 the gfql_query field.
  • GFQL / Remote: gfql_remote() now accepts Cypher strings (compiled locally, sent as Chain or Let wire format). Supports MATCH ... RETURN, GRAPH { ... }, and GRAPH g = ... USE g ... forms.
  • GFQL / Remote: gfql_remote() now accepts params for 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

15 Mar 09:27
e3b347d

Choose a tag to compare

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