Avogadro 1.99 Release

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.99.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 developement.

:star2: Highlights (tldr)

  • Further improvements to the new optimization framework, including default integrated Open Babel force fields (MMFF94, UFF, GAFF)
  • New toolbar icons with light / dark theme from @matterhorn103
  • Significantly faster molecular and orbital surfaces
  • Vibrational spectra plotting
  • Support for installing Python packages with plugins via pip or conda
  • Improved selection of conda environments
  • Conformer search dialog through Open Babel
  • Improved template tool for inserting ligands and functional groups
    • Significant improvements from @nbehrnd for the ligand library
  • Logging debugging / error messages to a file for Windows users

:sparkles: Features

  • Add optional energy / optimize code that links Open Babel @ghutchis (#1591)
  • Update tool plugins to set icon as light / dark theme @ghutchis (#1578)
  • Modern tool icons @matterhorn103 (#1576)
  • Add confirmation dialog to install with conda or pip @ghutchis (#1559)
  • Add support for first launch dialog and conda environments @ghutchis (#1562)
  • Add red = a, blue = b, green = c color axes for unit cells @ghutchis (#1542)
  • Vibrational spectra plot @ghutchis (#1429)
  • Add UniqueID atom label type @ghutchis (#1569)
  • Add ethylene, ethyne, and phosphate standard functional groups @ghutchis (#1557)
  • Improved python configure dialog @ghutchis (#1555)
  • Adding support for bond label in base classes and CJSON @ghutchis (#1495)
  • Add “…” indicator for display types with settings @ghutchis (#1541)
  • Split ligands and functional groups in the template tool @ghutchis (#1516)
  • Added copy and export feature to property tables @Surajjalpun2002 (#1515)
  • Add initial support for copy from tables @ghutchis (#1506)
  • Add conformer search box @ghutchis (#1507)
  • Allow scripts to add properties (orbitals, vibrations, cubes) @ghutchis (#1479)
  • Add support for navigator commands - rotate, translate, zoom @ghutchis (#1472)
  • Add template library to insert ligands or functional groups @ghutchis (#1456)
  • Add support for Hall number and space group to CJSON read/write @ghutchis (#1440)
  • Add new MessagePack version of CJSON @ghutchis (#1452)
  • Add a message handler to grab debug / warnings on Windows @ghutchis
  • Save and load the camera modelView and projection matrix @ghutchis

:bug: Bug Fixes

  • Fixed typo in setDefaultPythonInterpretor() @matterhorn103 (#1583)
  • Fix Mac builds @ghutchis (#1522)
  • Fix quantum surface max cutoff for diffuse functions @ghutchis (#1556)
  • Change “Insert fragment” ⇒ “Insert molecule” by popular request @ghutchis (#1519)
  • Fix parsing XYZ files with tabs between columns @ghutchis (#1513)
  • Fix bug with incorrect Unicode characters added to labels @ghutchis (#1588)
  • Fix for Wayland @matterhorn103 (#1577)
  • Fixed crash with angle properties on an empty molecule @secretkontributer (#1566)
  • Fix density color crash @ghutchis (#1537)
  • Fix crash in forcefields - check if method is valid before using it @ghutchis (#1526)
  • Fix for first item in ordered plugin dialog being empty @matterhorn103 (#1523)
  • Fix crash with “copy as” and an empty molecule @ghutchis (#1521)
  • Turn off Color Opacity Map unless a VTK widget is active @ghutchis (#1509)
  • Make sure to automatically load the “Meshes” display type @ghutchis (#1508)
  • If no partial charges are assigned, set them @ghutchis (#1502)
  • Fix potential crashes in selection commands @ghutchis (#1499)
  • Fix vibration animation @ghutchis (#1487)
  • Generate the density matrix if needed for the electron density surface @ghutchis (#1482)
  • Fix empty window showing up for commands without an option dialog @ghutchis (#1468)
  • Save partial charges and properly read them from CJSON @ghutchis (#1467)
  • Don’t show PNG files in the filter dialog @ghutchis (#1462)
  • Fix GFN-FF energy - redirect GFN-FF output through a hack @ghutchis (#1454)
  • Fixup PDB reading with non-standard MD files (no element column) @ghutchis (#1450)
  • Fix atomic numbers from Orca - it would read electrons not symbols @ghutchis (#1451)
  • Fix linear molecular template @ghutchis (#1474)
  • Avoid segfaulting while manipulating carbon bonds/hydrogens @Makiah (#1493)
  • Reduce ambiguity of “Export” toolbar button @matterhorn103 (#442)
  • Ensure that title bar correctly displays active molecule file @Makiah (#440)

:snake: Scripting / Plugin Improvements

  • Windows: Standardize plugin location based on forum feedback @ghutchis (#1605)
  • Add some additional Python classes including cjson and connect @ghutchis (#1427)
  • Always supply cjson to scripts @ghutchis (#1465)
  • If userOptions specifies an order, use that to sort the form @ghutchis (#1503)
  • Check script --menupath for {} priority numbers @ghutchis (#1501)
  • Add a “text” option for scripts to add text labels / help @ghutchis (#1488)

:rocket: Performance Improvements

  • Skip calculating orbital / surface points too far apart (e.g., negligible) @ghutchis (#1551)
    • Leads to 2-3x faster surface generation

:toolbox: Builds / Maintenance

  • Package OpenSSL for Windows @ghutchis
  • Update Eigen cmake header references @ghutchis (#1544)
  • Add Qt6 build tests @ghutchis (#1547)
  • Update to cibuildwheel for Python 3.12 @ghutchis (#1546)
  • Fix include of avogadrocoreexport.h @ghutchis (#1504)
  • Add specialization for char* and MatrixXf types @ghutchis (#1494)
  • Install ligand and functional group fragments @ghutchis (#1460)
  • Make sure to copy libopenbabel on Mac for CPack @ghutchis

:books: Translations

  • Correct typo @Acylation (#1553)
  • Update Australian and Canadian localization from GB version @ghutchis (#1453)
  • Translations update from Hosted Weblate @weblate
  • Automated translation updates @github-actions
  • Fix a few remaining cases of … instead of ellipsis character @ghutchis (#1458)


Thanks to many contributors, including: @Acylation, @Azaathooth, @IagoEmanuel15, @ImgBotApp, @Makiah, @NorwayFun, @Surajjalpun2002, @alchemistcai, @bitigchi, @dependabot, @dependabot[bot], @ghutchis, @github-actions, @hakkikonu, @imgbot, @imitrichev, @joerivan, @koenr, @matterhorn103, @nbehrnd, @ovari, @research11111, @secretkontributer, @tacitcoast, @weblate, Alejandro Díaz-Moscoso, Eisuke Kawashima, Ivanushka, LibreTranslate, Remus-Gabriel Chelu, Weblate Translation Memory and gallegonovato

There does seem to be a minor snafu with uploading Python packages to PyPI so there will undoubtedly be a 1.99.1 release in a few days.

Wonderful news on the release of Avogadro 2.0… Thanks to you, your Team and everyone that helped with this new revision. However, do you have any timeline as to when the User Manual will be released for Avogadro 2.0 as a PDF to download?

No, not 2.0 yet. :wink:

The manual is assembled through Sphinx to https://two.avogadro.cc/ so generating a PDF won’t be hard.

In principle, we’ll also be able to generate docs that can ship with the app for the Help menu.

Sorry Geoff… I should have asked about the User Manual for the New Avogadro 1.99 and not the 2.0. So, is your answer still the same for the Updated User Manual on Avogadro 1.99?

I have not attempted to generate a PDF manual yet … the user docs are not updated uniformly for the new UI and features. We’ll definitely post when we have a more complete user manual.