Skip to content

v2.4.0 — R/ggplot2, multi-language pipeline & in-app feedback

Latest

Choose a tag to compare

@MarkusNeusinger MarkusNeusinger released this 18 May 21:16
· 829 commits to main since this release
0f3bbab

anyplot is no longer Python-only — R / ggplot2 is the 10th supported library, riding on a new multi-language pipeline that generalizes the spec → impl → review → merge flow beyond Python. Alongside that: in-app feedback, a richer /stats page, language-aware navigation across the site, and a wave of mobile/UI polish. No breaking changes.

🆕 R / ggplot2 (10th library)

  • R / ggplot2 added with a full multi-language pipeline — spec, generation, review, merge, code viewer, libraries page, language counts (#6944, #6961).
  • 30 ggplot2 implementations landed across foundational plot types (scatter, biplot, network variants, OHLC, frequency-polygon, voronoi, parliament, density-rug, …).
  • Pipeline hardening for non-Python: renv stdout suppression in version probe (#6948), broken renv.lock removed (#6950), prism/r type shim so tsc no longer blocks Cloud Build (#7052).

💬 In-app feedback widget

  • Quick-feedback widget reachable from any page (#7143).
  • Dark-mode adaptation + clearer placeholder copy (#7282).

📊 Stats page

  • /stats now shows the Plausible visitors chart and a daily-impl timeline (#6608).

🌐 Language across the site

  • Language is now first-class in the URL and UI — /plots?lang= filtering, cross-language carousel on plot pages, language surfaced in cards and navigation (#7142).
  • Plot titles include the language (#7141).
  • Plausible tracks /plots?lang= properly + test coverage (#7144).
  • Deep-link fix: language preserved through /debug so R/ggplot2 deep-links work (#7066).

🎨 UI polish

  • Pseudo-function styling for 404 page, footer, empty state, library card (#6436).
  • Mobile: no horizontal scroll on /stats and /mcp (#6902); breadcrumb truncation + initial FAB lift on deep links (#7283).
  • SEO: lowercase language in plot page title (#7206).

🔧 Pipeline & ops

  • Review-retry listener + stuck-jobs watchdog added to GitHub Actions (#6084).
  • Daily-regen cadence switched from 2h to hourly (#6943).
  • Local style-variant experimentation script for iterating on visual styles offline (#6378).

⬆️ Dependencies

13 Dependabot bumps landed across Python (mypy 1.20→2.1, urllib3 2.6→2.7, authlib, python-minor group), npm (react, mui, npm-minor groups), and GitHub Actions.

🔁 Regen

~1200 implementation regenerations rolled across all 10 libraries during the window — quality refreshes through the daily pipeline (now hourly). ggplot2 brought 30 existing specs to 10/10 coverage; backfill continues post-release.

Full Changelog: v2.3.0...v2.4.0