Changelog

What changed, version by version.

Qemica versions increase with every released set of changes. The desktop app checks for updates at launch and never installs anything silently.


v0.2.12026-07-23

Engine setup that works, and a faster first run

  • The one-click Python engine install now works on macOS — it previously created the environment but silently failed to install the engine into it, so calculations came back “quchemy module missing”. You can also point Qemica at an existing conda/venv straight from the setup dialog.
  • Optional engine capabilities install from Config → Engines, including SQD (sample-based quantum diagonalization, on the local simulator) and the DFT-D dispersion, MACE, and Qiskit components.
  • A smoother first run: nothing contacts the network before you accept the terms, the engine-setup dialog no longer stacks over them, and its other buttons are disabled while an install or check is running.
  • Loading the benzene sample is now instant — its identifiers are known so it skips the chemistry round-trip, and the 3D shader is precompiled during the boot splash so the first render doesn’t hitch.
  • Smaller fixes: the engine reports its correct version (no spurious update prompt), typing a molecule name no longer nudges the 3D camera, and Get Started ships just benzene.
v0.2.02026-07-21

Opt-in updates, finalized terms, and polish

  • The launch-time update check is now opt-in: Qemica no longer contacts the update server on startup unless you turn the check on.
  • The EULA and privacy policy are finalized — no remaining placeholders — and the Free plan’s contribution terms now cover use of de-identified calculation data for training machine-learning models. The updated policy is presented in the app for re-acceptance.
  • The account and notification menus in the top bar now close when you click their button a second time.
  • Still a universal macOS build for Apple Silicon and Intel, signed and notarized; each release publishes its installer’s SHA-256.
v0.1.542026-07-20

The first download

  • Qemica is downloadable: the macOS build is a universal binary for Apple Silicon and Intel, signed with a Developer ID certificate and notarized by Apple, so it installs without a Gatekeeper warning. Each release publishes the SHA-256 of its installer so you can verify the file before opening it.
  • Windows and Linux builds are not published yet.
  • A boot splash now appears while the app starts.
v0.1.532026-07-19

Electron transfer in the methodology wizard

  • Configure’s Suggest-a-methodology wizard gains an “Electron transfer / redox” purpose: it recommends DFT optimize + frequencies for each charge state — the Gibbs legs the Redox reduction-potential cycle in Compare & workflows turns into E° vs SHE — plus a diffuse-basis (aug-cc-pVXZ) fixed-geometry single point for vertical IP/EA, with guidance on running once per charge state and why anions need diffuse functions.
v0.1.522026-07-19

Complete-basis-set extrapolation

  • New CBS tab in Compare & workflows: run one method across a systematic basis-set ladder (cc-pVXZ, aug-cc-pVXZ, or def2) as single points on one geometry and read the extrapolated basis-set limit — the SCF energy extrapolated exponentially (published per-family exponents, or a three-point fit when three consecutive cardinal numbers are present), the correlation energy as X⁻ᵝ from the two largest basis sets, and the post-HF total assembled as extrapolated SCF + extrapolated correlation.
  • Honest by construction: DFT ladders are flagged approximate, bases outside the systematic families are skipped with a warning, and legs mixing basis families or methods are refused with the reason shown.
v0.1.512026-07-18

Honest wording, everywhere

  • A full truth sweep across the website and the in-app legal texts: the Free plan’s calculation contributions are described as consent to a collection that is not yet active (no calculation data leaves your machine today; the app will tell you before that changes), Premium billing is stated as launching later, and the privacy policy now lists the engine setup’s downloads from astral.sh and PyPI.
  • The updated policy (version 2026-07-18) is presented in the app for re-acceptance.
v0.1.502026-07-17

Pre-ship review closeout

  • A final pre-ship review pass across the app; remaining findings fixed or explicitly signed off.
  • Optimization-step telemetry reaches the live charts again when the engine log is being captured, and the engine wheel pin is back on 0.1.1.
v0.1.492026-07-17

Move devices with one zip

  • Settings → Paths → Device migration exports everything — projects, results, settings — into a single zip you carry to the new machine and import there. Already-existing items are skipped on import, and credentials never ride along (you re-enter them on the new device).
  • The legal documents now describe exactly this local migration: the planned Premium cloud sync is dropped, so Premium is private results and early-access builds. The updated policy is presented for re-acceptance in the app.
v0.1.482026-07-17

Solvation models, spelled out

  • The solvent-model picker now offers C-PCM and IEF-PCM explicitly instead of one ambiguous “PCM”, with tooltips naming the exact reaction field each label runs (existing recipes saying “PCM” run as C-PCM).
  • Compare keeps a constant tab-strip height across tabs.
v0.1.472026-07-17

Dialog chrome, settled

  • Confirm dialogs use one borderless dark surface — no more overlapping header or mispainted top bar (closes the 0.1.45–0.1.47 chrome series).
v0.1.462026-07-17

Confirm-dialog top bar

  • The confirm dialog’s top bar is painted to match the app’s dark chrome.
v0.1.452026-07-17

Honest project deletion

  • Deleting a project now says where its molecules actually go — the “project not assigned” bucket, named exactly as the rest of the app names it — and the Settings confirmation dialogs get the app’s dark chrome instead of a bare system titlebar.
v0.1.442026-07-17

Depth cues in the 3D viewport

  • The 3D viewport gains ambient occlusion, depth fog, and an optional depth-of-field blur, so large structures read with real depth instead of a flat ball forest. Each cue toggles on the Graphics tab’s new Depth section (default off).
v0.1.432026-07-16

Under the hood

  • Internal: Home-screen panels and setup dialogs refactored onto shared base classes — no behaviour change.
v0.1.422026-07-16

Cleanup: unwired subsystems removed

  • Internal: orphaned subsystems that were tested but never wired into the app are removed, shrinking the codebase without changing behaviour.
v0.1.412026-07-16

Cleanup: duplicated helpers

  • Internal: dead code dropped and duplicated helpers consolidated — no behaviour change.
v0.1.402026-07-16

One import path

  • The Home screen’s “Coming from Gaussian or Jaguar?” card is retired — engine-output import now lives where you’d look for it, in the LeftPanel Import flow (see 0.1.36–0.1.38).
v0.1.392026-07-16

LeftPanel toolbar order

  • The molecule-list toolbar reads New · Save · Duplicate · Import · Delete, in that order.
v0.1.382026-07-16

Import structures and input decks

  • A LeftPanel Import button brings structures (.xyz, .mol, …) and engine input decks straight into the current project as new molecules — no detour through an external converter.
v0.1.372026-07-16

Buttons where you expect them

  • The LeftPanel “Compare” and Analyze “Import Output” buttons swapped homes, so comparison starts next to the molecule list and output import lives in Analyze.
v0.1.362026-07-16

One-folder import for Gaussian and Jaguar users

  • Point Qemica at a folder of your existing Gaussian or Jaguar outputs and it imports the lot — structures and parsed results — into a project in one pass.
v0.1.352026-07-16

SSH re-audit closeout

  • The minor findings from the remote-submission re-audit are closed: small wording, tooltip, and validation gaps around the SSH and scheduler settings.
v0.1.342026-07-16

Remote submission for non-HPC users

  • Test connection now also verifies the engine is importable on the remote host, and a remote ModuleNotFoundError is translated into “install the engine on the server” guidance instead of a raw traceback.
  • Plain-SSH runs warn that closing your laptop kills the job unless a scheduler manages it, scheduler jargon gets tooltips, and the fields are labeled Remote host (SSH) and Queue/partition.
  • The submission-script template hints where module-load lines belong, and key-based hosts explain that the password field is ignored (use ssh-copy-id).
v0.1.332026-07-15

The chat sees the failed geometry

  • Asking the Agent about a failed job now includes that job’s input geometry in context, so it can diagnose distance and valence problems instead of guessing blind.
v0.1.322026-07-15

Agent chat polish

  • The Agent tab and its List sibling now say what they are on hover, and the chat’s greeting points at the “Share project data” toggle instead of advertising abilities it can’t use until you turn it on.
  • A message that fails to send is put back in the box so you can retry with one keypress, and a very large molecule’s geometry is trimmed before it floods the request.
v0.1.312026-07-15

Composer and analyzer clarity

  • The basis-set dropdown gets a plain-language tooltip (bigger = more accurate but slower; when unsure, use ✨ Suggest).
  • Asking to optimize a single atom is caught up front with a redirect to a single-point energy, instead of a cryptic engine error.
  • The UV-Vis header no longer hard-labels a TDA run as “TD-DFT”, and a truncated reaction path warns that its barrier is only a lower bound.
v0.1.302026-07-15

Reactant complexes embed apart

  • Building a multi-fragment structure (an ion beside a molecule, e.g. Cl⁻ + CH₃Br) used to fuse the pieces together on 3D generation. They now embed spaced apart, with a note that the arrangement is an arbitrary starting point — position them or optimize for a bound complex.
v0.1.292026-07-15

The chat can explain a failed job

  • Ask the Agent “why did my job fail?” and it now answers from that job’s actual error, instead of describing your previous successful result.
  • API-key setup says up front that the key is a paid credential, checks the key’s shape when you save it, and re-opens the key box if the key is rejected.
v0.1.282026-07-15

Safer manual engine install

  • The copy-paste engine-setup commands now verify the download’s checksum and refuse to install a mismatched file, and they call the freshly-installed uv by path so the block works in the same terminal session.
v0.1.272026-07-15

Licences and notices, in the app

  • Every third-party licence and notice — including the full font licences — now ships inside the app and is viewable from Config → About (View EULA / Privacy Policy / third-party notices / font licences).
  • Installing an optional copyleft engine (Open Babel, dispersion, MACE) names its licence at the moment you click Install.
  • Wording pass across the EULA, privacy policy, and consent dialog for accuracy (the engine is downloaded, not bundled; keychain storage falls back to an encrypted store where no keychain exists).
v0.1.262026-07-15

Suggest reflects the real quantum methods

  • The ✨ Suggest wizard now recommends the quantum methods that actually run on IBM hardware (VQE, SQD, QCELS/RPE/QMEGS, QKD) and leads with SQD there; simulator-only methods are offered for local runs, with QPE noted as exact-but-local.
v0.1.252026-07-14

Under the hood

  • Calculation-recipe assembly moved into a pure, independently-tested core — no behaviour change, better foundations.
v0.1.242026-07-14

Test isolation

  • Internal: the test suite runs fully isolated from any real user data, so it is green on any machine.
v0.1.232026-07-14

Trustworthy engine install

  • The engine wheel is downloaded, checksum-verified against a pinned hash, and only then installed — a tampered or corrupt download is refused.
  • In-app links point at the live site, and the update check is on by default so you hear about new versions.
v0.1.222026-07-14

Honest transition states

  • A transition-state search that lands on a minimum now says so in red (“not a transition state”) instead of a green success — its energy is not a barrier.
  • The reaction-profile barrier is read at the marked transition state (and warns if the highest point isn’t it), and a finished job’s geometry can be adopted as the next job’s input in one click.
  • Charge/multiplicity errors ask whether your species is an ion and to check Charge first, rather than only suggesting a multiplicity change.
v0.1.212026-07-14

Compare candidates honestly

  • Cis and trans isomers now build as different structures — E/Z stereo is carried through 3D generation instead of being silently dropped.
  • The Compare table adds a ΔE (kcal/mol) column within comparable groups and warns when rows mix different molecules or levels of theory.
  • UV-Vis gains a computed-vs-computed spectrum overlay so you can read “which candidate is redder” off one chart.
v0.1.202026-07-14

A gentler first calculation

  • Quick, minimal-basis default recipes are labelled “exploratory” on the recipe and the result, so a first look is never mistaken for a decision-grade number.
  • Charge and multiplicity get plain-language tooltips, and a raw engine spin/charge error is translated into what to change.
v0.1.192026-07-13

Agent knows the app

  • The Agent chat now carries a map of every screen and feature — ask where to find something and it answers from the app that actually shipped, not guesses.
  • Ask it to open a screen and it takes you there, including landing on a specific Compare tab. Navigation works even with Share project data off — opening a screen sends nothing about your project to the API.
  • Modeler polish: the toolbar’s duplicate camera-reset button is gone (framing lives in the viewport’s corner cluster) and the empty selection card reads simply “No atom selected”.
v0.1.182026-07-12

Open-shell quantum methods and automatic active spaces

  • Radicals and triplets now run end-to-end on the quantum path: an ROHF reference with unrestricted UCCSD, a per-spin ADAPT operator pool, and spin-unbalanced LUCJ sampling for SQD — benchmarked against sector-exact FCI (H₃ doublet and H₄ triplet match to ~10⁻¹³).
  • Automatic CASSCF active-space selection: an AVAS-seeded search picks the active orbitals for you, with the search trace reported in the result; the Orbitals tab gains a per-orbital composition column.
  • An SCF reference picker (restricted / unrestricted / restricted-open) joins Configure, and a declared triplet can no longer silently run closed-shell.
v0.1.172026-07-12

SSH for two-factor clusters

  • Extra SSH options in Config → SSH pass raw flags to every ssh/scp call (-J for a jump host, -i for a key, -o overrides) — your options take precedence over the built-ins.
  • Two-factor hosts (Duo, TOTP) are now supported via SSH connection multiplexing: authenticate once in a terminal and Qemica rides the authenticated session — the route is documented in the Remote clusters guide.
v0.1.162026-07-12

Modeler control review complete

  • A 71-finding review of every Modeler control is resolved.
  • Cancelling the conformer “Save all & run ensemble” dialog now rolls back the just-saved conformers instead of leaving them behind.
  • The Builder finally shows the active-element info line (“Iron · Fe · Z=26 · 55.845 u”) — picking an element from the periodic-table popup previously named nothing.
v0.1.152026-07-12

Honest tool state in the Modeler

  • Tools now show what the next click will actually do: the Ring chip arms the 2D sketch ring tool when you are sketching, Chain no longer keeps a stale highlight, and armed fragment chips get a persistent accent cue.
  • Undo/Redo/Clear grey out when they can do nothing; disabled 3D-only actions say why (“3D only — switch to 3D”).
  • The bond tool’s tooltip documents its click cycle (single → double → triple → aromatic → remove), and the keyboard-shortcuts overlay gains a visible “?” button.
v0.1.142026-07-11

Tetrahedral depth without the sidecar

  • The flat 2D→3D lift now pyramidalizes saturated centres onto ideal ~109.5° directions even when RDKit is unavailable — flat methane and CH₃ tips get real depth; rings and heavy skeletons stay planar by design.
v0.1.132026-07-11

Real 3D geometry on the 2D→3D flip

  • Flipping a sketch to 3D auto-runs the ETKDG + MMFF94 embed, so tetrahedral centres get realistic depth without pressing Optimize; the flat lift shows instantly as a placeholder.
  • Clean flips never re-embed, so imported or optimized geometries survive the toggle untouched.
v0.1.122026-07-11

Aromatic bonds in the 2D sketch

  • A dedicated aromatic bond tool joins the 2D editor, rendering as a solid line plus a parallel dashed line instead of masquerading as a double bond — matching the existing 3D support.
v0.1.112026-07-11

pKa, redox, and publication figures

  • pKa prediction via a thermodynamic cycle — run the acid and its conjugate base in gas and solvent and Qemica reports the pKa, with the literature proton reference values and standard-state corrections applied for you.
  • Reduction potentials vs the standard hydrogen electrode, with a selectable absolute-SHE reference.
  • Both carry a prominent accuracy caveat (continuum pKa/redox are good to ~2–3 pKa units / ~0.2 V even done correctly) and fail loud on missing thermochemistry or an inconsistent charge relationship — never a falsely precise number.
  • Spectra export as publication figures: true SVG vector output and a light publication PNG (white background, print-safe colorblind-friendly colors), alongside the existing dark exports.
v0.1.102026-07-11

Performance at scale

  • Batch jobs, conformer ensembles, and benchmark sweeps run much faster — a warm engine keeps Python and the chemistry libraries loaded across a group instead of paying the ~2-second startup for every job. Single jobs and cancellation are unchanged.
  • Building large structures stays responsive: adding and deleting atoms updates the scene incrementally instead of rebuilding the whole molecule, and atom labels above ~200 atoms are gated to keep rendering fast.
  • Molecular-dynamics and optimization playback is smoother on big systems, and large or imported trajectories open quickly — frames stream from disk on demand and charts are decimated rather than drawn point-for-point.
v0.1.92026-07-10

Derived-quantity workflows

  • Solvation free energy: run gas and solvent single points on one geometry and Qemica reports ΔG_solv, honoring the standard-state convention automatically (PCM/COSMO results get the +1.89 kcal/mol 1 atm→1 M correction).
  • Interaction/binding energy: split a complex into fragments and get E_int = E_AB − (E_A + E_B), labeled honestly with the no-counterpoise (BSSE) and geometry-convention caveats.
  • Method/functional benchmark: sweep several levels of theory on one geometry and compare energies with ΔE-vs-reference side by side.
  • Conformer ensemble: save a whole ETKDG ensemble, optimize it, and get Boltzmann populations and Boltzmann-averaged properties weighted by QM Gibbs free energy (not force-field energy).
  • Experimental-spectrum overlay: import a measured IR/Raman, UV-Vis, or NMR spectrum from CSV and plot it over the computed one.
  • All of the above live in the Compare screen and stamp a level-of-theory-match guard so mismatched inputs are flagged, never silently combined.
v0.1.82026-07-10

Publication export and discoverability

  • Every 3D viewer (structure, orbitals, NTOs, ESP, bonding, MD frame) exports high-resolution PNG at 2–4×, with transparent or white background for slides and papers, plus Save as… to any folder.
  • IR/Raman, UV-Vis, and NMR spectra export as PNG alongside their CSV data.
  • Orbitals gains a Cube save-as — the volumetric file behind the current surface, copied out as-is.
  • Discoverability pass: the app now links its user guide and changelog, explains the editable script preview, the MACE speed advantage, the Agent tab, and surfaces the ⌘K command palette.
v0.1.72026-07-10

Post-HF methods, easier first run, spectra polish

  • MP2, CCSD, CCSD(T), and FCI are now genuinely runnable through PySCF — MP2/CCSD with geometry optimization on analytic gradients, CCSD(T)/FCI as single-point energies. Dispersion is refused for post-HF (no double counting); solvation is applied at the SCF reference with a warning.
  • Custom basis sets and ECPs: a Custom… entry in Configure accepts any PySCF basis string, per-element assignments, and an effective core potential.
  • Checkpoint restart: every SCF run writes a .chk beside result.json; Reproduce reuses it as the initial guess automatically.
  • Sign-in is now optional — Skip for now on first launch and sign in later from the avatar.
  • One-click engine install on macOS and Linux: the setup dialog runs the whole uv setup itself, with live per-step status.
  • Home shows a Get-started card with three bundled samples (benzene, aspirin, caffeine) and a four-step quickstart.
  • IR/Raman and NMR gain Lorentzian broadening envelopes with adjustable FWHM; every spectrum now zooms about the cursor, pans, and resets.
  • Config → SSH gains a Test connection button that verifies host, remote Python, and scheduler in one click.
v0.1.62026-07-09

Qemica Lab

  • Legal documents now name the operator: Qemica Lab, Republic of Korea. The product name stays Qemica.
v0.1.52026-07-09

Standalone script export

  • The Configure preview’s save button now exports a standalone-runnable .py — run it in a terminal and it reproduces the in-app result and writes result.json.
  • Fixed the MACE preview building ASE atoms from the injected geometry.
v0.1.42026-07-09

SSH module mode

  • Remote SSH and SLURM/PBS runs no longer need a sidecar source checkout — leave the remote sidecar path empty and Qemica runs the wheel-installed engine (python -m quchemy.sidecar).
v0.1.32026-07-09

Housekeeping

  • Repository and licensing metadata cleanup; updated legal documents (contact, jurisdiction, third-party API cost clause).
v0.1.22026-07-09

Engines cleanup

  • Removed the dead SMD row from Config → Engines — it could never be installed from there.
v0.1.12026-07-08

User-managed engine

  • The Python engine now installs as a quchemy wheel into an environment you create once with uv — nothing bundled, ~2 GB lighter downloads.
  • New first-run setup dialog with copyable per-OS commands and a Re-check button.
  • The app warns when the installed engine version differs from the one the release expects.
  • License documents updated: contact details, governing law, payment provider, and a third-party API cost clause (IBM Quantum, Claude API, SSH/HPC).
v0.1.02026-07-05

Public-launch baseline

  • Versioning reset to 0.1.0 as the public baseline.
  • Commercial license (Qemica EULA) with a free plan; first-run consent flow.
  • Full workbench: Model, Configure, Run, Analyze across PySCF, a local quantum simulator, and the MACE ML potential.