From 690a18258c617d832960f320a11d7eed5d48341d Mon Sep 17 00:00:00 2001 From: Emily KL <4672118+emilykl@users.noreply.github.com> Date: Wed, 9 Sep 2026 12:59:51 -0400 Subject: [PATCH 1/4] add CI workflow to make sure changelog gets updated with every PR --- .github/workflows/check-changelog.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/workflows/check-changelog.yml diff --git a/.github/workflows/check-changelog.yml b/.github/workflows/check-changelog.yml new file mode 100644 index 00000000000..340f39e8531 --- /dev/null +++ b/.github/workflows/check-changelog.yml @@ -0,0 +1,18 @@ +name: Check changelog + +on: + pull_request: + types: [opened, reopened, synchronize, labeled, unlabeled] + +jobs: + check-changelog: + name: Check if CHANGELOG.md was updated + if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-changelog') }} + runs-on: ubuntu-latest + steps: + - env: + GH_TOKEN: ${{ github.token }} + run: | + gh api "repos/${{ github.repository }}/pulls/${{ github.event.number }}/files" --paginate --jq '.[].filename' \ + | grep -qx CHANGELOG.md \ + || { echo "::error::CHANGELOG.md was not updated. Either add a changelog entry, or add the 'no-changelog' label to this PR if a changelog entry is not needed."; exit 1; } From 6c49d1162fce6dccda447b92c71555830d8211e9 Mon Sep 17 00:00:00 2001 From: Emily KL <4672118+emilykl@users.noreply.github.com> Date: Wed, 9 Sep 2026 13:47:49 -0400 Subject: [PATCH 2/4] add dummy changelog entry --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf2816487b4..bc0dfe046bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## Unreleased +Adding a line here for demonstration purposes + ### Added - Support `marginal_x`/`marginal_y="heatmap"` in `density_heatmap`, drawing a single-row/column heatmap strip in the margin colored by the same `z`/`histfunc` aggregate as the main plot and sharing its color scale [[#5706](https://github.com/plotly/plotly.py/issues/5706)], with thanks to @lucasjamar for the contribution! - Add support for custom tick values in `mpl_to_plotly` when the matplotlib tick positions don't follow an arithmetic progression, including custom tick labels and tick values on date axes [[#5262](https://github.com/plotly/plotly.py/pull/5262)], with thanks to @robertoffmoura for the contribution! From f2110c37b9069399f8f50843315a8402bfdc4758 Mon Sep 17 00:00:00 2001 From: Emily KL <4672118+emilykl@users.noreply.github.com> Date: Wed, 9 Sep 2026 13:50:56 -0400 Subject: [PATCH 3/4] Revert "add dummy changelog entry" This reverts commit 6c49d1162fce6dccda447b92c71555830d8211e9. --- CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc0dfe046bd..cf2816487b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,6 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## Unreleased -Adding a line here for demonstration purposes - ### Added - Support `marginal_x`/`marginal_y="heatmap"` in `density_heatmap`, drawing a single-row/column heatmap strip in the margin colored by the same `z`/`histfunc` aggregate as the main plot and sharing its color scale [[#5706](https://github.com/plotly/plotly.py/issues/5706)], with thanks to @lucasjamar for the contribution! - Add support for custom tick values in `mpl_to_plotly` when the matplotlib tick positions don't follow an arithmetic progression, including custom tick labels and tick values on date axes [[#5262](https://github.com/plotly/plotly.py/pull/5262)], with thanks to @robertoffmoura for the contribution! From e5a6ebfe7134afe2ea5b8f30a3f499f3f7cf01c4 Mon Sep 17 00:00:00 2001 From: Emily KL <4672118+emilykl@users.noreply.github.com> Date: Wed, 9 Sep 2026 13:54:11 -0400 Subject: [PATCH 4/4] update changelog instructions in CONTRIBUTING.md --- CONTRIBUTING.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e1e5f211bc9..2a32b8d34c9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -181,7 +181,8 @@ When creating your pull request, please follow the guidelines below. - If your PR modifies code of `plotly.graph_objects`, the modifications should be made to the code generator, *not* the generated files. - You have added tests or modified existing tests, as needed. - For a new feature, you have added documentation examples (please see the doc checklist as well). -- You have added a CHANGELOG entry if changing anything substantial. +- You have added a changelog entry to `CHANGELOG.md` if changing anything substantial. + - The CI job "Check changelog" will fail if the PR does not update `CHANGELOG.md`. To bypass this check for PRs which don't require a changelog entry (e.g. docs updates), add the `no-changelog` label to the PR. - For a new feature or a change in behavior, you have updated the relevant docstrings in the code. ### Documentation pull request