🌟 Highlights (tldr)
- Integration with 3Dconnexion input devices on Mac and Windows
- Many thanks to 3Dconnexion and Patryk Skowroński (pskowronskiTDx) for this contribution (1311)
- Improved rendering including ambient occlusion and real-time shadows from aerkiaga
- New template tool for assembly of inorganic complexes and ligands or attaching functional groups (e.g, "click to add phenyl group") from aerkiaga (1075)
- [New forcefield framework](https://discuss.avogadro.cc/t/new-force-field-framework/4921?u=ghutchis) supporting external Python scripts (e.g., XTB, ASE, ANI-2x, etc.) ghutchis (#1370)
- Better perception of bond orders ghutchis
- Align tool (1364) ghutchis
- Manual translate / rotate dialog
- Fetch molecule names from PubChem, including markup
- Commands to create centroid and center-of-mass points
- Improved “fill unit cell” (1375)
- Preview images of insert molecule fragments and import crystals
- Build improvements, including initial support for Qt6 and VTK9 fixes cryos
- Integrated Orca ouputfile support (from Orca-enhanced Avogadro) (1326)
- Add a generic compchem output reader (i.e., should automatically handle `.out` and `.log` files) (1347)
- Initial scripting support (e.g., used to generate preview images through a directory) (1344)
- Several updated toolbar icons
✨ Features
- Reading Gaussian fchk vibrations when present ghutchis (1380)
- Add support for atom labels (e.g., C1, C2, H1…) in the coordinate editor using "L" symbol ghutchis (1362)
- More pybind methods and properties ghutchis (1342)
- Perceive bond orders when requested by Python scripts ghutchis (1211)
- Support for color PLY format spotenza2016 (1177)
- Tweak the edge detection to allow changing the strength too ghutchis (1140)
- Add copy as SMILES / InChI ghutchis (1147)
- Add atoms for selection in wireframe rendering ghutchis (1128)
- Grab the "markup" name from the PubChem JSON response ghutchis (1105)
- Estimate bond distances in template tool aerkiaga (1099)
- Add formal charge combobox to template tool aerkiaga (1090)
- Add support for undo/redo selections, including custom menu text. ghutchis (1056)
- Add initial crystal and space group scripting, including fillUnitCell ghutchis (1374)
- Initial port of align tool from Avogadro 1.x code ghutchis (1364)
- Add a preview panel when PNG images are present for molecules ghutchis (1353)
- Auto-select a format for the user ghutchis (1348)
- Add extension and tool register / handle commands for scripts ghutchis (1320)
- Add an action to create a bond between selected atoms ghutchis (1303)
- Add dialog for manual manipulation ghutchis (1289)
- Read mopac vibrations ghutchis (1239)
- Screen space shading ghutchis (1135)
- Pick a contrasting color (vs. the background) for the text ghutchis (1131)
- Add a copy button for molecular properties ghutchis (1119)
- Fetch molecule names from PubChem PUG interface ghutchis (1103)
- Enable Yaehmop commands - enable if in PATH ghutchis (1100)
- Fix template tool, add more ligands and preview aerkiaga (1097)
- Perceive bond orders ghutchis (1096)
- Add support for polydentate ligand templates aerkiaga (1080)
- Add commands for centroid and center-of-mass atoms ghutchis (1076)
- Initial template tool ghutchis (1075)
- Add default spin multiplicity methods ghutchis (1062)
- Initial support for total charge and spin through CJSON. ghutchis (1058)
- Add AltLoc support to PDB importer aerkiaga (1047)
- Add AltLoc support to MMTF importer aerkiaga (1057)
🐛 Bug Fixes
- Add molden as a possible reader for generic `.out` files ghutchis (1409)
- Fix a few UI / UX issues in the surface dialog ghutchis (1404)
- Fix spurious "change layer" crash with the selection tool (1406) (1408)
- Fix for reading imaginary vibrational frequencies in ORCA outputs. dtelsing (1398)
- Ensure the VTK plot widget has a minimum size cryos (1231)
- Add uncommon "ent" extension for PDB entries ghutchis (1144)
- Put charge / spin in one line with two labels ghutchis (1143)
- By default only enable regular cartoons ghutchis (1141)
- Add VTK auto-init call, which avoids VTK context error message ghutchis (1115)
- Fix some cases where bond order perception gave up ghutchis (1164)
- Fix crash reading non-standard PDB file ghutchis (1161)
- Tweak rendering multiple bonds, rotate 45 degree angle ghutchis (1191)
- Fix a few UI / UX issues in the surface dialog (1404)
- Allow for reading imaginary vibrational frequencies in ORCA outputs. dtelsing (1398)
- Validating filenames before opening files for read / write ghutchis (1367)
- Re-enable CML fragments in case someone has old files ghutchis (1359)
- Don't bond Noble gases ghutchis (1357)
- Fix autodetect for force field with inorganic complexes ghutchis (1337)
- Give better warnings when scripts do not load ghutchis (1336)
- Cleanup label serialize, fixing a potential crash ghutchis (1332)
- Adjust nitrogen valence determination ghutchis (1330)
- Fix 1317 - editor wasn't using the format specification for parsing ghutchis (1327)
- Fix 1179 (finally) setting the colors and transparency of MO ghutchis (1300)
- Add OpenSSL support on Windows ghutchis (1273)
- Update parsing GAMESS coordinates to store the final version ghutchis (1276)
- When deleting an atom, properly adjust the hydrogens of the neighbors ghutchis (1236)
- When removing an atom, remove bonded hydrogens if needed ghutchis (1230)
- Fix atom index labels to start with 1, not zero, as users expect ghutchis (1229)
- Fix POV-Ray mesh export ghutchis (1180)
- Fix requests to the NIH resolver to use new scheme ghutchis (1158)
- Fix editor smooth drag ghutchis (1157)
- Mitigate bright edges in SSAO aerkiaga (1148)
- Fix mis-translated export dialog ghutchis (1133)
- Fix colormap vtk action ghutchis (1145)
- Fix rendering bug that dropped half of the MO rendering ghutchis (1146)
- Fix bug with "combined rows" like Theory / Basis set ghutchis (1136)
- Catch exceptions thrown by mmtf:decode ghutchis (1132)
- Make sure to add / adjust valence in the correct order ghutchis (1112)
- Don't "apply layer" if layer is already zero ghutchis (1108)
- Fix bug to allow editing atom formal charges ghutchis (1091)
- Fix properties menu priorities ghutchis (1079)
- Fix some Edit and Build menu priorities ghutchis (1078)
- Avoid using QWheelEvent::pixelDelta() on X11 aerkiaga (1065)
- Fix bug selecting incorrect angle and torsion atoms ghutchis (1063)
🚀 Performance Improvements
- Switch to (fixed) faster dihedral formula ghutchis (1315)
- Fix editor smooth drag ghutchis (1157)
- Use singleton shaders ghutchis (1156)
- Make sure to cache icons for the LayerModel ghutchis (1152)
- Optimize NeighborPerceiver aerkiaga (1061)
🧰 Maintenance
- Move arc and quad mesh and linestrip convenience classes ghutchis (1068)
- fix typos and punctuation inconsistency (... vs …) e-kwsm (1046)
- Modernize Eigen3, GLEW and OpenGL use as imported targets cryos (1267)
- CMake modernization cryos (1264)
- Remove the ProtoCall code from the repository cryos (1260)
- Remove the MongoChem plugin from the project cryos (1256)
- ImportPQR should not delete the molecule! cryos (1250)
- Port the OpenBabel plugin to work with Qt 6 cryos (1248)
- VTK charts cryos (1247)
- CMake modernization cryos (1246)
- Qt6 porting cryos (1241)
- CMake VTK updates cryos (1228)
- chore: fix typos and spelling inconsistency e-kwsm (1174)
- Make Python bindings build as a standalone project yurivict (1198)
- Switch to using CJSON as the default format with obabel ghutchis (1378)
- Fix the AppImage build for a newer base ubuntu ghutchis (1339)
- CMake: Allow using externally-provided libraries berquist (1286)
- Add arm64 Python wheel builds for Mac ghutchis (1281)
- Now uses notarization for Mac builds ghutchis (1244)
- Now uses a CodeQL scanning workflow ghutchis
- Avoid ambigous definition of mmtf's is\_polymer StefanBruens (1209)
- Turn off deprecated declarations (e.g., Qt 5.15) ghutchis (1142)
- Fix to use "eta" filenames for "C" locale ghutchis (1102)
- Add Dependabot update checks for GitHub actions ghutchis (1083)
📚 Translations
- i18n: fixed \& added russian translations anmorgunov (1137)
- support C locale balducci (1101)
- Many, many translations updates from Hosted Weblate weblate
- Strong translations in English, Esperanto, French, Georgian, German, Hungarian, Japanese, Korean, Portuguese, Serbian, Spanish, and Turkish.
Credits
Thanks to many contributors, including: DDinghoya, DasJott, Lisapple, M3CG, NorwayFun, OfficerBrasidas, SantosSi, StefanBruens, Surajjalpun2002, WilliamBeltranC, Xav83, adityaomar3, aerkiaga, ahenao, anmorgunov, awvwgk, balducci, berquist, comradekingu, cryos, dependabot, dominikflorjan, dtelsing, e-kwsm, ghutchis, github-actions, grsousajunior, hgokhanb, koenr, matterhorn103, mck89, milotype, nbehrnd, nicolazanna, ovari, pskowronskiTDx, salif, simmon-nplob, spotenza2016, tacitcoast, tictactoe101, trollixx, vamsibarnala, weblate, yurivict, Ajith, Alejandro Díaz-Moscoso, Alex B, Eisuke Kawashima, FAN JI, Hugel, Jörg S, Kateryna Golovanvoa, Patryk Skowroński, Shusong Zhang, Weblate Translators, gallegonovato and victor dargallo