What's Changed
* fix: add missing-include by strasdat in https://github.com/farm-ng/farm-ng-core/pull/63
* Move tests for Shared<> from Pangolin by stevenlovegrove in https://github.com/farm-ng/farm-ng-core/pull/59
* Add log level filtering and log header formatting by isherman in https://github.com/farm-ng/farm-ng-core/pull/65
* ci: revert to standard build approach by strasdat in https://github.com/farm-ng/farm-ng-core/pull/68
* Add json by strasdat in https://github.com/farm-ng/farm-ng-core/pull/64
* Log level per compilation unit by isherman in https://github.com/farm-ng/farm-ng-core/pull/69
* docs: start farm-ng-core book by strasdat in https://github.com/farm-ng/farm-ng-core/pull/72
* Add istream overload for FARM_ENUM by stevenlovegrove in https://github.com/farm-ng/farm-ng-core/pull/74
* feat: print stats about noisy logging if enabled by strasdat in https://github.com/farm-ng/farm-ng-core/pull/71
* feat: use relative check / unless close to zero by strasdat in https://github.com/farm-ng/farm-ng-core/pull/75
* fix: near macro for non-float scalars by strasdat in https://github.com/farm-ng/farm-ng-core/pull/76
* style: fix bug which prevent clang-tidy by strasdat in https://github.com/farm-ng/farm-ng-core/pull/77
* docs: sidebar by strasdat in https://github.com/farm-ng/farm-ng-core/pull/73
* Add pipeline to farm-ng-core. by ethanrublee in https://github.com/farm-ng/farm-ng-core/pull/79
* fix: TRY macro, do not evalute expression twice by strasdat in https://github.com/farm-ng/farm-ng-core/pull/80
* feat: print error on assert when there is an expected.error by strasdat in https://github.com/farm-ng/farm-ng-core/pull/83
* Revert "feat: print error on assert when there is an expected.error" by strasdat in https://github.com/farm-ng/farm-ng-core/pull/86
* add event_has_message and improve docs by edgarriba in https://github.com/farm-ng/farm-ng-core/pull/88
* read/write json file protos in Python by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/90
* fix tests tmp_path and lints by edgarriba in https://github.com/farm-ng/farm-ng-core/pull/91
* Timestamps refactor (farm-ng-core) by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/92
* Add missing include to logger.h by isherman in https://github.com/farm-ng/farm-ng-core/pull/94
* Add API for bytes written to EventLogWriter by wylderkeane in https://github.com/farm-ng/farm-ng-core/pull/95
* Add smoke for event service and client. by ethanrublee in https://github.com/farm-ng/farm-ng-core/pull/93
* Add a few third-party dependencies. by ethanrublee in https://github.com/farm-ng/farm-ng-core/pull/107
* Enable mypy, codespell and Ruff by edgarriba in https://github.com/farm-ng/farm-ng-core/pull/106
* improve uri utils by edgarriba in https://github.com/farm-ng/farm-ng-core/pull/109
* Modify stamp semantics in client / service by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/108
* Add latching publisher by ethanrublee in https://github.com/farm-ng/farm-ng-core/pull/110
* Add clock_type to get_stamp_by_semantics by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/111
* merge cmake+core+sophus2 by strasdat in https://github.com/farm-ng/farm-ng-core/pull/105
* Bad subscription logic. by ethanrublee in https://github.com/farm-ng/farm-ng-core/pull/112
* fix python async tests by edgarriba in https://github.com/farm-ng/farm-ng-core/pull/117
* Allow '*' subscriber to receive latched messages. by ethanrublee in https://github.com/farm-ng/farm-ng-core/pull/118
* Stamps write optional by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/122
* Add autofix to ruff pre-commit hook by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/123
* refactor: sort sophus more consistent into directory structure by strasdat in https://github.com/farm-ng/farm-ng-core/pull/113
* fix: proto style, attempt to correct velocity representation by strasdat in https://github.com/farm-ng/farm-ng-core/pull/121
* Rename vel vecs in Pose proto by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/125
* Add a newline at the end of proto to .json by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/127
* Add pybind for pose, isometry3 and isometry2 by ethanrublee in https://github.com/farm-ng/farm-ng-core/pull/129
* gitignore *.so by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/130
* Event service backend by edgarriba in https://github.com/farm-ng/farm-ng-core/pull/132
* feat: asan build, re-enable warning by strasdat in https://github.com/farm-ng/farm-ng-core/pull/126
* add `EventServiceHealthMetrics` by edgarriba in https://github.com/farm-ng/farm-ng-core/pull/124
* refactor: proto merge & fix: release workflow by strasdat in https://github.com/farm-ng/farm-ng-core/pull/134
* Support --config-name for recorder start command by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/133
* add test for recorder service by edgarriba in https://github.com/farm-ng/farm-ng-core/pull/136
* Fix recorder service by edgarriba in https://github.com/farm-ng/farm-ng-core/pull/137
* Fix tangent pose3 by ethanrublee in https://github.com/farm-ng/farm-ng-core/pull/138
* proto_conv by strasdat in https://github.com/farm-ng/farm-ng-core/pull/135
* Tangent multiplication by ethanrublee in https://github.com/farm-ng/farm-ng-core/pull/139
* Remove versions from python build. by ethanrublee in https://github.com/farm-ng/farm-ng-core/pull/140
* EventService request reply interface simplification. by ethanrublee in https://github.com/farm-ng/farm-ng-core/pull/143
* proto conv for Region by strasdat in https://github.com/farm-ng/farm-ng-core/pull/144
* Support custom clock in logger by isherman in https://github.com/farm-ng/farm-ng-core/pull/147
* Add get_service_name to Uri by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/151
* feat: add time series by strasdat in https://github.com/farm-ng/farm-ng-core/pull/150
* feat: farm-try-callstack by strasdat in https://github.com/farm-ng/farm-ng-core/pull/152
* feat: contr for UnitVector by strasdat in https://github.com/farm-ng/farm-ng-core/pull/153
* fix: tangent of pose by strasdat in https://github.com/farm-ng/farm-ng-core/pull/142
* docs: repair docs and finish merge with sophus2 docs by strasdat in https://github.com/farm-ng/farm-ng-core/pull/155
* docs: revive API reference by strasdat in https://github.com/farm-ng/farm-ng-core/pull/156
* docs: api reference included by strasdat in https://github.com/farm-ng/farm-ng-core/pull/157
* Mild refactor by strasdat in https://github.com/farm-ng/farm-ng-core/pull/158
* feat: move farm struct to core by strasdat in https://github.com/farm-ng/farm-ng-core/pull/160
* feat: text-log to disk option & some proto tooling by strasdat in https://github.com/farm-ng/farm-ng-core/pull/159
* feat: remote plot by strasdat in https://github.com/farm-ng/farm-ng-core/pull/162
* fix: api-reference by strasdat in https://github.com/farm-ng/farm-ng-core/pull/164
* Decode request reply by edgarriba in https://github.com/farm-ng/farm-ng-core/pull/161
* Ensure a request_reply_handler that expects decode is processed correctly by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/165
* Add build_events_dict method by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/166
* Add recursive submodules to pypi packaging by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/167
* style: just renaming a macro FARM_TRY_ASSERT by strasdat in https://github.com/farm-ng/farm-ng-core/pull/172
* docs: warn if undocumented (to be enabled folder by folder) by strasdat in https://github.com/farm-ng/farm-ng-core/pull/174
* docs: warn if undocumented (cpp code farm-ng/core) by strasdat in https://github.com/farm-ng/farm-ng-core/pull/175
* Try revive macos-latest build -- fails for pybind code by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/171
* Fix PyPi release build and test in all PRs by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/170
* Only release python 3.8 pypi packages by Hackerman342 in https://github.com/farm-ng/farm-ng-core/pull/176
* Attempted fix for install of header-only libraries by isherman in https://github.com/farm-ng/farm-ng-core/pull/177
* refactor plotter by strasdat in https://github.com/farm-ng/farm-ng-core/pull/178
* Add a method for pixel size in sophus::ImageView by wylderkeane in https://github.com/farm-ng/farm-ng-core/pull/181
* Fix protobuf warnings by ethanrublee in https://github.com/farm-ng/farm-ng-core/pull/180
* feat: plot nav improvements by strasdat in https://github.com/farm-ng/farm-ng-core/pull/179
* fix: ceres jet compilation by strasdat in https://github.com/farm-ng/farm-ng-core/pull/182
* fix: ceres jet compilation on gcc 2 by strasdat in https://github.com/farm-ng/farm-ng-core/pull/183
* fix: some more plot tweaks by strasdat in https://github.com/farm-ng/farm-ng-core/pull/185
* fix: minor isometry/quaternion API fixes by strasdat in https://github.com/farm-ng/farm-ng-core/pull/186
* fix: some minor camera fixes by strasdat in https://github.com/farm-ng/farm-ng-core/pull/184
* docs: api docs for sophus linalg & calculus by strasdat in https://github.com/farm-ng/farm-ng-core/pull/187
* bump python version to 2.0.0 by edgarriba in https://github.com/farm-ng/farm-ng-core/pull/189
New Contributors
* isherman made their first contribution in https://github.com/farm-ng/farm-ng-core/pull/65
* wylderkeane made their first contribution in https://github.com/farm-ng/farm-ng-core/pull/95
**Full Changelog**: https://github.com/farm-ng/farm-ng-core/compare/v0.1.4...v2.0.0
v.cfdfb85
v.67f9565
v.5363959
v.4d5e476
v.366937e
v.11e436d
v.f9f3bb6
v.de6fe96
v.b6feaaf
v.ad59ac3
v.8b64252
v.7e513c9
v.788193f
v.6c82f68
v.60c62da
v.1dc4d45
v.1d05e9c
v.0a5fffb
v.ecd8761
v.b91a2ed
v.7ba8a9a