We are pleased to announce the latest release of Avogadro, including piles of bug fixes and many feature enhancements. Thanks to many for suggestions, bug reports, and discussions.
Draft documentation can be found at https://two.avogadro.cc
You can download Linux, Windows, and Mac versions at: Release Avogadro 1.100.0 · OpenChemistry/avogadrolibs · GitHub
If you have comments or suggestions, please join us at https://discuss.avogadro.cc and as always, help and contributions in many forms are always welcome, particularly if you’d like to help with user documentation or website development.
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