From 78ebd10d6854d930cfc0d715d1c94a10c855d19a Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sun, 30 Aug 2026 21:58:53 +0000 Subject: [PATCH] chore(release): bump version to 0.8.2 Pin quantui-gpu.def QUANTUI_VERSION to match pyproject; consolidate CHANGELOG since v0.8.1 (SLURM gate, NCShare launchers, IR parallel, M-CLUSTER2 batch path, and related fixes). Co-authored-by: Cursor Agent --- CHANGELOG.md | 32 ++++++++++++++++++++++++++------ apptainer/quantui-gpu.def | 2 +- pyproject.toml | 2 +- quantui/__init__.py | 2 +- 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 832b385..465098a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,21 +7,41 @@ and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.ht ## [Unreleased] +## [0.8.2] - 2026-08-30 + ### Added -- **`QUANTUI_ENABLE_SLURM` site gate** — SLURM batch mode stays hidden and +- **SLURM batch execution (M-CLUSTER2)** — optional cluster backend when + `QUANTUI_ENABLE_SLURM=1` and `sbatch` is on PATH: submit from the same UI, + monitor on the **Cluster Jobs** tab, hybrid `squeue`/`sacct` polling, submit + cooldown, and stale-registry cleanup. All Calculate-tab calc types supported + on the batch worker path. +- **`QUANTUI_ENABLE_SLURM` site gate** — SLURM batch stays hidden and undispatchable until an operator sets this environment variable. Student CPU images and JupyterHub profiles can omit it (default off); instructors enable cluster testing with `QUANTUI_ENABLE_SLURM=1` without any extra student command. -- **CPU teaching SIF defaults** — `quantui.def` sets `QUANTUI_FREQ_PARALLEL=1` - so NCShare classroom sessions parallelize IR-intensity displacements on - multi-core nodes. The Settings checkbox reflects the deployment value and is - locked while the variable is set; use `QUANTUI_FREQ_PARALLEL=0` to force off - site-wide. +- **`quantui setup` and `quantui run app`** — writes `~/QuantUI.ipynb` for + NCShare/JupyterLab (Render with Voilà). `run app` detects Apptainer + + Jupyter and exits with Voilà instructions instead of opening an unreachable + second port. +- **Parallel IR intensity displacements (CPU)** — Settings checkbox + (`compute.freq_parallel`) plus `QUANTUI_FREQ_PARALLEL` env override fans out + the 6N finite-difference SCF loop on hosts with ≥4 cores and ≥2 atoms. The + **CPU teaching SIF** sets `QUANTUI_FREQ_PARALLEL=1` by default; the checkbox + reflects the deployment value and locks while the env var is set. +- **Imaginary-mode perturbation** for Frequency reruns seeded from History. +- **Stage-aware frequency cost estimate** and per-phase run status labels (NMR, + Hessian, post-HF). +- **Preset theme palettes** replacing the invert filter (M-THEME THEME.6). +- **Quantum engine registry** (`quantui/engines/`) and + `ComputeSettings.quantum_engine` field (M-PYFOCK PYF.1 groundwork). +- **Static Raman spectrum** on the Analysis tab (M-SPECTRA2). ### Fixed +- **Mulliken 3D viewer** could render blank after geometry persistence and lazy + panel activation (#103). - **`apptainer/quantui-gpu.def` never installed the `xtb` extra**, so GFN-FF metal-capable classical pre-optimization (DEC-018) was unavailable in every GPU/HPC image — the app correctly reported the honest-failure message diff --git a/apptainer/quantui-gpu.def b/apptainer/quantui-gpu.def index 099fb2c..a7987cb 100644 --- a/apptainer/quantui-gpu.def +++ b/apptainer/quantui-gpu.def @@ -23,7 +23,7 @@ From: nvidia/cuda:12.8.1-devel-ubuntu24.04 # immutable artifact that anyone can `pip download` and diff. It is also # the provenance story worth demonstrating: the image records a version # someone else can install, not a SHA from one person's working tree. - QUANTUI_VERSION=0.8.1 + QUANTUI_VERSION=0.8.2 %help QuantUI — GPU image (PySCF + gpu4pyscf on CUDA 12.x, xtb GFN-FF pre-opt) diff --git a/pyproject.toml b/pyproject.toml index bc25fbe..e99a896 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ build-backend = "setuptools.build_meta" [project] name = "quantui" -version = "0.8.1" +version = "0.8.2" description = "An open-source frontend for DFT and post-HF quantum chemistry with PySCF" readme = "README.md" requires-python = ">=3.9" diff --git a/quantui/__init__.py b/quantui/__init__.py index cf31f98..47fa698 100644 --- a/quantui/__init__.py +++ b/quantui/__init__.py @@ -7,7 +7,7 @@ PySCF requires Linux/macOS/WSL. Windows users should use the Apptainer container. """ -__version__ = "0.8.1" +__version__ = "0.8.2" import logging from typing import Any