Releases: MRPT/mrpt
Releases · MRPT/mrpt
Release of v2.1.6
Version 2.1.6: Released Dec 14th, 2020
- Changes in libraries:
- \ref mrpt_core_grp
- Disable the use of BFD for symbols in stack traces by default in Debian builds. It is still used if found in the system and in Ubuntu PPAs.
- \ref mrpt_core_grp
- BUG FIXES:
- Fix Debian bug #976803: mrpt uses private binutils shared library.
- Fix Debian bug #977247: fail to link pymrpt against opencv.
Release of v2.1.5
Version 2.1.5: Released Dec 6th, 2020
- Changes in libraries:
- \ref mrpt_containers_grp
- Both mrpt::containers::CDynamicGrid and mrpt::containers::CDynamicGrid3D are now compatible with range-based for loops, and also have a data() method.
- \ref mrpt_core_grp
- Added mrpt::LockHelper::unlock()
- Added mrpt::Clock::nowDouble()
- New method mrpt::WorkerThreadsPool::name()
- Function mrpt::system::callStackBackTrace() moved to mrpt::callStackBackTrace()
- mrpt::callStackBackTrace() now uses BFD to find out line numbers if debug info (at least -g1) is available.
- Stacked exceptions changes:
- Line numbers will be now shown if built with debug info (>= -g1).
- Exceptions in STL or any other 3rd-party library will be also reported with exact call point line number, as long as MRPT_START/MRPT_END is used in the user function.
- No further need to call mrpt::exception_to_str(), just calling what() will return a detailed stack backtrace.
- New function mrpt::winerror2str()
- \ref mrpt_gui_grp
- New method mrpt::gui::CGlCanvasBase::CamaraParams::FromCamera()
- \ref mrpt_math_grp
- Added missing method for consistent API across pose classes: mrpt::math::TPose3D::operator+()
- \ref mrpt_system_grp
- mrpt::system::COutputLogger::writeLogToFile() will now save all messages despite the runtime log verbosity level.
- \ref mrpt_containers_grp
- BUG FIXES:
- Fix error rendering an opengl scene with mrpt::opengl::CCamera objects in it.
- rawlog-edit silently ignored when more than one operation was requested.
- Fix FTBFS against libjsoncpp 1.9.4 (Closes #1118)
- Fix AppStream errors and warnings in Debian Tracker.
Release of v2.1.4
Version 2.1.4: Released Nov 8th, 2020
- Changes in libraries:
- \ref mrpt_core_grp
- mrpt::format() is no longer a template but a function, to use GCC automated printf-format warnings.
- \ref mrpt_containers_grp
- mrpt::containers::yaml avoids throwing internal exceptions as part of regular valid conversions, and better support and report of out-of-range integers.
- \ref mrpt_math_grp
- mrpt::math::linspace() added overload returning by value.
- \ref mrpt_random_grp
- mrpt::random::CRandomGenerator::permuteVector() added overload returning by value.
- \ref mrpt_tfest_grp
- mrpt::tfest::TMatchingPairListTempl::saveAsMATLABScript() now draws 3D correspondences too.
- RANSAC method mrpt::tfest::se3_l2_ransac() now uses more correct SO(3) metric for angular distance threshold instead of independent yaw/pitch/roll angles.
- BUG FIXES:
- Fix wrong Debian dependencies of libmrpt-dev
- \ref mrpt_core_grp
Release of v2.1.3
Version 2.1.3: Released Oct 21st, 2020
- Changes in libraries:
- \ref mrpt_config_grp
- Refactor parsing functionality as new exposed method mrpt::config::config_parser()
- \ref mrpt_gui_grp
- mrpt::gui::CDisplayWindowGUI subwindows control UI automatically keep tracks of focused subwindows.
- \ref mrpt_config_grp
- Build system:
- Support for ccache, enabled by default if found.
- Fix build with system libsimpleini-dev.
- BUG FIXES:
- Fix mrpt::opengl::CFBORender requiring images with origin at the bottom-left corner.
Release of v2.1.2
Version 2.1.2: Released Oct 20th, 2020
- BUG FIXES:
- Fix wrong coloring of graph edges in mrpt::opengl::graph_visualize() (Closes #1111).
- Fix Debian Lintian error: exporting copyrighted sources as part of simpleini submodule.
Release of v2.1.1
Version 2.1.1: Released Oct 19th, 2020
- Changes in applications:
- SceneViewer3D:
- Command-line argument is now interpreted as ASSIMP model to open if it is not a 3Dscene.
- New menu: "File -> Import -> Show image" useful to test image-mode viewport rendering.
- SceneViewer3D:
- Changes in libraries:
- \ref mrpt_core_grp
- mrpt::Clock now has a simulated time mode. See mrpt::Clock::setSimulatedTime()
- \ref mrpt_gui_grp
- Useless nanogui_win() converted into mrpt::gui::CDisplayWindowGUI::nanogui_screen()
- nanogui: New methods: nanogui::Screen::mouseState(), nanogui::Screen::mouseModifiers()
- Managed subwindows with minimize/restore capability. See mrpt::gui::CDisplayWindowGUI::createManagedSubWindow()
- \ref mrpt_img_grp
- New method mrpt::img::CImage::channelCount()
- \ref mrpt_opengl_grp
- New load flags in mrpt::opengl::CAssimpModel::loadScene()
- \ref mrpt_core_grp
- BUG FIXES:
- navlog-viewer: Crash when clicking "play" (Closes #1103).
- RawLogViewer: Fix wrong indices in tree view. Fix freezed progress bar loading a second rawlog.
- RawLogViewer: Fix wrong rendering if font is missing in the system (Ubuntu 20.04)
- rawlog-edit: Fix --cut operation leaving empty sensory frames/action collections.
- mrpt::opengl::CCylinder::setHasBases() was ignored since last OpenGL3 refactor.
- Fix building against OpenCV 4.4
- Correct texture loading in mrpt::opengl::CAssimpModel.
- Fix wrong aspect ratio of image-mode opengl viewports (Closes #1101).
Release of v2.1.0
Version 2.1.0: Released Aug 31st, 2020
- Incompatible API changes:
- mrpt::system::TParameters has been removed, superseded by mrpt::containers::yaml.
- Remove mrpt::hwdrivers::CRovio
- Removed old mrpt 1.5.x backwards-compatible
<mrpt/utils/...>
headers (Closes #1083).
- Changes in libraries:
- \ref mrpt_containers_grp
- New class mrpt::containers::yaml for nested, YAML-like data structures.
- \ref mrpt_core_grp
- New mrpt::for_<> constexpr for loop helper function.
- New function mrpt::demangle()
- New class mrpt::WorkerThreadsPool
- New macro ASSERT_NEAR_(). Defined new macros with correct English names ASSERT_LT_(), etc. deprecating the former ones.
- mrpt::get_env() gets specialization for bool.
- \ref mrpt_math_grp
- New static methods with semantic-rich names: mrpt::math::TPlane::From3Points(), mrpt::math::TPlane::FromPointAndLine(), ...
- New asString() methods in mrpt::math::TPlane, mrpt::math::TLine2D, mrpt::math::TLine3D
- \ref mrpt_tfest_grp
- New templatized mrpt::tfest::TMatchingPairTempl<> and mrpt::tfest::TMatchingPairListTempl<>
- New mrpt::tfest::se3_l2() for
double
precision.
- \ref mrpt_containers_grp
- Build:
- yamlcpp is no longer a build dependency.
- Less RAM and time required to build debug builds or to load in the debugger.
- BUG FIXES:
- Avoid crash in camera-calib app when clicking "Close" while capturing a live video.
- Fix potential Eigen crash in matrixes inverse() and inverse_LLt() if building mrpt and user code with different optimization flags.
- Wrong parsing of env variables in mrpt::get_env() when called more than once.
- mrpt::system::CTimeLogger: Fix wrong formatting (parent entry prefix collapse) in summary stats table.
- mrpt::opengl::CEllipsoid2D was not RTTI registered.
- Fix wrong copy of internal parameters while copying mrpt::maps::CMultiMetricMap objects.
Release of v2.0.4
Version 2.0.4: Released Jun 20, 2020
- Changes in applications:
- rawlog-edit, rawlog-grabber: Now allows loading external "plugin" modules (.so) with user-defined types.
- RawLogViewer, navlog-viewer, ptg-configurator allows more than one "plugin" modules to be loaded.
- Changes in libraries:
- \ref mrpt_math_grp
- New semantically-rich named static methods:
- mrpt::math::TLine3D::FromPointAndDirector()
- mrpt::math::TLine3D::FromTwoPoints()
- mrpt::math::TLine2D::FromCoefficientsABC()
- mrpt::math::TLine2D::FromTwoPoints()
- New semantically-rich named static methods:
- \ref mrpt_obs_grp
- CObservation3DRangeScan::points3D_convertToExternalStorage() stores point clouds with points as rows (vs as columns as it did before).
- \ref mrpt_opengl_grp
- Emit warnings to std::cerr whenever opengl memory is leaked due to OpenGL buffers being created and destroyed in different threads.
- Overlaid text messages are now also (de)serialized in mrpt::opengl::COpenGLViewport, and hence in 3D scenes in general.
- All opengl shader base classes now expose their internal buffers as const ref. See children of mrpt::opengl::CRenderizable
- \ref mrpt_system_grp
- New class: mrpt::system::CControlledRateTimer (+ associated example)
- New functions: mrpt::system::loadPluginModule(), mrpt::system::loadPluginModules()
- mrpt::system::CRateTimer: enforce use of high-resolution monothonic clock.
- mrpt::system::CTicTac: enforce use of nanosecond monothonic clock.
- Misplaced functions moved to their proper namespace: mrpt::io::vectorToTextFile()
- New functions: mrpt::system::thread_name() to get and set thread names for debuggers.
- mrpt::system::setConsoleColor(): Do not change color if stdout/stderr are not real terminals.
- \ref mrpt_nav_grp
- mrpt::nav::PlannerSimple2D does not throw an exception if goal/source is out of map bounds.
- \ref mrpt_math_grp
- BUG FIXES:
- mrpt::obs::CObservation3DRangeScan would try to (incorrectly) "autofix" camera resolution if loading an externally-stored observation.
- mrpt::maps::CPointsMap::determineMatching2D(): avoid potential multi-thread problems with a vector::swap()
- Fix build against opencv <3.4.4
- Fix potential pointer to local returned in CParticleFilterData
- Fix: mrpt::maps::CPointsMapXYZI::setFromPCLPointCloudXYZI() was using a non-existing method.
- Fix: mrpt::nav::PlannerSimple2D did not honored maximum path length correctly.
- Fix race condition in CGenericCamera_AVI unit test.
Release of v2.0.3
Version 2.0.3: Released May 13, 2020
- Changes in applications:
- navlog-viewer: Can now navigate with keyboard arrows too.
- RawLogViewer: better 3D pointcloud coloring in observation view and in "scan animation" view.
- Changes in libraries:
- \ref mrpt_maps_grp
- Point cloud classes mrpt::maps::CPointsMap: New methods:
- load2D_from_text_stream()
- load3D_from_text_stream()
- save2D_to_text_stream()
- save3D_to_text_stream()
- Point cloud classes mrpt::maps::CPointsMap: New methods:
- \ref mrpt_poses_grp
- More accurate analytical Jacobians for CPose3DQuatPDFGaussian::inverse() (Closes #1053)
- BUG FIXES:
- Incorrect number of points loaded when trying to load point clouds from incorrectly-formatted text files.
- Fix build error in riscv64 (gcc doesn't know mtune=native for that arch)
- Fix spurious unit test failures in mrpt::apps::RawlogGrabberApp due to system load.
- \ref mrpt_maps_grp
Release of v2.0.2
(Changes since 2.0.1)
Version 2.0.2: Released May 4th, 2020
- Changes in applications:
- navlog-viewer: Ported to the new nanogui UI system (fixes random OpenGL context errors in former version).
- Changes in libraries:
- mrpt_containers_grp
- mrpt::containers::vector_with_small_size_optimization: Get rid of potential uninitialized usage GCC warnings.
- mrtp_hwdrivers_grp
- Remove support for obsolete XSens MTi 3rd generation devices. Removed class mrpt::hwdrivers::CIMUXSens. 4th+ generation still supported.
- mrpt_gui_grp
- Fix mouse-motion rotation glitches if clicking inside a nanogui control.
- Fix cmake errors building user programs in Windows (missing glfw dependency).
- mrpt_math_grp
- mrpt::math::RANSAC_Template made more generic to support custom dataset and model types.
- mrpt_opengl_grp
- Fix displaying of uninitialized textured in mrpt::opengl::CTexturedPlane. It now uses the default solid color of the object.
- mrpt_ros1bridge_grp
- Narrower build and run time dependencies: rosbag -> rosbag_storage
- mrpt_containers_grp