Avogadro 1.103#
6 February 2026
🌟 Highlights (tldr)#
This release is intended as a final beta before a 2.0 stable release
Switch to use OpenGL 4.0 core profile for improved rendering speed
Volumetric rendering style for surfaces (orbitals, electron density, spin density)
Add peptide builder
Add keyboard shortcuts for functional groups and ligands to template tool @ghutchis
Display both alpha / beta orbitals in the orbital window
Performance optimizations for basis set calculations
Improved heuristics for opening CIF and crystallographic files
Update conformer plots for RMSD and energy
Support for isotope specification for atoms
Improved LAMMPS and Turbomole support
A pile of bug fixes, updated language translations, and more
✨ Features#
Typeset the Hall symbols using HTML @ghutchis (#2572)
Tweak the “Fill Unit Cell” and add “Fill Translational Cell” for DFT packages @ghutchis (#2571)
Add a warning if attempting to fill a primitive cell @ghutchis (#2569)
Allow export to the same filename (and format) from the warning dialog @ghutchis (#714)
Re-enable JSON-RPC support @ghutchis (#699)
Updated AutoSave Feature @ghutchis (#668)
Add an “export graphics” toolbar button @ghutchis (#681)
Read molfile / sdf conformers @ghutchis (#2563)
Add support for reading elements from VASP OUTCAR formats @ghutchis (#2567)
Volumetric rendering support @ghutchis (#2559)
Update arrow rendering for force and dipoles @ghutchis (#2545)
Support pdb trajectories @ghutchis (#2560)
Migrate to OpenGL 4.0 core profile @ghutchis (#2548)
Orbital table - add “occupation” arrows instead of status @ghutchis (#2542)
Improved Lammps import @e-kwsm (#2504)
feat(CrystalTools): enable rotateToStandardOrientation to convert cell to right-handed system @e-kwsm (#2492)
Set a better default zoom for orthographic projection @ghutchis (#2480)
Change shift modifier to twist, not twist-and-zoom @ghutchis (#2476)
Tweak edit and template tool to rotate, etc. with modifier keys @ghutchis (#2475)
Add imported spectra, vibrational and magnetic CD support to spectra dialog @ghutchis (#2444)
Add support for custom residue labels @ghutchis (#2424)
Put the axes back as a scene plugin / display type @ghutchis (#2423)
feat(Turbomol): output $isosub @e-kwsm (#2393)
fix(Turbomole): use
$coord angsfor read @e-kwsm (#2418)Turbomole: support
$periodic@e-kwsm (#2379)Update Conformer plots for RMSD and Energy @ghutchis (#2382)
Add peptide builder @ghutchis (#2351)
Enable the XRD display from other programs (just return a spectra) @ghutchis (#2385)
Fixes to constraints dialog @jcerezochem (#2384)
🐛 Bug Fixes#
Fix formula computation with unit cells to account for edges and corners @ghutchis (#2587)
Use a looser criteria for detecting identical atoms with Fill Cell @ghutchis (#2578)
Added code to handle corrupted CJSON input (#2578)
Fix incorrect layer info in CJSON @ghutchis (#2568)
During animation and vibrations, don’t update properties frequently @ghutchis (#2536)
Ensure end frame value is properly set in playertool @ghutchis (#2539)
Add a guard against recursion for property tables @ghutchis (#2535)
Use LC_NUMERIC=C for AppImage run script @ghutchis (#2533)
Redraw the plot when changing spectra shift and offset @ghutchis (#2532)
Re-enable editing the molecule name, broken by #2523 @ghutchis (#2531)
Fix issues for interactive undo/redo crashes @ghutchis (#2524)
fix(Hdf5DataFormat): fix memory leak @e-kwsm (#2511)
Only request name updates when the dialog is open @ghutchis (#2523)
Fix a crash when deleting atoms from an imported molecule @ghutchis (#2513)
Fix crash when using the align tool and switching molecules @ghutchis (#2515)
Running commands with pixi would fail because asyncExecute was called @ghutchis (#2510)
Migrate the name code away from the model - hopefully less crash-prone @ghutchis (#2509)
For orthographic projection go back to frustrum planes @ghutchis (#2482)
Fix jump in light source from opaque to translucent @ghutchis (#2481)
If we encounter a 2D molfile use the Open Babel support @ghutchis (#2464)
Fix signal to display surfaces after generation @ghutchis (#2457)
Ignore some Open Babel formats for writing (e.g., png, nul) @ghutchis (#2455)
Validate colors with the color button before use (e.g., cancel) @ghutchis (#2454)
Validate property edits to make sure inadvertent edits set to zero @ghutchis (#2450)
Fix CML support with HDF5 data files @ghutchis (#2446)
Fix NWChem geometry parsing @ghutchis (#2439)
Adjust the N-H dihedral angle to work better in folded states @ghutchis (#2438)
Ensure we can read NWChem files with lowercase element symbols @ghutchis (#2434)
Fix import of large (>1000 atom) MOPAC aux files @ghutchis (#2426)
Fix off-by-one MO rendering bug with MOPAC orbitals @ghutchis (#2422)
Adjust surface generation to keep winding consistent + and - mesh @ghutchis (#2420)
Fixed color gradient for labeling by atomic index @brockdyer03 (#2387)
Fix reading energies in xyz files from crest @ghutchis (#2381)
Check for a working python in the pixi env @ghutchis (#2377)
Reject invalid bond orders in cjson @ghutchis (#2374)
Fix reading Molden files from ORCA with spherical basis @ghutchis (#2373)
Fix reading XYZ files with no ending newline @ghutchis (#2371)
Fix numeric issue with centroid and center-of-mass @ghutchis (#2369)
If pixi is available, but not a default manifest, try python @ghutchis (#2358)
Fix a crash with reading ORCA when no MO coefficients are found @ghutchis (#2355)
Fix zoom with orthographic projection - make sure to resetCamera @ghutchis (#688)
Fix checking for display types - also check against names @ghutchis (#682)
🚀 Performance Improvements#
Optimizations for basis set calculations @ghutchis (#2540)
🧰 Maintenance#
Fix USE_PLOTTER to allow builds to disable JKQtPlotter and charts
Try copying Qt6 DLLs seemingly left out of Windows installer @ghutchis (#2570)
Add [[nodiscard]] to all read and write methods @ghutchis (#2566)
Some packaging fixes @ghutchis (#2551)
Make sure to include Qt6 icu.dll in Windows builds @ghutchis (#2544)
Work to speed up Windows builds @ghutchis (#2518)
For now, disable builds with Windows ARM @ghutchis (#2516)
fix: correct broken links @antonkesy (#2503)
fix: correct supportedOperations @e-kwsm (#2489)
Use –as-is flag for pixi run to avoid environment updates @harikrishna-au (#2472)
fix: do not discard return value of QFile::open() @e-kwsm (#2448)
fix: add missed header inclusion @e-kwsm (#2447)
test: refactor UffGradientTest @e-kwsm (#2494)
refactor: tweak usage of std::max and std::min @e-kwsm (#2502)
fix(UFF): clamp acos argument to avoid NaN @e-kwsm (#2499)
build(python)!: change install destination @e-kwsm (#2465)
Update installation instructions and links in README @ghutchis (#2413)
fix: replace deprecated eigen method @e-kwsm (#2409)
build!: drop Qt5 @e-kwsm (#2366)
fix: use nullptr instead of 0/NULL @e-kwsm (#2365)
AvogadroLibsConfig.cmake: Find JKQTPlotter6 @heirecka (#2357)
Add a cache for vcpkg to speed Windows rebuilds @ghutchis (#2363)
Fix Mac volume names and escape Windows paths @ghutchis (#2362)
Fix release tag reference in upload action @ghutchis (#2361)
Add a “continuous” release (prelease) and upload builds @ghutchis (#2360)
Fix path to entitlemenets for Mac codesign @ghutchis (#2349)
chore: fix HTML link @e-kwsm (#708)
📚 Translations#
Mark the homepage URL as non-translatable @ghutchis (#710)
Rename View Configuration dock to better reflect its function @matterhorn103 (#482)
Move close contact and noncovalent i18n to cpp files @ghutchis (#2558)
Automated translation updates @github-actions[bot] (#2526)
chore: translate Qt messages @e-kwsm (#2491)
Credits#
Thanks to many contributors, including: @NorwayFun, @andibing, @antonkesy, @arifpedia, @brockdyer03, @dependabot[bot], @e-kwsm, @ghutchis, @harikrishna-au, @heirecka, @jcerezochem, @maksim2005UKR, @milotype, @weblate, Alexandre R Soares, Eisuke Kawashima, Frank Hoffmann, Javier Cerezo, Remus-Gabriel Chelu, @DJ-Aswin, @andibing, @arifpedia, @matterhorn103, @oersen, @vinayakjeet, David D., Weblate Translation Memory, dependabot[bot] and github-actions[bot]