• vegawidget now supports the last two Vega-Lite major versions, currently versions 5 and 4.

    However, for a given loading of this package (or RMarkdown file), the vegawidget() function can use only one major-version; this version is determined using the $schema element of the first vegaspec evaluated using vegawidget().

    This restriction does not apply to the image functions, e.g. vw_to_svg(), or to the compilation function, vw_to_vega().

    Functions introduced:


  • Update Actions. (#188)

  • Use Vega-Lite 5.2.0. (#183)

  • Update s3_register(). (#193)

  • Deprecated schema folder from package files, i.e. system.file("schema", package = "vegawidget"). This folder will be removed at the release following v0.4.1. Instead, you can use the vega_schema() function (with new optional version argument) to retrieve from Vega:

    vega_schema("vega-lite", version = "5.2.0") |> vw_fetch()


  • Use V8 rather than node to support image-functions and vw_to_vega(). This adds V8 as a package-dependency, but removes the system-dependency for node. As a result, remote-data loading works as long as you can access the data from R. (#85)

  • Update contributor-information. (#176)

  • Clean up inst folder: remove test-apps. (#197)

  • Fix test to comply with testthat changes. (#162, @lionel-)

  • When converting vegaspec to JSON, serialize NA to null. (#160)

  • Upgrade to Vega-Lite 4.17.0, Vega 5.17.0, vega-embed 6.12.2.

New features

Bug fixes

  • Unique identifier used in attaching data from local files; elementId is used if provided, if not an md5 hash of the files is used. This would be useful for knitting documents, but attaching local data works only for interactive analysis, not for knitr environments. Hence this “fix” is anticipation of other enchancements. (#125)

  • vegawidget(): keep precision in JSON representation for accurate rendering of small values (< 0.001). (#130, @datapixie)

  • knit_print(): repair by exporting the S3 method. (#132)

  • as_vegaspec(): adds encoding argument (default "UTF-8") for character method, for files and URLs. (#117, with @g3o2)

  • Upgrade to Vega-Lite 4.0.2, Vega 5.9.0, vega-embed 6.2.0.

  • Update Gapminder app, vw_shiny_demo("data-set-gapminder").

  • Upgrade to Vega-Lite 3.3.0, Vega 5.4.0, vega-embed 4.2.0. This is supported by all modern browsers and RStudio IDE 1.2.

New features

  • Update Vega and Vega-Lite libraries to be consistent with Vega-Lite v3.2.1. Add functions to support addDataListener() method offered by vega-view, use vw_shiny_demo("data-set-get") for more information. (#65)

Improvements and fixes

  • Modify knit_print() to handle non-HTML formats. Instead of using the webshot package, the knit_print() function converts charts to either png, svg (useful for github_document), or pdf (useful for pdf_document) format. (#44, @AliciaSchep)

  • Improve implementation of the base_url argument in vegawidget(); it works for both local and remote paths. (#63, with @AliciaSchep)

  • Update templating functions, splitting to two functions: use_vegawidget() and use_vegawidget_interactive(), which let you import and re-export basic-rendering and interactive functions, respectively. If your package keeps its version of a spec in its own S3 class, you can call use_vegawidget() with that class’ name. (#83)

  • Move shiny from an Imports dependency to a Suggests dependency. (#82)

  • (Of interest to developers) modify the class-naming for Vega-Lite specs, adding a another level of S3 class that describes the type of chart, e.g. unit, layer, facet, etc. (#77)

  • Modify contribution guidelines; use master as reference branch for all pull-requests.

  • CRAN release
  • tries a kinder, gentler method for enforcing sizing by implementing a sizing policy rather than overwriting the enclosing element

  • deprecates block-functions: vw_create_block(), vw_retrieve_block(); moved to vegablock

  • adds learnr tutorial, “Overview”

  • adds datasets: data_seattle_hourly, data_seattle_daily, data_category

  • changes default-display for vw_examine()

  • adds function vw_rename_data() to rename named datasets within a vegaspec (#34)

  • updates to Vega-Lite 2.6.0, Vega 4.0.0-rc.3, vega-embed 3.16.0.
  • adds a NEWS.md file to track changes to the package