4.3a0
Pre-release
Pre-release
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 toDecisionTreeFactorand 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 ofcibuildwheelfor 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
- @gradyrw made their first contribution in #1105
- @ShuangLiu1992 made their first contribution in #1419
- @ankur-rc made their first contribution in #1440
- @keevindoherty made their first contribution in #1449
- @wanmeihuali made their first contribution in #1441
- @Ibarria made their first contribution in #1464
- @zubingtan made their first contribution in #1502
- @mrw2ee made their first contribution in #1514
- @ywkim0606 made their first contribution in #1528
- @DanMcGann made their first contribution in #1504
- @travisdriver made their first contribution in #1534
- @arutkowski made their first contribution in #1552
- @IshitaTakeshi made their first contribution in #1554
- @talregev made their first contribution in #1564
- @nathanhhughes made their first contribution in #1587
- @NaivelyWritten made their first contribution in #1597
- @dllu made their first contribution in #1517
- @achintyamohan made their first contribution in #1634
- @traversaro made their first contribution in #1632
- @stepeos made their first contribution in #1646
- @etamarlu made their first contribution in #1677
- @kkelchte made their first contribution in #1678
- @stevenlovegrove made their first contribution in #1728
- @niwhsa9 made their first contribution in #1729
- @MichalNowicki made their first contribution in #1735
- @dch4o made their first contribution in #1748
- @VRichardJP made their first contribution in #1753
- @contagon made their first contribution in #1755
- @matlabbe made their first contribution in #1772
- @garygra made their first contribution in #1790
- @andre-michelin made their first contribution in #1797
- @truher made their first contribution in #1817
- @spacey-sooty made their first contribution in #1889
- @NewThinker-Jeffrey made their first contribution in #1890
- @mcm001 made their first contribution in #1942
- @dependabot made their first contribution in #1945
- @Gold856 made their first contribution in #1946
- @MagnusAagaard made their first contribution in #1965
- @calcmogul made their first contribution in #1969
- @mnissov made their first contribution in #1975
- @JokerJohn made their first contribution in #1977
- @JaiXJM-BB made their first contribution in #1968
- @ArkadiuszNiemiec made their first contribution in #1995
- @p-zach made their first contribution in #2000
- @jmackay2 made their first contribution in #2001
- @mkielo3 made their first contribution in #2031
- @yambati03 made their first contribution in #2029
- @jenniferoum made their first contribution in #2054
- @mhalber made their first contribution in #2067
- @darshan-17 made their first contribution in #2103
- @DrWisdome made their first contribution in #2140
Full Changelog: 4.2...4.3a0