Version 2.8.2
Added
- We have added a
cssargument toshow(and a matchingitables.options.css) to inject custom CSS. Unlikedisplay(HTML(f"<style>{css}</style>")), this CSS is embedded in the output of every table, so it does not depend on that separate cell's output being rendered - some notebook front-ends (e.g. VS Code) defer rendering outputs that are scrolled out of view, so a standalone CSS cell may not take effect until it becomes visible (#572).
Changed
- We have sped up the CI: the
pytestmatrix jobs now install the wheel built once bybuild-wheelinstead of each rebuilding the JS bundle from source, tests now run in parallel withpytest-xdist, andpytest-pixi-updated(which overlaps with the weekly scheduled run) is skipped on pull requests.
Fixed
- We have fixed the dark mode detection so that it also reacts to theme changes that happen after the table has been rendered, e.g. when the user switches the Jupyter Lab or VS Code theme (#576).
- We have fixed the dark mode detection in offline mode (#564).
- We have fixed the dark mode detection in Quarto documents (#536).
- We have fixed the misaligned ColumnControl search dropdown (e.g.
columnControl={"content": ["searchDropdown"]}) (#536). - The
dashversion used to generatesrc/itables_for_dash/ITable.pyis now pinned todash==4.4.0to avoid jitter inITable.py.
Security
- We have added zizmor to our CI to scan the GitHub Actions workflows for security issues. All actions are now pinned to a commit SHA, checkout steps no longer persist credentials, jobs use least-privilege permissions, and we fixed a code-injection risk in the PR-comment workflow where untrusted pull request metadata was interpolated directly into a
github-scripttemplate.