🌟 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
- Add support for reading and rendering DNA / RNA backbones
- Improve python selection dialog
- Calculate and render dipole moments
- Edit molecule name, charge, and spin in properties
- Improve manipulate dialog - rotate around origin, molecule center, selection center
- Update the template tool to place ligands or functional groups
- Support for additional secondary structures (3-10 and pi helix) @TactfulDeity
- Implement g orbitals
- cp2kinput improvements @e-kwsm
- Add support to render atomic partial charge labels
- Add support to render bond lengths
- Add HOMO and LUMO energies to molecular properties
- Add Shortcut Keys to navigate/modify tools (Issue #1794) @Milziade
- Add "change elements" dialog
- Editing molecular charge / spin => input generators and plugins
📄 File Format Improvements:
- Parse inputParameters if present in cjson
- Read radicals from SDF / Molfile
- Parse more MOPAC aux properties including coordinates
- Parse CHELPG charges from ORCA output too
- Export to XYZ format with 10 decimal precision as per forum debate
- Read MBIS charges from ORCA output
- Read multiple ORCA coordinate sets
- Parse NMR spectra from ORCA
- Parse ORCA electronic spectra
- Add basic support for v3000 molfiles, including for large molecules
- Small patch to parsing XYZ trajectories to handle ORCA 6 separators
- Add support for reading and writing atom force vectors
- Support reading files in UTF-16 format
🐛 Bug Fixes
- Allow surface generation to be cancelled
- Add progress bar for optimizations, including cancel
- Switch text rendering to use interpolation
- Fix code for haptic ligands. Pick the furthest dummy to attach
- Only enable the PQR search command if the site is reachable
- Tweak the centroid and center-of-mass commands
- Fix manipulate and label tools to rotate by default
- Fix right-click to delete a hydrogen and adjusting after deleting a bond
- Copy bonds and bond orders when generating super cells
- Fix parsing molecular orbital coefficients in some ORCA output files
- Handle upper-case
[ATOMS]
line in Molden files from Cfour - Fix plugin downloader @matterhorn103
- Prevent a possible unhandled exception from parsing JSON
- Fix crash when creating ligands from the clipboard -- off-by-one bug
- Ensure BABEL_LIBDIR and BABEL_DATADIR are set properly on Mac
- Fix XYZ trajectories - prevent final frame with 0,0,0 coords
- Make sure the measure tool has a good contrast with background color
- Switch import format for Open Babel to CJSON if supported
- Fix perception of amide nitrogens - should be sp2-like
- Default tool wasn't set properly, so rotations, etc. ignored
- Add more error checking for Fetch PDB
- Fix bug reported in #1637 with mis-parsing selenium atoms in PDB
- Ask before re-perceiving a space group
- Switch back to importing from PDB using PDB instead of MMTF format
- Fix crash with short TER record
- Fix crash when reading cjson with invalid layer data
- Fixed Select bugs reported on forum
- Fix crash from centroids with empty molecule
- Fix crash at startup when opening a file from command-line
- Fix drag-to-install for scripts, esp. energy calculators
- App crashes when clicking "Optimize Geometry" without any atom @perminder-17
- Clarify line width / size in spectra dialog
- Add double-check for addEdge to prevent potential crash
- 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
- When possible, load Python script names from cache
- Turn off default depth blur, shadows, edge for speed
🧰 Maintenance & Build Improvements
- Updated tests to Qt6 @peach280
- Explicitly use signed char in meshgenerator to avoid narrowing error on ARM @matterhorn103
- Fix residue not initializing id in default constructor
- ENH/BUG: Code Clean Up, Optimization, Documentation @TactfulDeity
- Add flatpak workflow for GitHub Actions @matterhorn103
- Update to latest Qt patch version and install-qt-action @matterhorn103
- Set a project-wide variable for molecule data dir AvogadroLibs_SOURCE…
- Unbundle all charge and forcefield scripts
- Update comment headers to new format (missed some in prev effort)
- Use release certificate signing on Windows
- Bumping to Qt 6.8 (latest LTS) for Mac and Windows builds
- Switch AppImage build to use the new linuxdeploy tool
- Further fixes for Qt6 @matterhorn103
- Fix building Qt Plugins without spglib (USE_SPGLIB=OFF) @MehdiChinoune
- Cmake: Remove custom
Find<Package>.cmake
modules @LecrisUT - Fix wrong variable name @antonio-rojas
- Fix windows debug log
📚 Translations
- Remove many incorrect "fuzzy" translations @e-kwsm
- Fix a few ellipsis inconsistencies @matterhorn103
- chore: put space after period @e-kwsm
- 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