Skip to content

Releases: MRPT/mrpt

Release of v2.1.6

14 Dec 07:22
2.1.6
320e01b
Compare
Choose a tag to compare

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.
  • BUG FIXES:

Release of v2.1.5

07 Dec 13:13
2.1.5
0baaacd
Compare
Choose a tag to compare

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.

Release of v2.1.4

09 Nov 08:08
2.1.4
01a7ece
Compare
Choose a tag to compare

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

Release of v2.1.3

21 Oct 18:38
2.1.3
3607b51
Compare
Choose a tag to compare

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.

Release of v2.1.2

19 Oct 22:28
2.1.2
f2cfdc6
Compare
Choose a tag to compare

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

19 Oct 15:15
2.1.1
ff8faa4
Compare
Choose a tag to compare

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).

Release of v2.1.0

31 Aug 10:41
2.1.0
ffda3ba
Compare
Choose a tag to compare

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.

Release of v2.0.4

20 Jun 15:23
2.0.4
Compare
Choose a tag to compare

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.

Release of v2.0.3

13 May 15:59
2.0.3
8e9e8af
Compare
Choose a tag to compare

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.

Release of v2.0.2

04 May 22:34
2.0.2
9b4fd24
Compare
Choose a tag to compare

(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