Changelog
This changelog is generated automatically from GitHub Releases.
v0.5.2
2026-10-12 · GitHub
Added
- New native writers
SVGWriter,PDFWriter, andHepWriter, rendered directly by ggsql (via hephaestus) with no JavaScript round-trip. Each exposesrender(spec)returningstr(SVG) orbytes(PDF/HEP); render warnings are surfaced viawarnings.warn(). - New
ggsql.save(spec, file, ...)helper that writes a spec to disk, picking the writer from the file extension (.svg,.pdf,.hep, or.jsonfor Vega-Lite). - Enabled the crate’s
builtin-datafeature, making builtin datasets such asggsql:worldavailable. - New
ggsql.CachingReaderthat caches query results to avoid redundant source reads. Wraps aduckdb://connection string or any custom Python reader; reads are memoized with a configurable TTL and size budget, and derived__ggsql_*tables run on a private in-memory DuckDB cache.
Changed
- Upgraded to ggsql Rust crate v0.5.2 (from v0.3.3). See the crate changelog for the many language and rendering improvements in 0.4.0–0.5.2.
- Upgraded the Arrow dependency from v56 to v58.
- Declared Rust MSRV is now 1.88 (required by the native-writer dependency graph, e.g. parley 0.9).
v0.3.3
2026-05-27 · GitHub
Bumps the upstream ggsql Rust crate to v0.3.3 (hotfix).
This release also includes two user-facing changes that were omitted from the original release notes (and the changelog — added retroactively in CHANGELOG.md):
- VegaLiteWriter.render_chart() and render_altair() now accept validate,
height, andwidthas explicit keyword arguments.height/widthdefault toNone, preserving ggsql’s dimensions; validate defaults toFalse(same behavior as before, now a named parameter). - When Altair can’t deserialize a spec into the expected chart subclass (e.g.,
LayerChart), the converter now falls back toaltair.Chartinstead of raising. The chart still displays correctly; only Altair-level round-tripping (.to_dict()) is lost.
v0.3.2
2026-05-14 · GitHub
Changed
- Upgraded to ggsql Rust crate v0.3.2.
- render_altair() and VegaLiteWriter.render_chart() now default to
validate=Falsewhen creating Altair chart objects. This avoidsValidationErrors for valid specs (e.g., boxplots) that use Vega-Lite features not yet reflected in Altair’s schema. Passvalidate=Trueto re-enable.
py/v0.3.1
2026-04-30 · GitHub