All Versions
63
Latest Version
Avg Release Cycle
124 days
Latest Release
434 days ago

Changelog History
Page 1

  • v1.11.1 Changes

    August 14, 2020

    ๐Ÿ›  Apart from the usual serving of bug-fixes and speed improvements, PCL 1.11.1 brings in ๐Ÿ‘ better support for CUDA, more uniform behavior in code as well as cmake, and an experimental feature: functor_filter.

    Notable changes

    ๐Ÿ†• New features added to PCL

    • [ci] Add support for CUDA in CI [#4101]
    • [common] Add always-unsigned index type uindex_t dependent on index_t [#4205]
    • [filters] Add a filter accepting a functor to reduce boiler plate code for simple filters [#3890]

    ๐Ÿ”„ Changes grouped by module

    CMake:

    • Update pcl_find_boost to allow compilation with Boost 1.73 and 1.72 [#4080]
    • ๐Ÿ›  Fix NSIS Template for NSIS3 [#4093]
    • โž• Add option to choose pcl::index_t while compiling [#4166]
    • ๐Ÿ›  Fix name warnings for PCAP, libusb and Ensenso. [#4182]
    • ๐Ÿ›  Fixes compile error on MSVC by disabling Whole Program Optimization [#4197]

    libpcl_common:

    • โœ‚ Remove use of dynamic allocation in GaussianKernel::convolve{Rows,Cols} [#4092]
    • Replace usage of std::vector<int> with Indices [#3989]
    • โšก๏ธ Update PointCloud to conform to requirements of ReversibleContainer [#3980]
    • [new feature] Add always-unsigned index type uindex_t dependent on index_t [#4205]
    • โž• Adding data member function to PointCloud [#4216]
    • Switch int to index_t for field index variables in pclBase, add pcl::UNAVAILABLE for same [#4211]
    • โž• Added resize with 2 arguments to PointCloud [#4225]
    • โž• Adding max_size to PointCloud [#4254]
    • ๐Ÿ‘Œ Support multiple arguments in pcl::utils::ignore() [#4269]

    libpcl_features:

    • ๐Ÿ›  Fix feature histogram constructor bug [#4234]
    • ๐Ÿ›  Fix regression in Organized Edge Detection (introduced in PCL 1.10.1) [#4311]

    libpcl_filters:

    • โฌ‡๏ธ reduce computations involved in iterating over the pointcloud for FastBilateral{OMP} [#4134]
    • [new feature] Add a filter accepting a functor to reduce boiler plate code for simple filters [#3890]
    • Refatoring VoxelGridCovariance to make it multi-thread safe (and more) [#4251]

    libpcl_gpu:

    • Replace volatile shared memory with shfl_sync in KNNSearch [#4306]
    • ๐Ÿ›  Fix octree radiusSearch [#4146]

    libpcl_io:

    • ๐Ÿ‘ Better conversion of depth data + focal length into X,Y,Z point data [#4128]
    • โž• Add iterator include for back_iterator to support VS2019 [#4319]

    libpcl_outofcore:

    • Fix compile issue in OutofcoreOctreeBase::setLODFilter after switching from boost::shared_ptr to std::shared_ptr [#4081]

    libpcl_registration:

    • ๐Ÿ›  Fix bug in NDT step interval convergence criteria [#4181]

    libpcl_segmentation:

    • Clean FLANN includes [#4025]
    • โšก๏ธ Update angle between 2 planes to be the smallest angle between them [#4161]

    libpcl_simulation:

    • Don't prefix in shaders. [#4209]

    libpcl_visualization:

    • ๐Ÿ›  Fix error: misplaced deprecation attributes in vtkVertexBufferObject{,Mapper} [#4079]

    ๐Ÿ“„ PCL Docs:

    • Fix typo in FPFH documentation, $$p_k$$ was used instead of $$p_i$$ [#4112]
    • ๐Ÿ›  Fix typos in PFH estimation tutorial [#4111]

    CI:

    • [new feature] Add support for CUDA in CI [#4101]
  • v1.11.1-rc2 Changes

    August 13, 2020

    ๐Ÿ›  PCL 1.11.1 brings in new bug fixes and improvements such as

    • Increasing coverage of index_t for allowing std::int64_t as indices
    • Increased conformance to std::vector API for PointCloud
    • Speed improvements, thread safety and a new flexible experimental filter

    ๐Ÿ—„ For an exhaustive list of newly added features, deprecations and other changes
    ๐Ÿ‘€ in PCL 1.11.1, please see CHANGES.md.

    โšก๏ธ PS: Link wouldn't work since CHANGES.md isn't updated

  • v1.11.1-rc1 Changes

    August 06, 2020

    ๐Ÿ›  PCL 1.11.1 brings in new bug fixes and improvements such as

    • Increasing coverage of index_t for allowing std::int64_t as indices
    • Increased conformance to std::vector API for PointCloud
    • Speed improvements, thread safety and a new flexible experimental filter

    ๐Ÿ—„ For an exhaustive list of newly added features, deprecations and other changes
    ๐Ÿ‘€ in PCL 1.11.1, please see CHANGES.md.

    โšก๏ธ PS: Link wouldn't work since CHANGES.md isn't updated

  • v1.11.0 Changes

    May 11, 2020

    Starting with PCL 1.11, PCL uses std::shared_ptr and std::weak_ptr instead of the boost smart pointers. The change leverages type aliases included with the 1.10.0 ๐Ÿš€ release. PCL 1.11 also introduces pcl::index_t which should be used for the size ๐Ÿ—„ of point types instead of int, std::size_t, etc. EOL for deprecated features ๐Ÿ—„ is also explicitly mentioned in the deprecation compile time warnings

    Notable changes

    ๐Ÿ†• New features added to PCL

    • [common] Provide dynamic and static pointer casts in namespace pcl to allow easy migration in future [#3770]
    • [common] Add ignore function to remove Doxygen warnings for unused arguments [#3942]
    • ๐Ÿ“„ [docs] Generate TODO list [#3937]
    • ๐Ÿ‘ฎ Force include order via clang-format [#3909]
    • ๐Ÿ”„ Change PCL smart pointers from boost to std [#3750]
    • [ci] Add pipeline for building PCL's environment docker image [#3843]

    ๐Ÿ—„ Deprecation of public APIs, scheduled to be removed after two minor releases

    • [common] Remove #undef Success in pcl_macros.h by extracting PCL_MAKE_ALIGNED_OPERATOR_NEW into memory.h [#3654]
    • [common] Rename point_traits.h into type_traits.h [#3698]
    • [filters] Deprecating functions in non-speclialized Passthrough filter [#3888]
    • [outofcore][registration] Homogenize deprecation with PCL_DEPRECATED [#3925]
    • [cmake][visualization] Deprecate legacy OpenGL backend of VTK [#4065]

    Removal of the public APIs deprecated in previous releases

    • [io][recognition][tools] Remove very old deprecated headers [#3906]
    • ๐Ÿ“„ [docs] Remove backup (and defunct) CMakeLists.txt [#3915]
    • Remove use of VTK_EXCLUDE_STRSTREAM_HEADERS (unavailable since VTK 6.0.0) [#3939]

    Behavior changes in classes, apps, or tools

    • [io] Make grabbers move-only using unique_ptr [#3626]

    API changes that did not go through the proper deprecation and removal cycle

    • [io] Make grabbers move-only using unique_ptr [#3626]
    • [common] Add pcl::index_t; move some type declarations from pcl/pcl_macros.h to pcl/types.h [#3651]
    • [filters] Clean up Filter and FilterIndices, move indices_/input_ from public to protected section [#3726]
    • [registration] Better Generalized ICP optimizer gradient check management [#3854]
    • ๐Ÿ”„ Change PCL smart pointers from boost to std [#3750]
    • [registration] Removing deprecated method setInputCloud from public API [#4026]

    ABI changes that are still API compatible

    • [filters] NormalSpaceSampling - fix bucket assignment, remove use of raw distribution pointer, unit-test rewriting [#3862]
    • [io] Add pcl::weak_ptr to have a single-switch move from boost:: to std:: weak pointers [#3753]

    ๐Ÿ”„ Changes grouped by module

    CMake:

    • โž• Add a stamp file to build documentation once [#3819]
    • ๐Ÿ›  Fix compilation in OSX Catalina with OMP enabled [#3721]
    • 0๏ธโƒฃ Show proper message in CMake config for default-off modules [#3927]
    • ๐Ÿ—„ [deprecation] Deprecate legacy OpenGL backend of VTK [#4065]

    libpcl_2d:

    • variable assigned a value which is never used [#3857]
    • ๐Ÿ›  Fix issue with missing templating of Keypoint. Fixes coming from clang-doxy [#3898]

    libpcl_common:

    • ๐Ÿ—„ [deprecation] Remove #undef Success in pcl_macros.h by extracting PCL_MAKE_ALIGNED_OPERATOR_NEW into memory.h [#3654]
    • ๐Ÿ›  Fix issues with math defines on mingw-w64. [#3756]
    • [API break] Add pcl::index_t; move some type declarations from pcl/pcl_macros.h to pcl/types.h [#3651]
    • ๐Ÿ—„ [deprecation] Rename point_traits.h into type_traits.h [#3698]
    • ๐Ÿ‘Œ Improve PCL_DEPRECATED macro to include scheduled removal version [#3808]
    • ๐Ÿ›  Fix erroneous PCL version in deprecated message [#3824]
    • Select OpenMP data sharing mode based on specific GCC versions [#3823]
    • Define PointIndices based on the global Indices type alias [#3822]
    • ๐Ÿ›  Fix warning C4067: unexpected tokens following preprocessor directive- expected a newline [#3871]
    • [new feature] Provide dynamic and static pointer casts in namespace pcl to allow easy migration in future [#3770]
    • [new feature] Add ignore function to remove Doxygen warnings for unused arguments [#3942]
    • ๐Ÿ›  Fix excessive warnings on MSVC [#3964]
    • โ™ป๏ธ Refactoring PCL_DEPRECATED macro [#3945]
    • Correcting type mismatch [#3967]
    • โœ‚ Removed empty file [#4019]

    libpcl_filters:

    • Clean up code duplication in FilterIndices derived classes [#3807]
    • [API break] Clean up Filter and FilterIndices, move indices_/input_ from public to protected section [#3726]
    • ๐Ÿ—„ [deprecation] Deprecating functions in non-speclialized Passthrough filter [#3888]
    • [ABI break] NormalSpaceSampling - fix bucket assignment, remove use of raw distribution pointer, unit-test rewriting [#3862]
    • โšก๏ธ Optimize VoxelGrid Filter [#3853]
    • ๐Ÿ›  Fix error due to multiple declarations of template member function specializations in convolution [#3971]

    libpcl_io:

    • [ABI break][API break][behavior change] Make grabbers move-only using unique_ptr [#3626]
    • [removal] Remove very old deprecated headers [#3906]
    • [ABI break] Add pcl::weak_ptr to have a single-switch move from boost:: to std:: weak pointers [#3753]
    • ๐Ÿ‘‰ Use pcl::io::raw_read instead of direct call to POSIX function read [#4062]

    libpcl_octree:

    • ๐Ÿ›  Fix a memory leak in OctreeBase::operator= [#3787]

    libpcl_outofcore:

    • ๐Ÿ—„ [deprecation] Homogenize deprecation with PCL_DEPRECATED [#3925]

    libpcl_people:

    • ๐Ÿ Missing include on windows [#3791]

    libpcl_recognition:

    • [removal] Remove very old deprecated headers [#3906]

    libpcl_registration:

    • [API break] Better Generalized ICP optimizer gradient check management [#3854]
    • ๐Ÿ—„ [deprecation] Homogenize deprecation with PCL_DEPRECATED [#3925]
    • [API break] Removing deprecated method setInputCloud from public API [#4026]

    libpcl_sample_consensus:

    • ๐Ÿ‘ Better performance, error handling and other improvements in SAC classes [#3642]
    • ๐Ÿ‘‰ Use better types for indices: int -> index_t, std::vector<int> ->Indices [#3835]

    libpcl_search:

    • ๐Ÿ‘‰ Use better types for indices: int -> index_t, std::vector<int> ->Indices [#3840]
    • โž• Add include for pcl::isFinite for compilation on VS2019 [#4056]

    libpcl_segmentation:

    • Check and warn user about missing normals in OrganizedMultiPlaneSegmentation [#3861]

    libpcl_surface:

    • ๐Ÿ›  Fix error due to multiple declarations of template member function specializations in Poisson4 [#3972]
    • โฌ‡๏ธ Reduce time taken in TextureMapping::sortFacesByCamera from O(faces*points) to O(faces) [#3981]

    libpcl_visualization:

    • Minor fix for converting unorganized PointClouds to VTK data [#3988]
    • ๐Ÿ›  Fixes #4001 and #3452. [#4017]
    • ๐Ÿ—„ [deprecation] Deprecate legacy OpenGL backend of VTK [#4065]
    • ๐Ÿ›  Fix rendering of points. [#4067]

    ๐Ÿ“„ PCL Docs:

    • ๐Ÿ›  Fix Doxygen warnings unrelated to documentation -- Part 1 [#3701]
    • โšก๏ธ update automatic code formatting info to clang-format [#3845]
    • replace formula with math [#3846]
    • ๐Ÿ›  Fix PCL_DEPRECATED usage in doxygen for a proper Deprecation List in documentation [#3905]
    • [removal] Remove backup (and defunct) CMakeLists.txt [#3915]
    • [new feature] Generate TODO list [#3937]
    • ๐Ÿ‘Œ Improve output to match the text in tutorial by adding a newline [#4029]
    • ๐Ÿ›  Fix typo in region growing tutorial [#4052]
    • โž• Add information regarding header include order [#4020]

    PCL Tutorials:

    • โž• Add a unit test for ICP and modernize tutorial code [#3628]

    PCL Examples:

    • โœ‚ Remove unnecessary includes in examples [#4071]

    PCL Tools:

    • [removal] Remove very old deprecated headers [#3906]

    CI:

    • โœ… Temporary fix for skipping of certain tests [#3789]
    • ๐Ÿ‘ท Simplify Ubuntu CI using matrix strategy [#3783]
    • Strip leading tag in commit message from changelog [#3847]
    • Shift to clang-format-10 to resolve bug in clang-format-{7-9} [#3895]
    • [new feature] Add pipeline for building PCL's environment docker image [#3843]
    • ๐Ÿ‘Œ Improve docker ci for other PRs [#4051]
    • โœ‚ Remove unused variables from exceptions [#4064]
    • ๐Ÿ‘ท Removing hardcoded version number from tutorial CI [#4058]
  • v1.10.1 Changes

    March 19, 2020

    Notable changes

    ๐Ÿ—„ Deprecation of public APIs, scheduled to be removed after two minor releases

    • [common] Deprecate several PointWithViewpoint ctors; make ctors more uniform in PCL point types [#3597]

    Removal of the public APIs deprecated in previous releases

    • [common] Remove deprecated checks for USE_ROS macro [#3690]

    Behavior changes in classes, apps, or tools

    • [tools] Continue on PCD load failure in pcl_train_linemod_template [#3652]

    ๐Ÿ”„ Changes grouped by module

    CMake:

    • ๐Ÿ›  Fix CMake grouping of tools targets [#3709]
    • Enable PCL_ONLY_CORE_POINT_TYPES in mingw builds [#3694]
    • โฌ‡๏ธ Downgrade RSSDK2 warning message to status [#3683]
    • ๐Ÿ›  Fix test targets arguments for MSVC [#3636]
    • โœ‚ Remove duplicate /bigobj for MSVC [#3604]

    libpcl_common:

    • Better PointType ctor and reduced warnings in register_point_struct.h [#3732]
    • [removal] Remove deprecated checks for USE_ROS macro [#3690]
    • Replace dirent with boost::filesystem [#3676]
    • ๐Ÿ›  Fix code accidentally casting away const-ness [#3648]
    • ๐Ÿ›  Fix compilation of CUDA code on Windows [#3634]
    • โœ‚ Remove undefined behavior and add stricter checks in console arg parsing [#3613]
    • ๐Ÿ—„ [deprecation] Deprecate several PointWithViewpoint ctors; make ctors more uniform in PCL point types [#3597]

    libpcl_cuda:

    • ๐Ÿ›  Fix memory leaks in CUDA apps [#3587]
    • ๐Ÿ›  Fix compilation of CUDA/GPU modules [#3576]

    libpcl_features:

    • โž• Add precompiled computeApproximateCovariances; fix compilation error for the same [#3711]
    • ๐Ÿ›  Fix vector initialization in NormalEstimationOMP [#3614]
    • ๐Ÿ›  Fix indexing bug in IntegralImageNormalEstimation [#3574]

    libpcl_filters:

    • ๐Ÿšš Set is_dense based on actual cloud contents in removeNaNNormalsFromPointCloud() [#3685]

    libpcl_gpu:

    • ๐Ÿ›  Fix compile error in KinFuLS initRegistration [#3737]
    • ๐Ÿ›  Fix illegal memory acces in CUDA Octree builder [#3627]
    • ๐Ÿ›  Fix compile issue in people_app [#3618]
    • ๐Ÿ›  Fix compilation of CUDA/GPU modules [#3576]

    libpcl_io:

    • ๐Ÿ›  Fix if/ifdef WIN32 issues [#3668]
    • โž• Add Grabber::toggle() method [#3615]
    • Close the correct file in pcl::io::savePLYFileBinary [#3601]
    • ๐Ÿ›  Fix entropy range encoding in octree-based pointcloud compression [#3579]

    libpcl_surface:

    • โž• Add default initialization of grid resolution in MarchingCubes [#3718]

    PCL Apps:

    • ๐Ÿ›  Fix if/ifdef WIN32 issues [#3668]

    ๐Ÿ“„ PCL Docs:

    • ๐Ÿ›  Fix missing standard includes, reduce warnings in doxygen-enabled builds [#3755]

    PCL Tutorials:

    • ๐Ÿ›  Fix documentation for point cloud stream compression executable name [#3693]
    • ๐Ÿ›  Fix segfault in NARF keypoint extraction tutorial [#3623]

    PCL Tools:

    • ๐Ÿ‘‰ Use linemod member method to save templates [#3691]
    • [behavior change] Continue on PCD load failure in pcl_train_linemod_template [#3652]
    • Warn user about unorganized PCDs in pcl_train_linemod_template [#3644]
  • v1.10.0 Changes

    January 19, 2020

    ๐Ÿš€ Starting with PCL 1.10, to ensure compatibility with future PCL releases, please ๐Ÿ‘‰ use pcl::make_shared and the Class::Ptr + Class::ConstPtr type-alias instead of using direct names like {boost, std}::shared_ptr or {boost, std}::make_shared. There is also pcl::shared_ptr which offers the same abstraction for non-PCL types.

    New Features:

    ๐Ÿ†• Newly added functionalities.

    • [sample_consensus] Add parallel RANSAC implementation with OpenMP [#3514]
    • [registration] Add linear least squares version of symmetric objective function for ICP [#3390]
    • [common] Add concatenate operation for PolygonMesh [#3316]
    • [common] Add emplace[_back] to pcl::PointCloud [#3207]
    • [cmake] Add format compilation target that applies clang-format to whitelisted modules [#3188]
    • [common] Add pcl::make_shared that automatically handles aligned allocations [#3163]
    • [modernization][cmake] Enable C++ 14 flags [#2690]
    • [io] Add RSSDK 2.0 (librealsense2) grabber [#2214]

    ๐Ÿ—„ Deprecated:

    ๐Ÿš€ Deprecated code scheduled to be removed after two minor releases.

    • [common] Revert smart pointer type change in PointCloud and deprecate getMapping() [#3563]
    • [common] Deprecate getFields() with output parameter in favor of overload with return value [#3401]
    • [recognition] Refactor MaskMap and deprecate several of its methods [#3399]
    • [common] Deprecate getFieldIndex()/getFields() with first argument as cloud [#3365]
    • [common] Add PCLPointCloud2::operator+=() and update concatenation operation [#3320]
    • [segmentation] Delete unused params in OrganizedMultiPlaneSegmentation::refine() [#3302]
    • [visualization] Add new overload of PointCloudColorHandler::getColor() [#3187]
    • [modernization][io] Add registerCallback() overload to grabbers to support assignment of boost::functions with templated signatures [#3128]
    • [surface] Convert MovingLeastSquaresOMP into an alias template and deprecate [#3119]
    • [kdtree] Remove unnecessary FLANN includes, deprecate "kdtree/flann.h" header [#2993]
    • [features] Deprecate computeRSD() functions that take pointclouds by pointer [#2827]
    • [modernization] Deprecate pcl_isnan, pcl_isfinite, and pcl_isinf in favor of std methods [#2798, #3457]
    • [filters] Restructure and add functionality to filters templated on PCLPointCloud2 [#3483, #3500]

    ๐Ÿšš Removed:

    ๐Ÿ—„ Removal of deprecated code.

    • [segmentation] Remove SupervoxelClustering::getColoredVoxelCloud() [#3469]
    • [io] Remove FZ-API [#2747]

    Behavioral changes:

    ๐Ÿ”„ Changes in the expected default behavior.

    • [sample_consensus] Set default min and max angle for SAC cone models [#3466]
    • [tools] Do not discard data fields in pcl_uniform_sampling tool [#3461]
    • [common] Disable colored output for non-interactive terminals [#3310]
    • [io] Add support for device URI in OpenNI2Grabber constructor [#3238]
    • [common] Enforce right-hand-rule on PCA eigenvectors [#2946]
    • [visualization] Improve c/C command in PCLVisualizer [#2926]
    • [registration] Fix ICP misbehavior in the "failure after maximum iterations" mode [#2892]
    • [common] Initialize curvature in PointNormal default constructor [#2674]

    API changes:

    ๐Ÿ”„ Changes to the API which didn't go through the proper deprecation and removal cycle.

    • [gpu] Replace uint64_type by std::uint64_t [#3435]
    • [modernization] Migrate from boost::tuple to std::tuple [#3250]
    • [modernization] Migrate boost::function to std::function [#3079]

    ABI changes:

    ๐Ÿ”„ Changes that cause ABI incompatibility but are still API compatible.

    • [modernization] Migrate from boost::unordered_map to std::unordered_map [#3107]
    • [modernization] Migrate to standard library type traits [#3105]
    • [visualization] Minor refactoring of pcl::visualization::Camera and related functions [#2901]
    • [modernization] Migrate from boost::thread to std::thread [#3060, #3094]
    • [modernization] Prefer using Ptr typedefs and migrate to std smart pointers in non-API code [#2804, #2821, #2823, #2929, #3061, #3141, #3142, #3217, #3474, #3482, #3486, #3489, #3497]
    • [modernization] Migrate to std random number generators [#2956, #2962, #3069]
    • [filters] Restructure and add functionality to filters templated on PCLPointCloud2 [#3483, #3500]

    Migration to C++14 and code modernization:

    Modules:

    CMake:

    • Set compile features on imported PCL targets [#3567]
    • Create CMake imported targets for header-only modules [#3495]
    • โš  Add PCL_WARNINGS_ARE_ERRORS CMake option and enable it in Ubuntu 16.04 CI job [#3478]
    • Avoid using VERSION_GREATER_EQUAL to preserve compatibility with CMake 3.5 [#3460]
    • โœ‚ Remove policy push/pop from "PCLConfig.cmake" file [#3431]
    • ๐Ÿ›  Fix link-type keywords in linked libraries in "PCLConfig.cmake" with CMake >= 3.11 [#3341]
    • โšก๏ธ Update prefix hints in GTest finder script [#3331]
    • ๐Ÿšš PCL All-in-one Installer: add process to add/remove VTK path [#3322]
    • โž• Add surface module to the list of dependencies of examples [#3295]
    • โž• Add missing install rule for "2d/kernel.hpp" header [#3278]
    • [new-feature] Add format compilation target that applies clang-format to whitelisted modules [#3188]
    • ๐Ÿ‘‰ Use COMPONENTS when finding VTK to avoid linking agains unnecessary modules [#3140]
    • โž• Add thread library of the system by Threads::Threads instead of via -pthread flag [#3102]
    • ๐Ÿ“ฆ Fix find_package_handle_standard_args incorrect argument in GTest finder script [#3098]
    • ๐Ÿ›  Fix compound target's target registration [#3090]
    • Set CMP0072 to NEW to prefer GLVND over legacy OpenGL modules [#3066]
    • โž• Improve parsing of BUNDLE option in PCL_ADD_EXECUTABLE [#3064]
    • ๐Ÿš€ Change debug/release targets postfix on Windows [#3055]
    • โž• Add version info on Windows for DLLs/Exe [#3054]
    • Modernize some CMake macros (Increases minimum required CMake version to 3.5) [#3044]
    • โž• Add newer Boost versions to Boost_ADDITIONAL_VERSIONS [#3003]
    • ๐Ÿ‘‰ Refactor PCL_MAKE_PKGCONFIG [#2894]
    • โฌ†๏ธ Bump Eigen minimum version to 3.1 [#2893]
    • ๐Ÿ‘Œ Improve compatibility with latest VTK [#2885]
    • PCL All-in-one Installer: add quiet flag to msiexec installs [#2873]
    • ๐Ÿ‘‰ Use -mtune instead of -march on non-x86 CPUs [#2868]
    • Prevent adding /MP flag for MSVC in case any other language than C/CXX will be used (e.g. CUDA) [#2862]
    • โž• Add support for Visual Studio 2019 [#2826]
    • โฌ‡๏ธ Drop MSVC 2013 (and below) support [#2817]
    • โฌ‡๏ธ Drop GCC 4 support [#2760]
    • Mark include directories of 3rd-party libraries as system includes [#2733]
    • ๐Ÿ›  Fix Qt5 CMake issue [#2719]
    • โฌ‡๏ธ Reduce unnecessary nesting in "CMakeLists.txt" [#2718]
    • โฌ‡๏ธ Drop Qt4 support [#2716]
    • Remove unnecessary VTK_INCLUDE_DIRECTORIES [#2713]
    • โž• Add MSVC_MP CMake option to adjust number of parallel build jobs [#2705]
    • Set interface compile features to cxx_std_14 on PCL targets [#2697]
    • Reorganize and beautify project generation for IDEs [#2691]
    • [new-feature] Enable C++ 14 flags [#2690]
    • โœ‚ Remove vendored "FindGLEW.cmake" and adopt imported targets; rename "FindGTest.cmake" to prevent name clash [#2679]
    • โž• Add compound CMake targets for examples, tools, and apps [#2673]
    • Set CMake policy CMP0074 to NEW [#2671]
    • โœ‚ Remove conditional code for no longer supported versions of CMake [#2667]
    • ๐Ÿ—„ Raise minimum required Boost version to 1.55; fix deprecated Boost endians [#2801]
    • Modernize FLANN finder script [#2740, #2861, #2905, #2910, #3157, #3202, #3220, #3317]

    libpcl_2d:

    • ๐Ÿ›  Fix EIGEN_ALIGN16 positionining for point type XYZHSV [#3237]

    libpcl_common:

    • ๐Ÿ—„ [deprecation] Revert smart pointer type change in PointCloud and deprecate getMapping() [#3563]
    • Define RangeImage destructor as virtual [#3477]
    • โ™ป๏ธ Refactor pcl::eigen33() to reduce potential errors (and remove bug) [#3441]
    • ๐Ÿ‘‰ Use generic detection idiom in isFinite() [#3402]
    • ๐Ÿ—„ [deprecation] Deprecate getFields() with output parameter in favor of overload with return value [#3401]
    • โ™ป๏ธ Refactor polynomial calculations and remove memory leak [#3392]
    • โœ‚ Removes deprecated usage of getFields(cloud, fields) [#3374]
    • ๐Ÿ—„ [deprecation] Deprecate getFieldIndex()/getFields() with first argument as cloud [#3365]
    • โœ‚ Remove vector.reserve() from hot path in cloud concatenation [#3361]
    • ๐Ÿ—„ [deprecation] Add PCLPointCloud2::operator+=() and update concatenation operation [#3320]
    • [new-feature] Add concatenate operation for PolygonMesh [#3316]
    • Simplify the resize logic in PCLBase [#3315]
    • [behavior] Disable colored output for non-interactive terminals [#3310]
    • [new-feature] Add emplace[_back] to pcl::PointCloud [#3207]
    • [new-feature] Add pcl::make_shared that automatically handles aligned allocations [#3163]
    • [behavior] Enforce right-hand-rule on PCA eigenvectors [#2946]
    • ๐Ÿ›  Fix a bug in CentroidPoint [#2875]
    • [behavior] Initialize curvature in PointNormal default constructor [#2674]

    libpcl_cuda:

    • โœ‚ Remove code for CUDA below 7.5, update version checks [#3152]
    • โž• Add missing include to support CUDA 10.1 [#2883]
    • โฌ‡๏ธ Drop CUDA 7.0 (and below) support [#2736]

    libpcl_features:

    • ๐Ÿ›  Fix numerical issue in GASD estimation [#3498]
    • ๐Ÿ—„ [deprecation] Deprecate computeRSD() functions that take pointclouds by pointer [#2827]
    • ๐Ÿ›  Fix data race in NormalEstimationOMP on Windows [#2770]

    libpcl_filters:

    • ๐Ÿ”€ Merge pull request #3540 from facontidavide/fix_filter [#3540]
    • ๐Ÿ›  Fix incorrect switch fallthrough in convolution operator [#3429]
    • ๐Ÿ‘‰ Use size_t for address computation in CropBox filter [#3418]
    • ๐Ÿšš Fix a bug in removed index extraction in UniformSampling [#3323]
    • ๐Ÿ›  Fix CropBox with indices; add new assertions for unit tests [#3306]
    • ๐Ÿ›  Use fixed-size Eigen block expressions in FrustumCulling [#2786]
    • ๐Ÿ—„ [abi][deprecation] Restructure and add functionality to filters templated on PCLPointCloud2 [#3483, #3500]

    libpcl_gpu:

    • ๐Ÿ›  Fix building of KinFu Large Scale app with Visual Studio [#3504]
    • [api] Replace uint64_type by std::uint64_t [#3435]
    • โž• Add OpenNI2 support to kinfu_largescale tool [#3391]
    • ๐Ÿ‘‰ Use constexpr in KinFu and KinFu large scale apps [#3386]
    • โœ‚ Remove duplicated and unused "cutil_math.h" [#3264]
    • Drop unnecessary CUDA_ARCH checks [#3154]
    • โœ‚ Remove code for CUDA below 7.5, update version checks [#3152]
    • โœ‚ Remove unused timer routines in "NCV.cu" [#3135]
    • โž• Add sync variants to CUDA vote functions to support PTX/ARCH >= 7.0 [#2981]
    • Fix -debug option parsing in people_pcd_prob tool [#2656]

    libpcl_io:

    • ๐Ÿ“œ Make PLY parser more tolerant towards files not adhering to standard [#3542]
    • ๐Ÿ›  Fix a bug in binary header generation for PCD files [#3522]
    • [behavior] Add support for device URI in OpenNI2Grabber constructor [#3238]
    • Include "pcl_config.h" before checking HAVE_OPENNI2 [#3191]
    • ๐Ÿ–จ Print descriptive error if PLY file not found [#3143]
    • ๐Ÿ—„ [deprecation] Add registerCallback() overload to grabbers to support assignment of boost::functions with templated signatures [#3128]
    • ๐Ÿ›  Fix preallocation of memory in PLY reader [#2800]
    • ๐Ÿ›  Fix possible integer overflow while iterating PointCloud fields [#2754]
    • [removal] Remove FZ-API [#2747]
    • ๐Ÿ‘Œ Improve loading of massive PLY files [#2715]
    • [new-feature] Add RSSDK 2.0 (librealsense2) grabber [#2214]
    • ๐Ÿ›  Fix callback signatures in some grabbers [#3216, #3225]

    libpcl_kdtree:

    • ๐Ÿ—„ [deprecation] Remove unnecessary FLANN includes, deprecate "kdtree/flann.h" header [#2993]

    libpcl_keypoints:

    • โœ‚ Removed all duplicated branches in AgastKeypoint2D [#2657]

    libpcl_recognition:

    • ๐Ÿ‘‰ Use range-based for loops with boost::filesystem::directory_iterator [#3432]
    • ๐Ÿ—„ [deprecation] Refactor MaskMap and deprecate several of its methods [#3399]
    • โž• Add missing include in "trimmed_icp.h" [#3286]
    • ๐Ÿ‘‰ Use I/O helper method in pcl::LineRGBD [#2796]

    libpcl_registration:

    • ๐Ÿ‘‰ Make Registration::hasConverged() const-qualified [#3456]
    • ๐Ÿ›  Fix debug message by reordering statements in GICP [#3398]
    • [new-feature] Add linear least squares version of symmetric objective function for ICP [#3390]
    • ๐Ÿ›  Fix the OpenMP errors/warnings in "ia_fpcs.hpp" [#3389]
    • ๐Ÿ›  Fix pcl::Registration::getFitnessScore() documentation [#3082]
    • [behavior] Fix ICP misbehavior in the "failure after maximum iterations" mode [#2892]

    libpcl_sample_consensus:

    • [new-feature] Add parallel RANSAC implementation with OpenMP [#3514]
    • [behavior] Set default min and max angle for SAC cone models [#3466]
    • โž• Add const qualifier to multiple methods in SAC module [#2970]
    • ๐Ÿ›  Fix regression in pcl::SACSegmentation line fitting [#2767]

    libpcl_segmentation:

    • [removal] Remove SupervoxelClustering::getColoredVoxelCloud() [#3469]
    • ๐Ÿ—„ [deprecation] Delete unused params in OrganizedMultiPlaneSegmentation::refine() [#3302]
    • โž• Add noexcept for boost::checked_delete<> friend [#2942]
    • ๐Ÿ›  Fix SupervoxelClustering compilation problem in MSVC 2015.3 [#2867]

    libpcl_simulation:

    • Fix bug in SimExample::write_depth_image_uint trigerring -Wtype-limits warning [#3430]

    libpcl_stereo:

    • ๐Ÿ”€ Merge pull request #3566 from kunaltyagi/stereo [#3566]

    libpcl_surface:

    • ๐Ÿ›  Fix undefined behaviour in OctNode [#3561]
    • ๐Ÿ›  Fix memory leak in TextureMapping [#3549]
    • Prevent memset for empty vector in 3rdparty/poisson4 [#3537]
    • โœ‚ Remove incorrect tree update in MarchingCubes [#3240]
    • ๐Ÿ—„ [deprecation] Convert MovingLeastSquaresOMP into an alias template and deprecate [#3119]
    • ๐Ÿ›  Fix a bug in ConvexHull when indices are used [#2999]
    • โœ… Include "pcl_config.h" before testing HAVE_QHULL [#2979]
    • Throw exceptions instead of exit(0) in Poisson surface reconstruction [#2891]
    • Add check for invalid plane coefficients in MovingLeastSquares [#2805]
    • ๐Ÿ›  Fix the size of the lookup table in BilateralUpsampling [#2749]
    • Replace hash_map with unordered_map in 3rdparty/poisson4 [#2640]

    libpcl_visualization:

    • โž• Add a flag to disable window autoresizing in ImageViewer [#3394]
    • ๐Ÿ—„ [deprecation] Add new overload of PointCloudColorHandler::getColor() [#3187]
    • [behavior] Improve c/C command in PCLVisualizer [#2926]
    • โš  Disable VTK warning display with OpenGL rendering backend [#2912]
    • [abi] Minor refactoring of pcl::visualization::Camera and related functions [#2901]
    • ๐Ÿ›  Fix a bug in PCLVisualizer::setShapeRenderingProperties() [#2900]
    • ๐Ÿ›  Fix possible integer overflow while iterating PointCloud fields [#2754]
    • Raise minimum VTK version to 6.2 [#2685]

    PCL Apps:

    • ๐Ÿ›  Fix memory leaks in OpenNI apps [#3553]
    • ๐Ÿ‘‰ Use range-based for loops with boost::filesystem::directory_iterator [#3432]
    • Do not use deprecated function in stereo_ground_segmentation [#3406]
    • โž• Add missing std::move or const reference for parameters [#3232]
    • Remove magic numbers from organized_segmentation_demo app [#3108]
    • Add missing include render_views_tesselated_sphere app [#2909]
    • โœ‚ Remove Qt version checks [#2762]
    • Cleanup Qt includes in Modeler app [#2756]
    • Cleanup Qt includes in CloudComposer app [#2744]
    • ๐Ÿ›  Fix MSVC compile issues in CloudComposer app [#2712]
    • ๐Ÿ›  Fix Modeler app with OpenGL2 rendering backend [#2653]

    ๐Ÿ“„ PCL Docs:

    • ๐Ÿ›  Fix and improve documentation in sample_consensus module [#3301]
    • ๐Ÿ›  Fix pcl::Registration::getFitnessScore() documentation [#3082]
    • ๐Ÿ›  Fix source file name path stripping in Doxygen [#2714]

    PCL Tutorials:

    • ๐Ÿ›  Fix "CMakeLists.txt" in VFH tutorial [#3449]
    • โšก๏ธ Update information about types with RGBA data in tutorial [#3294]
    • โž• Add a note about adjusting passthrough limits in template alignment tutorial [#3193]
    • โž• Add missing shell command in "Building PCL" tutorial [#2996]
    • ๐Ÿ›  Fix cube rendering properties in "Moment of Inertia" tutorial [#2880]
    • Migrate from boost::math::iround to std::lround [#2818]
    • Link with PCL_LIBRARIES, not PCL_***_LIBRARIES [#2799]

    โœ… PCL Tests:

    • ๐Ÿšš Move OMP version of MovingLeastSquares into a separate test case [#3382]
    • ๐Ÿ›  Fix CropBox with indices; add new assertions for unit tests [#3306]
    • ๐Ÿ“ฆ Fix find_package_handle_standard_args incorrect argument in GTest finder script [#3098]
    • โœ… Do not test buffers instantiated with char template argument [#2980]
    • ๐Ÿ‘‰ Remove GTEST_USE_OWN_TR1_TUPLE defines [#2828]
    • โž• Add a new test for SampleConsensusModelLine [#2768]
    • โœ… Split test_registration into three binaries [#2727]

    PCL Tools:

    • [behavior] Do not discard data fields in pcl_uniform_sampling tool [#3461]
    • โž• Add missing includes in ensenso_viewer.cpp [#3035]
    • Do not terminate openni_viewer/openni2_viewer if image viewer was not instantiated [#2698]

    CI:

    • โš  Add PCL_WARNINGS_ARE_ERRORS CMake option and enable it in Ubuntu 16.04 CI job [#3478]
    • โž• Add a new Azure pipeline for Ubuntu 19.10 [#3446]
    • โž• Add formatting job on CI [#3420]
    • โž• Add Dockerfiles for images used on CI [#3350]
    • โœ… Publish test results on Azure pipelines [#2948]
    • ๐Ÿ— Build tutorials on Azure Pipelines [#2696]
  • v1.9.1 Changes

    November 26, 2018

    = 1.9.1 (26.11.2018) =

    Modules:

    Uncategorized:

    • โž• Add missing visualization section from the changelog generation. [#2634]

    CMake:

    • ๐Ÿ›  Fix development version check on DISSECT_VERSION. [#2633]
    • โœ‚ Remove CMake policy CMP0054 setting. [#2627]
    • PCLConfig.cmake - POP policy-stack before return() [#2626]
    • โœ‚ Remove CMake config installation folder only when empty [#2622]
    • โฌ‡๏ธ Downgrade grabber dependency message level to STATUS. [#2620]
    • Migrate CMake policy 0048 [#2608]
    • โฌ†๏ธ Bump CMake minimum version to 3.1. [#2605]
    • โฌ†๏ธ Bump version to 1.9.0-dev [#2602]
    • Search in $EIGEN_ROOT first while looking for Eigen [#2592]

    libpcl_visualization:

    • โž• address conflict between visualization and VTK head [#2612]

    PCL Tutorials:

    • โฌ†๏ธ Bump CMake minimum version to 3.1. [#2605]

    โœ… PCL Tests:

    • โ™ป๏ธ Refactor SHOTEstimation and SHOTColorEstimation tests [#2636]

    CI:

    • ๐ŸŽ Set up azure pipelines for macOS High Sierra [#2635]
    • ๐Ÿ Enable Windows builds on Azure Pipelines [#2632]
    • โž• Add Ubuntu16.04 based build on Azure Pipelines [#2611]
    • โœ‚ Remove documentation job from Travis [#2604]
  • v1.9.0 Changes

    November 06, 2018

    New Features:

    ๐Ÿ†• Newly added functionalities.

    • [common][visualization] Add Viridis color LUT [#2420]
    • [octree] Implementation of the iterator 'OctreeLeafNodeBreadthIterator'. [#2204]
    • [octree] Implementation of the iterator 'OctreeFixedDepthIterator'. [#1983]
    • [ci] Enable Global Tests on Windows CI [#2137]
    • [features] Add GASD global point cloud descriptor [#1652]
    • [visualization] Add overload to PCLVisualizer::addText3D() that allows specifying text orientation [#2038]
    • [features] FLARELocalReferenceFrameEstimation class added [#1571]
    • [surface][tools] Add new mls projection method. Deprecated MovingLeastSquares::setPolynomialFit(). [#1960]

    ๐Ÿ—„ Deprecated:

    ๐Ÿš€ Deprecated code scheduled to be removed after two minor releases.

    • [octree] Implementation of the iterator 'OctreeLeafNodeBreadthIterator'. [#2204]
    • [common][segmentation] Provide proper EuclideanClusterComparator method depreciation. New Pragma macro. New Deprecated type. [#2096]
    • [io] Add support pcl::PointXYZRGBA to pcl::VLPGrabber. Deprecate rgb signatures. [#2102]
    • [surface][tools] Add new mls projection method. Deprecated MovingLeastSquares::setPolynomialFit(). [#1960]

    ๐Ÿšš Removed:

    ๐Ÿ—„ Removal of deprecated code.

    • [filters][io][surface][visualization] Removal of deprecated code in filters, io, surface and visualization modules [#2077]
    • [common] Remove deprecated ros headers [#2075]
    • [registration] Remove registration module deprecated methods [#2076]
    • [sample_consensus] Remove deprecated functions and variables from SAC module [#2071]
    • [common] Removal of PCA deprecated constructor [#2070]

    Behavioral changes:

    ๐Ÿ”„ Changes in the expected default behavior.

    • [common] PointCloudDepthAndRGBtoXYZRGBA: initialize with the default alpha value (fix #2476) [#2533]
    • [octree] Reverse octree's depth first iterator order [#2332]
    • [common] PointXYZRGBL label field is now default constructed to 0 [#2462]
    • [io] Fix PLYReader is_dense behavior [#2133]

    API changes:

    ๐Ÿ”„ Changes to the API which didn't went through the proper deprecation and removal cycle.

    • [octree] Implementation of the iterator 'OctreeLeafNodeBreadthIterator'. [#2204]
    • [sample_consensus] Const-qualify most of the methods in SAC model classes [#2270]
    • [simulation] Use GLuint rather than size_t to represent OpenGL indices. [#2238]
    • [visualization] Fix access specifier in PointCloudColorHandlerRGBAField [#2226]
    • ๐Ÿ“„ [docs] Misc. typos (cont.) [#2215]
    • [octree] OctreeIterators special member revision [#2108]
    • [io] Add support pcl::PointXYZRGBA to pcl::VLPGrabber. Deprecate rgb signatures. [#2102]
    • [surface][tools] Add new mls projection method. Deprecated MovingLeastSquares::setPolynomialFit(). [#1960]
    • [surface] Add ability to cache mls results [#1952]

    ABI changes:

    ๐Ÿ”„ Changes that cause ABI incompatibility but are still API compatible.

    • [surface] Missing pcl::MovingLeastSquaresOMP declaration without /openmp [#2324]
    • [common][filters][surface] Improved docstrings and error messages [#2300]
    • [common] Modified GlasbeyLUT indexing type to size_t [#2297]
    • [octree] Implementation of the iterator 'OctreeFixedDepthIterator'. [#1983]
    • [common][segmentation] Provide proper EuclideanClusterComparator method depreciation. New Pragma macro. New Deprecated type. [#2096]
    • [gpu] Allow specifying decimation step in convertToTsdfCloud [#2099]
    • [apps] More warning suppression in pcl apps [#2080]
    • [io] Removed unused member from ply_parser [#2066]
    • [filters] Fixes remove_indices in UniformSampling [#1902]
    • [visualization] Add accessor for current rendering framerate in PCLVisualizer [#1974]
    • [simulation] Redo: Simulation: enable returning of organized point clouds [#1687]
    • [registration] Added option to specify translation and rotation convergence deltas in ICP and NDT algorithms. [#1724]

    Modules:

    Uncategorized:

    • ๐Ÿ”„ Change Log generation tool. Automates change log generation. [#2396]
    • Compatibility reports generation script [#2410]
    • โšก๏ธ Update logo [#2547]
    • Never close stale issues/prs [#2400]
    • ๐Ÿ›  Fix typos in the whole codebase [#2217]
    • ๐Ÿ›  Fixed typo and rearragend items in the issue template [#2197]
    • ๐Ÿ”„ Change Stale daysTillClose to 100 years [#2166]
    • set stale daysUntilClose to a really big number [#2162]
    • Stale set up [#2101]

    CMake:

    • ๐Ÿ›  Fix checks for user-provided CXX flags [#2579]
    • ๐Ÿ›  Fix FLANN path to lower case [#2576]
    • ๐Ÿ‘‰ Use pkg-config to find Flann [#2563]
    • โšก๏ธ Update FindBoost versions [#2558]
    • ๐Ÿ— Add PCL_BUILD_WITH_QHULL_DYNAMIC_LINKING_WIN32 option [#2552]
    • ๐Ÿ›  Fix app/CMakeLists to enable Apps under Windows [#2550]
    • ๐Ÿ”ง When configuring with WITH_DOCS, but Doxygen is not available, prevent generation. [#2516]
    • โœ… CMake: Do not include test targets in PCLConfig.cmake [#2458]
    • CMake Set temporarily the policy CMP0074 to OLD [#2454]
    • prevent GCC flags propagating to NVCC [#2430]
    • Mark visualization as an optional dependency of tools [#2439]
    • Do not mark imported libraries as GLOBAL in PCLConfig [#2435]
    • ๐Ÿ›  Intel fixes [#2432]
    • Export -march=native for Clang and prevent it from being included during cross compilation. [#2416]
    • Do not search for PCL components that have been found already [#2428]
    • Move SSE compiler options to PCL_COMPILE_OPTIONS. Expose PCL as a CMake imported target. [#2100]
    • โž• Add Visual Studio compiler option /FS for Ninja build [#2414]
    • ๐Ÿ‘‰ Use rpath in the target's install name [#2241]
    • ๐Ÿ‘Œ Improve QHull finder script [#2344]
    • ๐Ÿ›  Fix link order issue with boost [#2236]
    • Mark found PCL component libraries and include dirs as advanced [#2235]
    • Prevent search for disabled optional dependencies in targets. [#2229]
    • ๐Ÿ›  Fix installation rules for ml module [#2192]
    • ๐Ÿ›  Fix conditional branch of Visual C++ 2017 [#2121]
    • ๐Ÿ‘‰ Add *_USE_STATIC options to PCLConfig [#2086]
    • โž• Add search path suffixes for Vcpkg [#2085]
    • โšก๏ธ Update finder scripts for Ensenso, OpenNI, and OpenNI2 [#2061]
    • ๐Ÿ›  Fix PACKAGE to include cmake/Modules directory [#2053]
    • Unifies Find scripts in PCLConfig [#1421]
    • CUDA 9 Arch Flags [#2047]
    • Suppress log when PCL_FIND_QUIETLY is turned on. [#2032]
    • ๐Ÿ›  fix /MP option not generated for Visual Studio. [#2031]
    • Generate pkgconfig for 2d module [#1979]
    • โšก๏ธ Update Find Boost [#1972]
    • โž• Added CUDA compute capability 5.3 [#1929]
    • ๐Ÿ›  Fix issue with finding pcl deployed out of path [#1923]
    • โž• Add new gtest path [#1920]

    libpcl_2d:

    • ๐Ÿšš Avoid huge index jumps in RandomSample. Remove io dependency from 2d. [#2141]
    • ๐Ÿ›  Fix header names [#2079]
    • Generate pkgconfig for 2d module [#1979]

    libpcl_common:

    • ๐Ÿ›  Fix docstrings [#2591]
    • ๐Ÿ‘ป Throw an early exception to prevent divide by zero error (#2481) [#2530]
    • โœ… Relax requirements in eigen22d test. Always provide a normalized result in pcl::transformPlane. [#2503]
    • [behavior] PointCloudDepthAndRGBtoXYZRGBA: initialize with the default alpha value (fix #2476) [#2533]
    • Throw UnorganizedPointCloudException in PointCloud::at [#2521]
    • โž• Add missing const specifier for getters in PCLBase. [#2502]
    • swap the header in pcl::PointCloud::swap [#2499]
    • โž• Add header guard and copyright info to polynomial_calculations.hpp [#2500]
    • โž• Add header to the print output of PointCloud [#2498]
    • ๐Ÿ›  Fix force recalculation option in BivariatePolynomialT::calculateGradient [#2479]
    • ๐Ÿ›  Fix various errors and typos in the docstrings and tutorials [#2486]
    • ๐Ÿ›  Fix a bug in PointRGBtoI color conversion [#2475]
    • Provide operator<< for Intensity32u point type [#2467]
    • [behavior] PointXYZRGBL label field is now default constructed to 0 [#2462]
    • โž• Add some missing eigen alignment operators [#2433]
    • ๐Ÿ›  Intel fixes [#2432]
    • [new-feature] Add Viridis color LUT [#2420]
    • โœ‚ Remove malloc header to restore builds on BSDs [#2374]
    • Add support for multiple extensions in parse_file_extension_argument (). [#2347]
    • ๐Ÿ‘Œ Improve speed of transformPointCloud/WithNormals() functions [#2247]
    • โž• Add RGB constructor that takes R, G, and B components [#2329]
    • [abi] Improved docstrings and error messages [#2300]
    • [abi] Modified GlasbeyLUT indexing type to size_t [#2297]
    • Add GASDSignatures to PCL_POINT_TYPES and PCL_FEATURE_POINTTYPES macros. [#2295]
    • ๐Ÿ“œ [PARSE] Constness of the API [#2224]
    • ๐Ÿ›  Fix two "unreachable code" warnings in pca.hpp [#2219]
    • ๐Ÿ›  Fix covariance calculation in PCA [#2130]
    • ๐Ÿ—„ [abi][deprecation] Provide proper EuclideanClusterComparator method depreciation. New Pragma macro. New Deprecated type. [#2096]
    • [removal] Remove deprecated ros headers [#2075]
    • โš  Suppress (maybe) uninitialized warning [#2073]
    • [removal] Removal of PCA deprecated constructor [#2070]
    • ๐Ÿ›  [gcc] fixes -Wimplicit-fallthrough: common/io.h [#2041]
    • Include pcl/point_cloud.h and pcl/point_types.h headers. [#1962]
    • ๐Ÿ‘‰ Add test for macro _USE_MATH_DEFINES. [#1956]
    • ๐Ÿšš instantiate: remove duplicate macro definition. Fixes #1924. [#1925]

    libpcl_cuda:

    • โž• add support for latest Turing gpu and cuda 10 [#2560]
    • ๐Ÿ›  Fix compilation issues with CUDA 9.1 [#2212]
    • ๐Ÿ›  Fix some CUDA 9 related errors [#2181]
    • โž• Added CUDA compute capability 5.3 [#1929]

    libpcl_features:

    • โœ… Solve issues with failing features tests [#2544]
    • โšก๏ธ Update the OpenMP implementations of normal and FPFH estimation [#2278]
    • ๐Ÿ‘‰ Make MomentOfInertia instantiations consistent with the rest of the library [#2266]
    • ๐Ÿ“„ Docstring corrections [#2143]
    • ๐Ÿ‘Œ Improve Doxygen comments for HistogramInterpolationMethod [#2111]
    • [new-feature] Add GASD global point cloud descriptor [#1652]
    • โš  Suppress (maybe) uninitialized warning [#2073]
    • [new-feature] FLARELocalReferenceFrameEstimation class added [#1571]
    • ๐Ÿ›  fix missing include file: from_meshes.h is using pcl::Vertices in it [#2009]
    • Typo [#1968]

    libpcl_filters:

    • โœ… Corrections to CovarianceSampling class and corresponding test [#2512]
    • โž• Add the missing const modifier in Filter::getRemovedIndices. [#2523]
    • โž• Add const modifiers to getters of pcl::PassThrough [#2524]
    • โž• Add const specifiers for getters in VoxelGrid. [#2526]
    • Copy the pose info from the input cloud to the output cloud in NaN removal functions [#2522]
    • ๐Ÿ›  Fix misc. typos in tutorials and docstrings [#2529]
    • ๐Ÿ›  Fix various errors and typos in the docstrings and tutorials [#2486]
    • โž• Add some missing eigen alignment operators [#2433]
    • โž• Add PointNormal to ExtractIndices Instantiate Types [#2389]
    • [abi] Improved docstrings and error messages [#2300]
    • Public access to VoxelGrid boost pointer. [#2205]
    • โž• Add const qualifiers to getters in filter_indices.h [#2193]
    • ๐Ÿšš Avoid huge index jumps in RandomSample. Remove io dependency from 2d. [#2141]
    • [removal] Removal of deprecated code in filters, io, surface and visualization modules [#2077]
    • โš  Suppress unused parameter warning [#2074]
    • โš  Suppress sign compare warnings [#2068]
    • Transformation Fix for BoxClipper3D [#1961]
    • [abi] Fixes remove_indices in UniformSampling [#1902]
    • Inherit StatisticalOutlierRemoval from FilterIndices [#1663]

    libpcl_gpu:

    • โœ‚ Remove sm_72 from CUDA 9.0 [#2567]
    • ๐Ÿ›  Fix compilation issues with CUDA 9.1 [#2212]
    • ๐Ÿ›  Fix compilation error in gpu_people code [#2199]
    • ๐Ÿ›  Fix some CUDA 9 related errors [#2181]
    • [abi] Allow specifying decimation step in convertToTsdfCloud [#2099]
    • ๐Ÿ›  Fix the incorrect include directory. [#2024]
    • need to include instantiate.hpp to use PCL_INSTANTIATE [#1943]
    • โž• Added CUDA compute capability 5.3 [#1929]
    • ๐Ÿ›  Fix issue #1674 [#1926]

    libpcl_io:

    • โš  Suppress miscelanious warnings [#2556]
    • ๐Ÿ“œ vtk2mesh: Add parsing support to the new RGBA scalar field added in vtk8 [#2492]
    • ๐Ÿ›  Fix various errors and typos in the docstrings and tutorials [#2486]
    • ๐Ÿ‘Œ Improved obj file parsing efficiency. Make parsing robust against situations where there are more normals than points. Added unit tests. [#2450]
    • pcl::PCDReader::readHeader() change nr_points type to size_t to avoid possible int32 overflow [#2408]
    • ๐Ÿ›  Fix raw_fallocate for Android and deal with unsupported filesystems. [#2363]
    • Add low_level_io.h to the header list of the io module [#2356]
    • Created header for low level I/O helpers. Fix for ::posix_fallocate on Mac OSX [#2354]
    • โž• Added warnings when the input data is too large for compressed pcds [#2323]
    • Allocate disk space with posix_fallocate before mmapping. [#2325]
    • ๐Ÿ›  Fix cmake warning: Logical block closes with mis-matching arguments [#2320]
    • Added PCL_IO_ENABLE_MAND_LOCKING cmake flag. [#2315]
    • โž• Added missing 8 bytes to compressed binary pcd length. [#2281]
    • โœ‚ Remove useless size check in PLYReader::endHeaderCallback() [#2246]
    • [behavior] Fix PLYReader is_dense behavior [#2133]
    • EnsensoGrabber uint is undefined in Visual studio. [#2223]
    • โž• Add protection from invalid WIDTH values in PCD reader [#2195]
    • PLYReader Cast cloud point step as 64-bit integer [#2161]
    • OpenNI2Device Add device sensor check for IR and depth modesetting [#2150]
    • โž• Adds a check for when CreateFileMappingA fails [#2146]
    • PCDWriterchanged toff to size_t in writeBinaryCompressed [#2144]
    • ๐Ÿ“œ Prevent POINTS field parsing before point_step is specified [#2131]
    • Check COUNT value specified in PCD files [#2126]
    • Prevent mmapping more than the original PCD file size [#2125]
    • ๐Ÿ—„ [api][deprecation] Add support pcl::PointXYZRGBA to pcl::VLPGrabber. Deprecate rgb signatures. [#2102]
    • [removal] Removal of deprecated code in filters, io, surface and visualization modules [#2077]
    • โš  Suppress strict alias warning [#2072]
    • โš  Suppress unused parameter warnings [#2067]
    • [abi] Removed unused member from ply_parser [#2066]
    • Suppress control reaches end of non-void function in io.h [#2057]
    • Modify STRICT_ALIGN because macro expansion w/defined is undefined [#2043]
    • โž• Add necessary boost headers to pcl/io to build in CUDA mode [#2025]
    • ๐Ÿ›  Fix MSVC compile issue related with ssize_t [#2027]
    • โž• Adds in-memory PCD serialization/deserialization; de-duplicates PCDReader::readHeader(). (take #2) [#1986]

    libpcl_kdtree:

    • Consistent ptr typedefs for kd tree flann [#1607]

    libpcl_keypoints:

    • โž• Add TrajkovicKeypoint2D/3D to CMake build [#2179]

    libpcl_ml:

    • ๐Ÿ›  Fix installation rules for ml module [#2192]

    libpcl_octree:

    • [behavior] Reverse octree's depth first iterator order [#2332]
    • ๐Ÿ›  Fix various errors and typos in the docstrings and tutorials [#2486]
    • โœ… Make test conditions consistent with OctreePointCloudSearch::boxSearch() implementation. [#2457]
    • โš  octree_key.h suppress GCC 8 ignored-qualifier warning [#2405]
    • ๐Ÿ—„ [api][deprecation][new-feature] Implementation of the iterator 'OctreeLeafNodeBreadthIterator'. [#2204]
    • [abi][new-feature] Implementation of the iterator 'OctreeFixedDepthIterator'. [#1983]
    • โœ… Octree Iterator begin/end method and added tests [#2174]
    • โœ‚ Remove parametrization of end iterators [#2168]
    • ๐Ÿ›  Fix docstrings in octree test [#2173]
    • [api] OctreeIterators special member revision [#2108]
    • โœ‚ Remove unused variable from octree_viewer [#2069]
    • โš  Silence compile warning by removing superfluous call to std::max() [#2014]
    • [OCTREE] Add bounding box checks in isVoxelOccupiedAtPoint() and deleteVoxelAtPoint() [#1976]

    libpcl_outofcore:

    • Explictly use mt19937 random generator for boost 1.67. [#2338]
    • ๐Ÿ›  Fixed queryBBIncludes_subsample [#1988]

    libpcl_people:

    libpcl_recognition:

    • โœ… Relax threshold in Hough3DGrouping test [#2507]
    • โž• Add some missing eigen alignment operators [#2433]
    • Setting the resolution of the occupancy grid [#2273]
    • Inline helper function gcCorrespSorter() [#2248]
    • Misleading indentation [#2034]

    libpcl_registration:

    • โœ‚ Remove std::binary_function from Registration [#2599]
    • โš  Suppress miscelanious warnings [#2556]
    • โœ… Relax precision requirements on TransformationEstimationLM test. [#2497]
    • โœ… Relax rejector threshold in JointIterativeClosestPoint test. [#2496]
    • โž• Add some missing eigen alignment operators [#2433]
    • Remove explicit initialization of update_visualizer_ in Registration [#2423]
    • [removal] Remove registration module deprecated methods [#2076]
    • โš  Suppress (maybe) uninitialized warning [#2073]
    • โœ‚ Remove unreachable code in DefaultConvergenceCriteria [#1967]
    • [abi] Added option to specify translation and rotation convergence deltas in ICP and NDT algorithms. [#1724]

    libpcl_sample_consensus:

    • โœ… Revise direction test in SampleConsensusModelParallelLine/RANSAC to be consistent with set tolerance. [#2491]
    • ๐Ÿ›  Fix error in SampleConsensusModelLine::isSampleGood [#2488]
    • [api] Const-qualify most of the methods in SAC model classes [#2270]
    • [removal] Remove deprecated functions and variables from SAC module [#2071]

    libpcl_search:

    • โœ… Correct testPoint for organized nearest neighbor search [#2198]

    libpcl_segmentation:

    • โž• Add some missing eigen alignment operators [#2433]
    • โž• Add setter/getter for search method in ConditionalEuclideanClustering [#2437]
    • Increase threshold for expected value in test_non_linear [#2424]
    • Avoid infinite recursion in getPointCloudDifference [#2402]
    • ๐Ÿ—„ Correct setting of is_dense flag in SegmentDifferences. Deprecate unused parameter in method. [#2380]
    • Dereference shared_ptr, fix for GCC8 [#2299]
    • ๐Ÿ—„ [abi][deprecation] Provide proper EuclideanClusterComparator method depreciation. New Pragma macro. New Deprecated type. [#2096]
    • โœ‚ Removed normal related accessors and types from EuclideanClusterComparator [#1542]

    libpcl_simulation:

    • โž• Add const qualifiers to RangeLikelihood getters. [#2411]
    • [api] Use GLuint rather than size_t to represent OpenGL indices. [#2238]
    • ๐Ÿ‘Œ Support both RGB and RGBA colors in mesh loading [#2036]
    • [abi] Redo: Simulation: enable returning of organized point clouds [#1687]
    • Simulation: more access to camera parameters [#1650]

    libpcl_surface:

    • ๐Ÿ›  Fixed memory leak in Poisson's BSplineData [#2572]
    • โš  Suppress miscelanious warnings [#2556]
    • โž• Add some missing eigen alignment operators [#2433]
    • ๐Ÿ‘‰ Make pcl::MovingLeastSquares thread-safe [#2418]
    • [abi] Missing pcl::MovingLeastSquaresOMP declaration without /openmp [#2324]
    • [abi] Improved docstrings and error messages [#2300]
    • opennurbs: fix ON_Curve::EvaluatePoint calculation [#2185]
    • [removal] Removal of deprecated code in filters, io, surface and visualization modules [#2077]
    • โš  Suppress (maybe) uninitialized warning [#2073]
    • โš  Suppress sign compare warnings [#2068]
    • ๐Ÿ›  Fix incorrect Ptr/ConstPtr typedefs in MovingLeastSquaresOMP [#2055]
    • Replace float indices with Eigen Index [#2017]
    • ๐Ÿ—„ [api][deprecation][new-feature] Add new mls projection method. Deprecated MovingLeastSquares::setPolynomialFit(). [#1960]
    • Avoid phantom surfces in marching cubes hoppe [#1874]
    • [api] Add ability to cache mls results [#1952]

    libpcl_visualization:

    • ๐Ÿ’… Made PCLVisualizerInteractorStyle::CloudActorMapPtr public. [#2542]
    • [new-feature] Add Viridis color LUT [#2420]
    • โšก๏ธ Update sha1 header inclusion for Boost 1.68+ [#2373]
    • Second change VTK version check in addTextureMesh [#2322]
    • Include missing vtkTexture.h. Follow up on #2291 [#2316]
    • ๐Ÿ”„ Change VTK version check in addTextureMesh [#2311]
    • โœ‚ Remove depreciated VTK function MapDataArrayToMultiTextureAttribute [#2291]
    • Warn and skip adding normal cloud if it is empty [#2265]
    • [api] Fix access specifier in PointCloudColorHandlerRGBAField [#2226]
    • Check if color handler returns false [#2209]
    • ๐Ÿ– Handle VTK legacy function (follow up to #2112) [#2165]
    • ๐Ÿ”€ Travis merge test jobs. Expose VTK include directory for the visualization module. [#2163]
    • ๐Ÿ›  Small optimizations and fixes in PCLVisualizer [#2112]
    • โž• Add another variant to getPointCloudRenderingProperties() [#2142]
    • Restrict accepted types in PCLVisualizer::addLine signature [#2134]
    • Typo fix in error message. [#2132]
    • ๐Ÿ›  Fix add/remove of 3D text without custom viewport [#2110]
    • โž• Add octree dependency to visualization [#2115]
    • ๐Ÿ›  Fix pcd_viewer color handling when invalid fields are present in pcd [#2105]
    • โž• Add pcl visualizer interactor null guards [#2104]
    • โž• Add remove text3d [#2088]
    • Replace auto_ptr with scoped_ptr [#2037]
    • [removal] Removal of deprecated code in filters, io, surface and visualization modules [#2077]
    • โš  Suppress sign compare warnings [#2068]
    • [new-feature] Add overload to PCLVisualizer::addText3D() that allows specifying text orientation [#2038]
    • โž• Add new constructors to PCLVisualizer [#2004]
    • ๐Ÿ›  Fix bug in PointCloudGeometryHandlerCustom [#2001]
    • Add missing PCL_EXPORTS in pcl_visualizer.h [#1995]
    • [abi] Add accessor for current rendering framerate in PCLVisualizer [#1974]
    • ๐Ÿ‘ Allow changing LUT properties of a shape actor [#1668]
    • ๐Ÿ›  Fixed spelling and grammar errors [#1959]
    • ๐Ÿ›  Fixed error in documentation. [#1957]

    PCL Apps:

    • โš  Suppress miscelanious warnings [#2556]
    • Fix 3d_rec_framework compilation error [#2495]
    • ๐Ÿ›  Fix compilation issue in point cloud editor. [#2490]
    • demean_cloud correct usage message. [#2443]
    • Do not use deprecated method in openni_mls_smoothing app [#2421]
    • โž• add windows.h for includes GL/gl.h; handle cancel for denoiseWidget. [#2267]
    • โž• Add missing dependecy to apps [#2251]
    • โš  Suppress the final set of warnings in pcl apps [#2082]
    • [abi] More warning suppression in pcl apps [#2080]

    ๐Ÿ“„ PCL Docs:

    • ๐Ÿ›  Fix misc. typos in tutorials and docstrings [#2529]
    • ๐Ÿ›  Fix various errors and typos in the docstrings and tutorials [#2486]
    • ๐Ÿ“„ Docstring typos' corrections. [#2449]
    • demean_cloud correct usage message. [#2443]
    • Set IMAGE_PATH explicitly in Doxygen config [#2442]
    • Switch to using client-based search in Doxygen [#2391]
    • [api] Misc. typos (cont.) [#2215]
    • โœ๏ธ doc: misc. typos [#2213]
    • โž• Add url to API/ABI compatibity report [#2116]
    • ๐Ÿ‘Œ Improve Doxygen comments for HistogramInterpolationMethod [#2111]
    • โšก๏ธ Update organized.h [#1965]
    • Typo [#1968]
    • ๐Ÿ›  Fixed spelling and grammar errors [#1959]
    • ๐Ÿ›  Fixed error in documentation. [#1957]

    PCL Tutorials:

    • ๐Ÿ›  Fix dataset link in conditional euclidean clustering tutorial [#2546]
    • ๐Ÿ›  Fix dead links in Walkthrough tutorial [#2532]
    • Simplify explanation of PointXYZ structure in "Writing PCD" tutorial [#2534]
    • ๐Ÿ›  Fix misc. typos in tutorials and docstrings [#2529]
    • ๐Ÿ›  Fix a dead link to Radu Rusu's dissertation in the tutorial. [#2508]
    • ๐Ÿ›  Fix various errors and typos in the docstrings and tutorials [#2486]
    • Fix link to Institut Maupertuis's ensenso_extrinsic_calibration repo [#2447]
    • โž• Add settings for hypothesis verification [#2274]
    • ๐Ÿ›  Fix ICP tutorial [#2244]
    • ๐Ÿ›  Fix error in example code for estimate set of surface for a subset of points in the input dataset [#2203]
    • โšก๏ธ Update message about legacy point cloud types in tutorial [#2175]
    • โž• Add descriptor unpacking to GASD tutorial [#2167]
    • ๐Ÿ›  Fix convert to Eigen::Map<const Eigen::Vector3f> from Normal of pcl::PointXYZINormal [#2128]
    • ๐Ÿ›  Fix the tutorial qt_visualizer compilation issue: qt4 -> qt5. [#2051]
    • ๐Ÿ›  Fix several documentation typos [#2020]
    • Replace literal include of wrong CMakeLists file with correct script [#1971]
    • โšก๏ธ Update Ensenso tutorial for Ensenso X devices [#1933]

    PCL Examples:

    • โš  Suppress strict alias warning [#2072]
    • โš  Suppress (maybe) uninitialized warning [#2073]
    • ๐Ÿ›  Fix CPC/LCCP segmentation examples for VTK 7.1 [#2063]

    โœ… PCL Tests:

    • ๐Ÿ Corrections to Windows unit tests. [#2596]
    • โœ… Relax eigen22f test criteria [#2553]
    • โœ… Solve issues with failing features tests [#2544]
    • โœ… Relax requirements in eigen22d test. Always provide a normalized result in pcl::transformPlane. [#2503]
    • โœ… Enable tests_2d and tests_io in AppVeyor. [#2505]
    • โœ… Relax threshold in Hough3DGrouping test [#2507]
    • โœ… Relax precision requirements on TransformationEstimationLM test. [#2497]
    • โœ… Relax rejector threshold in JointIterativeClosestPoint test. [#2496]
    • ๐Ÿ“œ vtk2mesh: Add parsing support to the new RGBA scalar field added in vtk8 [#2492]
    • โœ… Revise direction test in SampleConsensusModelParallelLine/RANSAC to be consistent with set tolerance. [#2491]
    • โœ… Make test conditions consistent with OctreePointCloudSearch::boxSearch() implementation. [#2457]
    • Increase threshold for expected value in test_non_linear [#2424]
    • Replace floating point numerals when using boost::posix_time. Fix compatibility with Boost 1.67. [#2422]
    • โœ… Cleanup and improve unit test coverage for transformPointCloud functions [#2245]
    • ๐Ÿ›  Fixes and new assertion macro in "pcl_tests.h" [#2237]
    • โž• Add new gtest path [#1920]

    PCL Tools:

    • Allow the pcl_uniform_sampling tool to deal with several formats (PCD, PLY and VTK) as input or output point cloud [#2348]
    • ๐Ÿ‘ mesh_sampling tool: Add support for colors [#2257]
    • Error message on non-recognized feature names [#2178]
    • โš  Suppress sign compare warnings [#2068]
    • [OCTREE] Compute accurately the centroids of octree in 'pcl_octree_viewer' [#1981]
    • ๐Ÿ—„ [api][deprecation][new-feature] Add new mls projection method. Deprecated MovingLeastSquares::setPolynomialFit(). [#1960]
    • [OCTREE] Fix pcl_octree_viewer [#1973]
    • ๐Ÿšš [OCTREE] Remove a useless field in octree_viewer. [#1980]

    CI:

    • โšก๏ธ Disable Travis email notifications. Update PCL logo endpoint. [#2535]
    • Migrate Travis to the new travis-ci.com platform [#2538]
    • โœ… Enable tests_2d and tests_io in AppVeyor. [#2505]
    • ๐Ÿ›  Fix docs on Travis CI. [#2441]
    • Disable SSE flags in AppVeyor. [#2438]
    • ๐Ÿ— Split (yet again) Travis test job into two and tweak timings in building apps [#2182]
    • [new-feature] Enable Global Tests on Windows CI [#2137]
    • ๐Ÿ”€ Travis merge test jobs. Expose VTK include directory for the visualization module. [#2163]
    • โœ‚ Remove unnecessary PPAs and packages from Travis [#2153]
    • ๐Ÿ’… AppVeyor - Change to simple style of specify triplet [#2135]
    • ๐ŸŽ‰ Initial Appveyor CI integration [#2083]
    • ๐Ÿ”„ Change Travis to use pip3 for installing sphinx [#2124]
    • ๐Ÿ— [TRAVIS] Enable the build of apps. [#2012]
    • ๐Ÿ— [TRAVIS] Enable the build of tools. [#2007]
    • ๐Ÿ— Disable tools build in CI. [#2003]
  • v1.8.1 Changes

    August 08, 2017

    ๐Ÿ”„ ChangeList

    • Replaced make_shared invocations on aligned allocated vars
      [#1405]
    • Created an issue template for bug reporting
      [#1637]
    • PCL logo image is now locally available
      [#1677]
    • โšก๏ธ Updated the Windows all in one installer for MSVC15
      [#1762]
    • โž• Added compile support to VTK 7.1
      [#1770]
    • ๐Ÿ›  Fixed badges markup in README.md
      [#1873]
    • ๐Ÿ’… Replaced C-style sqrtf with std::sqrt
      [#1901]

    CMake:

    • Tweaks to PCL_DEFINITIONS behavior (to be deprecated in future
      ๐Ÿ”– versions)
      [#1478]
    • ๐Ÿ”ง VTK directory can now be manually specified during configuration
      [#1605]
    • โšก๏ธ Updated the find Boost cmake macro to support the latest versions plus
      exported definitions now give priority to finding the same Boost version
      PCL was compiled with.
      [#1630]
    • Corrected PCL_ROOT in PCLConfig.cmake
      [#1678]
    • โœ‚ Removed automatic override of VTK_LIBRARIES
      [#1760]
    • โšก๏ธ Updated find boost versions
      [#1788]
      [#1855]
      [#1856]
    • โšก๏ธ Updated CUDA compute capabilities
      [#1789]
    • Extend linking of delayimp.lib to all MSVC version
      [#1823]
    • Removal of MSVCxx variables
      [#1830]
    • ๐Ÿ›  Fixed path link to Documents of Windows Start-Menu
      [#1857]
    • ๐Ÿ›  Fixed CPack for Documents
      [#1858]
    • ๐Ÿ›  Fixed bug present when Ensenso SDK path included spaces
      [#1875]
    • ๐Ÿ‘ฎ -D_FORCE_INLINES definition added for CUDA targets to prevent
      issues between old versions of the CUDA Toolkit and new versions
      of gcc
      [#1900]
    • Implemented new versioning scheme for PCL, employing the suffix
      ๐Ÿš€ -dev in between releases.
      [#1905]
    • ๐Ÿ Corrected search paths for Eigen on Windows
      [#1912]
    • SSE definitions are now exported and cleanup of Eigen's
      definitions
      [#1917]
    • โž• Added support to dynamic linking against FLANN on Windows
      [#1919]
    • โž• Add new search path for GTest to the finder script
      [#1920]
    • ๐Ÿ›  Fix discovery of PCL deployed out of install path
      [#1923]

    libpcl_2d:

    • โœ‚ Removed the non-free lena-grayscale-png image :(
      [#1676]
    • 2d library is no longer generated since it contained no symbols
      [#1679]

    libpcl_common:

    • ๐Ÿ”„ Changed default alpha value to 255 on all RGB(A) point types
      [#1385]
    • ๐Ÿ›  Fixed an issue preventing aligned memory allocation on 32-bit Windows
      systems
      [#1665]
    • ๐Ÿ›  Fixed compile error on test_common on MSVC
      [#1689]
    • ๐Ÿ›  Fixed parallel plane test condition on pcl::planeWithPlaneIntersection
      [#1698]
    • ๐Ÿ›  Fixed endless loop condition in compute3DCentroid
      [#1704]
    • toPCLPointCloud2 is not resilient to an empty pointcloud input
      [#1723]
    • Normal accumulator normalized() is now resilient to a 0 filled vector
      [#1728]
    • Defined additional types in PointCloud to ensure STL container
      compatibility
      [#1741]
    • Aligned malloc now works on Android as well
      [#1774]
    • โž• Added missing include to boost shared_ptr in vertices
      [#1790]
    • Prevent incorrect copy of adjacent point in fromPCLPointCloud2()
      [#1813]
    • โช Restored Eigen::umeyama for Eigen 3.3+
      [#1820]
      [#1887]
    • ๐Ÿ›  Fixed type in deprecation messages
      [#1878]
    • ๐Ÿ‘Œ Improved support for mingw aligned allocation
      [#1904]
    • ๐Ÿ‘‰ Added test for macro _USE_MATH_DEFINES to avoid warnings
      [#1956]

    libpcl_cuda:

    • ๐Ÿ›  Fixed macro definitions for the Windows platform
      [#1568]

    libpcl_features:

    • NormalEstimation[OMP] and FPFHEstimation[OMP] are now instantiated for
      the same types as the non OMP variants.
      [#1642]
    • Prevention of the addition of duplicate keys in PFHEstimation
      [#1701]
    • ๐Ÿ› Bug fixes in OUR-CVFH
      [#1827]
    • ๐Ÿ›  Fixed incorrect initialization of SHOT
      [#1859]
      [#1876]

    libpcl_filters:

    • ๐Ÿ–จ ExtractIndices filter now aborts prematurely and prints error verbose
      in case it detects an index which exceeds the size on the input data
      [#1670]
    • Potential reduction of computational time of ModelOutlierRemoval
      [#1735]
    • ๐Ÿ‘Œ Improved code readability in CropBox
      [#1817]

    libpcl_gpu:

    • โž• Added support to NVidia Pascal GPUs
      [#1824]
    • ๐Ÿ›  Fixed compilation error in KinfuLS
      [#1872]
    • ๐Ÿ›  Fixed CUDA architecture check
      [#1872]

    libpcl_io:

    • RGB values are now always saved as uint32 on PCD files
      [#1385]
    • ๐Ÿ›  Fixed find RealSense macro and compilation error with RealSenseGrabber
      ๐Ÿ on Windows
      [#1560]
    • Unified verbose on OctreePointCloudCompression
      [#1569]
    • ๐Ÿ‘Œ Improved performance on saving PLY, OBJ and VTK files
      [#1580]
    • โž• Added support to the transparency property Tr on pcl::MTLReader
      ๐Ÿ“œ and fixed issue with parsing of the material's properties.
      [#1599]
    • ๐Ÿ›  Fixed function signature mismatch in auto_io
      [#1625]
    • ๐Ÿ›  Fix ASCIIReader::setInputFields interface
      [#1690]
    • โœ… Adopted pcl_isnan in test_buffers to prevent compilation problems on
      MSVC12
      [#1694]
    • ๐Ÿ›  Fixed incorrect laser number test condition in VLP Grabber
      [#1697]
    • ๐Ÿ›  Fixed bug verbose output of compression statistics
      [#1749]
    • ๐Ÿ›  Fixed a bug in the parsing of PLY headers
      [#1750]
    • Replacement of boost::math::isnan by pcl_isnan
      [#1766]
    • Binary files written by PCDWriter now have the same permissions
      as the ASCII ones
      [#1779]
    • ๐Ÿ›  Fixed ODR violation when compiling with both OpenNI and OpenNI2
      [#1818]
    • PLYReader now also accepts the property vertex_index
      [#1847]
    • ๐Ÿ›  Fixed bug in return value of pcl_converter
      [#1903]

    libpcl_keypoints:

    • ๐Ÿ›  Fixed memory leak in ISSKeypoint3D
      [#1815]

    libpcl_octree:

    • ๐Ÿ›  Fixed unexpected octree boundaries' reduction
      [#1532]
      [#1906]
    • ๐Ÿ›  Fixed octree precompilation mechanism
      [#1639]
      [#1916]
    • ๐Ÿ›  Fixed invalid cast in OctreePointCloudVoxelCentroid
      [#1700]

    libpcl_recognition:

    • ๐Ÿ›  LineMOD bug fixes
      [#1835]
    • โœ‚ Removed redundant definition of point types
      [#1836]

    libpcl_registration:

    • ๐Ÿ›  Fixed GICP behavior when a guess is provided
      [#989]
    • ๐Ÿ›  Fixed compilation issues in NDT 2D with Eigen 3.3
      [#1821]
    • NDT 2D state is now properly initialized
      [#1731]

    libpcl_sample_consensus:

    • ๐Ÿ‘Œ Improved error verbose in
      โšก๏ธ SampleConsensusModelPlane::optimizeModelCoefficient
      [#1811]

    libpcl_segmentation:

    • ๐Ÿ›  Fixed bug in organized multiplane segmentation refine function where label
      โšก๏ธ indices were not being updated correctly
      [#1502]
    • Corrected function signature in lccp segmentation
      [#1761]
    • ๐Ÿ›  Fixed bug in boundary checking in Organized Connected Component
      Segmentation
      [#1800]
    • ๐Ÿ“š Clarified documentation in Super Voxel Clustering
      [#1804]
    • ๐Ÿ›  Fixed bug causing unnecessary computation in Region Growing
      [#1882]

    libpcl_surface:

    • Double pass mean and covariance estimation are now employed in
      ConcaveHull::reconstruct
      [#1567]
    • ๐Ÿ›  GP3 bug fixes
      [#1850]
      [#1879]
    • ๐Ÿ›  Fixed buggy index cast in bilateral upsampling
      [#1914]

    libpcl_visualization:

    • ๐Ÿ›  Fixed bug in addPointCloudNormals which was ignoring view point information
      [#1504]
    • ๐Ÿ›  Fixed bug camera FOV computation in PCLVisualizerInteractorStyle
      [#1611]
    • ๐Ÿ›  Fixed a MSVC compilation error with the colormap LUT
      [#1635]
    • Abort prematurely when the camera file cannot be opened on
      ๐Ÿ’… PCLVisualizerInteractorStyle
      [#1776]
    • ๐Ÿ›  Fix to addText3D
      [#1805]
    • โž• Added some exception guards in OpenNI and OpenNI2 Viewer tools
      [#1862]

    PCL Apps:

    • ๐Ÿ›  Fixed bug in point cloud editor app which allowed to select points behind
      the camera
      [#1539]
    • ๐Ÿ— Explicitly define OpenGL headers to fix build on Ubuntu arm64
      [#1715]
    • ๐Ÿšฆ Replaced the use of slot and signals keywords in QT apps for
      ๐Ÿšฆ their Q_* counterparts to present name clashes with Boost Signals
      [#1898]

    ๐Ÿ“„ PCL Docs:

    • ๐Ÿ›  Fix docs generation on Windows
      [#1717]

    โœ… PCL Tests:

    • ๐Ÿ— Modularized the build of unit tests.
      [#1768]
    • Removed invalid test condition on test_common_io
      [#1884]

    PCL Tools:

    • mesh2pcd has now an option to explicitly disable visualization
      [#1768]
    • mesh_sampling has now an option to explicitly disable visualization
      [#1769]
    • Mesh sampling now has an option to include normal information
      [#1795]
    • ๐Ÿ›  Fixed incorrect return value in pcl_converter
      [#1903]

    PCL Tutorials:

    • ๐Ÿ›  Fixed a crash in the pcl_visualizer tutorial triggered in interactive
      mode
      [#1631]
    • ๐Ÿ›  Fixed hyperlink in narf keypoint extraction
      [#1777]
    • Typo corrections in random sample consensus
      [#1865]
    • โšก๏ธ Updated matrix transform tutorial and added cube.ply mesh
      [#1894]
      [#1897]
    • โšก๏ธ Updated Ensenso tutorial for Ensenso X devices
      [#1933]

    CI:

    • โ†ช Applied a workaround to a regression bug introduced by doxylink
      ๐Ÿ— in the docs build job
      [#1784]
    • โ™ป๏ธ Build jobs refactoring
      [#1768]
    • ๐Ÿ— Enable ccache to speed up builds in CI
      [#1892]
  • v1.8.1.rc2

    July 18, 2017