Skip to content

Commit fe7b607

Browse files
committed
Merge remote-tracking branch 'origin/master' into cam/7523/switch-color-library
2 parents 93a8365 + 59e986c commit fe7b607

File tree

1,577 files changed

+1676399
-1648449
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,577 files changed

+1676399
-1648449
lines changed

.circleci/config.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,7 @@ jobs:
303303
- run:
304304
name: Compare pixels
305305
command: .circleci/test.sh test-image ; find build -maxdepth 1 -type f -delete
306+
- image-diff-message
306307
- store_artifacts:
307308
path: build
308309
destination: /
@@ -317,6 +318,7 @@ jobs:
317318
- run:
318319
name: Compare pixels
319320
command: .circleci/test.sh test-image-virtual-webgl ; find build -maxdepth 1 -type f -delete
321+
- image-diff-message
320322
- store_artifacts:
321323
path: build
322324
destination: /
@@ -331,6 +333,7 @@ jobs:
331333
- run:
332334
name: Compare pixels
333335
command: .circleci/test.sh test-image ; find build -maxdepth 1 -type f -delete
336+
- image-diff-message
334337
- store_artifacts:
335338
path: build
336339
destination: /
@@ -345,6 +348,7 @@ jobs:
345348
- run:
346349
name: Compare pixels of mathjax v3 baselines
347350
command: .circleci/test.sh test-image-mathjax3
351+
- image-diff-message
348352
- store_artifacts:
349353
path: build
350354
destination: /
@@ -515,9 +519,20 @@ jobs:
515519
- store_artifacts:
516520
path: topojson.tar
517521

522+
commands:
523+
image-diff-message:
524+
steps:
525+
- run:
526+
name: IMAGE DIFF DETECTED - SEE NOTE BELOW
527+
when: on_fail
528+
command: |
529+
echo "Image Diff Detected: baseline images may need to be updated. Run 'tasks/circleci_image_artifact_download.sh' to download the baseline images generated by this job."
530+
echo "Add the new images to 'test/image/baselines/' and commit them to this pull request."
531+
518532
workflows:
519533
version: 2
520534
build-and-test:
535+
max_auto_reruns: 1
521536
jobs:
522537
- install-and-cibuild
523538
- timezone-jasmine:

.github/ISSUE_TEMPLATE.md

Lines changed: 0 additions & 13 deletions
This file was deleted.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
name: Bug report
3+
about: Create a bug report for a plotly.js issue
4+
title: "[BUG]: "
5+
labels: bug
6+
7+
---
8+
9+
### Instructions (remove this section before submitting report)
10+
11+
Thanks for your interest in plotly.js!
12+
13+
- Before submitting a new bug report, please search for existing and closed issues. If your bug is not addressed yet, fill out the sections below and submit a new issue.
14+
- Issues found on the example pages from **https://plotly.com/javascript/** should be filed in our [documentation repo](https://github.com/plotly/documentation/issues) with the exception of **https://plotly.com/javascript/reference** which should be filed here.
15+
- Implementation questions ("How do I do ...?") should be asked on our [Community Forum](https://community.plotly.com/c/plotly-js/6) or on [Stack Overflow](https://stackoverflow.com/questions/tagged/plotly) (tagged 'plotly').
16+
- Comments should add content to the discussions. Approbation comments such as *+1* or *I would like this feature to be implemented as well* will be deleted by the maintainers. Please use [GitHub reactions](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments) instead.
17+
18+
### Description
19+
20+
_Add a clear description of the issue that you're having._
21+
22+
### Screenshots/Video
23+
24+
_Add screenshots or a video of the issue._
25+
26+
### Steps to reproduce
27+
28+
_Reports **must** include steps to reproduce the issue. Alternatively, you can use [codepen](http://codepen.io/), [jsfiddle](https://jsfiddle.net/) or [jsbin](https://jsbin.com) to share your example. Please use the [latest (un-minified) version](https://github.com/plotly/plotly.js/releases) of plotly.js in your report unless not applicable._
29+
30+
- Go to '...'
31+
- Click on X
32+
- Note the issue with Y
33+
34+
35+
### Notes
36+
37+
_Add info here that doesn't fit in the other sections._
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: Feature request
3+
about: Submit a new feature request for plotly.js
4+
title: "[FEATURE]: "
5+
labels: feature
6+
7+
---
8+
9+
### Instructions (remove this section before submitting an issue)
10+
11+
Thanks for your interest in plotly.js!
12+
13+
- Before submitting a new feature request, please search for existing and closed requests. If your request is novel, fill out the sections below and submit a new request.
14+
- Comments should add content to the discussions. Approbation comments such as *+1* or *I would like this feature to be implemented as well* will be deleted by the maintainers. Please use [GitHub reactions](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments) instead.
15+
16+
### Description
17+
18+
_Add a clear description of the feature that you're requesting._
19+
20+
21+
### Why should this feature be added?
22+
23+
_Provide an argument for why this feature should be added. We can't add everything, so this will help us determine what gets worked on. Please also consider creating a PR and adding the feature yourself. Help is always appreciated._
24+
25+
### Mocks/Designs
26+
27+
_Please add any mocks or designs you might have for the feature._
28+
29+
### Notes
30+
31+
_Add info here that doesn't fit in the other sections._

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ tags
1414

1515
.*
1616
!.circleci
17+
!.github/
1718
!.gitignore
1819
!.npmignore

CHANGELOG.md

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,58 @@ To see all merged commits on the master branch that will be part of the next plo
99

1010
where X.Y.Z is the semver of most recent plotly.js release.
1111

12-
## [3.1.0]
12+
## [3.3.0] -- 2025-11-14
13+
14+
### Added
15+
- Add `hovertemplate` for `candlestick` and `ohlc` traces [[#7619](https://github.com/plotly/plotly.js/pull/7619)]
16+
- Generate list of ISO codes for provided topojson maps, update info for some disputed territories [[#7622](https://github.com/plotly/plotly.js/pull/7622)]
17+
18+
### Changed
19+
- Turn off borders for plot container in CSS reset [[#7617](https://github.com/plotly/plotly.js/pull/7617)]
20+
21+
### Fixed
22+
- Fix KDE sampling precision in violin trace to eliminate floating-point drift and prevent density underrun/overrun [[#7581](https://github.com/plotly/plotly.js/pull/7581)], with thanks to @Koookadooo for the contribution!
23+
24+
25+
## [3.2.0] -- 2025-10-30
26+
27+
### Added
28+
- Add `hovertemplatefallback` and `texttemplatefallback` attributes [[#7577](https://github.com/plotly/plotly.js/pull/7577)]
29+
30+
### Fixed
31+
- Fix wrong scrolling behavior for legend [[#7067](https://github.com/plotly/plotly.js/pull/7067)], with thanks to @Lexachoc for the contribution!
32+
- Fix bug affecting use of `customdata` with typed arrays [[#7608](https://github.com/plotly/plotly.js/pull/7608)]
33+
34+
35+
## [3.1.2] -- 2025-10-16
36+
37+
### Added
38+
- Add "SI extended" formatting rule for tick exponents on axis labels, allowing values to be displayed with extended SI prefixes (e.g., femto, pico, atto) [[#7249](https://github.com/plotly/plotly.js/pull/7249)], with thanks to @dberardi99 for the contribution!
39+
40+
### Fixed
41+
- Fix editable `title.text` for `ternary`, `polar`, `colorbar`, and `rangeslider` (regression introduced in 3.0.0) [[#7513](https://github.com/plotly/plotly.js/pull/7513)], with thanks to @Lexachoc for the contribution!
42+
- Fix `layout.title.subtitle` does not properly clear/remove from the chart when `subtitle` object is not in place, or `subtitle.text` set to `null`, empty string, or whitespace-only values [[#7571](https://github.com/plotly/plotly.js/pull/7571)], with thanks to @cminn10 for the contribution!
43+
- Fix issue where `visible` property of one legend was affecting another. [[#7574](https://github.com/plotly/plotly.js/pull/7574)]
44+
- Resolve incorrect shape clipping for domain-referenced shapes on n*10th subplot. [[#7576](https://github.com/plotly/plotly.js/pull/7576)]
45+
- Update config diff check method to handle nested arrays [[#7579](https://github.com/plotly/plotly.js/pull/7579)]
46+
47+
48+
## [3.1.1] -- 2025-09-29
49+
50+
### Fixed
51+
- Update plot with all config changes during call to `Plotly.react` [[#7475](https://github.com/plotly/plotly.js/pull/7475)]
52+
- Fix wheel event handler `Violation` in Chromium by setting `passive: true` [[#7517](https://github.com/plotly/plotly.js/pull/7517)]
53+
- Fix `locationmode` warning to be less aggressive: show warning only when `locationmode` is `'country names'` [[#7520](https://github.com/plotly/plotly.js/pull/7520)]
54+
- Refactor `drawMainTitle` to use context-specific selections for title and subtitle, avoiding conflicts when multiple plots are present on the same page [[#7522](https://github.com/plotly/plotly.js/pull/7522)], with thanks to @davibarbosa2 for the contribution!
55+
- Fix broken styling of map attributions [[#7526](https://github.com/plotly/plotly.js/pull/7526)]
56+
- Calculate colorscale properly for histogram when marker `cmin`/`cmax`/`cmid` values are undefined [[#7534](https://github.com/plotly/plotly.js/pull/7534)]
57+
- Tidy up some stray characters in attribute descriptions [[#7539](https://github.com/plotly/plotly.js/pull/7539)], [[#7540](https://github.com/plotly/plotly.js/pull/7540)]
58+
- Fix some typos (and a conditional check) [[#7542](https://github.com/plotly/plotly.js/pull/7542)], with thanks to @musvaage for the contribution!
59+
- Fix cropping of subunits in USA topojson, clean up land and coastlines layers for all topojson [[#7555](https://github.com/plotly/plotly.js/pull/7555)]
60+
- Fix issue causing empty ScatterGL plots when using text elements [#7563](https://github.com/plotly/plotly.js/pull/7563)
61+
62+
63+
## [3.1.0] -- 2025-08-08
1364

1465
### Added
1566
- Add property `zerolinelayer` to cartesian axes to allow drawing zeroline above traces [[#7269](https://github.com/plotly/plotly.js/pull/7269)]

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ authors:
99
- family-names: "Samimi"
1010
given-names: "Mojtaba"
1111
title: "Open source Plotly charting library"
12-
version: 3.1.0
12+
version: 3.3.0
1313
doi: 10.5281/zenodo.13964707
14-
date-released: 2025-08-07
14+
date-released: 2025-11-14
1515
url: "https://github.com/plotly/plotly.js"

README.md

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ You may also consider using [`plotly.js-dist`](https://www.npmjs.com/package/plo
6262
6363
```html
6464
<head>
65-
<script src="https://cdn.plot.ly/plotly-3.1.0.min.js" charset="utf-8"></script>
65+
<script src="https://cdn.plot.ly/plotly-3.3.0.min.js" charset="utf-8"></script>
6666
</head>
6767
<body>
6868
<div id="gd"></div>
@@ -79,7 +79,7 @@ You may also consider using [`plotly.js-dist`](https://www.npmjs.com/package/plo
7979
Alternatively you may consider using [native ES6 import](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) in the script tag.
8080
```html
8181
<script type="module">
82-
import "https://cdn.plot.ly/plotly-3.1.0.min.js"
82+
import "https://cdn.plot.ly/plotly-3.3.0.min.js"
8383
Plotly.newPlot("gd", [{ y: [1, 2, 3] }])
8484
</script>
8585
```
@@ -89,7 +89,7 @@ Fastly supports Plotly.js with free CDN service. Read more at <https://www.fastl
8989
### Un-minified versions are also available on CDN
9090
While non-minified source files may contain characters outside UTF-8, it is recommended that you specify the `charset` when loading those bundles.
9191
```html
92-
<script src="https://cdn.plot.ly/plotly-3.1.0.js" charset="utf-8"></script>
92+
<script src="https://cdn.plot.ly/plotly-3.3.0.js" charset="utf-8"></script>
9393
```
9494

9595
> Please note that as of v2 the "plotly-latest" outputs (e.g. https://cdn.plot.ly/plotly-latest.min.js) will no longer be updated on the CDN, and will stay at the last v1 patch v1.58.5. Therefore, to use the CDN with plotly.js v2 and higher, you must specify an exact plotly.js version.
@@ -145,35 +145,36 @@ Please read through our [contributing guidelines](https://github.com/plotly/plot
145145

146146
Plotly.js is at the core of a large and dynamic ecosystem with many contributors who file issues, reproduce bugs, suggest improvements, write code in this repo (and other upstream or downstream ones) and help users in the Plotly community forum. The following people deserve special recognition for their outsized contributions to this ecosystem:
147147

148-
| | GitHub | Twitter | Status |
149-
|---|--------|---------|--------|
150-
|**Alex C. Johnson**| [@alexcjohnson](https://github.com/alexcjohnson) | | Active, Maintainer |
151-
|**Mojtaba Samimi** | [@archmoj](https://github.com/archmoj) | [@solarchvision](https://twitter.com/solarchvision) | Active, Maintainer |
152-
|**Emily Kellison-Linn** | [@emilykl](https://github.com/emilykl) | | Active, Maintainer |
153-
|**My-Tien Nguyen**| [@my-tien](https://github.com/my-tien) | | Active, Community Contributor |
154-
|**Birk Skyum**| [@birkskyum](https://github.com/birkskyum) | | Active, Community Contributor |
155-
|**Étienne Tétreault-Pinard**| [@etpinard](https://github.com/etpinard) | [@etpinard](https://twitter.com/etpinard) | Hall of Fame |
156-
|**Antoine Roy-Gobeil** | [@antoinerg](https://github.com/antoinerg) | | Hall of Fame |
157-
|**Jack Parmer**| [@jackparmer](https://github.com/jackparmer) | | Hall of Fame |
158-
|**Nicolas Kruchten** | [@nicolaskruchten](https://github.com/nicolaskruchten) | [@nicolaskruchten](https://twitter.com/nicolaskruchten) | Hall of Fame |
159-
|**Mikola Lysenko**| [@mikolalysenko](https://github.com/mikolalysenko) | [@MikolaLysenko](https://twitter.com/MikolaLysenko) | Hall of Fame |
160-
|**Ricky Reusser**| [@rreusser](https://github.com/rreusser) | [@rickyreusser](https://twitter.com/rickyreusser) | Hall of Fame |
161-
|**Dmitry Yv.** | [@dy](https://github.com/dy) | [@DimaYv](https://twitter.com/dimayv)| Hall of Fame |
162-
|**Jon Mease** | [@jonmmease](https://github.com/jonmmease) | [@jonmmease](https://twitter.com/jonmmease) | Hall of Fame |
163-
|**Robert Monfera**| [@monfera](https://github.com/monfera) | [@monfera](https://twitter.com/monfera) | Hall of Fame |
164-
|**Robert Möstl** | [@rmoestl](https://github.com/rmoestl) | [@rmoestl](https://twitter.com/rmoestl) | Hall of Fame |
165-
|**Nicolas Riesco**| [@n-riesco](https://github.com/n-riesco) | | Hall of Fame |
166-
|**Miklós Tusz**| [@mdtusz](https://github.com/mdtusz) | [@mdtusz](https://twitter.com/mdtusz)| Hall of Fame |
167-
|**Chelsea Douglas**| [@cldougl](https://github.com/cldougl) | | Hall of Fame |
168-
|**Ben Postlethwaite**| [@bpostlethwaite](https://github.com/bpostlethwaite) | | Hall of Fame |
169-
|**Hannah Ker** | [@hannahker](https://github.com/hannahker) | [@hannahker11](https://twitter.com/hannahker11)| Hall of Fame |
170-
|**Chris Parmer**| [@chriddyp](https://github.com/chriddyp) | | Hall of Fame |
171-
|**Alex Vados**| [@alexander-daniel](https://github.com/alexander-daniel) | | Hall of Fame |
148+
| Contributor | GitHub | Status |
149+
|-------------|--------|---------|
150+
|**Alex C. Johnson**| [@alexcjohnson](https://github.com/alexcjohnson) | Active, Maintainer |
151+
|**Emily Kellison-Linn** | [@emilykl](https://github.com/emilykl) | Active, Maintainer |
152+
|**Cameron DeCoster** | [@camdecoster](https://github.com/camdecoster) | Active, Maintainer |
153+
|**My-Tien Nguyen**| [@my-tien](https://github.com/my-tien) | Active, Community Contributor |
154+
|**Birk Skyum**| [@birkskyum](https://github.com/birkskyum) | Active, Community Contributor |
155+
|**Étienne Tétreault-Pinard**| [@etpinard](https://github.com/etpinard) | Hall of Fame |
156+
|**Antoine Roy-Gobeil** | [@antoinerg](https://github.com/antoinerg) | Hall of Fame |
157+
|**Jack Parmer**| [@jackparmer](https://github.com/jackparmer) | Hall of Fame |
158+
|**Nicolas Kruchten** | [@nicolaskruchten](https://github.com/nicolaskruchten) | Hall of Fame |
159+
|**Mikola Lysenko**| [@mikolalysenko](https://github.com/mikolalysenko) | Hall of Fame |
160+
|**Ricky Reusser**| [@rreusser](https://github.com/rreusser) | Hall of Fame |
161+
|**Dmitry Yv.** | [@dy](https://github.com/dy) | Hall of Fame |
162+
|**Jon Mease** | [@jonmmease](https://github.com/jonmmease) | Hall of Fame |
163+
|**Robert Monfera**| [@monfera](https://github.com/monfera) | Hall of Fame |
164+
|**Robert Möstl** | [@rmoestl](https://github.com/rmoestl) | Hall of Fame |
165+
|**Nicolas Riesco**| [@n-riesco](https://github.com/n-riesco) | Hall of Fame |
166+
|**Miklós Tusz**| [@mdtusz](https://github.com/mdtusz) | Hall of Fame |
167+
|**Chelsea Douglas**| [@cldougl](https://github.com/cldougl) | Hall of Fame |
168+
|**Ben Postlethwaite**| [@bpostlethwaite](https://github.com/bpostlethwaite) | Hall of Fame |
169+
|**Hannah Ker** | [@hannahker](https://github.com/hannahker) | Hall of Fame |
170+
|**Chris Parmer**| [@chriddyp](https://github.com/chriddyp) | Hall of Fame |
171+
|**Alex Vados**| [@alexander-daniel](https://github.com/alexander-daniel) | Hall of Fame |
172+
|**Mojtaba Samimi** | [@archmoj](https://github.com/archmoj) | Hall of Fame |
172173

173174
---
174175
## Copyright and license
175176

176-
Code and documentation copyright 2021 Plotly, Inc.
177+
Code and documentation copyright 2025 Plotly, Inc.
177178

178179
Code released under the [MIT license](https://github.com/plotly/plotly.js/blob/master/LICENSE).
179180

@@ -186,7 +187,7 @@ See the [Releases section](https://github.com/plotly/plotly.js/releases) of our
186187
---
187188
## Community
188189

189-
* Follow [@plotlygraphs](https://twitter.com/plotlygraphs) on Twitter for the latest Plotly news.
190-
* Implementation help may be found on community.plot.com (tagged [`plotly-js`](https://community.plotly.com/c/plotly-js)) or
191-
on Stack Overflow (tagged [`plotly`](https://stackoverflow.com/questions/tagged/plotly)).
192-
* Developers should use the keyword `plotly` on packages which modify or add to the functionality of plotly.js when distributing through [npm](https://www.npmjs.com/browse/keyword/plotly).
190+
* Follow us on [X](https://x.com/plotlygraphs) and [LinkedIn](https://www.linkedin.com/company/plotly/) for the latest Plotly news.
191+
* Implementation help may be found on our community forum (tagged [`plotly-js`](https://community.plotly.com/c/plotly-js)) or
192+
on Stack Overflow (tagged [`plotly.js`](https://stackoverflow.com/questions/tagged/plotly.js)).
193+
* Developers should use the keyword `plotly` on packages which modify or add to the functionality of plotly.js when distributing through [npm](https://www.npmjs.com/search?q=keywords:plotly).

biome.json

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
"files": {
55
"maxSize": 10000000,
66
"includes": [
7+
"**/esbuild-config.js",
78
"**/src/**",
89
"**/lib/**",
910
"**/test/**",
1011
"**/tasks/**",
1112
"**/devtools/**",
13+
"**/topojson/**",
1214
"!**/test/plot-schema.json",
1315
"!**/dist",
1416
"!**/stackgl_modules",
@@ -88,17 +90,7 @@
8890
"noVar": "off",
8991
"noConsole": { "level": "off", "options": { "allow": ["log"] } }
9092
}
91-
},
92-
"includes": [
93-
"**",
94-
"!**/stackgl_modules",
95-
"!**/node_modules",
96-
"!**/dist",
97-
"!**/build",
98-
"!**/tasks/test_amdefine.js",
99-
"!**/tasks/test_requirejs.js",
100-
"!**/test/jasmine/assets/jquery-1.8.3.min.js"
101-
]
93+
}
10294
},
10395
"javascript": {
10496
"globals": [
@@ -131,7 +123,7 @@
131123
"formatter": {
132124
"enabled": true,
133125
"indentStyle": "space",
134-
"indentWidth": 1,
126+
"indentWidth": 2,
135127
"lineEnding": "lf",
136128
"lineWidth": 80
137129
}

0 commit comments

Comments
 (0)