Skip to content

Bump plotly.js-dist-min from 3.7.0 to 4.0.0 in /frontend - #23

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/frontend/plotly.js-dist-min-4.0.0
Closed

Bump plotly.js-dist-min from 3.7.0 to 4.0.0 in /frontend#23
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/frontend/plotly.js-dist-min-4.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 1, 2026

Copy link
Copy Markdown
Contributor

Bumps plotly.js-dist-min from 3.7.0 to 4.0.0.

Release notes

Sourced from plotly.js-dist-min's releases.

v4.0.0

Added

  • Add minscale, maxscale geo plot attributes [#7371], with thanks to @​mojoaxel for the contribution!
  • Enable TypeScript compatibility within the library and start exporting types [#7680]
  • Add quiver trace type to visualize vector fields using arrows [#7710, #7945], with thanks to @​degzhaus for the contribution!
  • Use dashed markers in legend for shape traces with dash configured [#7845]
  • Add direction attribute to the Sankey trace, controlling the flow direction along the orientation axis [#7870], with thanks to @​wf-r for the contribution!
    • forward keeps sources on the left (horizontal) or top (vertical)
    • reversed moves them to the right or bottom
  • Add sort option to Sankey links and nodes [#7873], with thanks to @​adamreeve for the contribution!
  • Add support for MathJax v4 [#7898]
  • Add top-level xPixel and yPixel keys to hover and click event data, corresponding to the pixel position of the cursor relative to the top-left corner of the graph div [#7966]
  • When hoveranywhere is enabled, emit a plotly_unhover event when the cursor leaves the plot area [#7966]

Removed

  • Breaking: Remove scattermapbox, choroplethmapbox, densitymapbox trace types, the mapbox subplot, and the mapboxAccessToken config option [#7860]
    • These traces have been deprecated since v3. Use the equivalent *map traces going forward.
  • Breaking: Drop support for MathJax v2 [#7898]
    • MathJax v3 and v4 are now supported in plotly.js
  • Remove config attributes showLink, linkText, sendData, showSources, and showEditInChartStudio, as well as trace attribute stream, since all of these were associated with Chart Studio and are no longer needed [#7812]
  • Remove all *src attributes, as well as layout.hidesources attribute, from the schema [#7829]
  • Remove internal trace._fullInput property and other dead code related to the removed transforms feature. No user-facing changes expected [#7834]

Changed

  • Breaking: Switch color processing library from TinyColor to culori [#7536], #7962]
    • rgb()/rgba() strings with decimal 0–1 fractions are no longer interpreted as percentage values (relative to 255)
    • hsv() color strings are no longer permitted
    • New color formats are now supported: #ff0000aa, #f00a, rgb(255 0 0), rgba(255 0 0 / 0.5), hsl(0 100% 50% / 0.5), hsla(0, 100%, 50%, 0.5), lab(), lch(), oklab(), oklch(), color(), hsl(0.5turn 60% 40%), hsl(none 60% 40%)
    • rgb() now accepts an optional alpha, so rgb(255, 0, 0, 0.5) is no longer opaque (rgb and rgba are aliases per spec)
    • Color strings that are not valid CSS are now rejected, such as hsl(120, 50% 50%)
    • Contrasting text and border colors are picked by WCAG contrast ratio, so labels on saturated mid-tone fills may switch from dark to white
  • Breaking: Set default layout.axis.tickmode to 'sync' when axis is overlaying [#7684]
  • Breaking: Change splom.axis.matches default from false to true [#7843]
  • Breaking: Replace country-regex with country-iso-search to search for country names in choropleth, scattergeo traces [#7856]
    • The vast majority of country names are handled exactly the same with the new library; a small number of legacy entries have been removed
  • Breaking: Update minimum required Node version to 22 [#7861]
  • Breaking: Change layout.geo.fitbounds default from false to 'locations' [#7895]
    • geo subplots will now auto-fit the initial view to the trace data
    • Set fitbounds: false explicitly to opt out
  • Breaking: Return actual data values (rather than calcdata values) for xvals / yvals in hoveranywhere and clickanywhere events. Date and category axes will now return strings rather than numeric values. Linear and log axis values remain unchanged. [#7964]
  • Enable scattermap icons to render in color, upgrade Maki icons version to 8.2, and standardize scattermap legend icons to circles [#7825]
  • Use plot title as default filename for "Download plot" button [#7828]
  • Change signature of plots.graphJson() function to remove mode argument [#7829]
  • Upgrade plotly/d3-sankey to 0.12.3. [#7830], with thanks to @​adamreeve for the contribution!
  • Update plot_config to show the "Upload to Cloud" button by default, and set the default server URL to cloud.plotly.com via [#7909]
  • Update "Share chart" dialog with more informative wording [#7928]

Fixed

  • Fix histogram autobin size for single-point traces in overlay mode on data updates via Plotly.react [#7507], with thanks to @​Lexachoc for the contribution!
  • Format tick labels correctly for small numbers in exponential notation [#7768], with thanks to @​Hasnaathussain for the contribution!

... (truncated)

Changelog

Sourced from plotly.js-dist-min's changelog.

[4.0.0] -- 2026-08-24

Added

  • Add minscale, maxscale geo plot attributes [#7371], with thanks to @​mojoaxel for the contribution!
  • Enable TypeScript compatibility within the library and start exporting types [#7680]
  • Add quiver trace type to visualize vector fields using arrows [#7710, #7945], with thanks to @​degzhaus for the contribution!
  • Use dashed markers in legend for shape traces with dash configured [#7845]
  • Add direction attribute to the Sankey trace, controlling the flow direction along the orientation axis [#7870], with thanks to @​wf-r for the contribution!
    • forward keeps sources on the left (horizontal) or top (vertical)
    • reversed moves them to the right or bottom
  • Add sort option to Sankey links and nodes [#7873], with thanks to @​adamreeve for the contribution!
  • Add support for MathJax v4 [#7898]
  • Add top-level xPixel and yPixel keys to hover and click event data, corresponding to the pixel position of the cursor relative to the top-left corner of the graph div [#7966]
  • When hoveranywhere is enabled, emit a plotly_unhover event when the cursor leaves the plot area [#7966]

Removed

  • Breaking: Remove scattermapbox, choroplethmapbox, densitymapbox trace types, the mapbox subplot, and the mapboxAccessToken config option [#7860]
    • These traces have been deprecated since v3. Use the equivalent *map traces going forward.
  • Breaking: Drop support for MathJax v2 [#7898]
    • MathJax v3 and v4 are now supported in plotly.js
  • Remove config attributes showLink, linkText, sendData, showSources, and showEditInChartStudio, as well as trace attribute stream, since all of these were associated with Chart Studio and are no longer needed [#7812]
  • Remove all *src attributes, as well as layout.hidesources attribute, from the schema [#7829]
  • Remove internal trace._fullInput property and other dead code related to the removed transforms feature. No user-facing changes expected [#7834]

Changed

  • Breaking: Switch color processing library from TinyColor to culori [#7536], #7962]
    • rgb()/rgba() strings with decimal 0–1 fractions are no longer interpreted as percentage values (relative to 255)
    • hsv() color strings are no longer permitted
    • New color formats are now supported: #ff0000aa, #f00a, rgb(255 0 0), rgba(255 0 0 / 0.5), hsl(0 100% 50% / 0.5), hsla(0, 100%, 50%, 0.5), lab(), lch(), oklab(), oklch(), color(), hsl(0.5turn 60% 40%), hsl(none 60% 40%)
    • rgb() now accepts an optional alpha, so rgb(255, 0, 0, 0.5) is no longer opaque (rgb and rgba are aliases per spec)
    • Color strings that are not valid CSS are now rejected, such as hsl(120, 50% 50%)
    • Contrasting text and border colors are picked by WCAG contrast ratio, so labels on saturated mid-tone fills may switch from dark to white
  • Breaking: Set default layout.axis.tickmode to 'sync' when axis is overlaying [#7684]
  • Breaking: Change splom.axis.matches default from false to true [#7843]
  • Breaking: Replace country-regex with country-iso-search to search for country names in choropleth, scattergeo traces [#7856]
    • The vast majority of country names are handled exactly the same with the new library; a small number of legacy entries have been removed
  • Breaking: Update minimum required Node version to 22 [#7861]
  • Breaking: Change layout.geo.fitbounds default from false to 'locations' [#7895]
    • geo subplots will now auto-fit the initial view to the trace data
    • Set fitbounds: false explicitly to opt out
  • Breaking: Return actual data values (rather than calcdata values) for xvals / yvals in hoveranywhere and clickanywhere events. Date and category axes will now return strings rather than numeric values. Linear and log axis values remain unchanged. [#7964]
  • Enable scattermap icons to render in color, upgrade Maki icons version to 8.2, and standardize scattermap legend icons to circles [#7825]
  • Use plot title as default filename for "Download plot" button [#7828]
  • Change signature of plots.graphJson() function to remove mode argument [#7829]
  • Upgrade plotly/d3-sankey to 0.12.3. [#7830], with thanks to @​adamreeve for the contribution!
  • Update plot_config to show the "Upload to Cloud" button by default, and set the default server URL to cloud.plotly.com via [#7909]
  • Update "Share chart" dialog with more informative wording [#7928]

Fixed

  • Fix histogram autobin size for single-point traces in overlay mode on data updates via Plotly.react [#7507], with thanks to @​Lexachoc for the contribution!

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [plotly.js-dist-min](https://github.com/plotly/plotly.js) from 3.7.0 to 4.0.0.
- [Release notes](https://github.com/plotly/plotly.js/releases)
- [Changelog](https://github.com/plotly/plotly.js/blob/main/CHANGELOG.md)
- [Commits](plotly/plotly.js@v3.7.0...v4.0.0)

---
updated-dependencies:
- dependency-name: plotly.js-dist-min
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Sep 1, 2026
MarlenMM added a commit that referenced this pull request Sep 13, 2026
@vitejs/plugin-react 6.1.0 -> 6.1.1, @types/react-dom 19.2.4 -> 19.2.7 and
@playwright/test 1.62.1 -> 1.63.0 (Dependabot #25, #26, #27). All three touch
`package-lock.json`, so merging them one at a time forces a rebase of the rest;
taken together here as one upgrade instead, which is one CI run rather than
three plus the churn. Plotly (#23) is deliberately not in this commit.

Verifying them surfaced a pre-existing defect worth more than the bumps.
`npm run test:static` failed fourteen of nineteen tests, and not because of the
upgrade: `playwright.config.ts` rebuilds `dist/` with `npm run build` and **no**
`VITE_STATIC_API`, so running the stubbed suite before the static one silently
leaves an API-mode bundle for the static suite to test. It requests `/api/...`,
`vite preview` has nothing to proxy to, and every page renders empty. The five
tests that still passed were the mobile-layout ones, which check only that
nothing scrolls sideways -- true of a blank page.

That is the "two suites test different things" trap with a sharper edge: the
order you run them in changes whether the second one means anything.
`tests-static/assert-static-build.ts` now refuses to start and says which
artifact is present and how to rebuild it.

The guard's first version looked for `"/api` with a double quote and never
matched -- the template literal survives minification backtick-quoted -- so it
passed on exactly the artifact it exists to reject. Verified in both directions:
it fires on an API-mode build and stays quiet on a static one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
MarlenMM added a commit that referenced this pull request Sep 13, 2026
Dependabot #23 wanted `plotly.js-dist-min` 3.7.0 -> 4.0.0. Looking at why that
package was here at all: nothing imports it, and `react-plotly.js` has no
dependencies -- only a peer on `plotly.js`, which npm had been installing
separately all along. Removing `plotly.js-dist-min` left the largest built chunk
**byte-identical at 4,652,805 bytes**, which is the check that settles it rather
than reading imports.

So it is gone, and `plotly.js` is now an explicit dependency instead of an
auto-installed peer -- it is what `Chart.tsx` already imports its types from,
and leaning on npm's peer auto-install for the runtime library of every chart in
the app is a dependency that exists by accident.

With that resolved the real question was the major bump, and this is the library
whose last two upgrades blanked every chart while TypeScript, the build and CI
stayed green. Taken on its own, verified the way that history demands:

  plotly.js 4.1.0, chunk 4.65 MB -> 4.11 MB
  stock page      3 figures, all with SVG and drawn traces
  dashboard       1 figure, the indicator gauge drawn
  screener        0 figures  (matches the source: no <Chart>)
  track record    0 figures  (an inline-SVG whisker, not plotly)
  console         no messages at all, zero failed resources
  window.Plotly   4.1.0

All four trace types the app uses are covered by those pages -- candlestick,
scatter, scatterpolar and indicator -- and the polar sublayer stack renders, so
the radar is genuinely drawing rather than mounting empty.

The maplibre override still resolves to 6.9.0 under plotly 4, so `npm audit`
stays clean; the note about it is folded into the backlog row.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@dependabot @github

dependabot Bot commented on behalf of github Sep 13, 2026

Copy link
Copy Markdown
Contributor Author

Looks like plotly.js-dist-min is no longer a dependency, so this is no longer needed.

@dependabot dependabot Bot closed this Sep 13, 2026
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/frontend/plotly.js-dist-min-4.0.0 branch September 13, 2026 03:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants