Skip to content

Upgrade DataTables to 1.13.11 - #2744

Merged
Flix6x merged 17 commits into
mainfrom
ui-bump-datatables
Oct 19, 2026
Merged

Flix6x merged 17 commits into
mainfrom
ui-bump-datatables

Conversation

@Flix6x

@Flix6x Flix6x commented Oct 19, 2026

Copy link
Copy Markdown
Member

Description

Stacked on #2711: its base branch, feat/vendor-ui-assets, mirrors #2711's head, so this diff only shows the upgrade.

  • Upgrade DataTables from 1.10.22 to 1.13.11, the latest 1.x release, which addresses a known advisory against 1.10.22 (see Track updates and advisories for the UI's frontend libraries #2725). The conditionalPaging plug-in moves to 1.13.6, its latest 1.x release.
  • DataTables 1.13 draws its sorting arrows with CSS instead of PNG images, which it no longer ships. Our rules that put the PNG icons on the left of headers that aren't right-aligned now move 1.13's arrows to the left instead, in flexmeasures.css.
  • Added changelog item in documentation/changelog.rst

I compared all ten pages with tables on 1.10.22 and 1.13.11 in a headless browser: sorting, search and paging behave the same. Two visual differences needed CSS in flexmeasures.css: the arrows are now coloured and placed like the old icons, and the grey header border that 1.13 adds is suppressed. What remains differs by a pixel or two.

How to test

python -m flexmeasures.ui.utils.fetch_vendor_assets datatables datatablesconditionalpaging, then open the assets, users and accounts lists, and sort, search and page through them.

Related Items

#2711, #2725

🤖 Generated with Claude Code

https://claude.ai/code/session_019bawYg67N5T5csiFdwWgZ1

TeaDrinkingProgrammer and others added 11 commits October 15, 2026 17:25
Loading them from CDNs breaks the UI on poor or no internet connections. FlexMeasures moved to CDNs in #21 as a small speed tweak, to be revisited if CDNs ever failed.

BREAKING CHANGE: FLEXMEASURES_JS_VERSIONS no longer has a default and is ignored, so plugins must read the js_versions template variable or flexmeasures.ui.utils.vendor_versions.JS_VERSIONS instead.

Refs #18

Signed-off-by: Stijn van Houwelingen <teadrinkingprogrammer@proton.me>
Signed-off-by: Stijn van Houwelingen <teadrinkingprogrammer@proton.me>
Signed-off-by: Stijn van Houwelingen <teadrinkingprogrammer@proton.me>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019bawYg67N5T5csiFdwWgZ1
Signed-off-by: F.N. Claessen <felix@seita.nl>
…ir licences

The icons have no fixed release to fetch from, as Iconify renders them on request, so they stay committed under static/icons/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019bawYg67N5T5csiFdwWgZ1
Signed-off-by: F.N. Claessen <felix@seita.nl>
…their files and hashes

Instead of committing ~5 MB of third-party files, record each library's version, files and SHA-256 hashes in flexmeasures/ui/utils/vendor_assets.py.
Running python -m flexmeasures.ui.utils.fetch_vendor_assets downloads them, with their licences, and checks each file against its hash.
Fetched files are served by FlexMeasures, and files that were not fetched load from their CDN, with the recorded hash as the tag's integrity attribute.
Fonts and images which flexmeasures.css referred to move into the vendor.html macros, since a static stylesheet cannot tell whether they were fetched.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019bawYg67N5T5csiFdwWgZ1
Signed-off-by: F.N. Claessen <felix@seita.nl>
… them

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019bawYg67N5T5csiFdwWgZ1
Signed-off-by: F.N. Claessen <felix@seita.nl>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019bawYg67N5T5csiFdwWgZ1
Signed-off-by: F.N. Claessen <felix@seita.nl>
… on one line

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019bawYg67N5T5csiFdwWgZ1
Signed-off-by: F.N. Claessen <felix@seita.nl>
…orting arrows like before

DataTables 1.13 draws its sorting arrows as glyphs, rather than with the PNG icons which it no longer ships.
Style and place them like those icons were, and keep its new header border from showing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019bawYg67N5T5csiFdwWgZ1
Signed-off-by: F.N. Claessen <felix@seita.nl>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019bawYg67N5T5csiFdwWgZ1
Signed-off-by: F.N. Claessen <felix@seita.nl>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019bawYg67N5T5csiFdwWgZ1
Signed-off-by: F.N. Claessen <felix@seita.nl>
@read-the-docs-community

read-the-docs-community Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Flix6x and others added 5 commits October 19, 2026 10:07
…ource copy in the Docker build

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019bawYg67N5T5csiFdwWgZ1
Signed-off-by: F.N. Claessen <felix@seita.nl>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019bawYg67N5T5csiFdwWgZ1
Signed-off-by: F.N. Claessen <felix@seita.nl>
…rsions of the UI's libraries, optionally with the hashes of their files

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019bawYg67N5T5csiFdwWgZ1
Signed-off-by: F.N. Claessen <felix@seita.nl>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019bawYg67N5T5csiFdwWgZ1
Signed-off-by: F.N. Claessen <felix@seita.nl>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019bawYg67N5T5csiFdwWgZ1
Signed-off-by: F.N. Claessen <felix@seita.nl>
@Flix6x
Flix6x changed the base branch from feat/vendor-ui-assets to main October 19, 2026 13:54
@Flix6x Flix6x self-assigned this Oct 19, 2026
@Flix6x Flix6x added the dependencies Pull requests that update a dependency file label Oct 19, 2026
@Flix6x Flix6x added this to the 1.1.0 milestone Oct 19, 2026
@Flix6x
Flix6x merged commit 345ff15 into main Oct 19, 2026
13 checks passed
@Flix6x
Flix6x deleted the ui-bump-datatables branch October 19, 2026 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants