ros-rolling-mrpt-maps (3.5.3-1resolute) resolute; urgency=high

  * Add CMetricMap::asPointsMapView() hook used by asPointsMap() (#1468 <https://github.com/MRPT/mrpt/issues/1468>)
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Thu, 15 Oct 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.5.2-1resolute) resolute; urgency=high



 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Sat, 10 Oct 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.5.1-1resolute) resolute; urgency=high



 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Thu, 08 Oct 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.5.0-1resolute) resolute; urgency=high

  * Python bindings: docstrings for all members, regenerated .pyi stubs
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Tue, 06 Oct 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.4.0-1resolute) resolute; urgency=high

  * Python: commit generated .pyi type stubs for all modules
  * COccupancyGridMap3D: fix voxel colors in getAsOctoMapVoxels()
  * mrpt_maps, mrpt_slam: define CMetricMap-derived constructors out-of-line
  * COccupancyGridMap2D: exact ray tracing in laserScanSimulator() and sonarSimulator()
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Sat, 03 Oct 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.3.1-1resolute) resolute; urgency=high

  * Increase test coverage and fix the bugs found (CGenericPointsMap field API tests).
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Mon, 28 Sep 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.3.0-1resolute) resolute; urgency=high

  * fix formatting
  * fix: qualify mrpt::format() calls to avoid ambiguity with std::format
  * Python bindings: datasets, maps, localization, sensors (+ fixes) (#1429 <https://github.com/MRPT/mrpt/issues/1429>)
  * test(maps): run the KD-tree index save/load tests (#1424 <https://github.com/MRPT/mrpt/issues/1424>)
  * perf(viz): bulk-load CPointCloudColoured from point maps (#1423 <https://github.com/MRPT/mrpt/issues/1423>)
  * fix(mrpt_maps): apply growth factor in CPointsMap reserve()/resize()
  * changelogs
  * Merge pull request #1417 <https://github.com/MRPT/mrpt/issues/1417> from MRPT/fix/kdtree-capable-lock-order-and-optout
  * mrpt_math, mrpt_maps: fix KDTreeCapable lock-order inversion, add index opt-out
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Fri, 25 Sep 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.2.0-1resolute) resolute; urgency=high

  * feat: complete API cleanups for const-correctness, archive behavior, and point-map accessors.
  * fix: resolve ROS buildfarm warnings and the real correctness issues they exposed.
  * feat: expand coverage in map and geometry code with targeted regression tests and legacy serialization checks.
  * fix: correct PLY export/import, point-map behavior, and numerical edge cases uncovered by the coverage pass.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Tue, 15 Sep 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.1.4-1resolute) resolute; urgency=high

  * Merge pull request #1402 <https://github.com/MRPT/mrpt/issues/1402> from MRPT/fix/restore-cpointsmapxyzirt-serialization-compat
    Restore CPointsMapXYZIRT as a deserialization-only compat shim
  * tests: cover the CPointsMapXYZIRT deserialization compat stub
    Also silence the expected deprecation warning at the class registration
    site.
  * Restore CPointsMapXYZIRT as a deserialization-only compat shim
    Removing the class from the RTTI registry (during the mrpt_maps module
    port) broke loading of any pre-existing .simplemap/.rawlog file that
    has a CPointsMapXYZIRT point layer: CArchive::ReadObject() throws
    "Stored object has class 'mrpt::maps::CPointsMapXYZIRT' which is not
    registered!" for any such file, since the class name is still what was
    written to disk regardless of the deprecation.
    This class carries no functionality beyond decoding the old binary
    layout (X,Y,Z + optional intensity/ring/time buffers, unchanged from
    the original implementation) into a CGenericPointsMap, so anything
    downstream that reads points via the generic field interface keeps
    working transparently. New code should use CGenericPointsMap directly;
    this class is not meant to be constructed for anything but loading old
    data.
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_015w31kEa1kRfKA3rcqDRXyZ
  * Merge pull request #1395 <https://github.com/MRPT/mrpt/issues/1395> from MRPT/test/coverage-2026-08-31
    test(slam): raise mrpt_slam coverage to 90% and fix the bugs it uncovered
  * fix(slam): report stds_Q_no_odo's heading in degrees, as it is read
    Addresses review feedback on the new TOptions dumps: CRangeBearingKFSLAM2D
    loads the third component of stds_Q_no_odo in degrees, so the dump must not
    print it in radians. Also documents that TMetricMapInitializer::saveToConfigFile()
    only round-trips the generic map params, since there is no saving counterpart
    to loadFromConfigFile_map_specific().
  * test(slam): raise mrpt_slam coverage to 90% and fix the bugs it uncovered
    Adds unit tests for the parts of mrpt_slam that had none, all driven by
    synthetic data (a simulated closed room for 2D scans, a small landmark map
    for range-bearing readings) so no dataset files are needed:
    * observations_overlap and CLandmarksMap, both previously at 0%
    * CIncrementalMapPartitioner beyond the dataset test: options I/O, the three
    similarity methods, node removal, origin changes, 3D scene, serialization
    * CMetricMapBuilderICP and its CMetricMapBuilder base
    * CMetricMapBuilderRBPF / CMultiMetricMapPDF, including range-only SLAM
    * CRangeBearingKFSLAM and CRangeBearingKFSLAM2D
    * CMonteCarloLocalization2D/3D over the four particle filter algorithms
    * TSetOfMetricMapInitializers config-file round trip (in mrpt_maps)
    mrpt_slam goes from 67.9%/45.4% to 90.2%/62.3% lines/branches; the repo-wide
    figure goes from 72.5%/53.2% to 73.6%/54.4%.
    Bugs found and fixed along the way:
    * observationsOverlap()'s CSensoryFrame overload ignored its relative-pose
    argument, so the observation-overlap similarity compared keyframes as if
    co-located.
    * CIncrementalMapPartitioner::addMapFrame() passed the same relative pose for
    both directions of its symmetrized similarity; the swapped evaluation needs
    the inverse. This moves one keyframe between partitions in the existing
    dataset test, whose expectations are updated.
    * removeSetOfNodes(..., changeCoordsRef=true) composed +p instead of -p,
    doubling the first node's coordinates instead of moving it to the origin.
    * Two options were loaded with a quoted name passed to
    MRPT_LOAD_HERE_CONFIG_VAR, which stringifies it again, so they could never
    be read from a config file.
    * CLandmarksMap was never registered for RTTI and could not be deserialized.
    * TSetOfMetricMapInitializers::saveToConfigFile() wrote a format that
    loadFromConfigFile() cannot read back.
    * CMultiMetricMapPDF::getLastPose() left its is_valid_pose output untouched
    on the success path.
    * CMetricMapBuilderICP::saveCurrentEstimationToImage() dereferenced a null
    gridmap pointer right after null-checking it.
    * The range-only branch of the RBPF optimal proposal never initialized
    firstEstimateRobotHeading when odometry was present, so it always tripped
    the assert guarding it; it also printed to std::cout per particle.
    Both KF-SLAM TOptions::dumpToTextStream() now report the noise parameters
    they load instead of silently omitting them.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Thu, 03 Sep 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.1.3-1resolute) resolute; urgency=high

  * test(mrpt_maps): raise unit test coverage for occupancy grids and fix minor bugs.
  * fix(mrpt_maps): make CPointsMap/CGenericPointsMap tests build on MSVC.
  * test(mrpt_maps): extend coverage to octomap, voxelmap, occ3d, and multimap.
  * test(mrpt_maps): raise unit-test coverage for random field grids, gas grids, and fix Voronoi clearance pointer issues.
  * fix: COccupancyGridMap2D::TLikelihoodOptions::dumpToTextStream bug.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Tue, 11 Aug 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.1.2-1resolute) resolute; urgency=high



 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Mon, 06 Jul 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.1.1-1resolute) resolute; urgency=high

  * test(mrpt_maps): skip kdtree save/load-index tests on old nanoflann
    These tests require nanoflann >= v1.5.0's index save/load API; on
    older versions they threw and failed the suite instead of skipping.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Fri, 03 Jul 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.1.0-1resolute) resolute; urgency=high

  * Merge pull request #1377 <https://github.com/MRPT/mrpt/issues/1377> from MRPT/feat/options-capable-in-config
    feat(mrpt_config): add OptionsCapable mixin, implement in map classes
  * feat(mrpt_config): add OptionsCapable mixin, implement in map classes
    Backports mola::OptionsCapable (MOLAorg/mola) into mrpt_config, next to
    CLoadableOptions: a virtual interface exposing a class' CLoadableOptions
    members generically by name, plus a safe creation-options setter. This lets
    generic tooling (de)serialize a map's insertion/likelihood/render options
    without knowing the concrete class.
    Implement it in every mrpt_maps class that holds CLoadableOptions-derived
    members: COccupancyGridMap2D, COccupancyGridMap3D, CPointsMap,
    CHeightGridMap2D, CHeightGridMap2D_MRF, CWirelessPowerGridMap2D,
    CGasConcentrationGridMap2D, CRandomFieldGridMap3D, CReflectivityGridMap2D,
    CBeaconMap, COctoMapBase and CVoxelMapOccupancyBase.
  * Merge pull request #1376 <https://github.com/MRPT/mrpt/issues/1376> from MRPT/port/2x-fixes-jul2026
    Port 2.x fixes: COutputLogger thread-safety, octomap build flag
  * Merge pull request #1374 <https://github.com/MRPT/mrpt/issues/1374> from MRPT/feat/kdtree-save-load-index
    feat(math): KDTreeCapable save/load of the KD-tree index (2D and 3D)
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Thu, 02 Jul 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.0.4-1resolute) resolute; urgency=high



 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Tue, 16 Jun 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.0.3-1resolute) resolute; urgency=high

  * Fix rawlog-edit CLI unittest failure on Windows CI (#1370 <https://github.com/MRPT/mrpt/issues/1370>)
  * Update nanoflann to 1.10.1 and add KD-tree query tests for CPointsMap
  * Merge pull request #1366 <https://github.com/MRPT/mrpt/issues/1366> from MRPT/feature/occgrid2d-test-coverage-completion
    test(mrpt_maps): complete COccupancyGridMap2D unit test coverage
  * test(mrpt_maps): add COccupancyGridMap2D coverage for subSample, simulate, likelihood, matching
    Adds a subSampleHalvesResolution unit test and three new test files covering
    laser/sonar scan simulation, all TLikelihoodMethod likelihood computations,
    and determineMatching2D.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Sun, 14 Jun 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.0.2-1resolute) resolute; urgency=high



 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Wed, 10 Jun 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.0.1-1resolute) resolute; urgency=high

  * Merge pull request #1363 <https://github.com/MRPT/mrpt/issues/1363> from MRPT/fix/dont-export-eigen3-dep
    refactor: limit visibility of eigen3 as build dep
  * refactor: limit visibility of eigen3 as build dep
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Wed, 10 Jun 2026 22:00:00 -0000

ros-rolling-mrpt-maps (3.0.0-1resolute) resolute; urgency=high



 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Fri, 05 Jun 2026 22:00:00 -0000

ros-rolling-mrpt-maps (2.20.0-1resolute) resolute; urgency=high

  * Last release of the 2.x series. Starting from 3.0.0, changes are tracked
    in each module's own CHANGELOG.rst file.
  * Contributors: Jose Luis Blanco-Claraco

 -- "Jose-Luis Blanco-Claraco" <joseluisblancoc@gmail.com>  Fri, 05 Jun 2026 22:00:00 -0000


