Avogadro 1.100.0#

21 January 2025

🌟 Highlights (tldr)#

  • New rendering options, including depth-of-field blur and fog from @perminder-17

  • Faster surface mesh generation using the flying edges algorithm @perminder-17

  • Brought back the “molecular orbitals” panel @ghutchis

  • Support for translucent balls-and-sticks, van der Waals spheres, and licorice rendering including per-layer customization @ghutchis

  • New, improved Flatpak package from @matterhorn103 including support for ARM

  • New conformer properties window @ghutchis

  • New improved molecular properties window, including charge and spin multiplicity, HOMO and LUMO energies, total energies and other properties (depending on file format) @ghutchis

  • Many more properties parsed from ORCA output files including Hirshfeld, MBIS, and CHELPG charges @ghutchis

  • Code signing on Windows to minimize Defender warnings @ghutchis thanks to SignPath

  • Support for latest Qt6 on Linux @matterhorn103

✨ Features#

  • Improved spectra plots, including NMR, UV and CD spectra (#1874)

  • Add support for reading and rendering DNA / RNA backbones (#1831)

  • Improve python selection dialog (#1844)

  • Calculate and render dipole moments

  • Edit molecule name, charge, and spin in properties (#1810)

  • Improve manipulate dialog - rotate around origin, molecule center, selection center (#1774)

  • Update the template tool to place ligands or functional groups (#1777)

  • Support for additional secondary structures (3-10 and pi helix) @TactfulDeity (#1746)

  • Implement g orbitals (#1826)

  • cp2kinput improvements @e-kwsm (#1702)

  • Add support to render atomic partial charge labels (#1726)

  • Add support to render bond lengths (#1871)

  • Add HOMO and LUMO energies to molecular properties (#1803)

  • Add Shortcut Keys to navigate/modify tools (Issue #1794) @Milziade (#1807)

  • Add “change elements” dialog (#1863)

  • Editing molecular charge / spin => input generators and plugins

📄 File Format Improvements:#

  • Parse inputParameters if present in cjson (#1849)

  • Read radicals from SDF / Molfile (#1848)

  • Parse more MOPAC aux properties including coordinates (#1843)

  • Parse CHELPG charges from ORCA output too (#1829)

  • Export to XYZ format with 10 decimal precision as per forum debate (#1824)

  • Read MBIS charges from ORCA output (#1823)

  • Read multiple ORCA coordinate sets (#1808)

  • Parse NMR spectra from ORCA (#1799)

  • Parse ORCA electronic spectra (#1797)

  • Add basic support for v3000 molfiles, including for large molecules (#1765)

  • Small patch to parsing XYZ trajectories to handle ORCA 6 separators (#1705)

  • Add support for reading and writing atom force vectors (#1674)

  • Support reading files in UTF-16 format

🐛 Bug Fixes#

  • Allow surface generation to be cancelled (#1894)

  • Add progress bar for optimizations, including cancel (#1893)

  • Switch text rendering to use interpolation (#1917)

  • Fix code for haptic ligands. Pick the furthest dummy to attach (#1916)

  • Only enable the PQR search command if the site is reachable (#1892)

  • Tweak the centroid and center-of-mass commands (#1891)

  • Fix manipulate and label tools to rotate by default (#1861)

  • Fix right-click to delete a hydrogen and adjusting after deleting a bond (#1896)

  • Copy bonds and bond orders when generating super cells (#1898)

  • Fix parsing molecular orbital coefficients in some ORCA output files (#1899)

  • Handle upper-case [ATOMS] line in Molden files from Cfour (#1785)

  • Fix plugin downloader @matterhorn103 (#1767)

  • Prevent a possible unhandled exception from parsing JSON (#1742)

  • Fix crash when creating ligands from the clipboard – off-by-one bug (#1739)

  • Ensure BABEL_LIBDIR and BABEL_DATADIR are set properly on Mac (#1736)

  • Fix XYZ trajectories - prevent final frame with 0,0,0 coords (#1720)

  • Make sure the measure tool has a good contrast with background color (#1718)

  • Switch import format for Open Babel to CJSON if supported (#1707)

  • Fix perception of amide nitrogens - should be sp2-like (#1652)

  • Default tool wasn’t set properly, so rotations, etc. ignored (#1647)

  • Add more error checking for Fetch PDB (#1646)

  • Fix bug reported in #1637 with mis-parsing selenium atoms in PDB (#1643)

  • Ask before re-perceiving a space group (#1639)

  • Switch back to importing from PDB using PDB instead of MMTF format (#1642)

  • Fix crash with short TER record (#1640)

  • Fix crash when reading cjson with invalid layer data (#1636)

  • Fixed Select bugs reported on forum (#1625)

  • Fix crash from centroids with empty molecule (#1624)

  • Fix crash at startup when opening a file from command-line (#1621)

  • Fix drag-to-install for scripts, esp. energy calculators

  • App crashes when clicking “Optimize Geometry” without any atom @perminder-17 (#1661)

  • Clarify line width / size in spectra dialog (#1678)

  • Add double-check for addEdge to prevent potential crash (#1704)

  • Ensure “split” buttons don’t create a transparent background

  • Use QDesktopServices on Linux too with Qt 6, which fixes opening URLs @matterhorn103

  • Update desktop file name in QApplication code @matterhorn103

  • Update the newer compilation guide @nbehrnd

  • Export icons according to XDG icon spec on unix @matterhorn103

  • Use name according to the XDG standard, harmonize metadata with flatpak @matterhorn103

  • Make sure to create directories for drag-and-drop install of Python scripts

  • Tweak the text and tooltips in the rendering dialog

  • Fix crash when no selection is made when saving files

🚀 Performance Improvements#

  • Use flying edges for mesh generation @perminder-17 (#1741)

  • When possible, load Python script names from cache (#1830)

  • Turn off default depth blur, shadows, edge for speed (#1728)

🧰 Maintenance & Build Improvements#

  • Updated tests to Qt6 @peach280 (#1941)

  • Explicitly use signed char in meshgenerator to avoid narrowing error on ARM @matterhorn103 (#1842)

  • Fix residue not initializing id in default constructor (#1786)

  • ENH/BUG: Code Clean Up, Optimization, Documentation @TactfulDeity (#1779)

  • Add flatpak workflow for GitHub Actions @matterhorn103 (#1772)

  • Update to latest Qt patch version and install-qt-action @matterhorn103 (#1841)

  • Set a project-wide variable for molecule data dir AvogadroLibs_SOURCE… (#1851)

  • Unbundle all charge and forcefield scripts (#1832)

  • Update comment headers to new format (missed some in prev effort) (#1828)

  • Use release certificate signing on Windows (#1821)

  • Bumping to Qt 6.8 (latest LTS) for Mac and Windows builds (#1751)

  • Switch AppImage build to use the new linuxdeploy tool (#1775)

  • Further fixes for Qt6 @matterhorn103 (#1713)

  • Fix building Qt Plugins without spglib (USE_SPGLIB=OFF) @MehdiChinoune (#1671)

  • Cmake: Remove custom Find<Package>.cmake modules @LecrisUT (#1585)

  • Fix wrong variable name @antonio-rojas (#1612)

  • Fix windows debug log

📚 Translations#

  • Remove many incorrect “fuzzy” translations @e-kwsm

  • Fix a few ellipsis inconsistencies @matterhorn103 (#1771)

  • chore: put space after period @e-kwsm (#1697)

  • Automated translation updates @github-actions

  • Translations update from Hosted Weblate @weblate

Credits#

Thanks to many contributors, including: @Cartrigger, @LecrisUT, @MehdiChinoune, @Milziade, @NorwayFun, @RickyLam11, @SantosSi, @TactfulDeity, @TamilNeram, @ZhangHMDS, @alexrsoares, @andibing, @antonio-rojas, @dependabot, @e-kwsm, @ghutchis, @github-actions, @matterhorn103, @milotype, @nbehrnd, @ostriz2, @ovari, @peach280, @perminder-17, @rezaalmanda, @secretkontributer, @simmon-nplob, @snowcliffx, @tacitcoast, @weblate, @ykertytsky, @zhangtengshuo, Eisuke Kawashima, KeysBits, LibreTranslate, Remus-Gabriel Chelu, Weblate Translation Memory, fox and gallegonovato