v4.0.0-rc.0
Pre-release
Pre-release
Added
- Add
minscale,maxscalegeo plot attributes [#7371], with thanks to @mojoaxel for the contribution! - Enable TypeScript compatibility within the library and start exporting types [#7680]
- Add
quivertrace type to visualize vector fields using arrows [#7710], with thanks to @degzhaus for the contribution! - Use dashed markers in legend for shape traces with dash configured [#7845]
- Add
sortoption to Sankey links and nodes [#7873], with thanks to @adamreeve for the contribution! - Add support for MathJax v4 [#7898]
Removed
- Breaking: Remove
scattermapbox,choroplethmapbox,densitymapboxtrace types, themapboxsubplot, and themapboxAccessTokenconfig option [#7860]- These traces have been deprecated since v3. Use the equivalent
*maptraces going forward.
- These traces have been deprecated since v3. Use the equivalent
- Breaking: Drop support for MathJax v2 [#7898]
- MathJax v3 and v4 are now supported in plotly.js
- Remove config attributes
showLink,linkText,sendData,showSources, andshowEditInChartStudio, as well as trace attributestream, since all of these were associated with Chart Studio and are no longer needed [#7812] - Remove all
*srcattributes, as well aslayout.hidesourcesattribute, from the schema [#7829] - Remove internal
trace._fullInputproperty and other dead code related to the removedtransformsfeature. No user-facing changes expected [#7834]
Changed
- Breaking: Switch color processing library from TinyColor to color [#7536]
rgb()/rgba()strings with decimal 0–1 fractions are no longer supportedhsv()color strings are no longer permitted- Color calculations may differ slightly (by a few RGB units)
- 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)', 'hwb(0, 0%, 0%)'
- Breaking: Set default
layout.axis.tickmodeto'sync'when axis is overlaying [#7684] - Breaking: Change
splom.axis.matchesdefault fromfalsetotrue[#7843] - Breaking: Replace
country-regexwithcountry-iso-searchto 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.fitboundsdefault fromfalseto'locations'[#7895]geosubplots will now auto-fit the initial view to the trace data- Set
fitbounds: falseexplicitly to opt out
- Enable
scattermapicons 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 removemodeargument [#7829] - Upgrade
plotly/d3-sankeyto 0.12.3. [#7830], with thanks to @adamreeve for the contribution! - Update
plot_configto show the "Upload to Cloud" button by default, and set the default server URL to cloud.plotly.com via [#7909]
Fixed
- Fix
histogramautobin size for single-point traces inoverlaymode on data updates viaPlotly.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!
- Fix crash when ordering categories by value (e.g.
sum descending) withnullcoordinates [#7855] - Fix
scattermap,densitymaptraces not showing all points by dynamically computingcenter,zoomvalues [#7884, #7913], with thanks to @palmerusaf and @DhruvGarg111 for the contributions! - Fix GeoJSON bounding-box computation for
choroplethandscattergeotraces whose geometry crosses the antimeridian [#7891] - Snap cartesian axis tick values to multiple of delta so custom
tickformat(e.g."~r") no longer shows floating-point artifacts [#7901], with thanks to @arieleli01212 and @kirthi-b for the contribution!