Open Babel 3.1.0#

Released on 2020-05-05.

This version represents additional API and is backwards-compatible with the 3.0 release.

New features and improvements#

  • New file format: Wiswesser Line Notation reader from Roger Sayle (by baoilleach, PR#2084)

  • New option: Add the –neutralize operation to convert charged atoms to neutral (by baoilleach, PR#2109)

  • New functionality: Support for periodic boundary conditions. See additional option -p for MMCIF format, and write option ‘g’ for CIF. (by bbucior, PR#1853)

  • New functionality: Add distance geometry method (xxby n-yoshikawa, PR#1875)

  • New option: Add -noh to –minimize to allow minimizing without adding explicit hydrogens (by ghutchis, PR#2184)

  • Update GAS CONSTANT to 2018 CODATA recommended value (by e-kwsm, PR#2045)

  • Support #0 in SMARTS so that asterisks can be matched (by baoilleach, PR#2079)

  • Bring back support for lowercase elements and D/T in GetAtomicNum(). (by baoilleach, PR#2100)

  • Change docstrings of add/delete hydrogens to better reflect their functionality (by baoilleach, PR#2110)

  • Support kekulization of aromatic sulfoxides (by baoilleach, PR#2121)

  • Enable casting to StereoBase in the Python bindings (by baoilleach, PR#2124)

  • OBBuilder: Add error message for ring/rigid fragments with all zero coords. (by timvdm, PR#2149)

  • R script updates (by khoran, PR#2145)

  • Be more strict when parsing charges in SMILES (by baoilleach, PR#2132)

  • Improve tools/obconformer.cpp (by e-kwsm, PR#2154)

  • OBAtom::IsElement() implemention, make OBElements::Element enum (by dkoes, PR#1754)

Development/Build/Install improvements#

  • Avoid using namespace in headers (by e-kwsm, PR#2055)

  • Remove babel doc (by e-kwsm, PR#2057)

  • Do not hard-code Open Babel major version for include directory (by e-kwsm, PR#2059)

  • Patched to build on NetBSD (by voidpin, PR#2093)

  • Update download link (by njzjz, PR#2094)

  • Fix GitHub ISSUE_TEMPLATE (by RMeli, PR#2082)

  • Define OpenBabel3_LIBRARY (by dkoes, PR#2086)

  • Initial GitHub action - misspell-fixer (by ghutchis, PR#2163)

  • Use latest checkout action - more efficient (by ghutchis, PR#2172)

  • Initial CMake GitHub Action (by ghutchis, PR#2165)

  • Add a template to use with the release drafter GH app (by ghutchis, PR#2182)

  • Pin maeparser version to 1.2.3 - should fix #2180 (by ghutchis, PR#2185)

  • Workaround for SWIG 4.0.1 Java source code problem (by baoilleach, PR#2186)

  • Add a build for bindings (eventually will generate source tar) (by ghutchis, PR#2183)

  • Fix build on illumos (by wiedi, PR#2187)

  • Update the WLN docs to have the correct syntax for .rst (by baoilleach, PR#2188)

  • Rename EXTERN to OB_EXTERN to prevent clashes in other headers (by ghutchis, PR#2189)

  • Re-enable Ruby bindings (by ghutchis, PR#2193)

Bug fixes#

  • Fix CMake error with R and C# bindings (by ghutchis, PR#2051)

  • Rename MAESTRO extensions from uppercase to lowercase (by baoilleach, PR#2053)

  • Fix file format docstrings that were causing problems with Sphinx or GUI (by baoilleach, PR#2054)

  • Fix BUILD_SHARED=OFF (by dkoes, PR#2056)

  • Fix import of openbabel (by e-kwsm, PR#2058)

  • Update for Open Babel 3 (by e-kwsm, PR#2060)

  • Fix maeparser compile error with some Boost configs (by fredrikw, PR#2076)

  • Find or build maeparser & coordgen libraries (by ricrogz, PR#2064)

  • Fix issue #2095, caused by incorrect application of protonated SMARTS (by au1985, PR#2102)

  • Fix issue #1794, UFF atom typing for deuterium (by ghutchis, PR#2114)

  • Fix segfault on SMI to InChI conversion when using “-d” (by timvdm, PR#2115)

  • Correct the path to the openbabel-python.cpp (by baoilleach, PR#2119)

  • Remove fragments with zero coordinates - fixes #2144. (by ghutchis, PR#2150)

  • Fix issue #2125 - Zero occupancy in cif file treated as 1.0. (by orex, PR#2136)

  • Fix #2071 - obrms parser segmentation fault (by e-kwsm, PR#2073)

  • Fix #2098 - OBDistanceGeometry is unavailable to users (by n-yoshikawa, PR#2105)

  • Set MAEPARSER_BUILD_SHARED_LIBS (fix #2089) (by e-kwsm, PR#2155)

  • Fix the import of Tkinter in Python 3+ (by mrakitin, PR#2157)

  • Fix for segault (with regression test) (by dkoes, PR#2162)

  • Follow-up with missing spelling fixes from #2163 (by mrakitin, PR#2166)

  • Prefer std::fabs resolves build problem on mac-current (by ghutchis, PR#2168)

  • Fix distance geometry stereo issues (by timvdm, PR#2158)

  • Merge of “Improve OBConversion::WriteString() and WriteFile() initialization” (adalke) #1923 (by baoilleach, PR#2176)

  • Fix output format in the cifformat writer (by afonari, PR#2170)

  • Fix the cif write test (i.e. modified format) (by ghutchis, PR#2177)

  • Fix tautomer code (by timvdm, PR#2171)

Cast of contributors#

adalke (Andrew Dalke), afonari (Alexandr Fonari), au1985 (Alex Ustinov), baoilleach (Noel O’Boyle), bbucior (Ben Bucior), dkoes (David Koes), e-kwsm (Eisuke Kawashima), fredrikw (Fredrik Wallner), ghutchis (Geoff Hutchison), Kamil Rytarowski, khoran (Kevin Horan), mrakitin (Maksim Rakitin), n-yoshikawa (Naruki Yoshikawa), njzjz (Jinzhe Zeng), orex (Kirill Okhotnikov), ricrogz (Ric), rmeli (Rocco Meli), Roger Sayle, timvdm (Tim Vandermeersch), voidpin (pin), wiedi (Sebastian Wiedenroth)