There is a newer version of the record available.

Published June 5, 2026 | Version v3.2.2

Isurwars/Correlation: Correlation v3.2.2

Description

[3.2.2] - 2026-06-04

Changed

  • Static Third-Party Builds: Configured nativefiledialog-extended (nfd), Slint, HDF5, and Arrow/Parquet to compile statically when built from source (FetchContent). This resolves dynamic library loading issues for target deployment platforms (such as AUR and macOS bundles).
  • macOS App Bundling: Integrated CMake's standard BundleUtilities (fixup_bundle) during macOS installation to copy and bundle TBB, HDF5, and Slint libraries from Homebrew or local paths, rewriting library load paths to relative @executable_path references for completely standalone DMG execution.
  • Dynamic Link RPATH on macOS: Changed macOS INSTALL_RPATH from Linux-style $ORIGIN to macOS-native @loader_path in CMake targets.

Added

  • Release Dependency Verification: Integrated automated post-build checks into the GitHub Actions release workflow (release.yml), asserting static linking of libnfd on Linux via ldd and verifying dynamic library relocation on macOS using otool -L to prevent release packages with broken library paths.

[3.2.1] - 2026-06-03

Added

  • Dynamic Plot Format Switch: Removed the hardcoded .svg extension from the default filename in the plot save dialog, allowing the dialog's native filter selection to automatically append either .svg or .pdf to the output file path.

Changed

  • Modern Dialog Integration: Migrated the desktop dialog backend from the patched header-only portable-file-dialogs to the native, cross-platform library nativefiledialog-extended.
  • Synchronous UX: Converted the file open/save dialog interactions from a polled asynchronous model (using a 100ms UI timer) to a synchronous blocking model.
  • UI Code Cleanup: Removed the polling Timer and the check_file_dialog_status callback declaration from the frontend Slint UI.

Fixed

  • Linux Dependency Binding: Configured automatic installation of GTK3 development headers (libgtk-3-dev) in GitHub Actions workflows to ensure cross-platform GUI builds compile successfully.
  • CMake GUI Build Guards: Wrapped GUI-specific target installation and desktop setup settings inside if(BUILD_GUI) conditions, allowing CLI-only or documentation-only workflows (such as docs.yml) to configure and run without GTK/GUI package dependencies.

[3.2.0] - 2026-06-01

Added

  • Comprehensive Bounds and Cross-Validation Guards: Added strict parameter validation to both the CLI and Backend to fail early on invalid inputs:
    • Validates that bin widths are strictly less than their respective maximum bounds (r_bin_width < r_max and q_bin_width < q_max).
    • Limits angular bin widths (angle_bin_width <= 180.0° and dihedral_bin_width <= 360.0°).
    • Ensures frame limits are valid (max_frame >= -1) and cross-validates frame ranges (min_frame <= max_frame).
    • Rejects zero-value smoothing bandwidths (smoothing_sigma > 0.0) when post-processing smoothing is enabled.
    • Ensures at least one export format (CSV, HDF5, or Parquet) is enabled when running calculations.
  • Robust Parameter Validation Tests: Added 18 new unit tests verifying all parameter boundary conditions and validation failure paths.
  • Restructured GUI Layout: Reorganized the Slint-based Graphical User Interface into a modern, stable 3-column dashboard:
    • Consolidates file loading, metadata summary, and analysis run/save triggers into a single control card on the left.
    • Groups all settings into a central tabbed card (Trajectory options, calculator parameters, file export formats, and preset/analyses setup).
    • Places a stable, always-visible plot preview panel on the right.
    • Implements state-based opacity transitions and overlay blocking to disable the options and preview panels until their prerequisites (loading a file and running an analysis) are completed.

Fixed

  • Path Separation and Normalization: Applied lexically_normal() to all default output base path generation logic to prevent platform/standard library separator and trailing slash discrepancies (e.g., resolving duplicate slashes like // in paths).
  • CLI11 Slash Options parsing on Windows: Disabled Windows-style option prefixes (/) in CLI11 to prevent absolute paths starting with / (such as /data/...) from being parsed as options, correcting test failures on Windows CI.

Full Changelog: https://github.com/Isurwars/Correlation/compare/v3.2.1...v3.2.2

Files

Isurwars/Correlation-v3.2.2.zip

Files (41.3 MB)

Name Size Download all
md5:0438b351a4a5f2cf2a0f4055df6d9a9e
41.3 MB Preview Download

Additional details

Related works