Skip to content

Release v3.8.0

Latest

Choose a tag to compare

@github-actions github-actions released this 20 Sep 06:11

Performance

  • Cache reference-patch statistics, replace DP predecessor scans with prefix
    maxima, and evaluate independent candidates in parallel. Preserve the original
    tie rule and reduction order.
  • Fuse four Gammatone IIR stages with RMS accumulation, removing the large
    intermediate buffer while preserving FP64 arithmetic and filter resets.
  • Keep scoring models, search windows, alignment stages and public API unchanged.
    Recorded warmed comparisons against accelerated v3.7.0 are 2.57× on Apple M4
    Pro, 2.80× on AMD EPYC 9K84 and 2.29× on Windows Core Ultra 9 285H; see the
    protocol and raw measurements.

Fixed

  • Support Windows Unicode SVR model paths using the native filename encoding,
    short filenames and temporary copies. Try the system temp directory if the
    user's temp path is also unusable. Invalid models fail during initialization.
  • Read lattice model bytes through Python so Unicode installation paths work.
  • Cap automatic Windows process counts at 61 and document the spawn entry-point
    guard and the cost of starting pools for small batches.
  • Keep benchmark scripts out of pytest collection and reject invalid explicit
    conformance-data paths. Resolve NumPy/SciPy together and exclude unsupported
    NumPy 1.x/Python 3.13 combinations.

Tests and release validation

  • Retain the frozen v3.7.0 kernel oracles, exact output checks, backend numerical
    comparisons, real process-pool tests and Windows filename/CLI regressions.
  • Tighten C++ MOS tolerances to 0.0002 for audio and 0.003 for speech, separately
    from the exact old/new checks. Verify the official audio data by Git blob SHA.
  • Validate both FFT backends on Linux, macOS and Windows; expand Windows to
    Python 3.10–3.13 and exercise older compatible dependency combinations.
  • Add long-audio, speech, batch and fresh-cache comparisons. Include the test
    helpers, benchmarks and validation documents in sdists; keep wheels package-only.
  • Gate publication on tag/version/changelog checks, full CI of the tagged commit
    and installation of the built wheel in Unicode environments on three platforms.
    Publish the tested artifact without rebuilding it. See releasing.

Integration details and workload limits: validation report.

Install: python -m pip install "visqol-python[all]==3.8.0".

Validation: the tagged-commit pipeline passed all 31 jobs, including the 28-job CI matrix. PyPI and GitHub wheel/sdist SHA-256 hashes match the tested artifact. A fresh Windows Python 3.12 environment installed the public PyPI wheel and passed dependency, three-mode, spawned-worker and Unicode CLI checks.

Full changelog.