Avogadro 1.101#

14 September 2025

🌟 Highlights (tldr)#

  • This release is intended to fix key problems with 1.100 on Windows (missing Open Babel) as well as on macOS 26 “Tahoe” (save dialogs)

  • Should more easily find Python installs on Windows

  • Added support for constraints for geometry optimizations

  • Added an internal UFF implementation

  • Tweaked the edit tool to adjust bond lengths when the bond order or element change via click

  • A pile of bug fixes, updated language translations, and more

✨ Features#

  • Support for a WebMO plugin @ghutchis (#2172)

  • Add a copy-as-xyz command @ghutchis (#2150)

  • Add constraints to property tables & save with CJSON @ghutchis (#2118)

  • Add constraints for geometry optimization @ghutchis (#2096)

  • Switch template tool to use updated SVG images @ghutchis (#2075)

  • Improve cp2kinput @e-kwsm (#2067)

  • If a cube exists (e.g., read from a file), create a default mesh @ghutchis (#2053)

  • Update the molecule UI list to include richtext formulas @ghutchis (#2028)

  • Add an internal implementation of UFF @ghutchis (#1963)

  • When click-to-edit bond order also adjust the bond length @ghutchis (#2012)

  • When clicking to change an element, tweak the bond length too @ghutchis (#2011)

  • Add more options to the GAMESS input file generator @JorgeG94 (#1986)

  • Rename “Meshes” interface text to “Surfaces” @ghutchis (#2009)

  • Fix reading Chemeleon exyz files with no quotes around the Lattice @ghutchis (#2001)

  • Add support for “allxyz” from Orca - trajectory files @ghutchis (#1995)

  • Rename Analysis menu to imperative Analyze to match others @matterhorn103 (#1978)

  • Add mode numbers to Vibrational Modes table @jcerezochem (#1952)

  • Recognize *.tmol as turbomole @e-kwsm (#2185)

  • Recognize CONTCAR and *.vasp as VASP geometry files @e-kwsm (#2152)

  • Switch molecule list to enable rich-text formulas

🐛 Bug Fixes#

  • Reject files with invalid cell matrix @e-kwsm (#2191)

  • Try to fix extraction on Windows using tar.gz instead of zip @ghutchis (#2193)

  • Tweaks to support field names from Psi4 fchk @ghutchis (#2186)

  • Fix generic “archive warn” messages for the download window @ghutchis (#2183)

  • Fix possible crashes reading PDB files with few residues @ghutchis (#2182)

  • Add additional search paths for Python on Windows @ghutchis (#2179)

  • Fix #2176 parsing files with ¹¹⁸Og and ¹¹⁹Uue @e-kwsm (#2177)

  • Fix cml xmlns URI @e-kwsm (#2156)

  • Fix nullptr dereference @e-kwsm (#2135)

  • fix(templatetool): do not localize functional groups @e-kwsm (#2169)

  • Export mol/sdf with proper header @ghutchis (#2133)

  • fix(Unit Cell Editor): reject modification of cell and fractional matrices if singular @e-kwsm (#2094)

  • chore(input): reduce singleStep @e-kwsm (#2093)

  • Fix UFF analytical gradients @ghutchis (#2088)

  • Fix some crashes exposed with fuzz testing @ghutchis (#2086)

  • fix(wrapFractional): fix comparison @e-kwsm (#2080)

  • Fix a bug when changing the bond order atoms wouldn’t move properly @ghutchis (#2072)

  • Fix crash on Linux when deleting non-hydrogen atoms @ghutchis (#2070)

  • fix(cjson): fix properties parsing @e-kwsm (#2068)

  • Make sure to save label options for atoms, bonds and residues @ghutchis (#2052)

  • Fix bug with manual rotations around axes @ghutchis (#2016)

  • Fix reading Gaussian cube - make sure to set origin correctly @ghutchis (#2000)

  • Fix bug with Rename Elements window @pillose (#1989)

  • Make sure to cancel “Insert SMILES” @ghutchis (#1969)

  • Fix dark theme - make sure to use default text and document-close icons @ghutchis (#1967)

  • Make sure to delete bonds even when “adjust hydrogens” is off @ghutchis (#1966)

  • Make sure Gaussian fchk orbitals are read with eV energies @ghutchis (#1958)

  • Harden file readers (from fuzz tests) @ghutchis (#1950)

  • Fix minor warning about “undef” layer caused by QTAIM changes @ghutchis (#2023)

  • Fix bug with fog not starting with the correct background color

  • Add support for detecting theme change events - update tool icons

  • When multiple files are dropped, make sure to queue them for reading

  • Make sure to get the correct preferred language on Mac

  • Ensure the display type list is sorted

🧰 Maintenance#

  • Update/correct/improve Linux metainfo, including release notes @matterhorn103

  • Initial support for an isApplicable scene plugin method @ghutchis (#2029)

  • refactor: use string literals @e-kwsm (#2141)

  • Fix typos @e-kwsm (#2122)

  • Add missing spaces, and remove trailing newlines and spaces before tabs @e-kwsm (#2101)

  • style: remove redundant inline specifiers @e-kwsm (#2099)

  • refactor: use std::clamp (C++17) @e-kwsm (#2100)

  • Style: run clang-format @e-kwsm (#2065)

  • Fixed [Build] link address @todbadrakh (#2031)

  • refactor(FindOpenBabel3): improvement @e-kwsm (#2024)

  • Re-enable CJSON conformer unit test @ghutchis (#2192)

  • build(VTK): support VTK 9 @e-kwsm (#2161)

  • fix(QtOpenGL): honor QT_VERSION @e-kwsm (#2154)

  • refactor: avoid strncmp @e-kwsm (#2142)

  • refactor: use hypot @e-kwsm (#2131)

  • refactor: use std::exchange (C++14) @e-kwsm (#2130)

  • Switch to using subdirectories in avogadrodata @ghutchis (#2085)

  • fix override specification @e-kwsm (#2079)

  • fix: fix test suite names @e-kwsm (#2078)

  • chore: remove ENABLE_TRANSLATIONS that is no longer used @e-kwsm (#2077)

  • Compress SVG icons using svgcleaner @ghutchis (#2074)

  • Update GitHub builds with latest Windows and Qt versions @ghutchis (#2063)

  • Fix ODR violations, move enums into class scope @PPN-SD (#2059)

  • Bundle libssl and libcrypto with AppImage @matterhorn103 (#2061)

  • Use system eigen when building for Linux (inc. AppImage) @ghutchis (#2054)

  • Resolve compiler warnings: member initialisation, variable shadowing, fallthrough, and unused variables @rrsathe (#2038)

  • Enable musl linux Python wheels @ghutchis (#2047)

  • Update cibuildwheel @ghutchis (#2010)

  • build: remove unused Qt5LinguistTools @e-kwsm (#2041)

  • test: enable spacegrouptest only if USE_SPGLIB is true @e-kwsm (#2030)

  • Update find_dependency calls for Qt6 @ghutchis (#2026)

  • build: bump cmake_minimum_required @e-kwsm (#2022)

  • Migrate QTAIM and Symmetry to Qt6 @ghutchis (#1998)

  • Set USE_MMTF to OFF by default @matterhorn103 (#2005)

  • build: replace FindPythonInterp with FindPython3 @e-kwsm (#1976)

  • Update CJSON to use new .contains() syntax @ghutchis (#1947)

📚 Translations#

  • Automated translation updates @github-actions[bot]

  • i18n: resolve conflict with weblate @e-kwsm (#2097)

  • style(i18n): add –check=ellipsis-unicode for gettext and use unicode ellipsis @e-kwsm (#1977)

Credits#

Thanks to many contributors, including: @CubeXtreme, @DGC0LS13, @JorgeG94, @Maetnicio, @NorwayFun, @PPN-SD, @Ricky-Tigg, @SantosSi, @TamilNeram, @Yeims20, @andibing, @dependabot[bot], @e-kwsm, @ghutchis, @jcerezochem, @jeannemfavret, @kuyoeku, @matterhorn103, @milotype, @nbehrnd, @pillose, @rrsathe, @snapper764, @stokito, @tacitcoast, @todbadrakh, @weblate, Alexandre R Soares, Eisuke Kawashima, Eric Remy, Hēphaïstos, LibreTranslate, Remus-Gabriel Chelu, Weblate Translation Memory, dependabot[bot], github-actions[bot], gmkeebiy, nicejammer, Илья Рябов and Максим Горпиніч