diff --git a/cog.toml b/cog.toml
index 4bee2b684..e5b9eaae7 100644
--- a/cog.toml
+++ b/cog.toml
@@ -49,21 +49,28 @@ ci = { changelog_title = "", omit_from_changelog = true }
[changelog]
path = "CHANGELOG.md"
template = "deephaven-changelog-template"
+package_template = "deephaven-changelog-template"
remote = "github.com"
repository = "deephaven-plugins"
owner = "deephaven"
+# `signature` must match `git log --format=%an` exactly. `username` is the
+# github handle, which is what `commit.author` resolves to in the changelog
+# template — that's what we render. Multiple entries per handle cover
+# historical git-author name variants (e.g. "Joe" vs "Joe Numainville").
authors = [
{ username = "jnumainville", signature = "Joe Numainville" },
+ { username = "jnumainville", signature = "Joe" },
{ username = "mofojed", signature = "Mike Bender" },
+ { username = "mofojed", signature = "mikebender" },
{ username = "devinrsmith", signature = "Devin Smith" },
- { username = "mattrunyon", signature = "Matt Runyon" },
+ { username = "mattrunyon", signature = "Matthew Runyon" },
{ username = "vbabich", signature = "Vlad Babich" },
+ { username = "dsmmcken", signature = "Don" },
{ username = "dsmmcken", signature = "Don McKenzie" },
{ username = "bmingles", signature = "Brian Ingles" },
{ username = "niloc132", signature = "Colin Alworth" },
{ username = "rachelmbrubaker", signature = "Rachel Brubaker" },
{ username = "JamesXNelson", signature = "James Nelson" },
-
]
[bump_profiles]
diff --git a/deephaven-changelog-template b/deephaven-changelog-template
index 55362ea80..722102cad 100644
--- a/deephaven-changelog-template
+++ b/deephaven-changelog-template
@@ -1,54 +1,51 @@
-{# Tera templates are used to generate the changelog content -#}
-{# https://keats.github.io/tera/docs/ -#}
-{# Based on Cocogittos remote template, but adds breaking changes: https://github.com/cocogitto/cocogitto/blob/main/src/conventional/changelog/template/remote -#}
-{# First display all the breaking changes -#}
-{% set breaking_commits = commits | filter(attribute="breaking_change", value=true) -%}
-{% if breaking_commits | length > 0 -%}
-#### ⚠ Breaking Changes
+{%- if version.tag %}
+## {{ version.tag }} - {{ date | date(format="%Y-%m-%d") }}
+{% else %}
+{%- set from = commits | last -%}
+{%- set to = version.id -%}
+{%- set from_shorthand = from.id | truncate(length=7, end="") -%}
+{%- set to_shorthand = to | truncate(length=7, end="") %}
+## Unreleased ({{ from_shorthand ~ ".." ~ to_shorthand }})
+{% endif -%}
+{%- set breaking_commits = commits | filter(attribute="breaking_change", value=true) -%}
+{%- if breaking_commits | length > 0 %}
+#### Breaking Changes
{% for commit in breaking_commits -%}
-{% set commit_link = repository_url ~ "/commit/" ~ commit.id -%}
-{% set shorthand = commit.id | truncate(length=7, end="") -%}
-{% for footer in commit.footer | filter(attribute="token", value="BREAKING CHANGE") -%}
-- {{ footer.content }} - ([{{shorthand}}]({{ commit_link }}))
+{%- set parts = commit.summary | split(pat=" (#") -%}
+{%- if parts | length > 1 -%}
+{%- set pr_num = parts | last | replace(from=")", to="") -%}
+- {{ parts | first }} ([#{{ pr_num }}]({{ repository_url }}/pull/{{ pr_num }})) - ({{ commit.id | truncate(length=7, end="") }}) - {{ commit.author | default(value=commit.signature) }}
+{% else -%}
+- {{ commit.summary }} - ({{ commit.id | truncate(length=7, end="") }}) - {{ commit.author | default(value=commit.signature) }}
+{% endif -%}
{% endfor -%}
-{% endfor -%}
-{% endif %}
-
-{# Now group the rest of the commits and display them -#}
-{% set typed_commit_map = commits | group_by(attribute="type") -%}
-{% set type_order = ["Features", "Bug Fixes", "Performance Improvements", "Miscellaneous Chores", "Documentation", "Refactoring", "Build system", "Style"] -%}
-{% for type in type_order -%}
-{% if typed_commit_map[type] -%}
+{%- endif -%}
+{%- set typed_commit_map = commits | group_by(attribute="type") -%}
+{%- set type_order = ["Features", "Bug Fixes", "Performance Improvements", "Miscellaneous Chores", "Documentation", "Refactoring", "Revert", "Tests", "Build system", "Style"] -%}
+{%- for type in type_order -%}
+{%- if typed_commit_map[type] %}
#### {{ type | upper_first }}
-{% for scope, scoped_commits in typed_commit_map[type] | group_by(attribute="scope") -%}
+{% for scope, scoped_commits in typed_commit_map[type] | group_by(attribute="scope") -%}
{% for commit in scoped_commits | sort(attribute="scope") -%}
- {% if commit.author and repository_url -%}
- {% set author = "@" ~ commit.author -%}
- {% set author_link = platform ~ "/" ~ commit.author -%}
- {% set author = "[" ~ author ~ "](" ~ author_link ~ ")" -%}
- {% else -%}
- {% set author = commit.signature -%}
- {% endif -%}
- {% set commit_link = repository_url ~ "/commit/" ~ commit.id -%}
- {% set shorthand = commit.id | truncate(length=7, end="") -%}
- - **({{ scope }})** {{ commit.summary }} - ([{{shorthand}}]({{ commit_link }})) - {{ author }}
+{%- set parts = commit.summary | split(pat=" (#") -%}
+{%- if parts | length > 1 -%}
+{%- set pr_num = parts | last | replace(from=")", to="") -%}
+- **({{ commit.scope }})** {{ parts | first }} ([#{{ pr_num }}]({{ repository_url }}/pull/{{ pr_num }})) - ({{ commit.id | truncate(length=7, end="") }}) - {{ commit.author | default(value=commit.signature) }}
+{% else -%}
+- **({{ commit.scope }})** {{ commit.summary }} - ({{ commit.id | truncate(length=7, end="") }}) - {{ commit.author | default(value=commit.signature) }}
+{% endif -%}
{% endfor -%}
-
{% endfor -%}
-
{% for commit in typed_commit_map[type] | unscoped -%}
- {% if commit.author and repository_url -%}
- {% set author = "@" ~ commit.author -%}
- {% set author_link = platform ~ "/" ~ commit.author -%}
- {% set author = "[" ~ author ~ "](" ~ author_link ~ ")" -%}
- {% else -%}
- {% set author = commit.signature -%}
- {% endif -%}
- {% set commit_link = repository_url ~ "/commit/" ~ commit.id -%}
- {% set shorthand = commit.id | truncate(length=7, end="") -%}
- - {{ commit.summary }} - ([{{shorthand}}]({{ commit_link }})) - {{ author }}
+{%- set parts = commit.summary | split(pat=" (#") -%}
+{%- if parts | length > 1 -%}
+{%- set pr_num = parts | last | replace(from=")", to="") -%}
+- {{ parts | first }} ([#{{ pr_num }}]({{ repository_url }}/pull/{{ pr_num }})) - ({{ commit.id | truncate(length=7, end="") }}) - {{ commit.author | default(value=commit.signature) }}
+{% else -%}
+- {{ commit.summary }} - ({{ commit.id | truncate(length=7, end="") }}) - {{ commit.author | default(value=commit.signature) }}
+{% endif -%}
{% endfor -%}
-{% endif %}
-{% endfor -%}
\ No newline at end of file
+{%- endif -%}
+{%- endfor -%}
diff --git a/plugins/plotly-express/CHANGELOG.md b/plugins/plotly-express/CHANGELOG.md
index 65b3b3803..65b8a61ff 100644
--- a/plugins/plotly-express/CHANGELOG.md
+++ b/plugins/plotly-express/CHANGELOG.md
@@ -1,299 +1,491 @@
# Changelog
+
All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
- - -
+
## plotly-express-v0.19.2 - 2026-04-09
+
#### Bug Fixes
-- DH-22224: Add multi-plugin support for Deephaven express (#1330) - (bf283e9) - mofojed
+
+- DH-22224: Add multi-plugin support for Deephaven express ([#1330](https://github.com/deephaven/deephaven-plugins/pull/1330)) - (bf283e9) - mofojed
+
#### Documentation
-- DH-21774: Plot by performance warning (#1325) - (cc79762) - Germain
+
+- DH-21774: Plot by performance warning ([#1325](https://github.com/deephaven/deephaven-plugins/pull/1325)) - (cc79762) - Germain
- - -
## plotly-express-v0.19.1 - 2026-03-26
+
#### Bug Fixes
-- DH-21423: xaxis_titles and yaxis_titles now apply to OHLC (#1318) - (2fb5826) - Germain
-- Fix a few type issues (#1320) - (65afb5f) - Joe
+
+- DH-21423: xaxis_titles and yaxis_titles now apply to OHLC ([#1318](https://github.com/deephaven/deephaven-plugins/pull/1318)) - (2fb5826) - Germain
+- Fix a few type issues ([#1320](https://github.com/deephaven/deephaven-plugins/pull/1320)) - (65afb5f) - jnumainville
- - -
## plotly-express-v0.19.0 - 2026-03-16
+
+#### Breaking Changes
+
+- DH-20808: Add subplot_titles and title parameters to make_subplots ([#1283](https://github.com/deephaven/deephaven-plugins/pull/1283)) - (a9a28ab) - jnumainville
+
#### Features
-- BREAKINGDH-20808: Add subplot_titles and title parameters to make_subplots (#1283) - (a9a28ab) - Joe
+
+- DH-20808: Add subplot_titles and title parameters to make_subplots ([#1283](https://github.com/deephaven/deephaven-plugins/pull/1283)) - (a9a28ab) - jnumainville
+
#### Bug Fixes
-- Correct version for deephaven-core (#1312) - (d4ca2a1) - Joe
-- DH-21383: Convert map center to TypedDict (#1285) - (9f279ae) - Joe
-- Specify Sphinx version constraint in requirements and fix tests (#1300) - (c29fbfc) - Joe
+
+- Correct version for deephaven-core ([#1312](https://github.com/deephaven/deephaven-plugins/pull/1312)) - (d4ca2a1) - jnumainville
+- DH-21383: Convert map center to TypedDict ([#1285](https://github.com/deephaven/deephaven-plugins/pull/1285)) - (9f279ae) - jnumainville
+- Specify Sphinx version constraint in requirements and fix tests ([#1300](https://github.com/deephaven/deephaven-plugins/pull/1300)) - (c29fbfc) - jnumainville
- - -
## plotly-express-v0.18.3 - 2026-01-15
+
+#### Breaking Changes
+
+- DH-21259: Fix maps and add docs ([#1279](https://github.com/deephaven/deephaven-plugins/pull/1279)) - (99656a9) - jnumainville
+
#### Bug Fixes
-- BREAKINGDH-21259: Fix maps and add docs (#1279) - (99656a9) - Joe
+
+- DH-21259: Fix maps and add docs ([#1279](https://github.com/deephaven/deephaven-plugins/pull/1279)) - (99656a9) - jnumainville
- - -
## plotly-express-v0.18.2 - 2025-11-18
+
#### Bug Fixes
-- DH-20908: Handle table disconnects in Plotly Express (#1267) - (37e8a11) - bmingles
+
+- DH-20908: Handle table disconnects in Plotly Express ([#1267](https://github.com/deephaven/deephaven-plugins/pull/1267)) - (37e8a11) - bmingles
- - -
## plotly-express-v0.18.1 - 2025-11-04
+
#### Features
-- Deephaven Pivot plugin (#1231) - (ac5d6f5) - vbabich
+
+- Deephaven Pivot plugin ([#1231](https://github.com/deephaven/deephaven-plugins/pull/1231)) - (ac5d6f5) - vbabich
+
#### Bug Fixes
-- update data generators to be deterministic when columns evaluated in parallel (#1240) - (dc17eab) - Don
+
+- update data generators to be deterministic when columns evaluated in parallel ([#1240](https://github.com/deephaven/deephaven-plugins/pull/1240)) - (dc17eab) - dsmmcken
+
#### Build system
-- Update TypeScript to v5 (#1247) - (e98edd9) - mofojed
+
+- Update TypeScript to v5 ([#1247](https://github.com/deephaven/deephaven-plugins/pull/1247)) - (e98edd9) - mofojed
- - -
## plotly-express-v0.18.0 - 2025-09-10
+
#### Features
-- Pivot table example generator (#1230) - (2ff9325) - Don
+
+- Pivot table example generator ([#1230](https://github.com/deephaven/deephaven-plugins/pull/1230)) - (2ff9325) - dsmmcken
- - -
## plotly-express-v0.17.2 - 2025-09-03
+
#### Bug Fixes
-- DH-18443: Fix `dx` and `dh.ui` tooltips (#1226) - (371bfcd) - Joe
-- DH-18653: migrate to plotly >= 6.0.0 (#1179) - (61b76b8) - Joe
+
+- DH-18443: Fix `dx` and `dh.ui` tooltips ([#1226](https://github.com/deephaven/deephaven-plugins/pull/1226)) - (371bfcd) - jnumainville
+- DH-18653: migrate to plotly >= 6.0.0 ([#1179](https://github.com/deephaven/deephaven-plugins/pull/1179)) - (61b76b8) - jnumainville
+
#### Build system
-- Fix docs code fence plugin not registering py or groovy (#1220) - (96a6dc7) - Matthew Runyon
+
+- Fix docs code fence plugin not registering py or groovy ([#1220](https://github.com/deephaven/deephaven-plugins/pull/1220)) - (96a6dc7) - mattrunyon
- - -
## plotly-express-v0.17.1 - 2025-07-22
+
#### Bug Fixes
-- DH-19839: Subplot row_heights reversed in place (#1203) - (b82c47d) - Joe
+
+- DH-19839: Subplot row_heights reversed in place ([#1203](https://github.com/deephaven/deephaven-plugins/pull/1203)) - (b82c47d) - jnumainville
- - -
## plotly-express-v0.17.0 - 2025-07-16
-#### Documentation
-- Update a couple typos in static image export (#1200) - (72bb6d8) - mofojed
+
#### Features
-- DH-18281: Add dx filter support (#1185) - (905945e) - Joe
+
+- DH-18281: Add dx filter support ([#1185](https://github.com/deephaven/deephaven-plugins/pull/1185)) - (905945e) - jnumainville
+
+#### Documentation
+
+- Update a couple typos in static image export ([#1200](https://github.com/deephaven/deephaven-plugins/pull/1200)) - (72bb6d8) - mofojed
- - -
## plotly-express-v0.16.1 - 2025-06-24
+
#### Bug Fixes
-- DH-19036: Fix failing subplot creation (#1176) - (e53b165) - Joe
-#### Build system
-- Add snapshot generator (#1183) - (5b5ee61) - mofojed
+
+- DH-19036: Fix failing subplot creation ([#1176](https://github.com/deephaven/deephaven-plugins/pull/1176)) - (e53b165) - jnumainville
+
#### Documentation
-- Update our instructions for installing kaleido (#1195) - (106b74c) - mofojed
-- DOC-574: Titles and Legends doc (#1174) - (9df65df) - Joe
-- DOC-684: add webgl chrome limitations (#1181) - (542cb81) - Joe
-- DOC-754: Fix header levels causing warnings (#1178) - (da5d339) - Germain Zhang-Houle
+
+- Update our instructions for installing kaleido ([#1195](https://github.com/deephaven/deephaven-plugins/pull/1195)) - (106b74c) - mofojed
+- DOC-574: Titles and Legends doc ([#1174](https://github.com/deephaven/deephaven-plugins/pull/1174)) - (9df65df) - jnumainville
+- DOC-684: add webgl chrome limitations ([#1181](https://github.com/deephaven/deephaven-plugins/pull/1181)) - (542cb81) - jnumainville
+- DOC-754: Fix header levels causing warnings ([#1178](https://github.com/deephaven/deephaven-plugins/pull/1178)) - (da5d339) - Germain Zhang-Houle
+
+#### Build system
+
+- Add snapshot generator ([#1183](https://github.com/deephaven/deephaven-plugins/pull/1183)) - (5b5ee61) - mofojed
- - -
## plotly-express-v0.16.0 - 2025-05-06
+
+#### Features
+
+- DH-18317: Add hierarchical path ([#1164](https://github.com/deephaven/deephaven-plugins/pull/1164)) - (334829d) - jnumainville
+
#### Bug Fixes
-- fix hovertext logic for hierarchical plots (#1159) - (fddd6de) - Joe
+
+- fix hovertext logic for hierarchical plots ([#1159](https://github.com/deephaven/deephaven-plugins/pull/1159)) - (fddd6de) - jnumainville
+
#### Build system
-- DH-19353: Add transpiled files and types to plotly-express build (#1170) - (65fa2fc) - Matthew Runyon
-#### Features
-- DH-18317: Add hierarchical path (#1164) - (334829d) - Joe
+
+- DH-19353: Add transpiled files and types to plotly-express build ([#1170](https://github.com/deephaven/deephaven-plugins/pull/1170)) - (65fa2fc) - mattrunyon
- - -
## plotly-express-v0.15.0 - 2025-04-30
-#### Documentation
-- Add ui component overview page, adjust sidebar (#1161) - (9ba7f2c) - Don
-- snapshots for plotly-express components (#1146) - (98b0115) - ethanalvizo
-- DH-18516: Add branchvalues info to hierarchical plots (#1153) - (8942623) - Joe
+
#### Features
-- DH-18073: Static image creation for dx (#1167) - (650d496) - Joe
+
+- DH-18073: Static image creation for dx ([#1167](https://github.com/deephaven/deephaven-plugins/pull/1167)) - (650d496) - jnumainville
+
+#### Documentation
+
+- Add ui component overview page, adjust sidebar ([#1161](https://github.com/deephaven/deephaven-plugins/pull/1161)) - (9ba7f2c) - dsmmcken
+- snapshots for plotly-express components ([#1146](https://github.com/deephaven/deephaven-plugins/pull/1146)) - (98b0115) - ethanalvizo
+- DH-18516: Add branchvalues info to hierarchical plots ([#1153](https://github.com/deephaven/deephaven-plugins/pull/1153)) - (8942623) - jnumainville
- - -
## plotly-express-v0.14.0 - 2025-04-08
+
+#### Features
+
+- DH-18165: Add calendar argument to several dx charts ([#1122](https://github.com/deephaven/deephaven-plugins/pull/1122)) - (47a2d71) - jnumainville
+- indicator chart ([#1088](https://github.com/deephaven/deephaven-plugins/pull/1088)) - (eb835e3) - jnumainville
+
#### Bug Fixes
-- DH-18685: Remove top margin from chart (#1126) - (47900a5) - Joe
-- Detect if webgl is supported (#1147) - (5e651d1) - Joe
-- Make `dx` histogram behavior consistent with `px` (#1002) - (08dcbce) - Joe
-- Fix type version for plotly-express (#1144) - (2630d25) - Matthew Runyon
+
+- DH-18685: Remove top margin from chart ([#1126](https://github.com/deephaven/deephaven-plugins/pull/1126)) - (47900a5) - jnumainville
+- Detect if webgl is supported ([#1147](https://github.com/deephaven/deephaven-plugins/pull/1147)) - (5e651d1) - jnumainville
+- Make `dx` histogram behavior consistent with `px` ([#1002](https://github.com/deephaven/deephaven-plugins/pull/1002)) - (08dcbce) - jnumainville
+- Fix type version for plotly-express ([#1144](https://github.com/deephaven/deephaven-plugins/pull/1144)) - (2630d25) - mattrunyon
+
#### Build system
-- Add custom sphinx translator to fix relative image paths in output (#1136) - (fa6615e) - Matthew Runyon
-#### Features
-- DH-18165: Add calendar argument to several dx charts (#1122) - (47a2d71) - Joe
-- indicator chart (#1088) - (eb835e3) - Joe
+
+- Add custom sphinx translator to fix relative image paths in output ([#1136](https://github.com/deephaven/deephaven-plugins/pull/1136)) - (fa6615e) - mattrunyon
- - -
## plotly-express-v0.13.1 - 2025-03-07
+
#### Bug Fixes
-- LivenessStateException with static table in `dx` and `ui` (#1074) - (951a376) - Joe
+
+- LivenessStateException with static table in `dx` and `ui` ([#1074](https://github.com/deephaven/deephaven-plugins/pull/1074)) - (951a376) - jnumainville
- - -
## plotly-express-v0.13.0 - 2025-02-04
+
+#### Features
+
+- `dx.indicator` spec ([#1062](https://github.com/deephaven/deephaven-plugins/pull/1062)) - (4478013) - jnumainville
+
#### Bug Fixes
-- DH-18538: Deephaven express not respecting webgl flag within dh.ui (#1103) - (4516b77) - Matthew Runyon
-- Pin plotly version (#1104) - (fa37812) - Joe
-- Make docs links passthrough (#1085) - (2ef0ddb) - Joe
+
+- DH-18538: Deephaven express not respecting webgl flag within dh.ui ([#1103](https://github.com/deephaven/deephaven-plugins/pull/1103)) - (4516b77) - mattrunyon
+- Pin plotly version ([#1104](https://github.com/deephaven/deephaven-plugins/pull/1104)) - (fa37812) - jnumainville
+- Make docs links passthrough ([#1085](https://github.com/deephaven/deephaven-plugins/pull/1085)) - (2ef0ddb) - jnumainville
+
#### Documentation
-- fix renamed unsafe-figure-update (#1091) - (ea5d637) - Don
-- Add `unsafe_update_figure` doc (#1058) - (90c8e19) - Joe
-- Expand sidebars by default for certain categories, add link to flexbox froggy (#1073) - (e76591d) - Don
-#### Features
-- `dx.indicator` spec (#1062) - (4478013) - Joe
+
+- fix renamed unsafe-figure-update ([#1091](https://github.com/deephaven/deephaven-plugins/pull/1091)) - (ea5d637) - dsmmcken
+- Add `unsafe_update_figure` doc ([#1058](https://github.com/deephaven/deephaven-plugins/pull/1058)) - (90c8e19) - jnumainville
+- Expand sidebars by default for certain categories, add link to flexbox froggy ([#1073](https://github.com/deephaven/deephaven-plugins/pull/1073)) - (e76591d) - dsmmcken
- - -
## plotly-express-v0.12.1 - 2024-12-12
+
#### Bug Fixes
-- switch to webgl by default for line plot (#992) - (2c7bc01) - Joe
+
+- switch to webgl by default for line plot ([#992](https://github.com/deephaven/deephaven-plugins/pull/992)) - (2c7bc01) - jnumainville
- - -
-## plotly-express-v0.12.0 - 2024-11-23
+## plotly-express-v0.12.0 - 2024-11-22
+
+#### Features
+
+- Allow passing in a pandas dataframe to dx plots ([#967](https://github.com/deephaven/deephaven-plugins/pull/967)) - (cf03ff0) - jnumainville
+
#### Bug Fixes
-- `dx` now respects the webgl flag (#934) - (9cdf1ee) - Joe
-- Remove `frequency_bar` (#955) - (17fbfca) - Joe
-- Correct type for generated JsPlugin (#741) - (7da0ecc) - Joe
-- Remove server startup from python tests (#768) - (c6c2dd2) - Joe
-- Plotly express ticking 3d plots reset pending orientation on tick (#677) - (169354f) - Matthew Runyon
-- Prevent pushing broken docs to main (#719) - (86fb7aa) - Joe
-- Can't pass both x and y to violin, box and strip (#699) - (70c1805) - Joe
-#### Build system
-- Upgrade to Vite 5 (#899) - (e94b990) - Matthew Runyon
+
+- `dx` now respects the webgl flag ([#934](https://github.com/deephaven/deephaven-plugins/pull/934)) - (9cdf1ee) - jnumainville
+- Remove `frequency_bar` ([#955](https://github.com/deephaven/deephaven-plugins/pull/955)) - (17fbfca) - jnumainville
+- Correct type for generated JsPlugin ([#741](https://github.com/deephaven/deephaven-plugins/pull/741)) - (7da0ecc) - jnumainville
+- Remove server startup from python tests ([#768](https://github.com/deephaven/deephaven-plugins/pull/768)) - (c6c2dd2) - jnumainville
+- Plotly express ticking 3d plots reset pending orientation on tick ([#677](https://github.com/deephaven/deephaven-plugins/pull/677)) - (169354f) - mattrunyon
+- Prevent pushing broken docs to main ([#719](https://github.com/deephaven/deephaven-plugins/pull/719)) - (86fb7aa) - jnumainville
+- Can't pass both x and y to violin, box and strip ([#699](https://github.com/deephaven/deephaven-plugins/pull/699)) - (70c1805) - jnumainville
+
#### Documentation
-- Mention Deephaven version where `server-ui` Docker image is mentioned (#951) - (1fac6af) - JJ Brosnan
-#### Features
-- Allow passing in a pandas dataframe to dx plots (#967) - (cf03ff0) - Joe
+
+- Mention Deephaven version where `server-ui` Docker image is mentioned ([#951](https://github.com/deephaven/deephaven-plugins/pull/951)) - (1fac6af) - JJ Brosnan
+
#### Tests
-- default tox to 3.8 (#972) - (103c1e7) - Joe
+
+- default tox to 3.8 ([#972](https://github.com/deephaven/deephaven-plugins/pull/972)) - (103c1e7) - jnumainville
+
+#### Build system
+
+- Upgrade to Vite 5 ([#899](https://github.com/deephaven/deephaven-plugins/pull/899)) - (e94b990) - mattrunyon
- - -
## plotly-express-v0.11.2 - 2024-07-31
+
#### Bug Fixes
-- Add hist by e2e test and fix error with static plot by (#664) - (88eeaea) - Joe
+
+- Add hist by e2e test and fix error with static plot by ([#664](https://github.com/deephaven/deephaven-plugins/pull/664)) - (88eeaea) - jnumainville
+
#### Documentation
-- small changes to plotly-express readme (#681) - (8959935) - Alex Peters
-- MVP plotly-express docs (#554) - (4c556d3) - Alex Peters
-- Add initial density heatmap docs (#626) - (2dfbe0f) - Joe
+
+- small changes to plotly-express readme ([#681](https://github.com/deephaven/deephaven-plugins/pull/681)) - (8959935) - Alex Peters
+- MVP plotly-express docs ([#554](https://github.com/deephaven/deephaven-plugins/pull/554)) - (4c556d3) - Alex Peters
+- Add initial density heatmap docs ([#626](https://github.com/deephaven/deephaven-plugins/pull/626)) - (2dfbe0f) - jnumainville
+
#### Refactoring
-- example dataset column names to PascalCase (#666) - (def7069) - Alex Peters
+
+- example dataset column names to PascalCase ([#666](https://github.com/deephaven/deephaven-plugins/pull/666)) - (def7069) - Alex Peters
- - -
## plotly-express-v0.11.1 - 2024-07-24
+
#### Bug Fixes
-- Fixes PartitionedTable has no agg_by error (#662) - (685c359) - Joe
-#### Build system
-- UI docs and add plugin_builder.py (#630) - (7281eec) - Joe
+
+- Fixes PartitionedTable has no agg_by error ([#662](https://github.com/deephaven/deephaven-plugins/pull/662)) - (685c359) - jnumainville
+
#### Documentation
-- add sidebar to UI docs and adjust readme (#633) - (e690c1b) - Don
+
+- add sidebar to UI docs and adjust readme ([#633](https://github.com/deephaven/deephaven-plugins/pull/633)) - (e690c1b) - dsmmcken
+
+#### Build system
+
+- UI docs and add plugin_builder.py ([#630](https://github.com/deephaven/deephaven-plugins/pull/630)) - (7281eec) - jnumainville
- - -
## plotly-express-v0.11.0 - 2024-07-16
-#### Bug Fixes
-- add datasets to import to actually use them (#616) - (2266958) - Alex Peters
+
#### Features
-- density heatmap (#598) - (8fb924d) - Joe
+
+- density heatmap ([#598](https://github.com/deephaven/deephaven-plugins/pull/598)) - (8fb924d) - jnumainville
+
+#### Bug Fixes
+
+- add datasets to import to actually use them ([#616](https://github.com/deephaven/deephaven-plugins/pull/616)) - (2266958) - Alex Peters
- - -
## plotly-express-v0.10.0 - 2024-07-09
+
+#### Features
+
+- add dx.data.jobs and dx.data.marketing example data sets ([#595](https://github.com/deephaven/deephaven-plugins/pull/595)) - (41c7f7e) - Alex Peters
+- Replace shortid with nanoid ([#591](https://github.com/deephaven/deephaven-plugins/pull/591)) - (ad8aad9) - Akshat Jawne
+
#### Bug Fixes
-- remove Number type and replace with float/int (#590) - (d0e24f4) - Akshat Jawne
-- gapminder to be compatible with Pandas 2.0.3 (#586) - (fae2f75) - Alex Peters
+
+- remove Number type and replace with float/int ([#590](https://github.com/deephaven/deephaven-plugins/pull/590)) - (d0e24f4) - Akshat Jawne
+- gapminder to be compatible with Pandas 2.0.3 ([#586](https://github.com/deephaven/deephaven-plugins/pull/586)) - (fae2f75) - Alex Peters
+
#### Documentation
-- Make autodoc output structured (#582) - (d1aa3d5) - Joe
-#### Features
-- add dx.data.jobs and dx.data.marketing example data sets (#595) - (41c7f7e) - Alex Peters
-- Replace shortid with nanoid (#591) - (ad8aad9) - Akshat Jawne
+
+- Make autodoc output structured ([#582](https://github.com/deephaven/deephaven-plugins/pull/582)) - (d1aa3d5) - jnumainville
- - -
## plotly-express-v0.9.0 - 2024-06-20
-#### Bug Fixes
-- update init to bring in new datasets (#564) - (048e1d6) - Alex Peters
-#### Build system
-- Require deephaven-core>=0.34.0 for plotly-express (#469) - (c735dec) - mofojed
-#### Documentation
-- function autodocs embedded in docs (#527) - (6977a33) - Joe
-- add plotting sidebar and plotting docs edits (#519) - (a9840cb) - Don
-- initial rough draft of dx docs with templates (#487) - (50f6e9a) - Don
+
#### Features
-- ticking gapminder, wind, election datasets (#541) - (c8845b6) - Alex Peters
-- Ticking tips data set (#521) - (ed9baef) - Alex Peters
+
+- ticking gapminder, wind, election datasets ([#541](https://github.com/deephaven/deephaven-plugins/pull/541)) - (c8845b6) - Alex Peters
+- Ticking tips data set ([#521](https://github.com/deephaven/deephaven-plugins/pull/521)) - (ed9baef) - Alex Peters
+
+#### Bug Fixes
+
+- update init to bring in new datasets ([#564](https://github.com/deephaven/deephaven-plugins/pull/564)) - (048e1d6) - Alex Peters
+
#### Performance Improvements
-- minor improvement to dx.data.iris() time to display (#525) - (932a550) - Don
+
+- minor improvement to dx.data.iris() time to display ([#525](https://github.com/deephaven/deephaven-plugins/pull/525)) - (932a550) - dsmmcken
+
+#### Documentation
+
+- function autodocs embedded in docs ([#527](https://github.com/deephaven/deephaven-plugins/pull/527)) - (6977a33) - jnumainville
+- add plotting sidebar and plotting docs edits ([#519](https://github.com/deephaven/deephaven-plugins/pull/519)) - (a9840cb) - dsmmcken
+- initial rough draft of dx docs with templates ([#487](https://github.com/deephaven/deephaven-plugins/pull/487)) - (50f6e9a) - dsmmcken
+
#### Refactoring
-- re-write dx.data.iris() using px.data to calculate base mean/std (#509) - (58f8a97) - Don
+
+- re-write dx.data.iris() using px.data to calculate base mean/std ([#509](https://github.com/deephaven/deephaven-plugins/pull/509)) - (58f8a97) - dsmmcken
+
+#### Build system
+
+- Require deephaven-core>=0.34.0 for plotly-express ([#469](https://github.com/deephaven/deephaven-plugins/pull/469)) - (c735dec) - mofojed
- - -
## plotly-express-v0.8.0 - 2024-05-16
-#### Bug Fixes
-- Improve TimePreprocessor code (#455) - (be887f7) - Joe
+
#### Features
-- Plotly express downsampling (#453) - (0101436) - Matthew Runyon
+
+- Plotly express downsampling ([#453](https://github.com/deephaven/deephaven-plugins/pull/453)) - (0101436) - mattrunyon
+
+#### Bug Fixes
+
+- Improve TimePreprocessor code ([#455](https://github.com/deephaven/deephaven-plugins/pull/455)) - (be887f7) - jnumainville
+
#### Tests
-- bump ts, eslint and prettier configs (#416) - (a4761cc) - Don
+
+- bump ts, eslint and prettier configs ([#416](https://github.com/deephaven/deephaven-plugins/pull/416)) - (a4761cc) - dsmmcken
- - -
## plotly-express-v0.7.0 - 2024-04-03
-#### Bug Fixes
-- Ensure title is added to default figure (#396) - (2f0a8a0) - Joe
-- Deephaven express chart title does not update dynamically (#386) - (556d07c) - Matthew Runyon
+
#### Features
-- combine plotly plots into plotly-express plugin (#358) - (7a1893d) - Joe
-- Add python 3.12 testing (#398) - (241348f) - devinrsmith
+
+- combine plotly plots into plotly-express plugin ([#358](https://github.com/deephaven/deephaven-plugins/pull/358)) - (7a1893d) - jnumainville
+- Add python 3.12 testing ([#398](https://github.com/deephaven/deephaven-plugins/pull/398)) - (241348f) - devinrsmith
+
+#### Bug Fixes
+
+- Ensure title is added to default figure ([#396](https://github.com/deephaven/deephaven-plugins/pull/396)) - (2f0a8a0) - jnumainville
+- Deephaven express chart title does not update dynamically ([#386](https://github.com/deephaven/deephaven-plugins/pull/386)) - (556d07c) - mattrunyon
- - -
## plotly-express-v0.6.0 - 2024-03-19
+
#### Features
-- Package matplotlib and ui JS with wheel (#343) - (7724e55) - Joe
+
+- Package matplotlib and ui JS with wheel ([#343](https://github.com/deephaven/deephaven-plugins/pull/343)) - (7724e55) - jnumainville
- - -
## plotly-express-v0.5.0 - 2024-03-06
-#### Build system
-- Update dh ui packages to ^0.66.1 (#330) - (9433a98) - bmingles
+
+#### Breaking Changes
+
+- Export plotly-express as a dashboard plugin ([#329](https://github.com/deephaven/deephaven-plugins/pull/329)) - (6212bd5) - vbabich
+
#### Features
-- Export plotly-express as a dashboard plugin (#329) - (6212bd5) - vbabich
+
+- Export plotly-express as a dashboard plugin ([#329](https://github.com/deephaven/deephaven-plugins/pull/329)) - (6212bd5) - vbabich
+
+#### Build system
+
+- Update dh ui packages to ^0.66.1 ([#330](https://github.com/deephaven/deephaven-plugins/pull/330)) - (9433a98) - bmingles
- - -
## plotly-express-v0.4.1 - 2024-02-28
+
#### Bug Fixes
-- Scatter plots rendering at the wrong location (#324) - (dfe5c48) - mofojed
-- Type fixes and require pyright (#302) - (d5d003d) - Joe
+
+- Scatter plots rendering at the wrong location ([#324](https://github.com/deephaven/deephaven-plugins/pull/324)) - (dfe5c48) - mofojed
+- Type fixes and require pyright ([#302](https://github.com/deephaven/deephaven-plugins/pull/302)) - (d5d003d) - jnumainville
- - -
## plotly-express-v0.4.0 - 2024-02-20
+
+#### Features
+
+- Remove UI theme from PlotlyExpressChartModel ([#251](https://github.com/deephaven/deephaven-plugins/pull/251)) - (4cbe4ca) - mattrunyon
+
#### Bug Fixes
-- Deephaven express memory leak (#277) - (ff6ad50) - Matthew Runyon
+
+- Deephaven express memory leak ([#277](https://github.com/deephaven/deephaven-plugins/pull/277)) - (ff6ad50) - mattrunyon
+
#### Build system
-- Only install JS with Python with env var set (#285) - (22662df) - mofojed
-#### Features
-- Remove UI theme from PlotlyExpressChartModel (#251) - (4cbe4ca) - Matthew Runyon
+
+- Only install JS with Python with env var set ([#285](https://github.com/deephaven/deephaven-plugins/pull/285)) - (22662df) - mofojed
- - -
## plotly-express-v0.3.0 - 2024-02-12
+
+#### Features
+
+- Support lerna scopes in npm start ([#203](https://github.com/deephaven/deephaven-plugins/pull/203)) - (aab9591) - bmingles
+- Add plotly-express JsPlugin implementation and registration ([#150](https://github.com/deephaven/deephaven-plugins/pull/150)) - (d6d0416) - devinrsmith
+
#### Bug Fixes
-- Initial set of type fixes (#217) - (5c52488) - Joe
-- Version bump + loading spinner fixes (#243) - (aeb7796) - bmingles
-- Fixed time preprocessor test (#181) - (05bbd59) - Joe
+
+- Initial set of type fixes ([#217](https://github.com/deephaven/deephaven-plugins/pull/217)) - (5c52488) - jnumainville
+- Version bump + loading spinner fixes ([#243](https://github.com/deephaven/deephaven-plugins/pull/243)) - (aeb7796) - bmingles
+- Fixed time preprocessor test ([#181](https://github.com/deephaven/deephaven-plugins/pull/181)) - (05bbd59) - jnumainville
+
#### Build system
-- Post-release plotly-express bump to 0.3.0.dev0 (#173) - (0e69a02) - Joe
+
+- Post-release plotly-express bump to 0.3.0.dev0 ([#173](https://github.com/deephaven/deephaven-plugins/pull/173)) - (0e69a02) - jnumainville
+
+- - -
+
+## plotly-express-v0.2.0 - 2023-12-14
+
#### Features
-- Support lerna scopes in npm start (#203) - (aab9591) - bmingles
-- Add plotly-express JsPlugin implementation and registration (#150) - (d6d0416) - devinrsmith
+
+- plotly-express Deephaven UI widget loading ([#119](https://github.com/deephaven/deephaven-plugins/pull/119)) - (878aa91) - mattrunyon
+- bidirectional support ([#34](https://github.com/deephaven/deephaven-plugins/pull/34)) - (9e868ab) - jnumainville
+- Convert plotly-express to WidgetPlugin ([#104](https://github.com/deephaven/deephaven-plugins/pull/104)) - (44e4983) - mattrunyon
+- Adding maps ([#71](https://github.com/deephaven/deephaven-plugins/pull/71)) - (77507b9) - jnumainville
+
+#### Bug Fixes
+
+- type hint was wrong type in dx data generator ([#155](https://github.com/deephaven/deephaven-plugins/pull/155)) - (12802d4) - dsmmcken
+- histograms not rendering properly ([#141](https://github.com/deephaven/deephaven-plugins/pull/141)) - (1c272b2) - jnumainville
+- Set dtype_backend to None ([#136](https://github.com/deephaven/deephaven-plugins/pull/136)) - (8fccf21) - mofojed
+
+#### Build system
+
+- Version bump plotly-express to 0.2.0 ([#172](https://github.com/deephaven/deephaven-plugins/pull/172)) - (fb54a60) - jnumainville
+- Update plotly-express to v0.2.0dev1 ([#137](https://github.com/deephaven/deephaven-plugins/pull/137)) - (84c6092) - mofojed
+
+- - -
+
+## plotly-express-v0.1.0 - 2023-10-26
+
+#### Features
+
+- Auth keycloak plugin ([#19](https://github.com/deephaven/deephaven-plugins/pull/19)) - (8e77e7d) - mofojed
+
+#### Bug Fixes
+
+- Plotly express package.json main field ([#72](https://github.com/deephaven/deephaven-plugins/pull/72)) - (85e9acf) - mattrunyon
+- iris data should start with some data already ticked so docs don't show nothing ([#69](https://github.com/deephaven/deephaven-plugins/pull/69)) - (dd9513a) - dsmmcken
+- 3d view resetting on tick ([#45](https://github.com/deephaven/deephaven-plugins/pull/45)) - (695a667) - mattrunyon
+- Series colors when using plot_by symbol ([#33](https://github.com/deephaven/deephaven-plugins/pull/33)) - (89ebdbc) - mattrunyon
+
+#### Build system
+
+- Version bump dx to 0.1.0 ([#86](https://github.com/deephaven/deephaven-plugins/pull/86)) - (790b5b7) - jnumainville
- - -
-Changelog generated by [cocogitto](https://github.com/cocogitto/cocogitto).
\ No newline at end of file
diff --git a/plugins/plotly-express/docs/sidebar.json b/plugins/plotly-express/docs/sidebar.json
index 6d16dbe1c..18068425e 100644
--- a/plugins/plotly-express/docs/sidebar.json
+++ b/plugins/plotly-express/docs/sidebar.json
@@ -180,6 +180,10 @@
{
"label": "Example Data",
"path": "example-data.md"
+ },
+ {
+ "label": "Changelog",
+ "path": "changelog.md"
}
]
}
diff --git a/plugins/ui/CHANGELOG.md b/plugins/ui/CHANGELOG.md
index 39e34cb31..0a675abbc 100644
--- a/plugins/ui/CHANGELOG.md
+++ b/plugins/ui/CHANGELOG.md
@@ -1,689 +1,1089 @@
# Changelog
+
All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
- - -
+
## ui-v0.36.0 - 2026-05-06
+
#### Features
-- DH-22178: deephaven.ui context (#1334) - (e528392) - Joe
+
+- DH-22178: deephaven.ui context ([#1334](https://github.com/deephaven/deephaven-plugins/pull/1334)) - (e528392) - jnumainville
+
#### Documentation
-- DOC-1344: dh.ui improvements with confirmed details (#1338) - (bcd183f) - elijahpetty
+
+- DOC-1344: dh.ui improvements with confirmed details ([#1338](https://github.com/deephaven/deephaven-plugins/pull/1338)) - (bcd183f) - elijahpetty
- - -
## ui-v0.35.0 - 2026-04-22
+
#### Features
-- DH-21654: Routing hooks (#1319) - (95de68d) - Joe
-- DH-21376: Add heatmap support to ui.TableFormat (#1329) - (18af2da) - Germain
+
+- DH-21654: Routing hooks ([#1319](https://github.com/deephaven/deephaven-plugins/pull/1319)) - (95de68d) - jnumainville
+- DH-21376: Add heatmap support to ui.TableFormat ([#1329](https://github.com/deephaven/deephaven-plugins/pull/1329)) - (18af2da) - Germain
+
#### Bug Fixes
-- DH-21616: Databar overrides text color when using format prop (#1323) - (af9b1e1) - Germain
-#### Revert
-- "docs: DOC-1099: misc dh.ui doc improvements" (#1337) - (f73abf8) - Don
+
+- DH-21616: Databar overrides text color when using format prop ([#1323](https://github.com/deephaven/deephaven-plugins/pull/1323)) - (af9b1e1) - Germain
+
#### Documentation
-- DOC-1099: misc dh.ui doc improvements (#1331) - (59f0eff) - elijahpetty
+
+- DOC-1099: misc dh.ui doc improvements ([#1331](https://github.com/deephaven/deephaven-plugins/pull/1331)) - (59f0eff) - elijahpetty
+
+#### Revert
+
+- "docs: DOC-1099: misc dh.ui doc improvements" ([#1337](https://github.com/deephaven/deephaven-plugins/pull/1337)) - (f73abf8) - dsmmcken
- - -
## ui-v0.34.0 - 2026-03-26
+
#### Features
-- DH-21375: Integrate databars with UI table format (#1289) - (da5892b) - Germain
+
+- DH-21375: Integrate databars with UI table format ([#1289](https://github.com/deephaven/deephaven-plugins/pull/1289)) - (da5892b) - Germain
+
#### Bug Fixes
-- Fix a few type issues (#1320) - (65afb5f) - Joe
+
+- Fix a few type issues ([#1320](https://github.com/deephaven/deephaven-plugins/pull/1320)) - (65afb5f) - jnumainville
- - -
## ui-v0.33.0 - 2026-03-09
+
#### Features
-- (**ui**) DH-19818: add nested dashboard support (#1302) - (b8fd9ed) - *mofojed*
+
+- **(ui)** DH-19818: add nested dashboard support ([#1302](https://github.com/deephaven/deephaven-plugins/pull/1302)) - (b8fd9ed) - mofojed
- - -
## ui-v0.32.3 - 2026-03-05
+
#### Bug Fixes
-- DH-21449: Fix flickering from cloning all objects in apply patch (#1309) - (e72ee74) - dgodinez-dh
+
+- DH-21449: Fix flickering from cloning all objects in apply patch ([#1309](https://github.com/deephaven/deephaven-plugins/pull/1309)) - (e72ee74) - dgodinez-dh
- - -
## ui-v0.32.2 - 2026-02-19
+
#### Bug Fixes
-- DH-21670: Memory leak when using use_row_data hooks (#1305) - (274feda) - mofojed
-- DH-20953: AG Grid styling only worked when deephaven.ui installed (#1271) - (7dae890) - mofojed
-- DH-19973: Ad-hoc aggregations not persisting on UI Table (#1232) - (abedaee) - Matthew Runyon
+
+- DH-21670: Memory leak when using use_row_data hooks ([#1305](https://github.com/deephaven/deephaven-plugins/pull/1305)) - (274feda) - mofojed
+- DH-20953: AG Grid styling only worked when deephaven.ui installed ([#1271](https://github.com/deephaven/deephaven-plugins/pull/1271)) - (7dae890) - mofojed
+- DH-19973: Ad-hoc aggregations not persisting on UI Table ([#1232](https://github.com/deephaven/deephaven-plugins/pull/1232)) - (abedaee) - mattrunyon
+
#### Documentation
-- DOC-1109: Deephaven UI table docs should link to theme colors (p2 - fix link) (#1304) - (d1cb0cf) - elijahpetty
-- DOC-1109: Deephaven UI table docs should link to theme colors (#1294) - (65b1c50) - elijahpetty
-- DOC-1127: Clarify that all components re-render on state changes and emphasize use_memo for expensive calculations (#1291) - (b5c1f3d) - mofojed
-- DOC-824: multi select combo_box example (#1255) - (910d174) - ethanalvizo
-- Add active_item_index example to ui.stack documentation (#1258) - (ea7793e) - Copilot
-- Move always fetch columns section to events documentation (#1254) - (c2529ff) - Copilot
-- Update error message description in documentation (#1256) - (b7ace57) - Don
-- DOC-896: ui.table databar examples (#1235) - (0d94f49) - ethanalvizo
-- scrollable image (#1236) - (a0c06f1) - ethanalvizo
-- ui.TableFormat text alignment property example (#1229) - (1024cca) - Don
+
+- DOC-1109: Deephaven UI table docs should link to theme colors (p2 - fix link) ([#1304](https://github.com/deephaven/deephaven-plugins/pull/1304)) - (d1cb0cf) - elijahpetty
+- DOC-1109: Deephaven UI table docs should link to theme colors ([#1294](https://github.com/deephaven/deephaven-plugins/pull/1294)) - (65b1c50) - elijahpetty
+- DOC-1127: Clarify that all components re-render on state changes and emphasize use_memo for expensive calculations ([#1291](https://github.com/deephaven/deephaven-plugins/pull/1291)) - (b5c1f3d) - mofojed
+- DOC-824: multi select combo_box example ([#1255](https://github.com/deephaven/deephaven-plugins/pull/1255)) - (910d174) - ethanalvizo
+- Add active_item_index example to ui.stack documentation ([#1258](https://github.com/deephaven/deephaven-plugins/pull/1258)) - (ea7793e) - Copilot
+- Move always fetch columns section to events documentation ([#1254](https://github.com/deephaven/deephaven-plugins/pull/1254)) - (c2529ff) - Copilot
+- Update error message description in documentation ([#1256](https://github.com/deephaven/deephaven-plugins/pull/1256)) - (b7ace57) - dsmmcken
+- DOC-896: ui.table databar examples ([#1235](https://github.com/deephaven/deephaven-plugins/pull/1235)) - (0d94f49) - ethanalvizo
+- scrollable image ([#1236](https://github.com/deephaven/deephaven-plugins/pull/1236)) - (a0c06f1) - ethanalvizo
+- ui.TableFormat text alignment property example ([#1229](https://github.com/deephaven/deephaven-plugins/pull/1229)) - (1024cca) - dsmmcken
+
#### Build system
-- Update TypeScript to v5 (#1247) - (e98edd9) - mofojed
+
+- Update TypeScript to v5 ([#1247](https://github.com/deephaven/deephaven-plugins/pull/1247)) - (e98edd9) - mofojed
- - -
## ui-v0.32.1 - 2025-09-03
+
#### Bug Fixes
-- DH-18443: Fix `dx` and `dh.ui` tooltips (#1226) - (371bfcd) - Joe
+
+- DH-18443: Fix `dx` and `dh.ui` tooltips ([#1226](https://github.com/deephaven/deephaven-plugins/pull/1226)) - (371bfcd) - jnumainville
- - -
## ui-v0.32.0 - 2025-08-14
+
+#### Features
+
+- DH-10205: Enforce text alignment priority hierarchy in UI table ([#1219](https://github.com/deephaven/deephaven-plugins/pull/1219)) - (cc96a74) - Germain Zhang-Houle
+- Add ui.resolve to support URIs in dh.ui ([#1215](https://github.com/deephaven/deephaven-plugins/pull/1215)) - (bf2d51d) - mattrunyon
+- DH-19146: element plugin and template ([#1201](https://github.com/deephaven/deephaven-plugins/pull/1201)) - (f06b2cf) - jnumainville
+- DH-18601: Table plugin support on ui.table ([#1217](https://github.com/deephaven/deephaven-plugins/pull/1217)) - (2084cf5) - mattrunyon
+
#### Bug Fixes
-- DH-19988: Render error superceding document error on reinitialize (#1222) - (e5a97cb) - Matthew Runyon
+
+- DH-19988: Render error superceding document error on reinitialize ([#1222](https://github.com/deephaven/deephaven-plugins/pull/1222)) - (e5a97cb) - mattrunyon
+
#### Build system
-- Fix docs code fence plugin not registering py or groovy (#1220) - (96a6dc7) - Matthew Runyon
-#### Features
-- DH-10205: Enforce text alignment priority hierarchy in UI table (#1219) - (cc96a74) - Germain Zhang-Houle
-- Add ui.resolve to support URIs in dh.ui (#1215) - (bf2d51d) - Matthew Runyon
-- DH-19146: element plugin and template (#1201) - (f06b2cf) - Joe
-- DH-18601: Table plugin support on ui.table (#1217) - (2084cf5) - Matthew Runyon
+
+- Fix docs code fence plugin not registering py or groovy ([#1220](https://github.com/deephaven/deephaven-plugins/pull/1220)) - (96a6dc7) - mattrunyon
- - -
-## ui-v0.31.0 - 2025-07-16
+## ui-v0.31.4 - 2026-03-09
+
+#### Bug Fixes
+
+- DH-21449: Fix flickering from cloning all objects in apply patch… ([#1313](https://github.com/deephaven/deephaven-plugins/pull/1313)) - (eda29ae) - mofojed
+
+- - -
+
+## ui-v0.31.3 - 2025-10-17
+
+- - -
+
+## ui-v0.31.2 - 2025-10-15
+
+#### Bug Fixes
+
+- DH-19973: Ad-hoc aggregations not persisting on UI Table ([#1233](https://github.com/deephaven/deephaven-plugins/pull/1233)) - (30f9eb2) - mattrunyon
+
+- - -
+
+## ui-v0.31.1 - 2025-08-14
+
#### Bug Fixes
-- DH-19428: Make ui.image use crossorigin="anonymous" (#1211) - (39707ea) - mofojed
-- DOC-843: Update tutorial (#1212) - (725457b) - margaretkennedy
+
+- DH-19988: Render error superceding document error on reinitialize ([#1223](https://github.com/deephaven/deephaven-plugins/pull/1223)) - (736f2b2) - mattrunyon
+
+- - -
+
+## ui-v0.31.0 - 2025-07-16
+
#### Features
-- DH-18836 Add support for linker to UITable (#1187) - (b23ec3c) - Matthew Runyon
+
+- DH-18836 Add support for linker to UITable ([#1187](https://github.com/deephaven/deephaven-plugins/pull/1187)) - (b23ec3c) - mattrunyon
+
+#### Bug Fixes
+
+- DH-19428: Make ui.image use crossorigin="anonymous" ([#1211](https://github.com/deephaven/deephaven-plugins/pull/1211)) - (39707ea) - mofojed
+- DOC-843: Update tutorial ([#1212](https://github.com/deephaven/deephaven-plugins/pull/1212)) - (725457b) - margaretkennedy
- - -
## ui-v0.30.0 - 2025-07-09
+
+#### Features
+
+- DH-19292 Add ui.table selection event ([#1196](https://github.com/deephaven/deephaven-plugins/pull/1196)) - (85db04b) - mattrunyon
+- DH-18354 Add input filter support to UITable ([#1180](https://github.com/deephaven/deephaven-plugins/pull/1180)) - (edd9397) - mattrunyon
+- DH-19000: Persist deephaven UI table client-side state ([#1152](https://github.com/deephaven/deephaven-plugins/pull/1152)) - (e1a9971) - mattrunyon
+- DH-18349: Keep ui.tabs mounted when not active ([#1177](https://github.com/deephaven/deephaven-plugins/pull/1177)) - (c3c15e0) - mattrunyon
+- DH-18073: Static image creation for dx ([#1167](https://github.com/deephaven/deephaven-plugins/pull/1167)) - (650d496) - jnumainville
+
#### Bug Fixes
-- DH-19705: Query restart broke ui.dashboards (#1191) - (c38b786) - mofojed
-- DH-19696: Plotly objects were not loading correctly in deephaven.ui (#1189) - (e6af7dc) - mofojed
-#### Build system
-- Add snapshot generator (#1183) - (5b5ee61) - mofojed
+
+- DH-19705: Query restart broke ui.dashboards ([#1191](https://github.com/deephaven/deephaven-plugins/pull/1191)) - (c38b786) - mofojed
+- DH-19696: Plotly objects were not loading correctly in deephaven.ui ([#1189](https://github.com/deephaven/deephaven-plugins/pull/1189)) - (e6af7dc) - mofojed
+
#### Documentation
-- DOC-759: warnings when building deephaven UI docs (#1182) - (d1d7e00) - Germain Zhang-Houle
-- Fix tutorial doc to not display error (#1169) - (766ec08) - mofojed
-- Fix deephaven.ui code blocks that have errors (#1166) - (51be97d) - mofojed
-- Apply miscellaneous fixes to deephaven.ui docs (#1162) - (01693d7) - arman-ddl
-- Add ui component overview page, adjust sidebar (#1161) - (9ba7f2c) - Don
-- escape hatches (#1158) - (4b40e2c) - dgodinez-dh
-- size and theme (#1156) - (d564c2d) - dgodinez-dh
-#### Features
-- DH-19292 Add ui.table selection event (#1196) - (85db04b) - Matthew Runyon
-- DH-18354 Add input filter support to UITable (#1180) - (edd9397) - Matthew Runyon
-- DH-19000: Persist deephaven UI table client-side state (#1152) - (e1a9971) - Matthew Runyon
-- DH-18349: Keep ui.tabs mounted when not active (#1177) - (c3c15e0) - Matthew Runyon
-- DH-18073: Static image creation for dx (#1167) - (650d496) - Joe
+
+- DOC-759: warnings when building deephaven UI docs ([#1182](https://github.com/deephaven/deephaven-plugins/pull/1182)) - (d1d7e00) - Germain Zhang-Houle
+- Fix tutorial doc to not display error ([#1169](https://github.com/deephaven/deephaven-plugins/pull/1169)) - (766ec08) - mofojed
+- Fix deephaven.ui code blocks that have errors ([#1166](https://github.com/deephaven/deephaven-plugins/pull/1166)) - (51be97d) - mofojed
+- Apply miscellaneous fixes to deephaven.ui docs ([#1162](https://github.com/deephaven/deephaven-plugins/pull/1162)) - (01693d7) - arman-ddl
+- Add ui component overview page, adjust sidebar ([#1161](https://github.com/deephaven/deephaven-plugins/pull/1161)) - (9ba7f2c) - dsmmcken
+- escape hatches ([#1158](https://github.com/deephaven/deephaven-plugins/pull/1158)) - (4b40e2c) - dgodinez-dh
+- size and theme ([#1156](https://github.com/deephaven/deephaven-plugins/pull/1156)) - (d564c2d) - dgodinez-dh
+
+#### Build system
+
+- Add snapshot generator ([#1183](https://github.com/deephaven/deephaven-plugins/pull/1183)) - (5b5ee61) - mofojed
+
+- - -
+
+## ui-v0.29.4 - 2025-06-27
+
+#### Bug Fixes
+
+- DH-18073: ui.image convert bytes to str ([#1199](https://github.com/deephaven/deephaven-plugins/pull/1199)) - (b6d3230) - mofojed
+
+- - -
+
+## ui-v0.29.3 - 2025-06-24
+
+#### Bug Fixes
+
+- DH-19705: Query restart broke ui.dashboards ([#1190](https://github.com/deephaven/deephaven-plugins/pull/1190)) - (c57be53) - mofojed
+- DH-19696: Plotly objects were not loading correctly in deephaven… ([#1192](https://github.com/deephaven/deephaven-plugins/pull/1192)) - (a98604e) - mofojed
- - -
## ui-v0.29.2 - 2025-04-08
+
#### Bug Fixes
-- remove incorrect defaults in ui.grid to fix auto (#1154) - (684e5fc) - dgodinez-dh
+
+- remove incorrect defaults in ui.grid to fix auto ([#1154](https://github.com/deephaven/deephaven-plugins/pull/1154)) - (684e5fc) - dgodinez-dh
- - -
## ui-v0.29.1 - 2025-04-01
+
#### Bug Fixes
-- Handle a null jsonClient correctly (DH-18461) (#1138) - (1852554) - mofojed
-- Unwanted linebreaks in `tutorial.md` (#1133) - (63d6e66) - Joe
+
+- Handle a null jsonClient correctly (DH-18461) ([#1138](https://github.com/deephaven/deephaven-plugins/pull/1138)) - (1852554) - mofojed
+- Unwanted linebreaks in `tutorial.md` ([#1133](https://github.com/deephaven/deephaven-plugins/pull/1133)) - (63d6e66) - jnumainville
+
#### Documentation
-- component doc for ui.grid (#1148) - (e6996c1) - dgodinez-dh
-- Fixing docs links (#1139) - (328802e) - Matthew Runyon
+
+- component doc for ui.grid ([#1148](https://github.com/deephaven/deephaven-plugins/pull/1148)) - (e6996c1) - dgodinez-dh
+- Fixing docs links ([#1139](https://github.com/deephaven/deephaven-plugins/pull/1139)) - (328802e) - mattrunyon
+
#### Refactoring
-- Remove fast-deep-equal from UITable (#1140) - (f1054ee) - mofojed
+
+- Remove fast-deep-equal from UITable ([#1140](https://github.com/deephaven/deephaven-plugins/pull/1140)) - (f1054ee) - mofojed
- - -
## ui-v0.29.0 - 2025-03-19
+
+#### Features
+
+- DH-18652 Programmatically display aggregates rows with ui.table ([#1131](https://github.com/deephaven/deephaven-plugins/pull/1131)) - (4437252) - mattrunyon
+- List format options for ui.labeled_value ([#1137](https://github.com/deephaven/deephaven-plugins/pull/1137)) - (7d0915b) - Eric Lin
+- dates and date formatting for ui.labeled_value ([#1128](https://github.com/deephaven/deephaven-plugins/pull/1128)) - (f1b896f) - Eric Lin
+
#### Bug Fixes
-- Re-opening widget would break interactivity (DH-18090) (#1143) - (8f73a3d) - mofojed
-- wrong date converter for day granularity (#1132) - (9d277ab) - dgodinez-dh
-#### Build system
-- Add custom sphinx translator to fix relative image paths in output (#1136) - (fa6615e) - Matthew Runyon
+
+- Re-opening widget would break interactivity (DH-18090) ([#1143](https://github.com/deephaven/deephaven-plugins/pull/1143)) - (8f73a3d) - mofojed
+- wrong date converter for day granularity ([#1132](https://github.com/deephaven/deephaven-plugins/pull/1132)) - (9d277ab) - dgodinez-dh
+
#### Documentation
-- creating dashboards (#1127) - (73607fd) - dgodinez-dh
-- layout overview (#1120) - (6f95184) - dgodinez-dh
-- snapshots for components (#1123) - (a8c5303) - ethanalvizo
-#### Features
-- DH-18652 Programmatically display aggregates rows with ui.table (#1131) - (4437252) - Matthew Runyon
-- List format options for ui.labeled_value (#1137) - (7d0915b) - Eric Lin
-- dates and date formatting for ui.labeled_value (#1128) - (f1b896f) - Eric Lin
+
+- creating dashboards ([#1127](https://github.com/deephaven/deephaven-plugins/pull/1127)) - (73607fd) - dgodinez-dh
+- layout overview ([#1120](https://github.com/deephaven/deephaven-plugins/pull/1120)) - (6f95184) - dgodinez-dh
+- snapshots for components ([#1123](https://github.com/deephaven/deephaven-plugins/pull/1123)) - (a8c5303) - ethanalvizo
+
+#### Build system
+
+- Add custom sphinx translator to fix relative image paths in output ([#1136](https://github.com/deephaven/deephaven-plugins/pull/1136)) - (fa6615e) - mattrunyon
- - -
## ui-v0.28.1 - 2025-03-07
+
#### Bug Fixes
-- ui.dialog should throw error for invalid children (#1130) - (66aec06) - dgodinez-dh
+
+- ui.dialog should throw error for invalid children ([#1130](https://github.com/deephaven/deephaven-plugins/pull/1130)) - (66aec06) - dgodinez-dh
+
#### Documentation
-- add missing api reference for ui.action_group (#1124) - (a04dee5) - Don
-- update tables in state (#1121) - (3a0a682) - dgodinez-dh
+
+- add missing api reference for ui.action_group ([#1124](https://github.com/deephaven/deephaven-plugins/pull/1124)) - (a04dee5) - dsmmcken
+- update tables in state ([#1121](https://github.com/deephaven/deephaven-plugins/pull/1121)) - (3a0a682) - dgodinez-dh
- - -
## ui-v0.28.0 - 2025-03-03
+
#### Features
-- color picker (#1086) - (9174c56) - ethanalvizo
-- Document delta updates (DH-18090) (#1119) - (3ac3a22) - mofojed
+
+- color picker ([#1086](https://github.com/deephaven/deephaven-plugins/pull/1086)) - (9174c56) - ethanalvizo
+- Document delta updates (DH-18090) ([#1119](https://github.com/deephaven/deephaven-plugins/pull/1119)) - (3ac3a22) - mofojed
- - -
## ui-v0.27.0 - 2025-02-26
+
+#### Features
+
+- UI table respond to non-primitive prop changes ([#1046](https://github.com/deephaven/deephaven-plugins/pull/1046)) - (024811d) - mattrunyon
+- accordion ([#1075](https://github.com/deephaven/deephaven-plugins/pull/1075)) - (76b6195) - ethanalvizo
+
#### Bug Fixes
-- Callable cleanup race (DH-18536) (#1113) - (34c0b60) - mofojed
+
+- Callable cleanup race (DH-18536) ([#1113](https://github.com/deephaven/deephaven-plugins/pull/1113)) - (34c0b60) - mofojed
+
#### Documentation
-- preserving and resetting state (#1118) - (374a9e9) - dgodinez-dh
-- share state between components (#1116) - (66fdee9) - dgodinez-dh
-- choose the state structure (#1114) - (838741f) - dgodinez-dh
-- update plotting (#1101) - (2c5ba66) - dgodinez-dh
-- update lists in state (#1097) - (c45c5f5) - dgodinez-dh
-- queueing a series of updates (#1095) - (d5dee4d) - dgodinez-dh
-- react to input with state (#1105) - (11b2335) - dgodinez-dh
-- add docs attribution statement, purge the readme content (#1111) - (98c9c27) - Don
-#### Features
-- UI table respond to non-primitive prop changes (#1046) - (024811d) - Matthew Runyon
-- accordion (#1075) - (76b6195) - ethanalvizo
+
+- preserving and resetting state ([#1118](https://github.com/deephaven/deephaven-plugins/pull/1118)) - (374a9e9) - dgodinez-dh
+- share state between components ([#1116](https://github.com/deephaven/deephaven-plugins/pull/1116)) - (66fdee9) - dgodinez-dh
+- choose the state structure ([#1114](https://github.com/deephaven/deephaven-plugins/pull/1114)) - (838741f) - dgodinez-dh
+- update plotting ([#1101](https://github.com/deephaven/deephaven-plugins/pull/1101)) - (2c5ba66) - dgodinez-dh
+- update lists in state ([#1097](https://github.com/deephaven/deephaven-plugins/pull/1097)) - (c45c5f5) - dgodinez-dh
+- queueing a series of updates ([#1095](https://github.com/deephaven/deephaven-plugins/pull/1095)) - (d5dee4d) - dgodinez-dh
+- react to input with state ([#1105](https://github.com/deephaven/deephaven-plugins/pull/1105)) - (11b2335) - dgodinez-dh
+- add docs attribution statement, purge the readme content ([#1111](https://github.com/deephaven/deephaven-plugins/pull/1111)) - (98c9c27) - dsmmcken
- - -
## ui-v0.26.1 - 2025-02-06
+
#### Bug Fixes
-- DH-18415: Cannot expand rows after applying rollup to ui.table (#1109) - (0d09ef4) - Matthew Runyon
+
+- DH-18415: Cannot expand rows after applying rollup to ui.table ([#1109](https://github.com/deephaven/deephaven-plugins/pull/1109)) - (0d09ef4) - mattrunyon
- - -
## ui-v0.26.0 - 2025-02-06
+
+#### Features
+
+- disclosure ([#1068](https://github.com/deephaven/deephaven-plugins/pull/1068)) - (6934bf2) - ethanalvizo
+- ui.footer ([#1100](https://github.com/deephaven/deephaven-plugins/pull/1100)) - (9b38e75) - Eric Lin
+- ui.breadcrumbs ([#1094](https://github.com/deephaven/deephaven-plugins/pull/1094)) - (312af69) - Eric Lin
+- ui.tag_group ([#1090](https://github.com/deephaven/deephaven-plugins/pull/1090)) - (05eb407) - Eric Lin
+- ui.labeled_value ([#1029](https://github.com/deephaven/deephaven-plugins/pull/1029)) - (8f278a7) - Akshat Jawne
+- ui.divider ([#1047](https://github.com/deephaven/deephaven-plugins/pull/1047)) - (0a1b861) - Akshat Jawne
+
#### Bug Fixes
-- ui.markdown was styling code incorrectly (#1106) - (c84db85) - mofojed
-- Make docs links passthrough (#1085) - (2ef0ddb) - Joe
-- Ensure ReactPanelErrorBoundary handles undefined children (#1089) - (e622b83) - mofojed
+
+- ui.markdown was styling code incorrectly ([#1106](https://github.com/deephaven/deephaven-plugins/pull/1106)) - (c84db85) - mofojed
+- Make docs links passthrough ([#1085](https://github.com/deephaven/deephaven-plugins/pull/1085)) - (2ef0ddb) - jnumainville
+- Ensure ReactPanelErrorBoundary handles undefined children ([#1089](https://github.com/deephaven/deephaven-plugins/pull/1089)) - (e622b83) - mofojed
+
#### Documentation
-- update dictionaries in state (#1096) - (120ac06) - dgodinez-dh
-- update work with tables (#1098) - (bd9d20d) - dgodinez-dh
-- Fix menu_trigger snippet (#1099) - (3847a35) - vbabich
-- state as a snapshot (#1093) - (2b4d8ea) - dgodinez-dh
-- render cycle (#1087) - (fece0a7) - dgodinez-dh
-- state a component's memory (#1084) - (bed23d8) - dgodinez-dh
-- respond to events (#1083) - (17c6635) - dgodinez-dh
-- deephaven.ui dashboard crash course (#1057) - (185b0dc) - Joe
-#### Features
-- disclosure (#1068) - (6934bf2) - ethanalvizo
-- ui.footer (#1100) - (9b38e75) - Eric Lin
-- ui.breadcrumbs (#1094) - (312af69) - Eric Lin
-- ui.tag_group (#1090) - (05eb407) - Eric Lin
-- ui.labeled_value (#1029) - (8f278a7) - Akshat Jawne
-- ui.divider (#1047) - (0a1b861) - Akshat Jawne
+
+- update dictionaries in state ([#1096](https://github.com/deephaven/deephaven-plugins/pull/1096)) - (120ac06) - dgodinez-dh
+- update work with tables ([#1098](https://github.com/deephaven/deephaven-plugins/pull/1098)) - (bd9d20d) - dgodinez-dh
+- Fix menu_trigger snippet ([#1099](https://github.com/deephaven/deephaven-plugins/pull/1099)) - (3847a35) - vbabich
+- state as a snapshot ([#1093](https://github.com/deephaven/deephaven-plugins/pull/1093)) - (2b4d8ea) - dgodinez-dh
+- render cycle ([#1087](https://github.com/deephaven/deephaven-plugins/pull/1087)) - (fece0a7) - dgodinez-dh
+- state a component's memory ([#1084](https://github.com/deephaven/deephaven-plugins/pull/1084)) - (bed23d8) - dgodinez-dh
+- respond to events ([#1083](https://github.com/deephaven/deephaven-plugins/pull/1083)) - (17c6635) - dgodinez-dh
+- deephaven.ui dashboard crash course ([#1057](https://github.com/deephaven/deephaven-plugins/pull/1057)) - (185b0dc) - jnumainville
- - -
## ui-v0.25.0 - 2025-01-15
+
+#### Features
+
+- ui.menu component ([#1076](https://github.com/deephaven/deephaven-plugins/pull/1076)) - (cf23da1) - dgodinez-dh
+- ui.logic button ([#1050](https://github.com/deephaven/deephaven-plugins/pull/1050)) - (7c83ec2) - ethanalvizo
+- add undefined type option ([#1026](https://github.com/deephaven/deephaven-plugins/pull/1026)) - (ef7e741) - Steven Wu
+
#### Bug Fixes
-- add menu and menu_trigger to sidebar (#1078) - (49ad632) - dgodinez-dh
-- Allow autodoc functions to have no parameters (#1072) - (6b261d6) - Joe
-- label prop typing (#1071) - (716b3d9) - Steven Wu
+
+- add menu and menu_trigger to sidebar ([#1078](https://github.com/deephaven/deephaven-plugins/pull/1078)) - (49ad632) - dgodinez-dh
+- Allow autodoc functions to have no parameters ([#1072](https://github.com/deephaven/deephaven-plugins/pull/1072)) - (6b261d6) - jnumainville
+- label prop typing ([#1071](https://github.com/deephaven/deephaven-plugins/pull/1071)) - (716b3d9) - Steven Wu
+
#### Documentation
-- use_render_queue, use_liveness_scope, use_table_listener docs (#1044) - (abd691e) - mofojed
-- Expand sidebars by default for certain categories, add link to flexbox froggy (#1073) - (e76591d) - Don
-- ui.list_view selection_mode (#1070) - (b51373f) - bmingles
-- ui as a tree (#1067) - (2e1a725) - dgodinez-dh
-- Render Lists (#1061) - (30a1f9f) - dgodinez-dh
-- Pure Components (#1064) - (30f3730) - dgodinez-dh
-- Using Hooks (#1056) - (28b5a51) - dgodinez-dh
-- Component Rules (#1055) - (21e8c5d) - dgodinez-dh
-- Update First Component (#1065) - (a6d1aad) - dgodinez-dh
-- Conditional Rendering (#1060) - (0ce7634) - dgodinez-dh
-#### Features
-- ui.menu component (#1076) - (cf23da1) - dgodinez-dh
-- ui.logic button (#1050) - (7c83ec2) - ethanalvizo
-- add undefined type option (#1026) - (ef7e741) - Steven Wu
+
+- use_render_queue, use_liveness_scope, use_table_listener docs ([#1044](https://github.com/deephaven/deephaven-plugins/pull/1044)) - (abd691e) - mofojed
+- Expand sidebars by default for certain categories, add link to flexbox froggy ([#1073](https://github.com/deephaven/deephaven-plugins/pull/1073)) - (e76591d) - dsmmcken
+- ui.list_view selection_mode ([#1070](https://github.com/deephaven/deephaven-plugins/pull/1070)) - (b51373f) - bmingles
+- ui as a tree ([#1067](https://github.com/deephaven/deephaven-plugins/pull/1067)) - (2e1a725) - dgodinez-dh
+- Render Lists ([#1061](https://github.com/deephaven/deephaven-plugins/pull/1061)) - (30a1f9f) - dgodinez-dh
+- Pure Components ([#1064](https://github.com/deephaven/deephaven-plugins/pull/1064)) - (30f3730) - dgodinez-dh
+- Using Hooks ([#1056](https://github.com/deephaven/deephaven-plugins/pull/1056)) - (28b5a51) - dgodinez-dh
+- Component Rules ([#1055](https://github.com/deephaven/deephaven-plugins/pull/1055)) - (21e8c5d) - dgodinez-dh
+- Update First Component ([#1065](https://github.com/deephaven/deephaven-plugins/pull/1065)) - (a6d1aad) - dgodinez-dh
+- Conditional Rendering ([#1060](https://github.com/deephaven/deephaven-plugins/pull/1060)) - (0ce7634) - dgodinez-dh
- - -
## ui-v0.24.0 - 2024-12-12
+
+#### Features
+
+- ui.meter ([#1032](https://github.com/deephaven/deephaven-plugins/pull/1032)) - (6730aa9) - ethanalvizo
+- ui.avatar ([#1027](https://github.com/deephaven/deephaven-plugins/pull/1027)) - (2738a1d) - Akshat Jawne
+- Toast Implementation ([#1030](https://github.com/deephaven/deephaven-plugins/pull/1030)) - (e53b322) - dgodinez-dh
+
#### Bug Fixes
-- UI loading duplicate panels in embed iframe (#1043) - (e1559a4) - Matthew Runyon
+
+- UI loading duplicate panels in embed iframe ([#1043](https://github.com/deephaven/deephaven-plugins/pull/1043)) - (e1559a4) - mattrunyon
+
#### Documentation
-- Working with Tables (#1059) - (6e73350) - dgodinez-dh
-- Importing and Exporting Components (#1054) - (21b752c) - dgodinez-dh
-- Your First Component (#1052) - (ce3843a) - dgodinez-dh
-- Add Stack with tabs to dashboard docs (#1048) - (cf0c994) - mofojed
-#### Features
-- ui.meter (#1032) - (6730aa9) - ethanalvizo
-- ui.avatar (#1027) - (2738a1d) - Akshat Jawne
-- Toast Implementation (#1030) - (e53b322) - dgodinez-dh
+
+- Working with Tables ([#1059](https://github.com/deephaven/deephaven-plugins/pull/1059)) - (6e73350) - dgodinez-dh
+- Importing and Exporting Components ([#1054](https://github.com/deephaven/deephaven-plugins/pull/1054)) - (21b752c) - dgodinez-dh
+- Your First Component ([#1052](https://github.com/deephaven/deephaven-plugins/pull/1052)) - (ce3843a) - dgodinez-dh
+- Add Stack with tabs to dashboard docs ([#1048](https://github.com/deephaven/deephaven-plugins/pull/1048)) - (cf0c994) - mofojed
- - -
-## ui-v0.23.1 - 2024-11-23
+## ui-v0.23.3 - 2025-01-21
+
+#### Bug Fixes
+
+- Ensure ReactPanelErrorBoundary handles undefined children ([#1092](https://github.com/deephaven/deephaven-plugins/pull/1092)) - (2c31622) - mofojed
- - -
-## ui-v0.23.0 - 2024-11-23
+## ui-v0.23.2 - 2025-01-13
+
#### Bug Fixes
-- missing sidebar docs (#1018) - (00c2181) - ethanalvizo
-- Re-running ui code initially rendering the old document (#1017) - (b3f5459) - Matthew Runyon
-- Resize contextual help popup for widget error messages (#995) - (3a74733) - mofojed
-- to_camel_case fails on leading or trailing underscores (#979) - (08ff89c) - Matthew Runyon
-- slider input default value (#959) - (3a448ea) - Steven Wu
-- text input default value (#958) - (0ac72be) - Steven Wu
-- set necessity_indicator default to None (#947) - (3b25024) - Steven Wu
-- contextual_help uses heading, content, footer props (#945) - (d7bcc22) - Steven Wu
-- number field format options (#827) - (317e80b) - ethanalvizo
-- button group align (#917) - (aac6593) - Steven Wu
-#### Build system
-- Update required versions (#1020) - (cb28447) - mofojed
+
+- UI loading duplicate panels in embed iframe ([#1082](https://github.com/deephaven/deephaven-plugins/pull/1082)) - (928ee35) - mofojed
+
+- - -
+
+## ui-v0.23.1 - 2024-11-22
+
+- - -
+
+## ui-v0.23.0 - 2024-11-22
+
+#### Breaking Changes
+
+- dashboard ([#814](https://github.com/deephaven/deephaven-plugins/pull/814)) - (4114ecc) - ethanalvizo
+- contextual_help uses heading, content, footer props ([#945](https://github.com/deephaven/deephaven-plugins/pull/945)) - (d7bcc22) - Steven Wu
+
+#### Features
+
+- ui.search_field ([#999](https://github.com/deephaven/deephaven-plugins/pull/999)) - (063f39a) - ethanalvizo
+- ui.inline_alert ([#1007](https://github.com/deephaven/deephaven-plugins/pull/1007)) - (cfd6410) - Akshat Jawne
+- Show loading spinners immediately in ui ([#1023](https://github.com/deephaven/deephaven-plugins/pull/1023)) - (3748dac) - mattrunyon
+- Show loading panel immediately for deephaven UI - (dcbfdab) - mattrunyon
+- Column sources for ui.table formatting ([#1010](https://github.com/deephaven/deephaven-plugins/pull/1010)) - (c25f578) - mattrunyon
+- Add column_display_names to ui.table ([#1008](https://github.com/deephaven/deephaven-plugins/pull/1008)) - (1343ec8) - mattrunyon
+- ui.markdown component ([#987](https://github.com/deephaven/deephaven-plugins/pull/987)) - (7ec5060) - Steven Wu
+- ui.badge ([#973](https://github.com/deephaven/deephaven-plugins/pull/973)) - (55e8ce2) - Akshat Jawne
+- ui.link ([#980](https://github.com/deephaven/deephaven-plugins/pull/980)) - (2f07d2e) - Akshat Jawne
+- Add useConditionalCallback hook ([#993](https://github.com/deephaven/deephaven-plugins/pull/993)) - (512fab2) - mofojed
+- UI table formatting ([#950](https://github.com/deephaven/deephaven-plugins/pull/950)) - (b9109e0) - mattrunyon
+- UI Dialog and DialogTrigger Components ([#953](https://github.com/deephaven/deephaven-plugins/pull/953)) - (0fbae91) - dgodinez-dh
+- Add standard style props to UI table ([#921](https://github.com/deephaven/deephaven-plugins/pull/921)) - (46f236e) - mattrunyon
+- ui.markdown component ([#903](https://github.com/deephaven/deephaven-plugins/pull/903)) - (0d1eea8) - Steven Wu
+- ui.checkbox_group ([#813](https://github.com/deephaven/deephaven-plugins/pull/813)) - (8901fad) - Akshat Jawne
+- UI Component Range Calendar ([#930](https://github.com/deephaven/deephaven-plugins/pull/930)) - (fde198c) - dgodinez-dh
+- ui.table always_fetch_columns ([#929](https://github.com/deephaven/deephaven-plugins/pull/929)) - (7f8c023) - mattrunyon
+- ui.progress_bar and ui.progress_circle ([#892](https://github.com/deephaven/deephaven-plugins/pull/892)) - (1ea206e) - Steven Wu
+- UI Calendar Component ([#918](https://github.com/deephaven/deephaven-plugins/pull/918)) - (90b27b1) - dgodinez-dh
+
+#### Bug Fixes
+
+- missing sidebar docs ([#1018](https://github.com/deephaven/deephaven-plugins/pull/1018)) - (00c2181) - ethanalvizo
+- Re-running ui code initially rendering the old document ([#1017](https://github.com/deephaven/deephaven-plugins/pull/1017)) - (b3f5459) - mattrunyon
+- Resize contextual help popup for widget error messages ([#995](https://github.com/deephaven/deephaven-plugins/pull/995)) - (3a74733) - mofojed
+- to_camel_case fails on leading or trailing underscores ([#979](https://github.com/deephaven/deephaven-plugins/pull/979)) - (08ff89c) - mattrunyon
+- slider input default value ([#959](https://github.com/deephaven/deephaven-plugins/pull/959)) - (3a448ea) - Steven Wu
+- text input default value ([#958](https://github.com/deephaven/deephaven-plugins/pull/958)) - (0ac72be) - Steven Wu
+- set necessity_indicator default to None ([#947](https://github.com/deephaven/deephaven-plugins/pull/947)) - (3b25024) - Steven Wu
+- contextual_help uses heading, content, footer props ([#945](https://github.com/deephaven/deephaven-plugins/pull/945)) - (d7bcc22) - Steven Wu
+- number field format options ([#827](https://github.com/deephaven/deephaven-plugins/pull/827)) - (317e80b) - ethanalvizo
+- button group align ([#917](https://github.com/deephaven/deephaven-plugins/pull/917)) - (aac6593) - Steven Wu
+
#### Documentation
-- Add docs for use_callback, use_ref, hooks overview page (#1012) - (701b004) - mofojed
-- form (#925) - (2eb5fab) - ethanalvizo
-- Add architecture document (#949) - (6ae6493) - mofojed
-- ui.tabs (#943) - (bbe18e3) - Akshat Jawne
-- ui.contextual_help (#974) - (e3c5540) - Akshat Jawne
-- panel (#964) - (1eecb75) - ethanalvizo
-- fragment (#962) - (954184c) - ethanalvizo
-- flex (#785) - (54337d1) - ethanalvizo
-- ui.action_menu (#928) - (992bd33) - Akshat Jawne
-- update README.md (#975) - (f7ee1a6) - margaretkennedy
-- dashboard (#814) - (4114ecc) - ethanalvizo
-- number field (#932) - (ada2acc) - ethanalvizo
-- Mention Deephaven version where `server-ui` Docker image is mentioned (#951) - (1fac6af) - JJ Brosnan
-- Table formatting spec (#889) - (f79224a) - Matthew Runyon
-- list view (#769) - (37cb5a7) - ethanalvizo
-- ui.toggle_button (#927) - (93ca388) - Akshat Jawne
-- ui.button_group (#910) - (0ccd557) - Akshat Jawne
-- icon (#774) - (afa4faf) - ethanalvizo
-- ui.heading (#908) - (863655b) - Akshat Jawne
-- ui.text (#907) - (68b6515) - Akshat Jawne
-- ui.action_group (#895) - (356d33a) - Akshat Jawne
-#### Features
-- ui.search_field (#999) - (063f39a) - ethanalvizo
-- ui.inline_alert (#1007) - (cfd6410) - Akshat Jawne
-- Show loading spinners immediately in ui (#1023) - (3748dac) - Matthew Runyon
-- Show loading panel immediately for deephaven UI - (dcbfdab) - Matthew Runyon
-- Column sources for ui.table formatting (#1010) - (c25f578) - Matthew Runyon
-- Add column_display_names to ui.table (#1008) - (1343ec8) - Matthew Runyon
-- ui.markdown component (#987) - (7ec5060) - Steven Wu
-- ui.badge (#973) - (55e8ce2) - Akshat Jawne
-- ui.link (#980) - (2f07d2e) - Akshat Jawne
-- Add useConditionalCallback hook (#993) - (512fab2) - mofojed
-- UI table formatting (#950) - (b9109e0) - Matthew Runyon
-- UI Dialog and DialogTrigger Components (#953) - (0fbae91) - dgodinez-dh
-- Add standard style props to UI table (#921) - (46f236e) - Matthew Runyon
-- ui.markdown component (#903) - (0d1eea8) - Steven Wu
-- ui.checkbox_group (#813) - (8901fad) - Akshat Jawne
-- UI Component Range Calendar (#930) - (fde198c) - dgodinez-dh
-- ui.table always_fetch_columns (#929) - (7f8c023) - Matthew Runyon
-- ui.progress_bar and ui.progress_circle (#892) - (1ea206e) - Steven Wu
-- UI Calendar Component (#918) - (90b27b1) - dgodinez-dh
+
+- Add docs for use_callback, use_ref, hooks overview page ([#1012](https://github.com/deephaven/deephaven-plugins/pull/1012)) - (701b004) - mofojed
+- form ([#925](https://github.com/deephaven/deephaven-plugins/pull/925)) - (2eb5fab) - ethanalvizo
+- Add architecture document ([#949](https://github.com/deephaven/deephaven-plugins/pull/949)) - (6ae6493) - mofojed
+- ui.tabs ([#943](https://github.com/deephaven/deephaven-plugins/pull/943)) - (bbe18e3) - Akshat Jawne
+- ui.contextual_help ([#974](https://github.com/deephaven/deephaven-plugins/pull/974)) - (e3c5540) - Akshat Jawne
+- panel ([#964](https://github.com/deephaven/deephaven-plugins/pull/964)) - (1eecb75) - ethanalvizo
+- fragment ([#962](https://github.com/deephaven/deephaven-plugins/pull/962)) - (954184c) - ethanalvizo
+- flex ([#785](https://github.com/deephaven/deephaven-plugins/pull/785)) - (54337d1) - ethanalvizo
+- ui.action_menu ([#928](https://github.com/deephaven/deephaven-plugins/pull/928)) - (992bd33) - Akshat Jawne
+- update README.md ([#975](https://github.com/deephaven/deephaven-plugins/pull/975)) - (f7ee1a6) - margaretkennedy
+- dashboard ([#814](https://github.com/deephaven/deephaven-plugins/pull/814)) - (4114ecc) - ethanalvizo
+- number field ([#932](https://github.com/deephaven/deephaven-plugins/pull/932)) - (ada2acc) - ethanalvizo
+- Mention Deephaven version where `server-ui` Docker image is mentioned ([#951](https://github.com/deephaven/deephaven-plugins/pull/951)) - (1fac6af) - JJ Brosnan
+- Table formatting spec ([#889](https://github.com/deephaven/deephaven-plugins/pull/889)) - (f79224a) - mattrunyon
+- list view ([#769](https://github.com/deephaven/deephaven-plugins/pull/769)) - (37cb5a7) - ethanalvizo
+- ui.toggle_button ([#927](https://github.com/deephaven/deephaven-plugins/pull/927)) - (93ca388) - Akshat Jawne
+- ui.button_group ([#910](https://github.com/deephaven/deephaven-plugins/pull/910)) - (0ccd557) - Akshat Jawne
+- icon ([#774](https://github.com/deephaven/deephaven-plugins/pull/774)) - (afa4faf) - ethanalvizo
+- ui.heading ([#908](https://github.com/deephaven/deephaven-plugins/pull/908)) - (863655b) - Akshat Jawne
+- ui.text ([#907](https://github.com/deephaven/deephaven-plugins/pull/907)) - (68b6515) - Akshat Jawne
+- ui.action_group ([#895](https://github.com/deephaven/deephaven-plugins/pull/895)) - (356d33a) - Akshat Jawne
+
#### Refactoring
-- Separate remove_empty_keys and dict_to_camel_case behavior (#971) - (6a99461) - Matthew Runyon
+
+- Separate remove_empty_keys and dict_to_camel_case behavior ([#971](https://github.com/deephaven/deephaven-plugins/pull/971)) - (6a99461) - mattrunyon
+
#### Revert
-- "feat: ui.markdown component" (#956) - (d8e9f2f) - Steven Wu
+
+- "feat: ui.markdown component" ([#956](https://github.com/deephaven/deephaven-plugins/pull/956)) - (d8e9f2f) - Steven Wu
+
#### Tests
-- default tox to 3.8 (#972) - (103c1e7) - Joe
+
+- default tox to 3.8 ([#972](https://github.com/deephaven/deephaven-plugins/pull/972)) - (103c1e7) - jnumainville
+
+#### Build system
+
+- Update required versions ([#1020](https://github.com/deephaven/deephaven-plugins/pull/1020)) - (cb28447) - mofojed
- - -
## ui-v0.22.0 - 2024-10-01
-#### Bug Fixes
-- text_field events throw error (#913) - (94206d8) - Steven Wu
-- dynamically update panel title (#906) - (894dbc0) - Steven Wu
-- ui.radio value defaulting (#818) - (5581ae4) - Akshat Jawne
-- empty list view (#828) - (ef82561) - Steven Wu
-- allows keys to be set in props (#810) - (ca06eea) - Steven Wu
-- Correct type for generated JsPlugin (#741) - (7da0ecc) - Joe
-#### Build system
-- Upgrade to Vite 5 (#899) - (e94b990) - Matthew Runyon
-#### Documentation
-- flex pydocs (#912) - (5fb0ed5) - ethanalvizo
+
+#### Breaking Changes
+
+- allow overflow by default on ui.panel ([#896](https://github.com/deephaven/deephaven-plugins/pull/896)) - (df5b17c) - dsmmcken
+
#### Features
-- Dataclass serialization support for deephaven UI (#897) - (42315cf) - Matthew Runyon
-- allow overflow by default on ui.panel (#896) - (df5b17c) - Don
-- Time Field UI Component (#825) - (d76503b) - dgodinez-dh
-- - -
+- Dataclass serialization support for deephaven UI ([#897](https://github.com/deephaven/deephaven-plugins/pull/897)) - (42315cf) - mattrunyon
+- allow overflow by default on ui.panel ([#896](https://github.com/deephaven/deephaven-plugins/pull/896)) - (df5b17c) - dsmmcken
+- Time Field UI Component ([#825](https://github.com/deephaven/deephaven-plugins/pull/825)) - (d76503b) - dgodinez-dh
+- wrap contextual help if primitive ([#817](https://github.com/deephaven/deephaven-plugins/pull/817)) - (7e51073) - Steven Wu
+- expose rollup group behaviour as dh.ui option for UI Table ([#738](https://github.com/deephaven/deephaven-plugins/pull/738)) - (1807862) - Akshat Jawne
+- Date Field Implementation ([#804](https://github.com/deephaven/deephaven-plugins/pull/804)) - (9a72d2d) - dgodinez-dh
+- DateRangePicker Implementation ([#780](https://github.com/deephaven/deephaven-plugins/pull/780)) - (088d623) - dgodinez-dh
-## utilities-v0.0.2 - 2024-10-01
#### Bug Fixes
-- add wrapper to toggle_button (#821) - (fff1d6c) - Steven Wu
-- set label_align default to None (#820) - (0dcfe3a) - Steven Wu
-- text_area on_key_down throws errors (#798) - (86f4b3e) - Steven Wu
-- icon type auto-generation and normalization (#696) - (ef4bb29) - ethanalvizo
+
+- text_field events throw error ([#913](https://github.com/deephaven/deephaven-plugins/pull/913)) - (94206d8) - Steven Wu
+- dynamically update panel title ([#906](https://github.com/deephaven/deephaven-plugins/pull/906)) - (894dbc0) - Steven Wu
+- ui.radio value defaulting ([#818](https://github.com/deephaven/deephaven-plugins/pull/818)) - (5581ae4) - Akshat Jawne
+- empty list view ([#828](https://github.com/deephaven/deephaven-plugins/pull/828)) - (ef82561) - Steven Wu
+- allows keys to be set in props ([#810](https://github.com/deephaven/deephaven-plugins/pull/810)) - (ca06eea) - Steven Wu
+- Correct type for generated JsPlugin ([#741](https://github.com/deephaven/deephaven-plugins/pull/741)) - (7da0ecc) - jnumainville
+- add wrapper to toggle_button ([#821](https://github.com/deephaven/deephaven-plugins/pull/821)) - (fff1d6c) - Steven Wu
+- set label_align default to None ([#820](https://github.com/deephaven/deephaven-plugins/pull/820)) - (0dcfe3a) - Steven Wu
+- text_area on_key_down throws errors ([#798](https://github.com/deephaven/deephaven-plugins/pull/798)) - (86f4b3e) - Steven Wu
+- icon type auto-generation and normalization ([#696](https://github.com/deephaven/deephaven-plugins/pull/696)) - (ef4bb29) - ethanalvizo
+
#### Documentation
-- use_memo docs (#779) - (abf4b72) - mofojed
-- ui.text_field (#802) - (473e3e8) - Akshat Jawne
-- ui.switch (#793) - (c735682) - Akshat Jawne
-- ui.table (#776) - (cb089be) - Matthew Runyon
-- fix image links in readme (#800) - (ce48410) - Don
-- Add use_effect docs (#772) - (c077219) - mofojed
-- update sidebar component casing (#797) - (2558551) - Don
-#### Features
-- wrap contextual help if primitive (#817) - (7e51073) - Steven Wu
-- expose rollup group behaviour as dh.ui option for UI Table (#738) - (1807862) - Akshat Jawne
-- Date Field Implementation (#804) - (9a72d2d) - dgodinez-dh
-- DateRangePicker Implementation (#780) - (088d623) - dgodinez-dh
+
+- flex pydocs ([#912](https://github.com/deephaven/deephaven-plugins/pull/912)) - (5fb0ed5) - ethanalvizo
+- use_memo docs ([#779](https://github.com/deephaven/deephaven-plugins/pull/779)) - (abf4b72) - mofojed
+- ui.text_field ([#802](https://github.com/deephaven/deephaven-plugins/pull/802)) - (473e3e8) - Akshat Jawne
+- ui.switch ([#793](https://github.com/deephaven/deephaven-plugins/pull/793)) - (c735682) - Akshat Jawne
+- ui.table ([#776](https://github.com/deephaven/deephaven-plugins/pull/776)) - (cb089be) - mattrunyon
+- fix image links in readme ([#800](https://github.com/deephaven/deephaven-plugins/pull/800)) - (ce48410) - dsmmcken
+- Add use_effect docs ([#772](https://github.com/deephaven/deephaven-plugins/pull/772)) - (c077219) - mofojed
+- update sidebar component casing ([#797](https://github.com/deephaven/deephaven-plugins/pull/797)) - (2558551) - dsmmcken
+
#### Refactoring
-- rename label_alignment to label_align (#799) - (e31ac51) - Steven Wu
+
+- rename label_alignment to label_align ([#799](https://github.com/deephaven/deephaven-plugins/pull/799)) - (e31ac51) - Steven Wu
+
+#### Build system
+
+- Upgrade to Vite 5 ([#899](https://github.com/deephaven/deephaven-plugins/pull/899)) - (e94b990) - mattrunyon
- - -
## ui-v0.21.0 - 2024-09-03
+
+#### Features
+
+- Allow validation_errors to be passed into ui.form ([#789](https://github.com/deephaven/deephaven-plugins/pull/789)) - (371a825) - mofojed
+- UI Table databars ([#736](https://github.com/deephaven/deephaven-plugins/pull/736)) - (ada20a3) - mattrunyon
+
#### Bug Fixes
-- Remove server startup from python tests (#768) - (c6c2dd2) - Joe
+
+- Remove server startup from python tests ([#768](https://github.com/deephaven/deephaven-plugins/pull/768)) - (c6c2dd2) - jnumainville
+
#### Documentation
-- fix unclosed html tag in markdown (#791) - (fb7bd78) - Don
-- Add missing components to sidebar (#782) - (ae34f96) - mofojed
-- action button (#702) - (39d5c39) - ethanalvizo
-- image (#703) - (bc84ecb) - ethanalvizo
-#### Features
-- Allow validation_errors to be passed into ui.form (#789) - (371a825) - mofojed
-- UI Table databars (#736) - (ada20a3) - Matthew Runyon
+
+- fix unclosed html tag in markdown ([#791](https://github.com/deephaven/deephaven-plugins/pull/791)) - (fb7bd78) - dsmmcken
+- Add missing components to sidebar ([#782](https://github.com/deephaven/deephaven-plugins/pull/782)) - (ae34f96) - mofojed
+- action button ([#702](https://github.com/deephaven/deephaven-plugins/pull/702)) - (39d5c39) - ethanalvizo
+- image ([#703](https://github.com/deephaven/deephaven-plugins/pull/703)) - (bc84ecb) - ethanalvizo
- - -
## ui-v0.20.0 - 2024-08-23
+
+#### Features
+
+- Javascript DatePicker Implementation ([#667](https://github.com/deephaven/deephaven-plugins/pull/667)) - (ff48512) - dgodinez-dh
+- ui.image ([#670](https://github.com/deephaven/deephaven-plugins/pull/670)) - (874ba97) - ethanalvizo
+- ui.text_area ([#652](https://github.com/deephaven/deephaven-plugins/pull/652)) - (5fb24bc) - Akshat Jawne
+
#### Bug Fixes
-- use_effect behaviour (#734) - (c091dac) - mofojed
-- autodoc failures hotfix (#748) - (dbcfef3) - Akshat Jawne
-- Remove `replay_lock` in `use_table_listener` (#749) - (acf35ec) - Joe
-- Prevent pushing broken docs to main (#719) - (86fb7aa) - Joe
-- color type (#647) - (0e4f193) - ethanalvizo
+
+- use_effect behaviour ([#734](https://github.com/deephaven/deephaven-plugins/pull/734)) - (c091dac) - mofojed
+- autodoc failures hotfix ([#748](https://github.com/deephaven/deephaven-plugins/pull/748)) - (dbcfef3) - Akshat Jawne
+- Remove `replay_lock` in `use_table_listener` ([#749](https://github.com/deephaven/deephaven-plugins/pull/749)) - (acf35ec) - jnumainville
+- Prevent pushing broken docs to main ([#719](https://github.com/deephaven/deephaven-plugins/pull/719)) - (86fb7aa) - jnumainville
+- color type ([#647](https://github.com/deephaven/deephaven-plugins/pull/647)) - (0e4f193) - ethanalvizo
+
#### Documentation
-- ui.slider (#753) - (35b3068) - Akshat Jawne
-- ui.radio_group (#758) - (c9b682a) - Akshat Jawne
-- ui.range_slider (#755) - (ddf6597) - Akshat Jawne
-- Add docs for deephaven.ui installation (#725) - (753eb38) - mofojed
-- ui.illustrated_message (#739) - (04f0a9b) - Akshat Jawne
-- Fix context menu example (#743) - (efae3f3) - Matthew Runyon
-- ui.checkbox (#722) - (0cb525e) - Akshat Jawne
-- ui.combo_box (#718) - (563504c) - Akshat Jawne
-- ui.picker (#705) - (8d95ec7) - Akshat Jawne
-- ui.view (#723) - (55aa6cc) - Akshat Jawne
-- ui.text_area (#683) - (4df5ba3) - Akshat Jawne
-- fix use_state sidebar docs links (#712) - (32bd311) - Don
-- Add docs for use_state hook (#675) - (101af33) - mofojed
-- Fix casing in the ui.table examples (#691) - (8771122) - mofojed
-#### Features
-- Javascript DatePicker Implementation (#667) - (ff48512) - dgodinez-dh
-- ui.image (#670) - (874ba97) - ethanalvizo
-- ui.text_area (#652) - (5fb24bc) - Akshat Jawne
+
+- ui.slider ([#753](https://github.com/deephaven/deephaven-plugins/pull/753)) - (35b3068) - Akshat Jawne
+- ui.radio_group ([#758](https://github.com/deephaven/deephaven-plugins/pull/758)) - (c9b682a) - Akshat Jawne
+- ui.range_slider ([#755](https://github.com/deephaven/deephaven-plugins/pull/755)) - (ddf6597) - Akshat Jawne
+- Add docs for deephaven.ui installation ([#725](https://github.com/deephaven/deephaven-plugins/pull/725)) - (753eb38) - mofojed
+- ui.illustrated_message ([#739](https://github.com/deephaven/deephaven-plugins/pull/739)) - (04f0a9b) - Akshat Jawne
+- Fix context menu example ([#743](https://github.com/deephaven/deephaven-plugins/pull/743)) - (efae3f3) - mattrunyon
+- ui.checkbox ([#722](https://github.com/deephaven/deephaven-plugins/pull/722)) - (0cb525e) - Akshat Jawne
+- ui.combo_box ([#718](https://github.com/deephaven/deephaven-plugins/pull/718)) - (563504c) - Akshat Jawne
+- ui.picker ([#705](https://github.com/deephaven/deephaven-plugins/pull/705)) - (8d95ec7) - Akshat Jawne
+- ui.view ([#723](https://github.com/deephaven/deephaven-plugins/pull/723)) - (55aa6cc) - Akshat Jawne
+- ui.text_area ([#683](https://github.com/deephaven/deephaven-plugins/pull/683)) - (4df5ba3) - Akshat Jawne
+- fix use_state sidebar docs links ([#712](https://github.com/deephaven/deephaven-plugins/pull/712)) - (32bd311) - dsmmcken
+- Add docs for use_state hook ([#675](https://github.com/deephaven/deephaven-plugins/pull/675)) - (101af33) - mofojed
+- Fix casing in the ui.table examples ([#691](https://github.com/deephaven/deephaven-plugins/pull/691)) - (8771122) - mofojed
- - -
## ui-v0.19.0 - 2024-07-29
+
+#### Features
+
+- UI.Table density prop ([#634](https://github.com/deephaven/deephaven-plugins/pull/634)) - (ec0794b) - mattrunyon
+
#### Bug Fixes
-- deephaven.ui panels disappearing in some cases (#682) - (c3997d1) - mofojed
-- ErrorBoundary small styling changes (#669) - (d2ec9ed) - Akshat Jawne
-- Revert clearing the build/dist directories (#680) - (b2f09bb) - Joe
-- Plotly express widgets don't work in deephaven.ui (#644) - (14555ab) - Joe
-- invalid ui.panel usage should result in clear error (#641) - (31b1f17) - Akshat Jawne
-#### Build system
-- UI docs and add plugin_builder.py (#630) - (7281eec) - Joe
+
+- deephaven.ui panels disappearing in some cases ([#682](https://github.com/deephaven/deephaven-plugins/pull/682)) - (c3997d1) - mofojed
+- ErrorBoundary small styling changes ([#669](https://github.com/deephaven/deephaven-plugins/pull/669)) - (d2ec9ed) - Akshat Jawne
+- Revert clearing the build/dist directories ([#680](https://github.com/deephaven/deephaven-plugins/pull/680)) - (b2f09bb) - jnumainville
+- Plotly express widgets don't work in deephaven.ui ([#644](https://github.com/deephaven/deephaven-plugins/pull/644)) - (14555ab) - jnumainville
+- invalid ui.panel usage should result in clear error ([#641](https://github.com/deephaven/deephaven-plugins/pull/641)) - (31b1f17) - Akshat Jawne
+
#### Documentation
-- add sidebar to UI docs and adjust readme (#633) - (e690c1b) - Don
-- switch and text (#639) - (b6ebab4) - ethanalvizo
-#### Features
-- UI.Table density prop (#634) - (ec0794b) - Matthew Runyon
+
+- add sidebar to UI docs and adjust readme ([#633](https://github.com/deephaven/deephaven-plugins/pull/633)) - (e690c1b) - dsmmcken
+- switch and text ([#639](https://github.com/deephaven/deephaven-plugins/pull/639)) - (b6ebab4) - ethanalvizo
+
#### Refactoring
-- example dataset column names to PascalCase (#666) - (def7069) - Alex Peters
+
+- example dataset column names to PascalCase ([#666](https://github.com/deephaven/deephaven-plugins/pull/666)) - (def7069) - Alex Peters
+
+#### Build system
+
+- UI docs and add plugin_builder.py ([#630](https://github.com/deephaven/deephaven-plugins/pull/630)) - (7281eec) - jnumainville
- - -
## ui-v0.18.0 - 2024-07-17
+
+#### Breaking Changes
+
+- better deephaven ui button defaults ([#613](https://github.com/deephaven/deephaven-plugins/pull/613)) - (351f3a5) - dsmmcken
+
+#### Features
+
+- Add ui.table reverse prop ([#629](https://github.com/deephaven/deephaven-plugins/pull/629)) - (e56424c) - mattrunyon
+- better deephaven ui button defaults ([#613](https://github.com/deephaven/deephaven-plugins/pull/613)) - (351f3a5) - dsmmcken
+- delete unused ui.icon_wrapper ([#621](https://github.com/deephaven/deephaven-plugins/pull/621)) - (4b92021) - dsmmcken
+
#### Bug Fixes
-- add default styling to tabs component (#611) - (2b8ea23) - Akshat Jawne
-#### Build system
-- Clean the build directory before building the wheel (#599) - (a2459bd) - mofojed
+
+- add default styling to tabs component ([#611](https://github.com/deephaven/deephaven-plugins/pull/611)) - (2b8ea23) - Akshat Jawne
+
#### Documentation
-- form (#602) - (7b8802d) - ethanalvizo
-- picker (#603) - (9942ab9) - ethanalvizo
-- radio_group and radio (#619) - (393aa17) - ethanalvizo
-- tab_panels (#624) - (e45c509) - Akshat Jawne
-- ui.button doc page (#615) - (0a3f710) - Don
-#### Features
-- Add ui.table reverse prop (#629) - (e56424c) - Matthew Runyon
-- better deephaven ui button defaults (#613) - (351f3a5) - Don
-- delete unused ui.icon_wrapper (#621) - (4b92021) - Don
+
+- form ([#602](https://github.com/deephaven/deephaven-plugins/pull/602)) - (7b8802d) - ethanalvizo
+- picker ([#603](https://github.com/deephaven/deephaven-plugins/pull/603)) - (9942ab9) - ethanalvizo
+- radio_group and radio ([#619](https://github.com/deephaven/deephaven-plugins/pull/619)) - (393aa17) - ethanalvizo
+- tab_panels ([#624](https://github.com/deephaven/deephaven-plugins/pull/624)) - (e45c509) - Akshat Jawne
+- ui.button doc page ([#615](https://github.com/deephaven/deephaven-plugins/pull/615)) - (0a3f710) - dsmmcken
+
+#### Build system
+
+- Clean the build directory before building the wheel ([#599](https://github.com/deephaven/deephaven-plugins/pull/599)) - (a2459bd) - mofojed
- - -
## ui-v0.17.0 - 2024-07-09
+
+#### Breaking Changes
+
+- make ui.panel flex align-items start by default ([#604](https://github.com/deephaven/deephaven-plugins/pull/604)) - (be97ad8) - dsmmcken
+- Remove row and column indexes from table press handlers ([#592](https://github.com/deephaven/deephaven-plugins/pull/592)) - (05fc8f0) - mattrunyon
+
+#### Features
+
+- UI table layout hints ([#587](https://github.com/deephaven/deephaven-plugins/pull/587)) - (5e3c5e2) - mattrunyon
+- UI ComboBox component ([#588](https://github.com/deephaven/deephaven-plugins/pull/588)) - (0564299) - bmingles
+- make ui.panel flex align-items start by default ([#604](https://github.com/deephaven/deephaven-plugins/pull/604)) - (be97ad8) - dsmmcken
+- UI Tabs Improvement ([#489](https://github.com/deephaven/deephaven-plugins/pull/489)) - (145493a) - Akshat Jawne
+- Replace shortid with nanoid ([#591](https://github.com/deephaven/deephaven-plugins/pull/591)) - (ad8aad9) - Akshat Jawne
+- ui.table context menu items ([#522](https://github.com/deephaven/deephaven-plugins/pull/522)) - (32d09e8) - mattrunyon
+
#### Bug Fixes
-- Remove type imports from @react-types/shared (#610) - (66dc4bf) - Akshat Jawne
-- ui.table cell and row press event data can be wrong (#593) - (c4a2fe7) - Matthew Runyon
-- icons in illustrated message (#575) - (1623ff5) - ethanalvizo
-- remove Number type and replace with float/int (#590) - (d0e24f4) - Akshat Jawne
-- Don't render objects/children of panels if there's a widget error (#577) (#585) - (bd8cca9) - mofojed
-- Don't use a key for the ErrorBoundary in a Panel (#574) - (4a25715) - mofojed
-- Wrap the children of ReactPanel with an ErrorBoundary (#565) - (8cbee84) - mofojed
-#### Build system
-- Update DHC packages to ^0.85.0 (#605) - (df6786a) - bmingles
+
+- Remove type imports from @react-types/shared ([#610](https://github.com/deephaven/deephaven-plugins/pull/610)) - (66dc4bf) - Akshat Jawne
+- ui.table cell and row press event data can be wrong ([#593](https://github.com/deephaven/deephaven-plugins/pull/593)) - (c4a2fe7) - mattrunyon
+- icons in illustrated message ([#575](https://github.com/deephaven/deephaven-plugins/pull/575)) - (1623ff5) - ethanalvizo
+- remove Number type and replace with float/int ([#590](https://github.com/deephaven/deephaven-plugins/pull/590)) - (d0e24f4) - Akshat Jawne
+- Don't render objects/children of panels if there's a widget error ([#585](https://github.com/deephaven/deephaven-plugins/pull/585)) - (bd8cca9) - mofojed
+- Don't use a key for the ErrorBoundary in a Panel ([#574](https://github.com/deephaven/deephaven-plugins/pull/574)) - (4a25715) - mofojed
+- Wrap the children of ReactPanel with an ErrorBoundary ([#565](https://github.com/deephaven/deephaven-plugins/pull/565)) - (8cbee84) - mofojed
+
#### Documentation
-- icon (#594) - (20fe042) - ethanalvizo
-- item (#531) - (21fe131) - ethanalvizo
-- illustrated message (#532) - (137c1ea) - ethanalvizo
-- heading (#553) - (00875f9) - ethanalvizo
-- grid (#552) - (5bf53e6) - ethanalvizo
-#### Features
-- UI table layout hints (#587) - (5e3c5e2) - Matthew Runyon
-- UI ComboBox component (#588) - (0564299) - bmingles
-- make ui.panel flex align-items start by default (#604) - (be97ad8) - Don
-- UI Tabs Improvement (#489) - (145493a) - Akshat Jawne
-- Replace shortid with nanoid (#591) - (ad8aad9) - Akshat Jawne
-- ui.table context menu items (#522) - (32d09e8) - Matthew Runyon
+
+- icon ([#594](https://github.com/deephaven/deephaven-plugins/pull/594)) - (20fe042) - ethanalvizo
+- item ([#531](https://github.com/deephaven/deephaven-plugins/pull/531)) - (21fe131) - ethanalvizo
+- illustrated message ([#532](https://github.com/deephaven/deephaven-plugins/pull/532)) - (137c1ea) - ethanalvizo
+- heading ([#553](https://github.com/deephaven/deephaven-plugins/pull/553)) - (00875f9) - ethanalvizo
+- grid ([#552](https://github.com/deephaven/deephaven-plugins/pull/552)) - (5bf53e6) - ethanalvizo
+
#### Refactoring
-- Remove row and column indexes from table press handlers (#592) - (05fc8f0) - Matthew Runyon
+
+- Remove row and column indexes from table press handlers ([#592](https://github.com/deephaven/deephaven-plugins/pull/592)) - (05fc8f0) - mattrunyon
+
+#### Build system
+
+- Update DHC packages to ^0.85.0 ([#605](https://github.com/deephaven/deephaven-plugins/pull/605)) - (df6786a) - bmingles
- - -
-## ui-v0.16.0 - 2024-07-09
-#### Documentation
-- view (#506) - (e4b7137) - ethanalvizo
-#### Features
-- Return callables from callables in Deephaven UI (#540) - (8322c2d) - Matthew Runyon
-- Use `useWidget` hook to load widgets (#502) - (d9d1e5e) - mofojed
-#### Refactoring
-- Cleanup js mappings for ui components + utils (#530) - (bbce797) - bmingles
-#### Revert
-- "revert: Revert some changes that are not compatible with v0.78 (#550)" (#551) - (3502f02) - mofojed
+## ui-v0.16.1 - 2024-06-21
+
+#### Bug Fixes
+
+- Wrap the children of ReactPanel with an ErrorBoundary ([#569](https://github.com/deephaven/deephaven-plugins/pull/569)) - (dbebdd2) - mofojed
- - -
## ui-v0.16.0 - 2024-06-19
-#### Documentation
-- view (#506) - (e4b7137) - ethanalvizo
+
#### Features
-- Return callables from callables in Deephaven UI (#540) - (8322c2d) - Matthew Runyon
-- Use `useWidget` hook to load widgets (#502) - (d9d1e5e) - mofojed
+
+- Return callables from callables in Deephaven UI ([#540](https://github.com/deephaven/deephaven-plugins/pull/540)) - (8322c2d) - mattrunyon
+- Use `useWidget` hook to load widgets ([#502](https://github.com/deephaven/deephaven-plugins/pull/502)) - (d9d1e5e) - mofojed
+
+#### Documentation
+
+- view ([#506](https://github.com/deephaven/deephaven-plugins/pull/506)) - (e4b7137) - ethanalvizo
+
#### Refactoring
-- Cleanup js mappings for ui components + utils (#530) - (bbce797) - bmingles
+
+- Cleanup js mappings for ui components + utils ([#530](https://github.com/deephaven/deephaven-plugins/pull/530)) - (bbce797) - bmingles
+
#### Revert
-- "revert: Revert some changes that are not compatible with v0.78 (#550)" (#551) - (3502f02) - mofojed
+
+- "revert: Revert some changes that are not compatible with v0.78 ([#551](https://github.com/deephaven/deephaven-plugins/pull/551)) - (3502f02) - mofojed
+
+- - -
+
+## ui-v0.15.4 - 2024-06-26
+
+#### Bug Fixes
+
+- Don't render objects/children of panels if there's a widget error ([#577](https://github.com/deephaven/deephaven-plugins/pull/577)) - (3a74dcc) - mofojed
+
+- - -
+
+## ui-v0.15.3 - 2024-06-24
+
+#### Bug Fixes
+
+- Don't use a key for the ErrorBoundary in a Panel ([#576](https://github.com/deephaven/deephaven-plugins/pull/576)) - (e7bfdec) - mofojed
+- deephaven-plugin-ui is compatible with deephaven-core 0.33.5 ([#572](https://github.com/deephaven/deephaven-plugins/pull/572)) - (9b4611a) - mofojed
+
+- - -
+
+## ui-v0.15.2 - 2024-06-21
+
+#### Bug Fixes
+
+- Wrap the children of ReactPanel with an ErrorBoundary ([#569](https://github.com/deephaven/deephaven-plugins/pull/569)) - (dbebdd2) - mofojed
+
+- - -
+
+## ui-v0.15.1 - 2024-06-14
+
+#### Features
+
+- Use `useWidget` hook to load widgets ([#555](https://github.com/deephaven/deephaven-plugins/pull/555)) - (d70eea9) - mofojed
- - -
## ui-v0.15.0 - 2024-06-13
+
+#### Features
+
+- Make RadioGroup orientation prop case insensitive ([#536](https://github.com/deephaven/deephaven-plugins/pull/536)) - (9b0b498) - bmingles
+- ui.checkbox, ui.button, ui.button_group, ui.radio, ui.radio_group, ui.icon ([#512](https://github.com/deephaven/deephaven-plugins/pull/512)) - (6b1dbeb) - bmingles
+- Add show_search and show_quick_filters to ui.table ([#461](https://github.com/deephaven/deephaven-plugins/pull/461)) - (4923017) - mattrunyon
+- ListView actions ([#448](https://github.com/deephaven/deephaven-plugins/pull/448)) - (ca65b69) - bmingles
+
#### Bug Fixes
-- UI plotting doc typo (#542) - (df6c9b9) - Matthew Runyon
-- Clean up positioning and headers of components in DESIGN.md (#518) - (5d4a131) - Akshat Jawne
-- Don't send back undefined cell data (#516) - (469eb1d) - mofojed
-- ui.text_field value not changing with use_state (#498) - (7d41072) - Akshat Jawne
-- Reset state when new instance of widget created (#486) - (df587a8) - mofojed
-- fix use_callback hook (#468) - (f267572) - Joe
-#### Build system
-- Fix package-lock changes (#472) - (39a883e) - mofojed
+
+- UI plotting doc typo ([#542](https://github.com/deephaven/deephaven-plugins/pull/542)) - (df6c9b9) - mattrunyon
+- Clean up positioning and headers of components in DESIGN.md ([#518](https://github.com/deephaven/deephaven-plugins/pull/518)) - (5d4a131) - Akshat Jawne
+- Don't send back undefined cell data ([#516](https://github.com/deephaven/deephaven-plugins/pull/516)) - (469eb1d) - mofojed
+- ui.text_field value not changing with use_state ([#498](https://github.com/deephaven/deephaven-plugins/pull/498)) - (7d41072) - Akshat Jawne
+- Reset state when new instance of widget created ([#486](https://github.com/deephaven/deephaven-plugins/pull/486)) - (df587a8) - mofojed
+- fix use_callback hook ([#468](https://github.com/deephaven/deephaven-plugins/pull/468)) - (f267572) - jnumainville
+
#### Documentation
-- add plotting sidebar and plotting docs edits (#519) - (a9840cb) - Don
-- number field (#505) - (691d190) - ethanalvizo
-- slider, range slider, checkbox, and content (#439) - (9ba1a04) - ethanalvizo
-- list_action_group (#493) - (6732ad6) - Akshat Jawne
-- list_action_menu (#492) - (727d5f2) - Akshat Jawne
-- action_group (#485) - (ef115c9) - Akshat Jawne
-- action_menu (#490) - (071d645) - Akshat Jawne
-- contextual_help (#480) - (94ef543) - Akshat Jawne
-#### Features
-- Make RadioGroup orientation prop case insensitive (#536) - (9b0b498) - bmingles
-- ui.checkbox, ui.button, ui.button_group, ui.radio, ui.radio_group, ui.icon (#512) - (6b1dbeb) - bmingles
-- Add show_search and show_quick_filters to ui.table (#461) - (4923017) - Matthew Runyon
-- ListView actions (#448) - (ca65b69) - bmingles
+
+- add plotting sidebar and plotting docs edits ([#519](https://github.com/deephaven/deephaven-plugins/pull/519)) - (a9840cb) - dsmmcken
+- number field ([#505](https://github.com/deephaven/deephaven-plugins/pull/505)) - (691d190) - ethanalvizo
+- slider, range slider, checkbox, and content ([#439](https://github.com/deephaven/deephaven-plugins/pull/439)) - (9ba1a04) - ethanalvizo
+- list_action_group ([#493](https://github.com/deephaven/deephaven-plugins/pull/493)) - (6732ad6) - Akshat Jawne
+- list_action_menu ([#492](https://github.com/deephaven/deephaven-plugins/pull/492)) - (727d5f2) - Akshat Jawne
+- action_group ([#485](https://github.com/deephaven/deephaven-plugins/pull/485)) - (ef115c9) - Akshat Jawne
+- action_menu ([#490](https://github.com/deephaven/deephaven-plugins/pull/490)) - (071d645) - Akshat Jawne
+- contextual_help ([#480](https://github.com/deephaven/deephaven-plugins/pull/480)) - (94ef543) - Akshat Jawne
+
#### Refactoring
-- Cleanup component mappings and utils (python side) (#523) - (195f334) - bmingles
-- Refactored ui.tabs component design (#504) - (f012eaa) - Akshat Jawne
+
+- Cleanup component mappings and utils (python side) ([#523](https://github.com/deephaven/deephaven-plugins/pull/523)) - (195f334) - bmingles
+- Refactored ui.tabs component design ([#504](https://github.com/deephaven/deephaven-plugins/pull/504)) - (f012eaa) - Akshat Jawne
+
#### Revert
-- Revert some changes that are not compatible with v0.78 (#550) - (27414e1) - mofojed
+
+- Revert some changes that are not compatible with v0.78 ([#550](https://github.com/deephaven/deephaven-plugins/pull/550)) - (27414e1) - mofojed
+
+#### Build system
+
+- Fix package-lock changes ([#472](https://github.com/deephaven/deephaven-plugins/pull/472)) - (39a883e) - mofojed
- - -
## ui-v0.14.0 - 2024-05-17
+
+#### Breaking Changes
+
+- Table data hooks allow None ([#463](https://github.com/deephaven/deephaven-plugins/pull/463)) - (910a57c) - jnumainville
+
+#### Features
+
+- Python combo box implementation ([#460](https://github.com/deephaven/deephaven-plugins/pull/460)) - (b87a5c6) - jnumainville
+- Table data hooks allow None ([#463](https://github.com/deephaven/deephaven-plugins/pull/463)) - (910a57c) - jnumainville
+- Implement python item_table_source ([#415](https://github.com/deephaven/deephaven-plugins/pull/415)) - (ce1a019) - jnumainville
+- Display deephaven.ui widget errors in a panel so user can see them ([#436](https://github.com/deephaven/deephaven-plugins/pull/436)) - (b23b571) - mofojed
+- ListView - ui plugins ([#408](https://github.com/deephaven/deephaven-plugins/pull/408)) - (ff7f769) - bmingles
+
#### Bug Fixes
-- Do not expost combo_box or date_picker yet (#464) - (cd63e20) - mofojed
-- Exit on communication failure (#429) - (0e96ef4) - Joe
-- Memoize use_table_data listener (#428) - (f342dad) - Joe
-#### Build system
-- Update requirements to require a newer version of core (#457) - (3e04cf2) - mofojed
+
+- Do not expost combo_box or date_picker yet ([#464](https://github.com/deephaven/deephaven-plugins/pull/464)) - (cd63e20) - mofojed
+- Exit on communication failure ([#429](https://github.com/deephaven/deephaven-plugins/pull/429)) - (0e96ef4) - jnumainville
+- Memoize use_table_data listener ([#428](https://github.com/deephaven/deephaven-plugins/pull/428)) - (f342dad) - jnumainville
+
#### Documentation
-- start plotting docs including one-click behaviour (#431) - (b0574c2) - Don
-#### Features
-- Python combo box implementation (#460) - (b87a5c6) - Joe
-- Table data hooks allow None (#463) - (910a57c) - Joe
-- Implement python item_table_source (#415) - (ce1a019) - Joe
-- Display deephaven.ui widget errors in a panel so user can see them (#436) - (b23b571) - mofojed
-- ListView - ui plugins (#408) - (ff7f769) - bmingles
+
+- start plotting docs including one-click behaviour ([#431](https://github.com/deephaven/deephaven-plugins/pull/431)) - (b0574c2) - dsmmcken
+
#### Refactoring
-- Updated spectrum imports to use dh components (#424) - (db97c9a) - bmingles
+
+- Updated spectrum imports to use dh components ([#424](https://github.com/deephaven/deephaven-plugins/pull/424)) - (db97c9a) - bmingles
+
+#### Build system
+
+- Update requirements to require a newer version of core ([#457](https://github.com/deephaven/deephaven-plugins/pull/457)) - (3e04cf2) - mofojed
- - -
## ui-v0.13.1 - 2024-04-22
+
#### Bug Fixes
-- toggle_button was not passing through `on_change` (#427) - (d452a00) - mofojed
+
+- toggle_button was not passing through `on_change` ([#427](https://github.com/deephaven/deephaven-plugins/pull/427)) - (d452a00) - mofojed
- - -
## ui-v0.13.0 - 2024-04-18
-#### Bug Fixes
-- Fix conditional use_effect in use_table_listener (#422) - (5f4f238) - Joe
-- add on_change to toggle_button (#426) - (6ead733) - Joe
-- buttons not working due to extra prop (#423) - (b10f67c) - Don
+
#### Features
-- python date picker implementation (#409) - (5ed66a7) - Joe
+
+- python date picker implementation ([#409](https://github.com/deephaven/deephaven-plugins/pull/409)) - (5ed66a7) - jnumainville
+
+#### Bug Fixes
+
+- Fix conditional use_effect in use_table_listener ([#422](https://github.com/deephaven/deephaven-plugins/pull/422)) - (5f4f238) - jnumainville
+- add on_change to toggle_button ([#426](https://github.com/deephaven/deephaven-plugins/pull/426)) - (6ead733) - jnumainville
+- buttons not working due to extra prop ([#423](https://github.com/deephaven/deephaven-plugins/pull/423)) - (b10f67c) - dsmmcken
- - -
## ui-v0.12.0 - 2024-04-17
-#### Documentation
-- Combo box spec (#392) - (da1076a) - Joe
-- toggle button (#402) - (702ad2a) - ethanalvizo
-- date picker spec (#388) - (e1a135d) - Joe
+
#### Features
-- improve default dh.ui layouts (#411) - (67f82e3) - Don
-- Picker - format settings (#394) - (f9a0e34) - bmingles
+
+- improve default dh.ui layouts ([#411](https://github.com/deephaven/deephaven-plugins/pull/411)) - (67f82e3) - dsmmcken
+- Picker - format settings ([#394](https://github.com/deephaven/deephaven-plugins/pull/394)) - (f9a0e34) - bmingles
+
+#### Documentation
+
+- Combo box spec ([#392](https://github.com/deephaven/deephaven-plugins/pull/392)) - (da1076a) - jnumainville
+- toggle button ([#402](https://github.com/deephaven/deephaven-plugins/pull/402)) - (702ad2a) - ethanalvizo
+- date picker spec ([#388](https://github.com/deephaven/deephaven-plugins/pull/388)) - (e1a135d) - jnumainville
+
#### Tests
-- bump ts, eslint and prettier configs (#416) - (a4761cc) - Don
+
+- bump ts, eslint and prettier configs ([#416](https://github.com/deephaven/deephaven-plugins/pull/416)) - (a4761cc) - dsmmcken
- - -
## ui-v0.11.0 - 2024-04-03
+
+#### Features
+
+- Picker table support ([#382](https://github.com/deephaven/deephaven-plugins/pull/382)) - (2f84c96) - bmingles
+- Add Python list_view implementation ([#359](https://github.com/deephaven/deephaven-plugins/pull/359)) - (f0b8759) - jnumainville
+- only require typing_extension for python < 3.11 ([#397](https://github.com/deephaven/deephaven-plugins/pull/397)) - (e31dc6f) - devinrsmith
+- sets the default flex gap to "size-100" ([#347](https://github.com/deephaven/deephaven-plugins/pull/347)) - (5898502) - dsmmcken
+
#### Bug Fixes
-- Re-opening widgets after re-hydrated (#379) - (42242a5) - mofojed
-- Wrap primitive Item children in Text (#370) - (c733932) - bmingles
+
+- Re-opening widgets after re-hydrated ([#379](https://github.com/deephaven/deephaven-plugins/pull/379)) - (42242a5) - mofojed
+- Wrap primitive Item children in Text ([#370](https://github.com/deephaven/deephaven-plugins/pull/370)) - (c733932) - bmingles
+
#### Documentation
-- Updating examples for consistency (#378) - (6292b3a) - mofojed
-- pydocs for ui.text_field (#357) - (d795c8d) - ethanalvizo
-#### Features
-- Picker table support (#382) - (2f84c96) - bmingles
-- Add Python list_view implementation (#359) - (f0b8759) - Joe
-- only require typing_extension for python < 3.11 (#397) - (e31dc6f) - devinrsmith
-- sets the default flex gap to "size-100" (#347) - (5898502) - Don
+
+- Updating examples for consistency ([#378](https://github.com/deephaven/deephaven-plugins/pull/378)) - (6292b3a) - mofojed
+- pydocs for ui.text_field ([#357](https://github.com/deephaven/deephaven-plugins/pull/357)) - (d795c8d) - ethanalvizo
- - -
## ui-v0.10.0 - 2024-03-15
+
+#### Features
+
+- Store server-side state for rehydration ([#338](https://github.com/deephaven/deephaven-plugins/pull/338)) - (bb28df3) - mofojed
+- Package matplotlib and ui JS with wheel ([#343](https://github.com/deephaven/deephaven-plugins/pull/343)) - (7724e55) - jnumainville
+
#### Bug Fixes
-- Tighten use_memo dependency types (#356) - (48dea18) - Joe
-#### Build system
-- Fix npm package update (#361) - (cabbcab) - mofojed
+
+- Tighten use_memo dependency types ([#356](https://github.com/deephaven/deephaven-plugins/pull/356)) - (48dea18) - jnumainville
+
#### Documentation
-- list_view spec (#352) - (bca3880) - Joe
-- Fix the demo script (#354) - (7e7302e) - mofojed
-#### Features
-- Store server-side state for rehydration (#338) - (bb28df3) - mofojed
-- Package matplotlib and ui JS with wheel (#343) - (7724e55) - Joe
+
+- list_view spec ([#352](https://github.com/deephaven/deephaven-plugins/pull/352)) - (bca3880) - jnumainville
+- Fix the demo script ([#354](https://github.com/deephaven/deephaven-plugins/pull/354)) - (7e7302e) - mofojed
+
+#### Build system
+
+- Fix npm package update ([#361](https://github.com/deephaven/deephaven-plugins/pull/361)) - (cabbcab) - mofojed
- - -
-## ui-v0.9.0 - 2024-03-09
+## ui-v0.9.0 - 2024-03-08
+
+#### Features
+
+- Add ui.table press event listener support ([#346](https://github.com/deephaven/deephaven-plugins/pull/346)) - (b805683) - mofojed
+- UI Picker JS ([#333](https://github.com/deephaven/deephaven-plugins/pull/333)) - (e3af9f5) - bmingles
+
#### Bug Fixes
-- Tab Panels contents should take up the full height (#340) - (6028195) - mofojed
-- Remove tooltip prop (#334) - (cbe2140) - Joe
-- add missing dependencies params for liveness scope and table listener hooks (#291) - (9d6b7de) - niloc132
-- added missing picker imports (#332) - (272cdf9) - Joe
+
+- Tab Panels contents should take up the full height ([#340](https://github.com/deephaven/deephaven-plugins/pull/340)) - (6028195) - mofojed
+- Remove tooltip prop ([#334](https://github.com/deephaven/deephaven-plugins/pull/334)) - (cbe2140) - jnumainville
+- add missing dependencies params for liveness scope and table listener hooks ([#291](https://github.com/deephaven/deephaven-plugins/pull/291)) - (9d6b7de) - niloc132
+- added missing picker imports ([#332](https://github.com/deephaven/deephaven-plugins/pull/332)) - (272cdf9) - jnumainville
+
#### Build system
-- Update dh ui packages to ^0.66.1 (#330) - (9433a98) - bmingles
-#### Features
-- Add ui.table press event listener support (#346) - (b805683) - mofojed
-- UI Picker JS (#333) - (e3af9f5) - bmingles
+
+- Update dh ui packages to ^0.66.1 ([#330](https://github.com/deephaven/deephaven-plugins/pull/330)) - (9433a98) - bmingles
- - -
## ui-v0.8.0 - 2024-02-28
+
+#### Features
+
+- Widget re-hydration ([#288](https://github.com/deephaven/deephaven-plugins/pull/288)) - (13bb5ea) - mofojed
+- Add python picker ([#311](https://github.com/deephaven/deephaven-plugins/pull/311)) - (05d1c4a) - jnumainville
+
#### Bug Fixes
-- Use correct formatting settings for ui.table (#326) - (4762053) - mofojed
-- Call listener when do_replay is True for use_table_listener_hook (#313) - (86d2572) - Joe
-- Type fixes and require pyright (#302) - (d5d003d) - Joe
-- Could not assign built-in Callables as callbacks (#305) - (5334e4d) - mofojed
+
+- Use correct formatting settings for ui.table ([#326](https://github.com/deephaven/deephaven-plugins/pull/326)) - (4762053) - mofojed
+- Call listener when do_replay is True for use_table_listener_hook ([#313](https://github.com/deephaven/deephaven-plugins/pull/313)) - (86d2572) - jnumainville
+- Type fixes and require pyright ([#302](https://github.com/deephaven/deephaven-plugins/pull/302)) - (d5d003d) - jnumainville
+- Could not assign built-in Callables as callbacks ([#305](https://github.com/deephaven/deephaven-plugins/pull/305)) - (5334e4d) - mofojed
+
#### Documentation
-- button_group (#306) - (fee31f8) - ethanalvizo
-- Picker spec (#247) - (07f2cf5) - Joe
-- Remove the warning about using the plugin at your own risk (#303) - (e342341) - mofojed
-#### Features
-- Widget re-hydration (#288) - (13bb5ea) - mofojed
-- Add python picker (#311) - (05d1c4a) - Joe
+
+- button_group ([#306](https://github.com/deephaven/deephaven-plugins/pull/306)) - (fee31f8) - ethanalvizo
+- Picker spec ([#247](https://github.com/deephaven/deephaven-plugins/pull/247)) - (07f2cf5) - jnumainville
+- Remove the warning about using the plugin at your own risk ([#303](https://github.com/deephaven/deephaven-plugins/pull/303)) - (e342341) - mofojed
+
#### Tests
-- Bumping test listener timeout from 1 to 2 seconds (#312) - (43ddf75) - Joe
+
+- Bumping test listener timeout from 1 to 2 seconds ([#312](https://github.com/deephaven/deephaven-plugins/pull/312)) - (43ddf75) - jnumainville
- - -
## ui-v0.7.0 - 2024-02-21
+
+#### Features
+
+- Support column and row within a panel ([#272](https://github.com/deephaven/deephaven-plugins/pull/272)) - (0413443) - mattrunyon
+- Support for dropping extra callback args ([#271](https://github.com/deephaven/deephaven-plugins/pull/271)) - (34ddfcd) - jnumainville
+- Auto-wrap layout components when possible ([#249](https://github.com/deephaven/deephaven-plugins/pull/249)) - (d93dc9c) - mattrunyon
+
#### Bug Fixes
-- Hooks accepting liveness objects and functions should manage their lifetime (#258) - (8d2a945) - niloc132
-- Initial set of type fixes (#217) - (5c52488) - Joe
-- Stock rollup example was not working (#268) - (5d6205c) - mofojed
-- Version bump + loading spinner fixes (#243) - (aeb7796) - bmingles
+
+- Hooks accepting liveness objects and functions should manage their lifetime ([#258](https://github.com/deephaven/deephaven-plugins/pull/258)) - (8d2a945) - niloc132
+- Initial set of type fixes ([#217](https://github.com/deephaven/deephaven-plugins/pull/217)) - (5c52488) - jnumainville
+- Stock rollup example was not working ([#268](https://github.com/deephaven/deephaven-plugins/pull/268)) - (5d6205c) - mofojed
+- Version bump + loading spinner fixes ([#243](https://github.com/deephaven/deephaven-plugins/pull/243)) - (aeb7796) - bmingles
+
#### Documentation
-- More specs for ui.table functionality (#198) - (8d4255c) - Joe
-- button (#266) - (7ce4e75) - ethanalvizo
-#### Features
-- Support column and row within a panel (#272) - (0413443) - Matthew Runyon
-- Support for dropping extra callback args (#271) - (34ddfcd) - Joe
-- Auto-wrap layout components when possible (#249) - (d93dc9c) - Matthew Runyon
+
+- More specs for ui.table functionality ([#198](https://github.com/deephaven/deephaven-plugins/pull/198)) - (8d4255c) - jnumainville
+- button ([#266](https://github.com/deephaven/deephaven-plugins/pull/266)) - (7ce4e75) - ethanalvizo
+
#### Refactoring
-- Re-organize some code into subfolders (#284) - (dbff1ab) - mofojed
+
+- Re-organize some code into subfolders ([#284](https://github.com/deephaven/deephaven-plugins/pull/284)) - (dbff1ab) - mofojed
- - -
## ui-v0.6.0 - 2024-02-05
+
+#### Breaking Changes
+
+- Serialize press events for press event callbacks ([#236](https://github.com/deephaven/deephaven-plugins/pull/236)) - (38b202f) - mofojed
+
+#### Features
+
+- **(ui)** Add error boundary to prevent UI crashing due to rendering errors ([#245](https://github.com/deephaven/deephaven-plugins/pull/245)) - (74d3007) - mattrunyon
+- Add accessibility props to action_button ([#248](https://github.com/deephaven/deephaven-plugins/pull/248)) - (39cf7db) - mofojed
+- Serialize press events for press event callbacks ([#236](https://github.com/deephaven/deephaven-plugins/pull/236)) - (38b202f) - mofojed
+- Send all set hooks to render queue ([#246](https://github.com/deephaven/deephaven-plugins/pull/246)) - (f5cbb8f) - jnumainville
+
#### Bug Fixes
-- **(ui)** Default placement of newly opened components is inconsistent (#244) - (8b17e85) - Matthew Runyon
-- Use ObjectFetcher to retrieve objects (#234) - (728be7b) - mofojed
-- Better render error handling (#242) - (c312d43) - Joe
-- use_execution_context does not return None (#232) - (0d5c3ce) - niloc132
+
+- **(ui)** Default placement of newly opened components is inconsistent ([#244](https://github.com/deephaven/deephaven-plugins/pull/244)) - (8b17e85) - mattrunyon
+- Use ObjectFetcher to retrieve objects ([#234](https://github.com/deephaven/deephaven-plugins/pull/234)) - (728be7b) - mofojed
+- Better render error handling ([#242](https://github.com/deephaven/deephaven-plugins/pull/242)) - (c312d43) - jnumainville
+- use_execution_context does not return None ([#232](https://github.com/deephaven/deephaven-plugins/pull/232)) - (0d5c3ce) - niloc132
+
#### Documentation
-- Add Dashboard examples (#229) - (e7b94a9) - mofojed
-#### Features
-- **(ui)** Add error boundary to prevent UI crashing due to rendering errors (#245) - (74d3007) - Matthew Runyon
-- Add accessibility props to action_button (#248) - (39cf7db) - mofojed
-- Serialize press events for press event callbacks (#236) - (38b202f) - mofojed
-- Send all set hooks to render queue (#246) - (f5cbb8f) - Joe
+
+- Add Dashboard examples ([#229](https://github.com/deephaven/deephaven-plugins/pull/229)) - (e7b94a9) - mofojed
- - -
## ui-v0.5.0 - 2024-01-26
+
+#### Features
+
+- UI dashboard ([#176](https://github.com/deephaven/deephaven-plugins/pull/176)) - (6adef9c) - mattrunyon
+- use_execution_context hook ([#205](https://github.com/deephaven/deephaven-plugins/pull/205)) - (76cd7ab) - jnumainville
+- Queue render state updates on a thread ([#182](https://github.com/deephaven/deephaven-plugins/pull/182)) - (79a1002) - mofojed
+- Support lerna scopes in npm start ([#203](https://github.com/deephaven/deephaven-plugins/pull/203)) - (aab9591) - bmingles
+
#### Bug Fixes
-- Use deferred API to get the API (#226) - (b0e2162) - mofojed
-- Move the renderer's LivenessScope into the context (#222) - (672aa43) - niloc132
-- ExecutionContext must be opened before running code on a thread (#225) - (6508fd0) - niloc132
+
+- Use deferred API to get the API ([#226](https://github.com/deephaven/deephaven-plugins/pull/226)) - (b0e2162) - mofojed
+- Move the renderer's LivenessScope into the context ([#222](https://github.com/deephaven/deephaven-plugins/pull/222)) - (672aa43) - niloc132
+- ExecutionContext must be opened before running code on a thread ([#225](https://github.com/deephaven/deephaven-plugins/pull/225)) - (6508fd0) - niloc132
+
+- - -
+
+## ui-v0.1.0 - 2024-01-08
+
+#### Breaking Changes
+
+- Only send new exported objects ([#129](https://github.com/deephaven/deephaven-plugins/pull/129)) - (be85375) - mofojed
+
#### Features
-- UI dashboard (#176) - (6adef9c) - Matthew Runyon
-- use_execution_context hook (#205) - (76cd7ab) - Joe
+
+- **(ui)** Only send new exported objects ([#129](https://github.com/deephaven/deephaven-plugins/pull/129)) - (be85375) - mofojed
+- ui.table functionality ([#145](https://github.com/deephaven/deephaven-plugins/pull/145)) - (df04f29) - jnumainville
+- Table hooks ([#168](https://github.com/deephaven/deephaven-plugins/pull/168)) - (54f152d) - jnumainville
+- ui.fragment, ui.tabs, ui.tab_list, ui.tab_panels ([#138](https://github.com/deephaven/deephaven-plugins/pull/138)) - (cedcd3c) - mofojed
+- Add ui.form, ui.number_field elements ([#142](https://github.com/deephaven/deephaven-plugins/pull/142)) - (b5d099d) - mofojed
+- add use_table_listener hook ([#115](https://github.com/deephaven/deephaven-plugins/pull/115)) - (bbb0a65) - jnumainville
+- Load widgets from plugin context ([#114](https://github.com/deephaven/deephaven-plugins/pull/114)) - (6c1fec8) - mattrunyon
+- Add `ui.range_slider` and `ui.button` components basic functionality ([#122](https://github.com/deephaven/deephaven-plugins/pull/122)) - (76fe7b8) - mofojed
+- ui.panel and ui.table initial support implementation ([#88](https://github.com/deephaven/deephaven-plugins/pull/88)) - (8ac2192) - mofojed
+- Wrap UI components in their own liveness scopes ([#103](https://github.com/deephaven/deephaven-plugins/pull/103)) - (46a77f0) - mattrunyon
+- First pass of ui.table functionality ([#95](https://github.com/deephaven/deephaven-plugins/pull/95)) - (09136a5) - mofojed
+- deephaven.ui plugin prototype initial checkin ([#47](https://github.com/deephaven/deephaven-plugins/pull/47)) - (f753470) - mofojed
+
+#### Bug Fixes
+
+- **(ui)** Wrap renderer in liveness scope instead of function element ([#125](https://github.com/deephaven/deephaven-plugins/pull/125)) - (c0fb504) - mattrunyon
+- Don't use the API in the DashboardPlugin ([#190](https://github.com/deephaven/deephaven-plugins/pull/190)) - (3208d19) - mofojed
+- Close panels when object is nulled out ([#170](https://github.com/deephaven/deephaven-plugins/pull/170)) - (48dcca3) - mofojed
+
+#### Documentation
+
+- added `description` on ui.dashboard ([#146](https://github.com/deephaven/deephaven-plugins/pull/146)) - (229280d) - dsmmcken
+- use_viewport_data hook spec ([#118](https://github.com/deephaven/deephaven-plugins/pull/118)) - (0f6bf62) - jnumainville
+- Add the ui.dashboard spec ([#110](https://github.com/deephaven/deephaven-plugins/pull/110)) - (9acb671) - mofojed
+- Spec for use_table_listener ([#106](https://github.com/deephaven/deephaven-plugins/pull/106)) - (0c0cf41) - jnumainville
+- Add the `ui.table` spec ([#82](https://github.com/deephaven/deephaven-plugins/pull/82)) - (f885ea0) - mofojed
+- ui.panel spec ([#91](https://github.com/deephaven/deephaven-plugins/pull/91)) - (fa23ede) - mofojed
+
+#### Build system
+
+- Version bump deephaven-plugin-ui to 0.1.0 ([#195](https://github.com/deephaven/deephaven-plugins/pull/195)) - (7065be9) - mofojed
+- Version bump ui to 0.0.1.dev2 ([#135](https://github.com/deephaven/deephaven-plugins/pull/135)) - (c5848e0) - mofojed
- - -
-Changelog generated by [cocogitto](https://github.com/cocogitto/cocogitto).
\ No newline at end of file
diff --git a/plugins/ui/docs/sidebar.json b/plugins/ui/docs/sidebar.json
index e1f9bcdd7..66dc676c0 100644
--- a/plugins/ui/docs/sidebar.json
+++ b/plugins/ui/docs/sidebar.json
@@ -498,6 +498,10 @@
]
}
]
+ },
+ {
+ "label": "Changelog",
+ "path": "changelog.md"
}
]
}
diff --git a/sphinx_ext/make_docs_utilities.py b/sphinx_ext/make_docs_utilities.py
index fee2a5030..8b37e8e1c 100644
--- a/sphinx_ext/make_docs_utilities.py
+++ b/sphinx_ext/make_docs_utilities.py
@@ -138,6 +138,7 @@ def build_documents() -> int:
f"cp -r docs/_assets {BUILT_DOCS}/_assets",
f"[ -d docs/snapshots ] && cp -r docs/snapshots {BUILT_DOCS}/snapshots",
f"cp docs/sidebar.json {BUILT_DOCS}/sidebar.json",
+ f"[ -f CHANGELOG.md ] && cp CHANGELOG.md {BUILT_DOCS}/changelog.md || true",
]
code = attempt_command_sequence(commands)
diff --git a/tools/regenerate_changelog.sh b/tools/regenerate_changelog.sh
new file mode 100755
index 000000000..47954ecaa
--- /dev/null
+++ b/tools/regenerate_changelog.sh
@@ -0,0 +1,161 @@
+#!/usr/bin/env bash
+# Regenerate plugins//CHANGELOG.md from scratch by replaying every
+# released tag through `cog bump --package` in an isolated clone, then copying
+# the resulting CHANGELOG.md back into the source tree.
+#
+# All side effects (auto-commits, auto-tags, hooks) are confined to the clone,
+# which is deleted at the end. Pre/post bump hooks (confirm.sh, validate.sh,
+# update_version.sh, gh release, push, etc.) are stripped from the cloned
+# cog.toml before any bump runs.
+#
+# Usage from repo root:
+# ./tools/regenerate_changelog.sh plotly-express
+# ./tools/regenerate_changelog.sh ui
+
+set -euo pipefail
+
+if [ $# -ne 1 ]; then
+ echo "Usage: $0 " >&2
+ exit 1
+fi
+
+package="$1"
+src_repo="$(pwd)"
+src_changelog="${src_repo}/plugins/${package}/CHANGELOG.md"
+
+if [ ! -f "$src_changelog" ]; then
+ echo "No CHANGELOG.md at $src_changelog (run from repo root)" >&2
+ exit 1
+fi
+
+# Capture original tag SHAs from the source repo *before* we clone, so we have
+# an authoritative oldest->newest list independent of anything we mutate later.
+mapfile -t tags < <(git tag --list "${package}-v*" --sort=v:refname)
+if [ ${#tags[@]} -eq 0 ]; then
+ echo "No tags found matching ${package}-v*" >&2
+ exit 1
+fi
+declare -A tag_sha
+for t in "${tags[@]}"; do
+ tag_sha[$t]=$(git rev-list -n 1 "$t")
+done
+echo "Found ${#tags[@]} tags for ${package} (oldest: ${tags[0]}, newest: ${tags[-1]})"
+
+clone="$(mktemp -d -t cog-regen-${package}-XXXX)"
+trap 'rm -rf "$clone"' EXIT
+
+git clone --no-hardlinks --quiet "$src_repo" "$clone"
+# Pull in any uncommitted edits to cog.toml or the template from the working
+# tree of the source repo so local-but-not-committed changes propagate.
+cp "${src_repo}/deephaven-changelog-template" "${clone}/deephaven-changelog-template"
+cp "${src_repo}/cog.toml" "${clone}/cog.toml"
+cd "$clone"
+git config user.email regen@local
+git config user.name regen
+# cog requires the active branch to be in branch_whitelist (main / release/*).
+git branch -m main 2>/dev/null || true
+
+# Strip destructive hooks and ensure package_template is set.
+python3 - <<'PY'
+import re
+with open('cog.toml') as f: t = f.read()
+t = re.sub(r'pre_package_bump_hooks = \[[^\]]*\]', 'pre_package_bump_hooks = []', t, flags=re.DOTALL)
+t = re.sub(r'post_package_bump_hooks = \[[^\]]*\]', 'post_package_bump_hooks = []', t, flags=re.DOTALL)
+if 'package_template' not in t:
+ t = t.replace('template = "deephaven-changelog-template"',
+ 'template = "deephaven-changelog-template"\npackage_template = "deephaven-changelog-template"')
+with open('cog.toml', 'w') as f: f.write(t)
+PY
+git add cog.toml deephaven-changelog-template
+git commit --quiet -m "tmp: regen config" || true
+
+# We'll iterate oldest -> newest. For each tag, reset the working tree to the
+# parent of the original tag commit (so cog sees the package's actual commits
+# in range and our patched cog.toml/template are present), restore the
+# accumulator into CHANGELOG.md, then run `cog bump --package`.
+header='# Changelog
+
+All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.
+
+- - -
+'
+# Snapshot files live outside the clone so `git add -A` / `git reset --hard`
+# in the loop doesn't sweep them up.
+snap_dir="$(mktemp -d -t cog-regen-snap-XXXX)"
+trap 'rm -rf "$clone" "$snap_dir"' EXIT
+accumulator_file="${snap_dir}/changelog"
+cog_toml_snapshot="${snap_dir}/cog.toml"
+template_snapshot="${snap_dir}/template"
+printf '%s' "$header" > "$accumulator_file"
+cp cog.toml "$cog_toml_snapshot"
+cp deephaven-changelog-template "$template_snapshot"
+
+# Wipe ALL package tags up front. Cog's "what's the previous version" lookup
+# is by semver, not graph ancestry, so any leftover higher-version tag causes
+# `cog bump --version ` to error with "version must be greater than current".
+for t in "${tags[@]}"; do
+ git tag -d "$t" >/dev/null 2>&1 || true
+done
+
+prev_tag=""
+for tag in "${tags[@]}"; do
+ sha="${tag_sha[$tag]}"
+ version="${tag#${package}-v}"
+ echo "==> Replaying ${tag} (commit ${sha:0:7})"
+
+ git reset --quiet --hard "$sha"
+
+ # Force the previous tag (if any) to sit on its ORIGINAL commit (an
+ # ancestor of the current HEAD) so cog locates it via revwalk and scopes
+ # the commit range to v_{N-1}..v_N. Cog also uses semver to validate
+ # `--version ` against existing tags, so the only package tag we leave
+ # in place is the immediately-previous one.
+ if [ -n "$prev_tag" ]; then
+ git tag -d "$prev_tag" >/dev/null 2>&1 || true
+ git tag "$prev_tag" "${tag_sha[$prev_tag]}"
+ fi
+
+ cp "$cog_toml_snapshot" cog.toml
+ cp "$template_snapshot" deephaven-changelog-template
+ cp "$accumulator_file" "plugins/${package}/CHANGELOG.md"
+ git add -A
+
+ # Cog reads the rendered `date` from HEAD's commit time (HEAD is the prep
+ # commit at this point, since cog hasn't created the bump commit yet).
+ # libgit2 (cog) ignores GIT_*_DATE env vars, but git CLI honors them — so
+ # we stamp the prep commit's date to match the original tag's commit date.
+ tag_date=$(git -C "$src_repo" log -1 --format=%cI "$sha")
+ GIT_AUTHOR_DATE="$tag_date" GIT_COMMITTER_DATE="$tag_date" \
+ git commit -m "tmp: prep ${tag}" || true
+
+ if ! cog bump --package "$package" --version "$version" 2>&1 | tail -3; then
+ echo "cog bump failed for ${tag}" >&2
+ exit 1
+ fi
+
+ # Cog stamps the rendered version header with `Utc::now()` (see
+ # release.rs:54-59 — `from_timestamp` returns None in this code path and
+ # falls through to `now`). Patch the just-prepended `## - `
+ # line to use the original tag's date instead.
+ tag_day="${tag_date:0:10}"
+ sed -i "0,/^## ${tag} - /s/^## ${tag} - .*/## ${tag} - ${tag_day}/" \
+ "plugins/${package}/CHANGELOG.md"
+
+ cp "plugins/${package}/CHANGELOG.md" "$accumulator_file"
+ prev_tag="$tag"
+done
+
+# Each iteration's `cog bump` leaves the previous section's leading newline in
+# the file, which compounds with cog's own step-1 \n insert for the next
+# iteration — yielding an extra blank line between `---` and the next `##`.
+# Per-bump output (the going-forward case) is correct; this collapses the
+# regen-only chaining artifact.
+python3 -c "
+import re
+with open('$accumulator_file') as f: t = f.read()
+t = re.sub(r'\n{3,}', '\n\n', t)
+with open('$accumulator_file', 'w') as f: f.write(t)
+"
+
+cp "$accumulator_file" "$src_changelog"
+echo "Wrote $src_changelog"