Skip to content

4.3a0

Pre-release
Pre-release

Choose a tag to compare

@dellaert dellaert released this 19 May 13:44
3ad4b4c

GTSAM 4.3a0 is a significant pre-release, packed with major modernizations, new features, and numerous improvements. This alpha release incorporates over 2k commits since GTSAM 4.2.

Key Highlights:

  • C++17 Standard & Boost Removal: GTSAM now requires C++17. A monumental effort has been made to remove Boost dependencies throughout the library, replacing them with C++17 standard library features or internal implementations. This was a large collaborative effort, with major contributions from @kartikarcot and @varunagrawal.
  • Hybrid Inference Overhaul: Substantial enhancements to hybrid (discrete-continuous) inference capabilities, including new factors, improved elimination, and API refinements, primarily driven by @varunagrawal.
  • Discrete Factor & Inference Improvements: Introduction of the TableFactor (by @ywkim0606) for sparse discrete factors, along with significant optimizations to DecisionTreeFactor and discrete elimination strategies (led by @varunagrawal).
  • Python Wrapper Enhancements: The Python bindings have seen extensive updates, including the generation of type hint stub files (.pyi) for better IDE support and the adoption of cibuildwheel for building and distributing Python wheels (thanks to @varunagrawal, @ProfFan, @p-zach, @yambati03).
  • Eigen 3.4.0 Upgrade: The core linear algebra library Eigen has been updated to version 3.4.0.
  • ISAM2 Fixes: Important fixes related to ISAM2 marginalization and updates (by @gradyrw, @ProfFan, @varunagrawal).

Other Notable Changes:

  • New Factors & Capabilities: Including support for fisheye camera models (@kkelchte), BATA translation averaging for SfM (@akshay-krishnan), fundamental matrix factors, the Galilean3 Lie group (@mkielo3), and GPS factors with lever-arm correction (@mnissov), and making NavState into a fully fledged $SE_2(3)$.
  • Navigation & Filtering: Significant improvements to AHRS, new (Invariant) EKF examples, and more accurate Lie group Jacobians (contributions from @andre-michelin, @mkielo3, @BrettRD).
  • Build System & CI: Numerous modernizations to CMake, improved TBB handling, and more robust CI pipelines across platforms (many contributors including @varunagrawal, @jlblancoc, @talregev).
  • Documentation Revamp: Migration to a new MyST-based documentation site with improved content and structure, plus automated docstring generation for Python (led by @p-zach).

We are excited for the community to try it out and surface issues to be fixed in new pre-releases soon, leading up to 4.3 main release!

New Contributors

Full Changelog: 4.2...4.3a0