Main MRPT website > C++ reference for MRPT 1.5.7
Change Log

Note: If you are displaying a local version of this page and you have not built the whole HTML documentation, the links above will be broken. Either build the documentation invoking make documentation_html or browse it on-line.


Version 1.5.7: Released 24/APR/2019

  • Detailed list of changes:
    • [mrpt-base]
      • The following features have been finally ported to C++11. User code now requires, at least, C++11 enabled:
        • stlplus-based smart pointers replaced by std::shared_ptr. Backwards compatibility API is maintained.
        • mrpt::system::TThreadHandle now is a wrapper around std::thread.
        • Atomic counters now based on std::atomic. Custom implementation has been removed.
        • stlplus source code has been removed.
      • mrpt::utils::COutputLogger: change log str format from "[name|type|time]" to "[time|type|name]".
    • [mrpt-graphslam]
      • levenberg-Marquardt graphslam modified to use more stable SE(2) Jacobians.
      • CNetworkOfPoses: read/write format made compatible with G2O EDGE_SE2 types.
    • [mrpt-nav]
      • Add virtual method CAbstractPTGBasedReactive::getHoloMethod()
      • New method CAbstractPTGBasedReactive::enableRethrowNavExceptions() to rethrow exceptions during navigation.
      • Waypoints now have a field speed_ratio which is directly forwarded to the low-level reactive navigator.
    • BUG FIXES:
      • Fix missing "-ldl" linker flag.
      • Fix building against wxWidgets 3.1.1 in Windows (zlib link error).
      • Fix potential segfault in 3D reactive navigator.

Version 1.5.6: Released 24/APR/2018

  • Applications:
    • pf-localization:
      • Odometry is now used also for observation-only rawlogs.
  • [mrpt-hwdrivers]
  • [mrpt-maps]
    • COccupancyGridMap2D: New LIDAR insertion parameters: maxFreenessUpdateCertainty, maxFreenessInvalidRanges.
  • [mrpt-reactivenav]
    • CAbstractPTGBasedReactive: Added new score holo_stage_eval.
  • BUG FIXES:
    • circular_buffer: exception made state preserving

Version 1.5.5: Released 2/DEC/2017


Version 1.5.4: Released 31/OCT/2017

  • Detailed list of changes:
    • [mrpt-base]
      • Fix potential uninitialized value in CRobot2DPoseEstimator::getLatestRobotPose()
      • MRPT_getCompilationDate() returns time as well
    • [mrpt-gui]
    • Smart pointers:
      • All mrpt::utils::CObject derived classes:
      • In MRPT <=1.5.3, there was a typedef Foo::SmartPtr => FooPtr.
      • In MRPT >=1.5.4 is has been replaced by Foo::Ptr => FooPtr for compatibility with MRPT >=2.0.
      • stlplus smart pointers in MRPT 1.5.4 now have C++11 shared_ptr-compatible methods, to ease the transition towards MRPT 2.0 in user code (in particular, for MRPT ROS packages). Also, a new template mrpt::prt_cast<TARGET_PTR>::from(ptr) is provided to write user code compatible with both MRPT >=1.5.4 & >=2.0.0.
    • Build system:
      • Fix MRPTConfig.cmake for system octomap libraries.
      • Fix package-contains-vcs-control-file (.gitingore) Lintian error.
      • Fix compiling without liboctomap-dev in Ubuntu PPA.
    • BUG FIXES:
      • Fix waypoint reactive navigator edge case in which "end event" won't be issued.
      • Fix waypoint reactive navigator error while doing final aligning (missing and dupplicated nav-end events).
      • Fix aborting reading from LMS111 scanner on first error.
      • Fix corrupted pointers in CNetworkOfPoses after copy or move operations.
      • Fix invalid TP-targets generated during reactive navigation.
      • Fix memory leak in reactivenav engine.
      • Fix potential out-of-range access in CObservation3DRangeScan::convertTo2DScan()
      • Fix potential SIGBUS in armhf (patch by Steve Langasek) inside mrpt::utils::CTicTac

Version 1.5.3: Released 13/AUG/2017

  • Detailed list of changes:
    • CMake >=3.1 is now required for use of ExternalProjects.
    • Scripts scripts/prepare_{debian,release}.sh have been refactored and simplified.
    • Removed embedded source code versions of Eigen, assimp and octomap. Downloaded and built as ExternalProjects if not present in the system.
    • Releases will be signed with PGP from now on and posted as binary attachments to GitHub releases.

Version 1.5.2: Released 6/AUG/2017


Version 1.5.1: Released 21/JUN/2017

  • Detailed list of changes:

Version 1.5.0: Released 10-JUN-2017


Version 1.4.0: Released 22-APR-2016


Version 1.3.2: Released 3-NOV-2015

  • Changes in Apps:
    • rawlog-edit:
      • New operation: --list-poses
      • --list-images now also works with 3D range scans
  • Changes in libraries:
  • Changes in build system:
    • FIND_PACKAGE(MRPT) will return libraries in the var MRPT_LIBRARIES, following the CMake convention. The old variable name MRPT_LIBS will be also returned for backward compatibility.
  • BUG FIXES:
    • Fix excessive width of paths drawn by CMetricMapBuilderRBPF::drawCurrentEstimationToImage()
    • Fix image distortion: k3 may be ignored. (Thanks to CBaiz)
    • Fix Debian bugs.

Version 1.3.1: Released 18-JUL-2015


Version 1.3.0: Released 12-JAN-2015

  • Most important changes:
    • Classes in libraries [mrpt-obs] and [mrpt-maps] now belong to new namespaces (mrpt::obs, mrpt::maps) instead of the old mrpt::slam
    • No more using namespaces polute MRPT headers. Errors in user projects missing using namespace XXX that might be formerly masked will now reveal. This is a good thing, though admitedly annoying...
    • New library [mrpt-nav], subsumming the old [mrpt-reactivenav].
    • New library [mrpt-tfest], a refactor of the old [mrpt-scanmatching].
    • Backwards compatible headers have been provided to ease the transition of user code for all those library changes. Warning messages will be shown recommending deprecated replacements.
  • Detailed list of changes:
    • Lib changes:
    • Build System / General changes:
      • Many optimizations in function arguments (value vs ref). Forces ABI incompatibility with previous versions, hence the change to a new minor version number.
      • Updated embedded version of Eigen to 3.2.3
      • Kinect: Dropped support for the CL NUI API, which seems discontinued. Alternatives in use are libfreenect and OpenNI2.
      • libfreenect is now detected in the system and used instead of compiling the embedded copy of it.
      • Embedded copy of libfreenect has been updated to (23/oct/2014). It now supports "Kinect for Windows".
      • More selective linking of .so files to avoid useless dependencies (Fixes #52).
      • (Windows only) MRPT can now be safely built with libusb support (Freenect, Kinect,...) and it will run on systems without libusb installed, by means of /DELAYLOAD linking flags.
      • More unit tests.
    • Changes in classes:
    • BUG FIXES:

Version 1.2.2: Released 12-SEP-2014

  • Changes in apps:
  • New classes:
  • Changes in classes:
    • Consistency in all "laser scan" classes: angular increments between rays are now FOV/(N-1) instead of FOV/N.
    • [mrpt-base]
      • New method mrpt::utils::CImage::loadTGA()
      • IMPORTANT: Changed behavior of CSerializable/CObject macros (see bugfix below), introducing the new macros DEFINE_SERIALIZABLE_POST_*. May require changes in user code if serializable classes are defined:
        • Previous version:
          DEFINE_SERIALIZABLE_PRE_*(...)
          class XXX {
          };
          #define DEFINE_SERIALIZABLE(class_name)
          This declaration must be inserted in all CSerializable classes definition, within the class declarati...
        • Must be changed in this version to:
          DEFINE_SERIALIZABLE_PRE_*(...)
          class XXX {
          };
          DEFINE_SERIALIZABLE_POST_*(...)
    • [mrpt-hwdrivers]
    • [mrpt-maps]
    • [mrpt-opengl]
      • mrpt::opengl::CMyGLCanvasBase (affects all 3D rendering classes): better handling of internal timers for smoother updates while rendering in multithreading apps.
    • [mrpt-srba]
      • New method to recover the global coordinates graph-slam problem for a RBA map: mrpt::srba::RbaEngine::get_global_graphslam_problem() (see example [MRPT]\samples\srba-examples\srba-tutorials\tutorial-srba-how-to-recover-global-map.cpp)
  • BUG FIXES:
    • mrpt::utils::CImage constructor from a matrix crashed.
    • Unit tests: Named semaphores are not tested anymore if it's detected that the kernel version doesn't support them (Fix Debian 758725).
    • mrpt::synch::CSemaphore [Linux]: didn't call sem_unlink().
    • mrpt::gui::CDisplayWindow3D didn't implement get/set FOV.
    • Valgrind: Fixed potential unaligned memory access warning in point clouds.
    • Fix build error with AppleClang 5.1 (Closes #71).
    • mrpt::utils::CClientTCPSocket: Use a connection success check that works on all platforms
    • Important bug fixed regarding a missing dynamic_cast<> in smart pointers casting. See above possible implications in user code. properly (Patch by Joe Burmeister).

Version 1.2.1: Released 10-JUL-2014

  • Changes in classes:
  • Build system:
    • Fix compilation of SRBA with DEBUG_GARBAGE_FILL_ALL_NUMS=1
    • Fix de-serialization error in mrpt::reactivenav::CLogFileRecord (and new unit tests added to avoid regressions).
    • Several Debian bugs closed (see packaging/debian/changelog), including build errors in uncommon platforms (MIPS, kFreeBSD, etc.)

Version 1.2.0: Released 25-JUN-2014


Version 1.1.0: Released 22-FEB-2014


Version 1.0.2: Released 2-AUG-2013 (SVN 3435)

  • New apps:
  • Changes in apps:
    • rawlog-edit:
      • New operations: –list-timestamps, –remap-timestamps, –export-2d-scans-txt, –export-imu-txt
  • New classes:
  • New functions:
  • Changes in classes:
  • Build system:
    • Updated to nanoflann 1.1.7: ICP is ~5% faster.
    • More unit tests:
      • [mrpt-base] geometry module.
  • BUG FIXES:
    • CTimeLogger::registerUserMeasure() ignored the enable/disable state of the logger - r3382
    • mrpt-srba: SEGFAULT in 32bit builds due to missing MRPT_MAKE_ALIGNED_OPERATOR_NEW - r3429



Version 1.0.1: Released 12-MAY-2013 (SVN 3370)


Version 1.0.0: Released 1-MAR-2013 (SVN 3287)



Version 0.9.6 - (Version 1.0.0-Release_Candidate_4): Released 30-MAY-2012 (SVN 2930)




Page generated by Doxygen 1.9.1 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at mar 26 may 2026 13:12:03 CEST