Upgrade bundled plotly.js to from 3.x to 4.x; releasing 0.15.0 · Issue #437 · plotly/plotly.rs · GitHub
Skip to content

Upgrade bundled plotly.js to from 3.x to 4.x; releasing 0.15.0 #437

Open

Description

@jqnatividad

plotly.js 4.x has been out for a while now -
https://github.com/plotly/plotly.js/releases

Could be the basis for plotly.rs 0.16.0 as the current plotly.js 3.x work is released as 0.15.0.

WDYT @andrei-ng ?

Activity

  1. changed the title [-]Upgrade bundled plotly.js to from 3.x to 4.x[/-] [+]Upgrade bundled plotly.js to from 3.x to 4.x; releasing 0.15.0[/+] on Sep 14, 2026
  2. andrei-ng commented on Oct 9, 2026

    @andrei-ng
    Collaborator

    Sounds good @jqnatividad . Could you make a PR

  3. jqnatividad commented on Oct 17, 2026

    @jqnatividad
    ContributorAuthor

    OK @andrei-ng ! Hope #442 passes muster!

    I went ahead and removed kaleido as well - making good on the deprecation notice.

  4. jqnatividad commented on Oct 28, 2026

    @jqnatividad
    ContributorAuthor

    Some notes for the plotly.js 4.x bump, from testing qsv's Data Schematics against plotly.js 4.1.2:

    Removed in plotly.js 4.0 but still exposed by plotly.rs

    • ScatterMapbox, DensityMapbox, layout::Mapbox and Configuration::mapbox_access_token (plotly.js#7860). These traces no longer render in 4.x, so they probably need deprecating or removing in 0.16.0 in favour of ScatterMap/DensityMap.
    • Chart Studio config: show_link, link_text, send_data, show_edit_in_chart_studio (plotly.js#7812).
    • *src attributes (plotly.js#7829): Pie still has nine of them (values_src, text_src, hover_text_src, …).

    Changed defaults that alter existing plotly.rs output without any code change

    • "Upload to Cloud" now appears in the modebar by default, pointing at cloud.plotly.com (plotly.js#7909). This one is probably worth a CHANGELOG or doc note. Users who don't want their data offered for upload need Configuration::show_send_to_cloud(false).
    • splom axes now matches: true; geo.fitbounds defaults to 'locations'; overlaying axes default to tickmode: 'sync'; colour parsing moved from TinyColor to culori.
    • The default double_click_delay went from 300 to 500 ms (4.1.0), which the doc comment may mention.

    Static export

    • plotly.js 4.1.1 moved to MapLibre 6, which requires WebGL2. Map traces in headless-browser export may be worth a test.

    Evidence the serialized JSON works

    • We loaded 18 qsv Data Schematics (charts generated from plotly.rs, including maps, sunburst, treemap, splom and choropleths) with plotly.js 4.1.2 in place of 3.7.0. Panel counts were identical, there were no console errors, and every map loaded. This was a smoke test, not a visual diff.

    (Checked against a fork commit close to #442's base, so a field or two may already differ on that branch.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions