Feat: Phone entries can now carry a rich description (a small inline HTML subset — links, emphasis, etc.) and a links[] array of operator-defined links shown alongside the built-in Review / Shop links. See Rich Descriptions and Custom Links.
Fix: variants[] now composes with the phone-level file / suffix / prefix / samples / hptfs form instead of discarding it, so a database can use Sample Sets without losing CrinGraph compatibility. See Sample Sets.
Feat: Unified multi-sample and HpTF measurements into one Sample Set concept. A variant measured more than once can now be drawn as an averaged curve, per-run curves, a shaded min/max deviation band, or any combination — including "averaged line with a variance band", which neither old form could express. Declare it per variant with the new variants[] schema. See Sample Sets documentation.
Feat: New SAMPLES config section (DEFAULT_COUNT, DEFAULT_DISPLAY, FILL_OPACITY), replacing MULTI_SAMPLE and HPTF. A site-wide default run count means a uniformly multi-sampled database needs no per-entry setting. See SAMPLES documentation.
Feat: An individual sample curve now has its own L, R and AVG toggles.
Feat: Added a new DOWNLOAD option to the config.js that allows users to export measurement curves. Disabled by default. See more at DOWNLOAD documentation.
Fix: The on-graph label now updates as individual runs are toggled, and the hover readout reports runs from every kind of sample set.
Fix: The averaged curve of a multi-sample device can now be hidden, and individual runs keep their true spread at the normalization frequency instead of being flattened onto it.
Deprecated: The modernGraphTool-specific hptfs[] key and the MULTI_SAMPLE / HPTF config sections still load, but will be removed in a future release. Convert your files by importing and re-exporting them in the phone_book.json Editor and the Config Editor. See Deprecated: hptfs[].
Feat: Reworked the Equalizer with the new sine sweep audio source, a History & Compare panel with A/B mode switching, and full undo/redo for filter edits.
Feat: Cross-Site Search now queries the GraphAggregator index, replacing the per-site squig.link crawl for faster and more reliable results across measurement databases.
Localization: Added Czech language support. (by @adam664)
Fix: Fixed numerous EQ issues, including bypass loudness matching, the \ momentary bypass key, and more.
Fix: Fixed baseline graph rendering inconsistencies, and Preference Bound issue with mobile devices.
Fix: Fixed several data-sync edge cases around undo/redo, variant removal, and target duplication.
Fix: Fixed an issue where color randomizer was not working properly.
Fix: Fixed an issue where Preference Bound was not properly following y-axis position adjustment via graph handle.
Fix: Normalization now shifts a device's left and right channels by the same amount, so the displayed L/R gap reflects the true channel imbalance instead of being flattened at the normalization point.
Feat: Added a new "CURVE_COLOR_PALETTE" field in the config.js that allows users to customize the color palette used for device curves. See more at TRACE_STYLING documentation.
Feat: Added a new "PANEL_POSITION" field in the config.js that allows users to customize the position of the menu panel on the desktop interface. See more at INTERFACE documentation.
Refactor: Updated audio player to keep the same instance across navigations, allowing it to maintain playback state and position when switching between various panels.
Change: Menu panel is now positioned on the left side of the desktop interface by default, following common UI conventions from CrinGraph.
Change: Added a toast notification that is shown when a new version of modernGraphTool is loaded.
Feat: Added a new "RANKING_URL" field in the config.js that changes the ranking indicator in the device selector to link to a custom URL. See more at RANKING_URL documentation
Fix: Fixed an issue where y-axis scale button was not properly initialized with configured default value on page load.
Fix: Fixed an issue where entire devices went missing when single entry in the phone book had an invalid format, instead of just that entry being skipped.
Fix: Fixed multiple issue with baseline graph rendering, including incorrect baseline display when using certain normalization options and misalignment of baseline elements in some cases.
Feat: Added new EQ settings component with normalization linking and AutoEQ persistence options
Feat: Added an option to lock the EQ curve to the original graph, keeping its position relative to the original measurements regardless of normalization settings
Feat: Added an option to remember AutoEQ input values, with choices for current tab only or saving to the browser for all sessions
Refactor: Updated EQ panel layout to split elements for better organization in wide viewports