# 2.5.8 (2026-07-19)

- We have fixed several dark mode issues where the table controls turned dark but the table itself stayed light ([#426](https://github.com/mwouts/itables/issues/426)):
  - The dark-mode detection now also looks at ancestor documents, not just the current one, since some hosts (e.g. VS Code) render table/widget content inside a same-origin iframe of its own.
  - `div.dt-container` now paints its own theme-aware background and text color, instead of relying on transparency and inheritance from a host that may not provide either.
  - `html.<selector>` rules (in addition to the existing `:root.<selector>` ones) are now also mirrored to `:host.<selector>`, so dark mode works inside a Shadow DOM (e.g. Marimo).
- We have added `--itables-logo-ink`/`--itables-logo-paper` CSS variables so the animated loading logo also adapts to dark mode.

# 2.5.7 (2026-07-18)

- We have made the dark mode detection reactive, so it also follows theme changes that happen after the table has been rendered (e.g. switching the Jupyter Lab or VS Code theme) ([#576](https://github.com/mwouts/itables/issues/576))

# 2.5.6 (2026-07-18)

- We have added a Quarto-specific detection for the dark mode
- We have fixed the ColumnControl dropdown in Quarto ([#536](https://github.com/mwouts/itables/issues/536))

# 2.5.5 (2026-06-10)

- We have added the Scroller and ColReorder extension of DataTables to the `dt_for_itables` package

# 2.5.4 (2026-05-16)

- We have added a new CSS rule to make sure that sorting icons are always displayed on the same side ([[#535](https://github.com/mwouts/itables/issues/535)])

# 2.5.3 (2026-05-16)

- We have added a new CSS rule to enforce a whitespace before the lengthMenu ([[#542](https://github.com/mwouts/itables/issues/542)])

# 2.5.2 (2026-05-16)

- We have updated the JavaScript dependencies of `dt_for_itables` ([#545](https://github.com/mwouts/itables/pull/545))

# 2.5.1 (2026-02-22)

- We have added the FixedHeader extension of DataTables to the `dt_for_itables` package ([#496](https://github.com/mwouts/itables/pull/496))

# 2.5.0 (2026-02-01)

- We have updated datatables and its extensions to `datatables.net-dt==2.3.7`

# 2.4.0 (2025-08-23)

- We have added the ColumnControl extension of DataTables to the `dt_for_itables` package ([#403](https://github.com/mwouts/itables/issues/403))


# 2.3.3 (2025-06-10)

- We have made sure that the ordering icons on empty headers do not reappear when ordering a column
- Wrapping Javascript functions definitions within parentheses before evaluating is now done on the Javascript side
- The CSS imports have been moved to the `.css` files, and we extend the `:root` styles to `:host`


# 2.3.2 (2025-05-17)

- We have fixed an issue with `selected_rows` when `filtered_row_count` was not explicitly set.

# 2.3.1 (2025-05-17)

- We have improved the implementation of `text_in_header_can_be_selected`.
- The indirect evaluation of `JavascriptCode` and `JavascriptFunction` will not proceed when prototype pollution attempts are detected.

# 2.3.0 (2025-05-11)

- This version uses `datatables.net-dt=2.3.0`. The extensions have been updated, too.
- We have added a new class `ITable` that processes some of the arguments on the Javascript side.
- We use an indirect eval to parse the `JavascriptCode` and `JavascriptFunction` passed from Python.
- The table data is now passed as JSON through `data_json`, with support for BigInts and non finite float values.

# 2.2.0 (2025-03-15)

- We have upgraded `datatables.net-dt==2.2.2` and `datatables.net-select-dt==3.0.0`

# 2.0.13 (2024-09-22)

- We have added two functions `set_selected_rows` and `get_selected_rows` to set and retrieve selected rows

# 2.0.12 (2024-09-08)

- We have added the datetime extension for DataTables ([#288](https://github.com/mwouts/itables/issues/288))

# 2.0.11 (2024-06-19)

**Added**
- The default CSS contains has `overflow:auto` on `.dt-layout-table>div`. This improves the horizontal scrolling in Jupyter, and discards the need for `scrollX` in Streamlit ([#282](https://github.com/mwouts/itables/pull/282))


# 2.0.10 (2024-06-08)

**Added**
- The default css for `dt-container` is `{max-width:100%;}`
- We have included the `colvis` button in the package

**Changed**
- Updated `datatables.net-dt==2.0.8` and `datatables.net-select-dt==2.0.3`


# 2.0.7 (2024-05-26)

**Added**
- Added a default export and typings

**Changed**
- Updated `datatables.net-dt==2.0.7` and `datatables.net-select-dt==2.0.2`
