All Versions
Latest Version
Avg Release Cycle
56 days
Latest Release
1022 days ago

Changelog History
Page 1

  • v2.1.5 Changes

    December 07, 2020

    ๐Ÿ”– 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.
    • ๐Ÿ› 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.
  • v2.1.4 Changes

    November 09, 2020

    ๐Ÿ”– 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
  • v2.1.3 Changes

    October 21, 2020

    ๐Ÿ”– 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.
    • ๐Ÿ‘ท 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.
  • v2.1.2 Changes

    October 19, 2020

    ๐Ÿ”– 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.
  • v2.1.1 Changes

    October 19, 2020

    ๐Ÿ”– 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.
    • ๐Ÿ”„ 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()
    • ๐Ÿ› 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).
  • v2.1.0 Changes

    August 31, 2020

    ๐Ÿ”– 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.
    • ๐Ÿ— 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.
  • v2.0.4 Changes

    June 20, 2020

    ๐Ÿ”– 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()
      • \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.
    • ๐Ÿ› 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.
  • v2.0.3 Changes

    May 13, 2020

    ๐Ÿ”– 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()
      • \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.
  • v2.0.2 Changes

    May 04, 2020

    (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
  • v2.0.1 Changes

    April 03, 2020

    ๐Ÿ›  Minor fixes since 2.0.0:

    • ๐Ÿ”„ Changes in applications:
      • RawLogViewer: new "-l" flag to load datasets with types defined in external projects.
    • ๐Ÿ”„ Changes in libraries:
      • mrpt_obs_grp
      • mrpt::obs::CObservationRobotPose: Fixed missing serialization of sensorPose