biology/openbabel: update to 3.2.0
This release reflects the latest stable version, including multiple feature enhancements and many, many bug fixes. It is backwards compatible with 3.0 and 3.1.
We anticipate more bug-fix releases over the course of 2026 and appreciate the many contributions and reports from everyone.
Major Features and Fixes
Many memory and crash bugs fixed, thanks to OSS-Fuzz (Google) for infrastructure, including Cisco TALOS, Trail of Bits, ADA Logics, and Claude Mythos for bug reports. At the moment, all reported bugs are fixed.
L-BFGS optimizer added to OBForceField (internal LBFGS.h); gen3d and conformer search now use L-BFGS by default (with CG fallback when Eigen is unavailable). @ghutchis (#2933)
New macrocycle ring builder with Dale codes for cycloalkanes with n > 24, plus a post-pass crown builder for unmatched rings up to n ≤ 24. Substantially improves initial 3D geometry for macrocycles. @ghutchis (#2923)
Distance-geometry improvements: faster, vectorized implementation ensuring stereochemistry is preserved @ghutchis (#2896, #2897)
KET format (Ketcher JSON) read/write, including aromatic-bond preservation and alias expansion for clean round-trip. @romanbsd (#2909)
ChemicalJSON (.cjson) format support — Avogadro's native format — with rich metadata: total charge & spin multiplicity, NMR and electronic spectra, conformer energies, unit-cell vectors, and space-group info. @ghutchis (#2486, #2491, #2516, #2640, #2654)
InChI bumped to 1.07.5; library version now reported in the format description. @e-kwsm @ghutchis (#2857, #2947)
Python 2 dropped; Python 3.13 supported (distutils removed). @e-kwsm @chrisjonesBSU (#2924, #2809) Integrated PyPI binary wheels @njzjz #2925
CMake 4 compatibility, FindPython refactor, Eigen 2 dropped, Eigen3::Eigen imported target adopted. @PPN-SD @e-kwsm (#2784, #2753, #2858)
OBRandomMT: new std::mt19937_64-based PRNG wrapper (opt-in via USE_RANDOMMT, default on); OB_RANDOM_SEED environment variable documented for reproducibility. @e-kwsm (#2241)
New Features and Improvements
[74 lines not shown]
Fix PCI Express issues on Sam460ex.
- Mapping memory region for DMA through bus_dma framework with coherency
requested now causes the region to be uncached for 440 cores.
- DMA inbound window mapping
- Avoid configuration cycles that stall the bus
- Board-specific interrupt mapping
Now mpt in PCI Express x4 slot does around 100MB/s to a spinning rust
hard drive and is stable.
py-httpbin: updated to 0.10.4
0.10.4
Made flasgger an optional dependency (falls back to a static landing page when absent), thanks @AdamWill and @mgorny
Fixed invalid escape sequence SyntaxWarnings on Python 3.12+, thanks @hseg
Included tox.ini and the tests in the source distribution, thanks @Mirochill
Added Python 3.13 and 3.14 to the test matrix and classifiers
py-checkdmarc: updated to 5.17.1
5.17.1
Fixed
Accept uppercase SPF macro letters (e.g. %{S}), which are valid per RFC 7208 section 7.3
5.17.0
Added
Warnings for deprecated Sender ID TXT records
Changed
NXDOMAIN errors are more detailed
gstreamer1: updated to 1.28.4
GStreamer 1.28.4 stable bug fix release
Highlighted bugfixes:
Various security fixes and playback fixes
audioaggregator: fixes for conversion of in-progress buffers when input caps change
audioresample: more armv7 fixes
camerabin: Fix caps negotiation failure when starting video capture
Debug logging performance improvements
fmp4mux: Fix draining in chunk mode after partial GOPs were drained
gldownload: fix handling of directly imported dmabufs from glupload
matroskamux: Write ReferenceBlock for non-keyframe video in BlockGroups
rtp2: session: add "stats" property
rtspsrc2: handle parse errors with TCP interleaved more gracefully where the server just drops data
rtspsrc2: implement support for SRTP, authentication, HTTP tunnelling, keep alive, stream selection, TLS validation, latency configuration
st2038combiner: only forward video pad segment, fixing issues for cases where the ST2038 segment differs
Wavpack audio: Various channel and channel-mask related fixes
[6 lines not shown]
strawberry: updated to 1.2.20
1.2.20 (2026.06.21):
Bugfixes:
* Defer writing playcount and rating tags for the currently playing MP3 file to prevent playback issues
* Fixed volume being reset during gapless playback when the sample rate changes between tracks
* Prevent duplicate songs with identical URL
* Fixed album shuffle to use the effective album artist
* Fixed collection watcher skipping symlinked directories
* Fixed collection subdirectory path handling when renaming directories
* Fixed songlyrics.com, elyrics.net and letras lyrics parsing
* Fixed SPC (GME) file parsing
* Fixed Tidal session not being cleared on authentication errors
* Fixed global shortcuts to use the first backend that registers successfully
* Prefer the volume UUID when identifying removable devices
* Save settings when the session manager requests a commit
* Set StartupWMClass in the desktop file to org.strawberrymusicplayer.strawberry
* Fixed two tabs closed when middle clicking on a playlist tab
[16 lines not shown]
pugixml: updated to 1.16
1.16
Add xml_node::ensure_child and xml_node::ensure_attribute that return the child/attribute with the specified name, adding one if it does not exist
PUGIXML_CHARCONV_FLOAT option can be enabled to switch floating point conversions to <charconv>, making conversions locale-independent and improving performance
Several performance improvements (XPath queries, node/attribute lookup) and bug fixes (remove_child stack overflow, load_file integer overflow on 32-bit systems)