updates for 2026#2
Merged
Merged
Conversation
… sorting - Update tsconfig.json and webpack.config.js to target ES2020 (fixes D3 v7 compatibility) - Add "Restore N columns" button to parallel plot when columns are hidden - Implement natural sort for categorical values (1, 2, 10 instead of 1, 10, 2) - Remove welcome page from tutorial (starts directly with Step 1/4)
1617506 to
0e78a0e
Compare
Author
Fixes for Mobile Usability1.
|
633ced9 to
9a51c6d
Compare
413ed74 to
f121c62
Compare
f121c62 to
997a575
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
lets bring this back to life.
Changes Summary
This document summarizes the changes made to HiPlot in the
patch/fixesbranch.Build & Packaging
Modern pyproject.toml Configuration
Migrated from
setup.pytopyproject.tomlfor modern Python packaging.Dependencies are now optional:
pip install hiplot-mm- Core functionality only (beautifulsoup4, jinja2)pip install hiplot-mm[server]- Web server support (flask, flask-compress)pip install hiplot-mm[notebook]- Jupyter notebook support (ipython, ipykernel)pip install hiplot-mm[streamlit]- Streamlit support (streamlit)pip install hiplot-mm[all]- All optional dependenciespip install hiplot-mm[dev]- Development dependenciesFiles modified:
pyproject.toml- New canonical configuration filesetup.py- Simplified to minimal shim for backwards compatibilityhiplot/ipython.py- Made IPython/ipykernel imports lazy with helpful error messageshiplot/server.py- Added helpful error message when flask is not installedhiplot/streamlit_helpers.py- Improved error handling for missing streamlitMANIFEST.in- Added pyproject.tomlDynamic Version from Package Metadata
hiplot.__version__now reads from installed package metadata (populated frompyproject.toml), ensuring version consistency.Files modified:
hiplot/pkginfo.py- Usesimportlib.metadata.version()to get version dynamicallyFeatures
Restore Hidden Columns Button
Added a button to restore columns that have been dragged off the parallel plot. The button:
Files modified:
src/header.tsx- AddedrestorableColumnsCountandonRestoreColumnsprops, renders button inline with other header buttonssrc/component.tsx- AddedrestorableColumnsCountstate,onHiddenColumnsChangecallback, and methodsgetRestorableColumnsCount()andrestoreAllColumns()to communicate with ParallelPlotsrc/parallel/parallel.tsx- AddedonHiddenColumnsChangecallback prop, notifies parent whenhideordimensionsstate changesNatural Sort for Categorical Columns
Categorical columns now sort values using natural sort order, so numeric strings sort correctly (1, 2, 3, 10, 11) instead of alphabetically (1, 10, 11, 2, 3).
Files modified:
src/lib/d3_scales.ts- AddednaturalSortComparator()function and applied it tod3_scale_categorical()UI Improvements
Bold Axis Labels
Axis labels in the parallel plot are now bold for better readability.
Files modified:
src/hiplot.scss- Addedfont-weight: boldto.axisLabelTextMargin Above Parallel Plot
Added a small margin between the header and the parallel plot to prevent axis labels from having a hard boundary with the header area.
Files modified:
src/parallel/parallel.scss- Addedmargin-top: 8pxto.parallel-plot-chartFixed Horizontal Scrollbar on Page Load
Fixed a brief horizontal scrollbar that appeared on hard refresh before the layout settled.
Files modified:
src/hiplot.scss- Addedoverflow-x: hiddento.hiplotcontainerSimplified Tutorial
Removed the welcome/info page from the tutorial. The tutorial now starts directly at "Step 1/4: The Parallel Plot" instead of showing package information first.
Files modified:
src/tutorial/tutorial.tsx- RemovedStepHiPlotInfofrom thestepsarrayContext Menu and Tooltip Positioning Fix
Fixed context menus and tooltips being cut off when interacting with rightmost axis labels.
Context menu:
Tooltip:
Files modified:
src/contextmenu.tsx- Added viewport boundary checking incomponentDidUpdate()usingrequestAnimationFrameto reposition after content renderssrc/lib/svghelpers.ts- UpdatedfoDynamicSizeFitContent()to detect right edge proximity and flip tooltip positionMobile Support (Long-Press for Context Menu)
Added touch event support for mobile devices to access axis context menus.
Features:
Files modified:
src/lib/svghelpers.ts- Addedtouchstart,touchend,touchcancel,touchmoveevent handlers infoCreateAxisLabel()Security Updates
NPM Package Security Fixes
Updated packages to address security vulnerabilities. Reduced from 17 vulnerabilities (1 critical, 6 high) to 2 low-severity issues.
Critical/High fixes:
@babel/traverse- Fixed arbitrary code execution vulnerabilitysemver- Fixed ReDoS vulnerabilitybraces- Fixed resource exhaustion vulnerabilitycross-spawn- Fixed ReDoS vulnerabilityjson5- Fixed prototype pollution vulnerabilityws- Fixed DoS vulnerabilitywebpack- Fixed XSS vulnerabilitypostcss- Fixed ReDoS and line parsing vulnerabilitiesmicromatch- Fixed ReDoS vulnerabilitylodash- Fixed prototype pollution vulnerabilityRemaining (low severity, dev-only):
tmp- symlink vulnerability in es-check's deep dependenciesbrace-expansion- ReDoS in minimatch (used by npm-run-all, glob)Files modified:
package.json- Updated dependencies and addedoverridessection to force secure versions of transitive dependenciesbun.lock- Updated lockfile with new package versions