From b543d17e01d64cbd31af2b137bed7bbfcc74a2b9 Mon Sep 17 00:00:00 2001
From: cont-integration <CI@iri.upc.edu>
Date: Mon, 30 Jan 2023 16:28:40 +0100
Subject: [PATCH] [skip ci] license headers added or modified

---
 demos/demo_analytic_autodiff_factor.cpp                       | 2 +-
 demos/demo_wolf_imported_graph.cpp                            | 2 +-
 demos/hello_wolf/capture_range_bearing.cpp                    | 2 +-
 demos/hello_wolf/capture_range_bearing.h                      | 4 ++--
 demos/hello_wolf/factor_bearing.h                             | 4 ++--
 demos/hello_wolf/factor_range_bearing.h                       | 4 ++--
 demos/hello_wolf/feature_range_bearing.cpp                    | 2 +-
 demos/hello_wolf/feature_range_bearing.h                      | 4 ++--
 demos/hello_wolf/hello_wolf.cpp                               | 2 +-
 demos/hello_wolf/hello_wolf_autoconf.cpp                      | 2 +-
 demos/hello_wolf/landmark_point_2d.cpp                        | 2 +-
 demos/hello_wolf/landmark_point_2d.h                          | 4 ++--
 demos/hello_wolf/processor_range_bearing.cpp                  | 2 +-
 demos/hello_wolf/processor_range_bearing.h                    | 4 ++--
 demos/hello_wolf/sensor_range_bearing.cpp                     | 2 +-
 demos/hello_wolf/sensor_range_bearing.h                       | 4 ++--
 demos/solver/test_SPQR.cpp                                    | 2 +-
 demos/solver/test_ccolamd.cpp                                 | 2 +-
 demos/solver/test_ccolamd_blocks.cpp                          | 2 +-
 demos/solver/test_iQR.cpp                                     | 2 +-
 demos/solver/test_iQR_wolf.cpp                                | 2 +-
 demos/solver/test_iQR_wolf2.cpp                               | 2 +-
 demos/solver/test_incremental_ccolamd_blocks.cpp              | 2 +-
 demos/solver/test_permutations.cpp                            | 2 +-
 include/core/capture/capture_base.h                           | 4 ++--
 include/core/capture/capture_diff_drive.h                     | 4 ++--
 include/core/capture/capture_landmarks_external.h             | 4 ++--
 include/core/capture/capture_motion.h                         | 4 ++--
 include/core/capture/capture_odom_2d.h                        | 4 ++--
 include/core/capture/capture_odom_3d.h                        | 4 ++--
 include/core/capture/capture_pose.h                           | 4 ++--
 include/core/capture/capture_void.h                           | 4 ++--
 include/core/ceres_wrapper/cost_function_wrapper.h            | 4 ++--
 .../core/ceres_wrapper/create_numeric_diff_cost_function.h    | 4 ++--
 include/core/ceres_wrapper/iteration_update_callback.h        | 4 ++--
 include/core/ceres_wrapper/local_parametrization_wrapper.h    | 4 ++--
 include/core/ceres_wrapper/qr_manager.h                       | 4 ++--
 include/core/ceres_wrapper/solver_ceres.h                     | 4 ++--
 include/core/ceres_wrapper/sparse_utils.h                     | 4 ++--
 include/core/ceres_wrapper/wolf_jet.h                         | 4 ++--
 include/core/common/factory.h                                 | 4 ++--
 include/core/common/node_base.h                               | 4 ++--
 include/core/common/node_state_blocks.h                       | 4 ++--
 include/core/common/params_base.h                             | 2 +-
 include/core/common/time_stamp.h                              | 4 ++--
 include/core/common/wolf.h                                    | 4 ++--
 include/core/composite/composite.h                            | 4 ++--
 include/core/composite/matrix_composite.h                     | 4 ++--
 include/core/composite/spec_state_composite.h                 | 4 ++--
 include/core/composite/spec_state_sensor_composite.h          | 4 ++--
 include/core/composite/state_composite.h                      | 4 ++--
 include/core/composite/type_composite.h                       | 4 ++--
 include/core/composite/vector_composite.h                     | 4 ++--
 include/core/factor/factor_analytic.h                         | 4 ++--
 include/core/factor/factor_autodiff.h                         | 4 ++--
 include/core/factor/factor_base.h                             | 4 ++--
 include/core/factor/factor_block_absolute.h                   | 4 ++--
 include/core/factor/factor_block_difference.h                 | 4 ++--
 include/core/factor/factor_diff_drive.h                       | 4 ++--
 include/core/factor/factor_distance_3d.h                      | 4 ++--
 include/core/factor/factor_pose_2d.h                          | 4 ++--
 include/core/factor/factor_pose_2d_with_extrinsics.h          | 4 ++--
 include/core/factor/factor_pose_3d.h                          | 4 ++--
 include/core/factor/factor_pose_3d_with_extrinsics.h          | 4 ++--
 include/core/factor/factor_quaternion_absolute.h              | 4 ++--
 include/core/factor/factor_relative_pose_2d.h                 | 4 ++--
 include/core/factor/factor_relative_pose_2d_with_extrinsics.h | 4 ++--
 include/core/factor/factor_relative_pose_3d.h                 | 4 ++--
 include/core/factor/factor_relative_pose_3d_with_extrinsics.h | 4 ++--
 include/core/factor/factor_relative_position_2d.h             | 4 ++--
 .../core/factor/factor_relative_position_2d_with_extrinsics.h | 4 ++--
 include/core/factor/factor_relative_position_3d.h             | 4 ++--
 .../core/factor/factor_relative_position_3d_with_extrinsics.h | 4 ++--
 include/core/factor/factor_velocity_local_direction_3d.h      | 4 ++--
 include/core/feature/feature_base.h                           | 4 ++--
 include/core/feature/feature_diff_drive.h                     | 4 ++--
 include/core/feature/feature_match.h                          | 4 ++--
 include/core/feature/feature_motion.h                         | 4 ++--
 include/core/feature/feature_odom_2d.h                        | 4 ++--
 include/core/feature/feature_pose.h                           | 4 ++--
 include/core/frame/frame_base.h                               | 4 ++--
 include/core/hardware/hardware_base.h                         | 4 ++--
 include/core/landmark/factory_landmark.h                      | 4 ++--
 include/core/landmark/landmark_base.h                         | 4 ++--
 include/core/landmark/landmark_match.h                        | 4 ++--
 include/core/map/factory_map.h                                | 4 ++--
 include/core/map/map_base.h                                   | 4 ++--
 include/core/math/SE2.h                                       | 4 ++--
 include/core/math/SE3.h                                       | 4 ++--
 include/core/math/covariance.h                                | 4 ++--
 include/core/math/rotations.h                                 | 4 ++--
 include/core/problem/problem.h                                | 4 ++--
 include/core/processor/factory_processor.h                    | 4 ++--
 include/core/processor/motion_buffer.h                        | 4 ++--
 include/core/processor/motion_provider.h                      | 4 ++--
 include/core/processor/processor_base.h                       | 4 ++--
 include/core/processor/processor_diff_drive.h                 | 4 ++--
 include/core/processor/processor_fixed_wing_model.h           | 4 ++--
 include/core/processor/processor_landmark_external.h          | 4 ++--
 include/core/processor/processor_loop_closure.h               | 4 ++--
 include/core/processor/processor_motion.h                     | 4 ++--
 include/core/processor/processor_odom_2d.h                    | 4 ++--
 include/core/processor/processor_odom_3d.h                    | 4 ++--
 include/core/processor/processor_pose.h                       | 4 ++--
 include/core/processor/processor_tracker.h                    | 4 ++--
 include/core/processor/processor_tracker_feature.h            | 4 ++--
 include/core/processor/processor_tracker_landmark.h           | 4 ++--
 include/core/processor/track_matrix.h                         | 4 ++--
 include/core/sensor/factory_sensor.h                          | 4 ++--
 include/core/sensor/sensor_base.h                             | 4 ++--
 include/core/sensor/sensor_diff_drive.h                       | 4 ++--
 include/core/sensor/sensor_motion_model.h                     | 4 ++--
 include/core/sensor/sensor_odom.h                             | 4 ++--
 include/core/sensor/sensor_pose.h                             | 2 +-
 include/core/solver/factory_solver.h                          | 4 ++--
 include/core/solver/solver_manager.h                          | 4 ++--
 include/core/solver_suitesparse/ccolamd_ordering.h            | 4 ++--
 include/core/solver_suitesparse/cost_function_base.h          | 4 ++--
 include/core/solver_suitesparse/cost_function_sparse.h        | 4 ++--
 include/core/solver_suitesparse/cost_function_sparse_base.h   | 4 ++--
 include/core/solver_suitesparse/qr_solver.h                   | 4 ++--
 include/core/solver_suitesparse/solver_QR.h                   | 4 ++--
 include/core/solver_suitesparse/solver_manager.h              | 4 ++--
 include/core/solver_suitesparse/sparse_utils.h                | 4 ++--
 include/core/state_block/factory_state_block.h                | 4 ++--
 include/core/state_block/local_parametrization_angle.h        | 4 ++--
 include/core/state_block/local_parametrization_base.h         | 4 ++--
 include/core/state_block/local_parametrization_homogeneous.h  | 4 ++--
 include/core/state_block/local_parametrization_quaternion.h   | 4 ++--
 include/core/state_block/state_angle.h                        | 4 ++--
 include/core/state_block/state_block.h                        | 4 ++--
 include/core/state_block/state_block_derived.h                | 2 +-
 include/core/state_block/state_homogeneous_3d.h               | 4 ++--
 include/core/state_block/state_quaternion.h                   | 4 ++--
 include/core/trajectory/trajectory_base.h                     | 4 ++--
 include/core/tree_manager/factory_tree_manager.h              | 4 ++--
 include/core/tree_manager/tree_manager_base.h                 | 4 ++--
 include/core/tree_manager/tree_manager_sliding_window.h       | 4 ++--
 .../core/tree_manager/tree_manager_sliding_window_dual_rate.h | 4 ++--
 include/core/utils/check_log.h                                | 4 ++--
 include/core/utils/eigen_assert.h                             | 4 ++--
 include/core/utils/folder_registry.h                          | 4 ++--
 include/core/utils/graph_search.h                             | 4 ++--
 include/core/utils/loader.h                                   | 4 ++--
 include/core/utils/logging.h                                  | 4 ++--
 include/core/utils/singleton.h                                | 4 ++--
 include/core/utils/utils_gtest.h                              | 4 ++--
 src/capture/capture_base.cpp                                  | 2 +-
 src/capture/capture_diff_drive.cpp                            | 2 +-
 src/capture/capture_landmarks_external.cpp                    | 2 +-
 src/capture/capture_motion.cpp                                | 2 +-
 src/capture/capture_odom_2d.cpp                               | 2 +-
 src/capture/capture_odom_3d.cpp                               | 2 +-
 src/capture/capture_pose.cpp                                  | 2 +-
 src/capture/capture_void.cpp                                  | 2 +-
 src/ceres_wrapper/local_parametrization_wrapper.cpp           | 2 +-
 src/ceres_wrapper/qr_manager.cpp                              | 2 +-
 src/ceres_wrapper/solver_ceres.cpp                            | 2 +-
 src/common/node_base.cpp                                      | 2 +-
 src/common/node_state_blocks.cpp                              | 2 +-
 src/common/time_stamp.cpp                                     | 2 +-
 src/composite/matrix_composite.cpp                            | 2 +-
 src/composite/spec_state_composite.cpp                        | 4 ++--
 src/composite/spec_state_sensor_composite.cpp                 | 4 ++--
 src/composite/state_composite.cpp                             | 2 +-
 src/composite/vector_composite.cpp                            | 4 ++--
 src/factor/factor_analytic.cpp                                | 2 +-
 src/factor/factor_base.cpp                                    | 2 +-
 src/feature/feature_base.cpp                                  | 2 +-
 src/feature/feature_diff_drive.cpp                            | 2 +-
 src/feature/feature_motion.cpp                                | 2 +-
 src/feature/feature_odom_2d.cpp                               | 2 +-
 src/feature/feature_pose.cpp                                  | 2 +-
 src/frame/frame_base.cpp                                      | 2 +-
 src/hardware/hardware_base.cpp                                | 2 +-
 src/landmark/landmark_base.cpp                                | 4 ++--
 src/map/map_base.cpp                                          | 2 +-
 src/problem/problem.cpp                                       | 2 +-
 src/processor/motion_buffer.cpp                               | 2 +-
 src/processor/motion_provider.cpp                             | 2 +-
 src/processor/processor_base.cpp                              | 2 +-
 src/processor/processor_diff_drive.cpp                        | 2 +-
 src/processor/processor_fixed_wing_model.cpp                  | 2 +-
 src/processor/processor_landmark_external.cpp                 | 2 +-
 src/processor/processor_loop_closure.cpp                      | 2 +-
 src/processor/processor_motion.cpp                            | 2 +-
 src/processor/processor_odom_2d.cpp                           | 2 +-
 src/processor/processor_odom_3d.cpp                           | 2 +-
 src/processor/processor_tracker.cpp                           | 2 +-
 src/processor/processor_tracker_feature.cpp                   | 2 +-
 src/processor/processor_tracker_landmark.cpp                  | 2 +-
 src/processor/track_matrix.cpp                                | 2 +-
 src/sensor/sensor_base.cpp                                    | 2 +-
 src/sensor/sensor_diff_drive.cpp                              | 2 +-
 src/sensor/sensor_motion_model.cpp                            | 2 +-
 src/solver/solver_manager.cpp                                 | 2 +-
 src/solver_suitesparse/solver_manager.cpp                     | 2 +-
 src/state_block/local_parametrization_base.cpp                | 2 +-
 src/state_block/local_parametrization_homogeneous.cpp         | 2 +-
 src/state_block/local_parametrization_quaternion.cpp          | 2 +-
 src/state_block/state_block.cpp                               | 4 ++--
 src/state_block/state_block_derived.cpp                       | 4 ++--
 src/trajectory/trajectory_base.cpp                            | 2 +-
 src/tree_manager/tree_manager_sliding_window.cpp              | 2 +-
 src/tree_manager/tree_manager_sliding_window_dual_rate.cpp    | 2 +-
 src/utils/check_log.cpp                                       | 2 +-
 src/utils/graph_search.cpp                                    | 2 +-
 src/utils/loader.cpp                                          | 4 ++--
 test/dummy/dummy_object.h                                     | 4 ++--
 test/dummy/dummy_object_derived.cpp                           | 4 ++--
 test/dummy/dummy_object_derived.h                             | 4 ++--
 test/dummy/dummy_object_derived_derived.cpp                   | 4 ++--
 test/dummy/dummy_object_derived_derived.h                     | 4 ++--
 test/dummy/factor_dummy.h                                     | 4 ++--
 test/dummy/factor_dummy_zero_1.h                              | 4 ++--
 test/dummy/factor_dummy_zero_15.h                             | 4 ++--
 test/dummy/factor_feature_dummy.h                             | 4 ++--
 test/dummy/factor_landmark_dummy.h                            | 4 ++--
 test/dummy/factor_odom_2d_autodiff.h                          | 4 ++--
 test/dummy/factory_dummy_object.h                             | 4 ++--
 test/dummy/landmark_dummy.h                                   | 2 +-
 test/dummy/node_state_blocks_dummy.h                          | 4 ++--
 test/dummy/processor_loop_closure_dummy.h                     | 4 ++--
 test/dummy/processor_motion_provider_dummy.h                  | 4 ++--
 test/dummy/processor_tracker_feature_dummy.cpp                | 2 +-
 test/dummy/processor_tracker_feature_dummy.h                  | 4 ++--
 test/dummy/processor_tracker_landmark_dummy.cpp               | 2 +-
 test/dummy/processor_tracker_landmark_dummy.h                 | 4 ++--
 test/dummy/sensor_dummy.h                                     | 4 ++--
 test/dummy/solver_manager_dummy.h                             | 4 ++--
 test/dummy/tree_manager_dummy.h                               | 4 ++--
 test/gtest_SE2.cpp                                            | 2 +-
 test/gtest_SE3.cpp                                            | 2 +-
 test/gtest_buffer_frame.cpp                                   | 2 +-
 test/gtest_capture_base.cpp                                   | 2 +-
 test/gtest_converter.cpp                                      | 2 +-
 test/gtest_emplace.cpp                                        | 2 +-
 test/gtest_example.cpp                                        | 2 +-
 test/gtest_factor_absolute.cpp                                | 2 +-
 test/gtest_factor_autodiff.cpp                                | 2 +-
 test/gtest_factor_base.cpp                                    | 2 +-
 test/gtest_factor_block_difference.cpp                        | 2 +-
 test/gtest_factor_diff_drive.cpp                              | 2 +-
 test/gtest_factor_distance_3d.cpp                             | 2 +-
 test/gtest_factor_odom_2d_autodiff.cpp                        | 2 +-
 test/gtest_factor_pose_2d.cpp                                 | 2 +-
 test/gtest_factor_pose_2d_with_extrinsics.cpp                 | 2 +-
 test/gtest_factor_pose_3d.cpp                                 | 2 +-
 test/gtest_factor_pose_3d_with_extrinsics.cpp                 | 2 +-
 test/gtest_factor_prior.cpp                                   | 2 +-
 test/gtest_factor_relative_pose_2d.cpp                        | 2 +-
 test/gtest_factor_relative_pose_2d_with_extrinsics.cpp        | 2 +-
 test/gtest_factor_relative_pose_3d.cpp                        | 2 +-
 test/gtest_factor_relative_pose_3d_with_extrinsics.cpp        | 2 +-
 test/gtest_factor_relative_position_2d.cpp                    | 2 +-
 test/gtest_factor_relative_position_2d_with_extrinsics.cpp    | 2 +-
 test/gtest_factor_relative_position_3d.cpp                    | 2 +-
 test/gtest_factor_relative_position_3d_with_extrinsics.cpp    | 2 +-
 test/gtest_factor_velocity_local_direction_3d.cpp             | 2 +-
 test/gtest_factory.cpp                                        | 2 +-
 test/gtest_factory_state_block.cpp                            | 2 +-
 test/gtest_feature_base.cpp                                   | 2 +-
 test/gtest_frame_base.cpp                                     | 2 +-
 test/gtest_graph_search.cpp                                   | 2 +-
 test/gtest_local_param.cpp                                    | 2 +-
 test/gtest_logging.cpp                                        | 2 +-
 test/gtest_make_posdef.cpp                                    | 2 +-
 test/gtest_map_yaml.cpp                                       | 2 +-
 test/gtest_matrix_composite.cpp                               | 2 +-
 test/gtest_motion_buffer.cpp                                  | 2 +-
 test/gtest_motion_provider.cpp                                | 2 +-
 test/gtest_node_state_blocks.cpp                              | 2 +-
 test/gtest_odom_2d.cpp                                        | 2 +-
 test/gtest_problem.cpp                                        | 2 +-
 test/gtest_processor_and_factor_pose_3d_with_extrinsics.cpp   | 2 +-
 test/gtest_processor_base.cpp                                 | 2 +-
 test/gtest_processor_diff_drive.cpp                           | 2 +-
 test/gtest_processor_fixed_wing_model.cpp                     | 2 +-
 test/gtest_processor_landmark_external.cpp                    | 2 +-
 test/gtest_processor_loop_closure.cpp                         | 2 +-
 test/gtest_processor_motion.cpp                               | 2 +-
 test/gtest_processor_odom_3d.cpp                              | 2 +-
 test/gtest_processor_tracker_feature_dummy.cpp                | 2 +-
 test/gtest_processor_tracker_landmark_dummy.cpp               | 2 +-
 test/gtest_rotation.cpp                                       | 2 +-
 test/gtest_schema.cpp                                         | 2 +-
 test/gtest_sensor_base.cpp                                    | 2 +-
 test/gtest_sensor_diff_drive.cpp                              | 2 +-
 test/gtest_sensor_odom.cpp                                    | 2 +-
 test/gtest_sensor_pose.cpp                                    | 2 +-
 test/gtest_shared_from_this.cpp                               | 2 +-
 test/gtest_solver_ceres.cpp                                   | 2 +-
 test/gtest_solver_ceres_multithread.cpp                       | 2 +-
 test/gtest_solver_manager.cpp                                 | 2 +-
 test/gtest_solver_manager_multithread.cpp                     | 2 +-
 test/gtest_spec_state_composite.cpp                           | 2 +-
 test/gtest_spec_state_sensor_composite.cpp                    | 2 +-
 test/gtest_state_block.cpp                                    | 2 +-
 test/gtest_state_composite.cpp                                | 2 +-
 test/gtest_time_stamp.cpp                                     | 2 +-
 test/gtest_track_matrix.cpp                                   | 2 +-
 test/gtest_trajectory.cpp                                     | 2 +-
 test/gtest_tree_manager.cpp                                   | 2 +-
 test/gtest_tree_manager_sliding_window.cpp                    | 2 +-
 test/gtest_tree_manager_sliding_window_dual_rate.cpp          | 2 +-
 test/gtest_vector_composite.cpp                               | 2 +-
 .../{license_header_2022.txt => license_header_2023.txt}      | 2 +-
 wolf_scripts/templates/class_template.cpp                     | 2 +-
 wolf_scripts/templates/class_template.h                       | 4 ++--
 wolf_scripts/templates/gtest_template.cpp                     | 2 +-
 310 files changed, 465 insertions(+), 465 deletions(-)
 rename wolf_scripts/{license_header_2022.txt => license_header_2023.txt} (88%)

diff --git a/demos/demo_analytic_autodiff_factor.cpp b/demos/demo_analytic_autodiff_factor.cpp
index 1eecc5f45..14cd2b38b 100644
--- a/demos/demo_analytic_autodiff_factor.cpp
+++ b/demos/demo_analytic_autodiff_factor.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/demo_wolf_imported_graph.cpp b/demos/demo_wolf_imported_graph.cpp
index 3755ef18c..2927f5914 100644
--- a/demos/demo_wolf_imported_graph.cpp
+++ b/demos/demo_wolf_imported_graph.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/hello_wolf/capture_range_bearing.cpp b/demos/hello_wolf/capture_range_bearing.cpp
index f5756924b..04bb11156 100644
--- a/demos/hello_wolf/capture_range_bearing.cpp
+++ b/demos/hello_wolf/capture_range_bearing.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/hello_wolf/capture_range_bearing.h b/demos/hello_wolf/capture_range_bearing.h
index a57f78a8f..34728e4fa 100644
--- a/demos/hello_wolf/capture_range_bearing.h
+++ b/demos/hello_wolf/capture_range_bearing.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -91,4 +91,4 @@ inline Eigen::Vector2d CaptureRangeBearing::getRangeBearing(int _i) const
     return Vector2d(ranges_(_i), bearings_(_i));
 }
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/demos/hello_wolf/factor_bearing.h b/demos/hello_wolf/factor_bearing.h
index 8e62a6470..0799f3881 100644
--- a/demos/hello_wolf/factor_bearing.h
+++ b/demos/hello_wolf/factor_bearing.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -115,4 +115,4 @@ inline bool FactorBearing::operator ()( const T* const _p_w_r,
     return true;
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/demos/hello_wolf/factor_range_bearing.h b/demos/hello_wolf/factor_range_bearing.h
index 3a3d4e47d..47bcb8531 100644
--- a/demos/hello_wolf/factor_range_bearing.h
+++ b/demos/hello_wolf/factor_range_bearing.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -146,4 +146,4 @@ inline bool FactorRangeBearing::operator()(const T* const _p_w_r,  // robot posi
     return true;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/demos/hello_wolf/feature_range_bearing.cpp b/demos/hello_wolf/feature_range_bearing.cpp
index 5ae7e031e..280423a8d 100644
--- a/demos/hello_wolf/feature_range_bearing.cpp
+++ b/demos/hello_wolf/feature_range_bearing.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/hello_wolf/feature_range_bearing.h b/demos/hello_wolf/feature_range_bearing.h
index acb5ac8d0..d02ad0fcf 100644
--- a/demos/hello_wolf/feature_range_bearing.h
+++ b/demos/hello_wolf/feature_range_bearing.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -35,4 +35,4 @@ class FeatureRangeBearing : public FeatureBase
         ~FeatureRangeBearing() override;
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/demos/hello_wolf/hello_wolf.cpp b/demos/hello_wolf/hello_wolf.cpp
index d316337e3..a049713d4 100644
--- a/demos/hello_wolf/hello_wolf.cpp
+++ b/demos/hello_wolf/hello_wolf.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/hello_wolf/hello_wolf_autoconf.cpp b/demos/hello_wolf/hello_wolf_autoconf.cpp
index 35051391b..c2b654b9c 100644
--- a/demos/hello_wolf/hello_wolf_autoconf.cpp
+++ b/demos/hello_wolf/hello_wolf_autoconf.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/hello_wolf/landmark_point_2d.cpp b/demos/hello_wolf/landmark_point_2d.cpp
index 8a741637a..ad6f0d105 100644
--- a/demos/hello_wolf/landmark_point_2d.cpp
+++ b/demos/hello_wolf/landmark_point_2d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/hello_wolf/landmark_point_2d.h b/demos/hello_wolf/landmark_point_2d.h
index ce0eec818..f3516eb1d 100644
--- a/demos/hello_wolf/landmark_point_2d.h
+++ b/demos/hello_wolf/landmark_point_2d.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -35,4 +35,4 @@ class LandmarkPoint2d : public LandmarkBase
         ~LandmarkPoint2d() override;
 };
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/demos/hello_wolf/processor_range_bearing.cpp b/demos/hello_wolf/processor_range_bearing.cpp
index 5cace0ba1..095619fee 100644
--- a/demos/hello_wolf/processor_range_bearing.cpp
+++ b/demos/hello_wolf/processor_range_bearing.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/hello_wolf/processor_range_bearing.h b/demos/hello_wolf/processor_range_bearing.h
index 452bbd653..236f624db 100644
--- a/demos/hello_wolf/processor_range_bearing.h
+++ b/demos/hello_wolf/processor_range_bearing.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -109,4 +109,4 @@ inline void ProcessorRangeBearing::configure(SensorBasePtr _sensor)
     H_r_s = transform(_sensor->getP()->getState(), _sensor->getO()->getState());
 }
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/demos/hello_wolf/sensor_range_bearing.cpp b/demos/hello_wolf/sensor_range_bearing.cpp
index 971489c32..8ac328c99 100644
--- a/demos/hello_wolf/sensor_range_bearing.cpp
+++ b/demos/hello_wolf/sensor_range_bearing.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/hello_wolf/sensor_range_bearing.h b/demos/hello_wolf/sensor_range_bearing.h
index 3cc4b5fe3..396dc5e27 100644
--- a/demos/hello_wolf/sensor_range_bearing.h
+++ b/demos/hello_wolf/sensor_range_bearing.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -67,4 +67,4 @@ class SensorRangeBearing : public SensorBase
     Eigen::MatrixXd computeNoiseCov(const Eigen::VectorXd& _data) const override;
 };
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/demos/solver/test_SPQR.cpp b/demos/solver/test_SPQR.cpp
index 56df88821..aceb9ffdd 100644
--- a/demos/solver/test_SPQR.cpp
+++ b/demos/solver/test_SPQR.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/solver/test_ccolamd.cpp b/demos/solver/test_ccolamd.cpp
index 126fa7f86..83940c3f5 100644
--- a/demos/solver/test_ccolamd.cpp
+++ b/demos/solver/test_ccolamd.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/solver/test_ccolamd_blocks.cpp b/demos/solver/test_ccolamd_blocks.cpp
index 2d8263343..28aa56950 100644
--- a/demos/solver/test_ccolamd_blocks.cpp
+++ b/demos/solver/test_ccolamd_blocks.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/solver/test_iQR.cpp b/demos/solver/test_iQR.cpp
index ba4ae194a..d137aef0c 100644
--- a/demos/solver/test_iQR.cpp
+++ b/demos/solver/test_iQR.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/solver/test_iQR_wolf.cpp b/demos/solver/test_iQR_wolf.cpp
index 4ffc4a0bf..4942f9b87 100644
--- a/demos/solver/test_iQR_wolf.cpp
+++ b/demos/solver/test_iQR_wolf.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/solver/test_iQR_wolf2.cpp b/demos/solver/test_iQR_wolf2.cpp
index db8ab2ec0..e40f030ef 100644
--- a/demos/solver/test_iQR_wolf2.cpp
+++ b/demos/solver/test_iQR_wolf2.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/solver/test_incremental_ccolamd_blocks.cpp b/demos/solver/test_incremental_ccolamd_blocks.cpp
index f0eabf66c..dcd91fc51 100644
--- a/demos/solver/test_incremental_ccolamd_blocks.cpp
+++ b/demos/solver/test_incremental_ccolamd_blocks.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/demos/solver/test_permutations.cpp b/demos/solver/test_permutations.cpp
index 6724ea83f..72ce307e5 100644
--- a/demos/solver/test_permutations.cpp
+++ b/demos/solver/test_permutations.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/core/capture/capture_base.h b/include/core/capture/capture_base.h
index ea829b50c..ba0605341 100644
--- a/include/core/capture/capture_base.h
+++ b/include/core/capture/capture_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -269,4 +269,4 @@ inline void CaptureBase::setTimeStampToNow()
     time_stamp_.setToNow();
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/capture/capture_diff_drive.h b/include/core/capture/capture_diff_drive.h
index 45ead93cd..f046fad5a 100644
--- a/include/core/capture/capture_diff_drive.h
+++ b/include/core/capture/capture_diff_drive.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -53,4 +53,4 @@ public:
         ~CaptureDiffDrive() override = default;
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/capture/capture_landmarks_external.h b/include/core/capture/capture_landmarks_external.h
index 27af193e1..58fa079d4 100644
--- a/include/core/capture/capture_landmarks_external.h
+++ b/include/core/capture/capture_landmarks_external.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -58,4 +58,4 @@ class CaptureLandmarksExternal : public CaptureBase
         void addDetection(const int& _id, const Eigen::VectorXd& _detection, const Eigen::MatrixXd& _cov, const double& quality);
 };
 
-} //namespace wolf
\ No newline at end of file
+} //namespace wolf
diff --git a/include/core/capture/capture_motion.h b/include/core/capture/capture_motion.h
index 4539fb12d..d68347954 100644
--- a/include/core/capture/capture_motion.h
+++ b/include/core/capture/capture_motion.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -213,4 +213,4 @@ inline MatrixXd CaptureMotion::getDeltaPreintCov(const TimeStamp& _ts) const
     return getBuffer().getMotion(_ts).delta_integr_cov_;
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/capture/capture_odom_2d.h b/include/core/capture/capture_odom_2d.h
index e580ffdbb..7d918ce4d 100644
--- a/include/core/capture/capture_odom_2d.h
+++ b/include/core/capture/capture_odom_2d.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -48,4 +48,4 @@ class CaptureOdom2d : public CaptureMotion
 
 };
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/capture/capture_odom_3d.h b/include/core/capture/capture_odom_3d.h
index 5db3da878..43ad8b434 100644
--- a/include/core/capture/capture_odom_3d.h
+++ b/include/core/capture/capture_odom_3d.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -48,4 +48,4 @@ class CaptureOdom3d : public CaptureMotion
 
 };
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/capture/capture_pose.h b/include/core/capture/capture_pose.h
index b9787fa3a..0c536f3f6 100644
--- a/include/core/capture/capture_pose.h
+++ b/include/core/capture/capture_pose.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -57,4 +57,4 @@ class CapturePose : public CaptureBase
         void setDataCovariance(const Eigen::MatrixXd& _data_covariance);
 };
 
-} //namespace wolf
\ No newline at end of file
+} //namespace wolf
diff --git a/include/core/capture/capture_void.h b/include/core/capture/capture_void.h
index 4c388f387..c7592db16 100644
--- a/include/core/capture/capture_void.h
+++ b/include/core/capture/capture_void.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -38,4 +38,4 @@ class CaptureVoid : public CaptureBase
 
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/ceres_wrapper/cost_function_wrapper.h b/include/core/ceres_wrapper/cost_function_wrapper.h
index 43b59c7f6..8d097bfc4 100644
--- a/include/core/ceres_wrapper/cost_function_wrapper.h
+++ b/include/core/ceres_wrapper/cost_function_wrapper.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -74,4 +74,4 @@ inline FactorBasePtr CostFunctionWrapper::getFactor() const
     return factor_ptr_;
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/ceres_wrapper/create_numeric_diff_cost_function.h b/include/core/ceres_wrapper/create_numeric_diff_cost_function.h
index 35886e5cf..9662dbf10 100644
--- a/include/core/ceres_wrapper/create_numeric_diff_cost_function.h
+++ b/include/core/ceres_wrapper/create_numeric_diff_cost_function.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -58,4 +58,4 @@ inline std::shared_ptr<ceres::CostFunction> createNumericDiffCostFunction(Factor
 //    }
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/ceres_wrapper/iteration_update_callback.h b/include/core/ceres_wrapper/iteration_update_callback.h
index 2e223ed97..638c0213e 100644
--- a/include/core/ceres_wrapper/iteration_update_callback.h
+++ b/include/core/ceres_wrapper/iteration_update_callback.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -68,4 +68,4 @@ class IterationUpdateCallback : public ceres::IterationCallback
         bool verbose_;
 };
 
-}
\ No newline at end of file
+}
diff --git a/include/core/ceres_wrapper/local_parametrization_wrapper.h b/include/core/ceres_wrapper/local_parametrization_wrapper.h
index 4078a974b..e84edb7de 100644
--- a/include/core/ceres_wrapper/local_parametrization_wrapper.h
+++ b/include/core/ceres_wrapper/local_parametrization_wrapper.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -82,4 +82,4 @@ inline LocalParametrizationBasePtr LocalParametrizationWrapper::getLocalParametr
     return local_parametrization_ptr_;
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/ceres_wrapper/qr_manager.h b/include/core/ceres_wrapper/qr_manager.h
index 73906bb8b..e6cf20c00 100644
--- a/include/core/ceres_wrapper/qr_manager.h
+++ b/include/core/ceres_wrapper/qr_manager.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -70,4 +70,4 @@ class QRManager : public SolverManager
         void relinearizeFactor(FactorBasePtr _fac_ptr);
 };
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/ceres_wrapper/solver_ceres.h b/include/core/ceres_wrapper/solver_ceres.h
index af87fd75c..b9b6d46c4 100644
--- a/include/core/ceres_wrapper/solver_ceres.h
+++ b/include/core/ceres_wrapper/solver_ceres.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -261,4 +261,4 @@ inline int SolverCeres::numFactorsDerived() const
     return ceres_problem_->NumResidualBlocks();
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/ceres_wrapper/sparse_utils.h b/include/core/ceres_wrapper/sparse_utils.h
index 314a31bb9..dc9566390 100644
--- a/include/core/ceres_wrapper/sparse_utils.h
+++ b/include/core/ceres_wrapper/sparse_utils.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -116,4 +116,4 @@ void getDiagonalBlocks(const Eigen::SparseMatrix<double,_Options,_StorageIndex>&
         diag_.push_back(Eigen::MatrixXd(_M.block(i,i,dim,dim)));
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/ceres_wrapper/wolf_jet.h b/include/core/ceres_wrapper/wolf_jet.h
index 6300dcf6b..5b17704c2 100644
--- a/include/core/ceres_wrapper/wolf_jet.h
+++ b/include/core/ceres_wrapper/wolf_jet.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -48,4 +48,4 @@ inline Jet<double, N> remainder(const Jet<double, N>& _x, long double _y)
     res.a = remainder(_x.a, _y);
     return res;
 }
-}
\ No newline at end of file
+}
diff --git a/include/core/common/factory.h b/include/core/common/factory.h
index 7ee642b84..80eea81f5 100644
--- a/include/core/common/factory.h
+++ b/include/core/common/factory.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -406,4 +406,4 @@ namespace wolf
 #define UNUSED(x) x
 #endif
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/common/node_base.h b/include/core/common/node_base.h
index febc63cd8..c4fd609f9 100644
--- a/include/core/common/node_base.h
+++ b/include/core/common/node_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -176,4 +176,4 @@ inline void NodeBase::setProblem(ProblemPtr _prob_ptr)
     problem_ptr_ = _prob_ptr;
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/common/node_state_blocks.h b/include/core/common/node_state_blocks.h
index c12ad8a7f..6bd42e78b 100644
--- a/include/core/common/node_state_blocks.h
+++ b/include/core/common/node_state_blocks.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -390,4 +390,4 @@ inline bool NodeStateBlocks::isSensor() const
     return std::dynamic_pointer_cast<const SensorBase>(shared_from_this()) != nullptr;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/common/params_base.h b/include/core/common/params_base.h
index 168af730a..9c78244bc 100644
--- a/include/core/common/params_base.h
+++ b/include/core/common/params_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/core/common/time_stamp.h b/include/core/common/time_stamp.h
index cda69dd4a..cb381117b 100644
--- a/include/core/common/time_stamp.h
+++ b/include/core/common/time_stamp.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -309,4 +309,4 @@ inline double TimeStamp::operator -(const TimeStamp& ts) const
     return double((long int)(time_stamp_nano_ - ts.time_stamp_nano_))*1e-9; // long int cast fix overflow in case of negative substraction result
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/common/wolf.h b/include/core/common/wolf.h
index ec2b9ec6a..1045c79df 100644
--- a/include/core/common/wolf.h
+++ b/include/core/common/wolf.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -340,4 +340,4 @@ inline const Eigen::Vector3d gravity(void) {
 // Schema folder registry
 WOLF_REGISTER_FOLDER(_WOLF_SCHEMA_DIR);
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/composite/composite.h b/include/core/composite/composite.h
index b85d2625e..86c647773 100644
--- a/include/core/composite/composite.h
+++ b/include/core/composite/composite.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -204,4 +204,4 @@ struct convert<wolf::Composite<T>>
         return true;
     }
 };
-}  // namespace YAML
\ No newline at end of file
+}  // namespace YAML
diff --git a/include/core/composite/matrix_composite.h b/include/core/composite/matrix_composite.h
index 0915d12e5..6e89b9a83 100644
--- a/include/core/composite/matrix_composite.h
+++ b/include/core/composite/matrix_composite.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -224,4 +224,4 @@ inline unsigned int MatrixComposite::count(const char &_row, const char &_col) c
         return rit->second.count(_col);
 }
 
-}
\ No newline at end of file
+}
diff --git a/include/core/composite/spec_state_composite.h b/include/core/composite/spec_state_composite.h
index 79c2e668a..1c91f6d9c 100644
--- a/include/core/composite/spec_state_composite.h
+++ b/include/core/composite/spec_state_composite.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -187,4 +187,4 @@ struct convert<wolf::SpecState>
         return true;
     }
 };
-}  // namespace YAML
\ No newline at end of file
+}  // namespace YAML
diff --git a/include/core/composite/spec_state_sensor_composite.h b/include/core/composite/spec_state_sensor_composite.h
index 789f3698c..83c5c3f0d 100644
--- a/include/core/composite/spec_state_sensor_composite.h
+++ b/include/core/composite/spec_state_sensor_composite.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -88,4 +88,4 @@ struct convert<wolf::SpecStateSensor>
         return true;
     }
 };
-}  // namespace YAML
\ No newline at end of file
+}  // namespace YAML
diff --git a/include/core/composite/state_composite.h b/include/core/composite/state_composite.h
index c71587c02..55386e1dd 100644
--- a/include/core/composite/state_composite.h
+++ b/include/core/composite/state_composite.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -115,4 +115,4 @@ inline std::shared_ptr<SB> wolf::StateBlockComposite::emplace(const char& _sb_ty
     return sb;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/composite/type_composite.h b/include/core/composite/type_composite.h
index a74e0204a..4ce1713eb 100644
--- a/include/core/composite/type_composite.h
+++ b/include/core/composite/type_composite.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -125,4 +125,4 @@ inline void checkTypeComposite(const TypeComposite& _types, SizeEigen _dim)
     }
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/composite/vector_composite.h b/include/core/composite/vector_composite.h
index 8a766cdef..a7ff89605 100644
--- a/include/core/composite/vector_composite.h
+++ b/include/core/composite/vector_composite.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -81,4 +81,4 @@ class VectorComposite : public Composite<Eigen::VectorXd>
         friend std::ostream& operator <<(std::ostream &_os, const wolf::VectorComposite &_x);
 };
 
-}
\ No newline at end of file
+}
diff --git a/include/core/factor/factor_analytic.h b/include/core/factor/factor_analytic.h
index b8e17e780..1a3c84352 100644
--- a/include/core/factor/factor_analytic.h
+++ b/include/core/factor/factor_analytic.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -92,4 +92,4 @@ class FactorAnalytic : public FactorBase
     virtual void evaluateUnweightedJacobians(std::vector<Eigen::MatrixXd>& jacobians) const = 0;
 };
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_autodiff.h b/include/core/factor/factor_autodiff.h
index eba7cb7a5..86fa4bdd9 100644
--- a/include/core/factor/factor_autodiff.h
+++ b/include/core/factor/factor_autodiff.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -3048,4 +3048,4 @@ template <class FacT, unsigned int RES, unsigned int B0>
 const std::vector<unsigned int>
     FactorAutodiff<FacT, RES, B0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>::jacobian_locations_ = {0};
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_base.h b/include/core/factor/factor_base.h
index bd7183d89..1f4896de4 100644
--- a/include/core/factor/factor_base.h
+++ b/include/core/factor/factor_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -449,4 +449,4 @@ inline double FactorBase::cost() const
     return residual().squaredNorm();
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_block_absolute.h b/include/core/factor/factor_block_absolute.h
index 74e117b7d..c8eb94db6 100644
--- a/include/core/factor/factor_block_absolute.h
+++ b/include/core/factor/factor_block_absolute.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -246,4 +246,4 @@ inline unsigned int FactorBlockAbsolute::getSize() const
     return sb_constrained_size_;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_block_difference.h b/include/core/factor/factor_block_difference.h
index a4ef4bbe1..23889da8e 100644
--- a/include/core/factor/factor_block_difference.h
+++ b/include/core/factor/factor_block_difference.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -291,4 +291,4 @@ inline unsigned int FactorBlockDifference::getSize() const
     return sb_constrained_size_;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_diff_drive.h b/include/core/factor/factor_diff_drive.h
index 1ca42694c..83826f25d 100644
--- a/include/core/factor/factor_diff_drive.h
+++ b/include/core/factor/factor_diff_drive.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -162,4 +162,4 @@ inline bool FactorDiffDrive::operator()(const T* const _p1,
 //     return residual;
 // }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_distance_3d.h b/include/core/factor/factor_distance_3d.h
index 3b46304f9..60839b581 100644
--- a/include/core/factor/factor_distance_3d.h
+++ b/include/core/factor/factor_distance_3d.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -81,4 +81,4 @@ class FactorDistance3d : public FactorAutodiff<FactorDistance3d, 1, 3, 3>
     }
 };
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/factor/factor_pose_2d.h b/include/core/factor/factor_pose_2d.h
index d815277e6..92770b9d1 100644
--- a/include/core/factor/factor_pose_2d.h
+++ b/include/core/factor/factor_pose_2d.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -104,4 +104,4 @@ inline bool FactorPose2d::operator()(const T* const _p, const T* const _o, T* _r
     return true;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_pose_2d_with_extrinsics.h b/include/core/factor/factor_pose_2d_with_extrinsics.h
index 3a6197f8a..0b2d57555 100644
--- a/include/core/factor/factor_pose_2d_with_extrinsics.h
+++ b/include/core/factor/factor_pose_2d_with_extrinsics.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -93,4 +93,4 @@ inline bool FactorPose2dWithExtrinsics::operator()(const T* const _p,
     return true;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_pose_3d.h b/include/core/factor/factor_pose_3d.h
index ac79f1c44..db54bd816 100644
--- a/include/core/factor/factor_pose_3d.h
+++ b/include/core/factor/factor_pose_3d.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -86,4 +86,4 @@ inline bool FactorPose3d::operator()(const T* const _p, const T* const _o, T* _r
     return true;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_pose_3d_with_extrinsics.h b/include/core/factor/factor_pose_3d_with_extrinsics.h
index 2500b9e83..af93967c1 100644
--- a/include/core/factor/factor_pose_3d_with_extrinsics.h
+++ b/include/core/factor/factor_pose_3d_with_extrinsics.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -154,4 +154,4 @@ inline bool FactorPose3dWithExtrinsics::operator()(const T* const _p,
     return true;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_quaternion_absolute.h b/include/core/factor/factor_quaternion_absolute.h
index eb78b163a..494639dd3 100644
--- a/include/core/factor/factor_quaternion_absolute.h
+++ b/include/core/factor/factor_quaternion_absolute.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -108,4 +108,4 @@ inline bool FactorQuaternionAbsolute::operator()(const T* const _o, T* _residual
     return true;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_relative_pose_2d.h b/include/core/factor/factor_relative_pose_2d.h
index 27dbe91c6..ce3a4fc6e 100644
--- a/include/core/factor/factor_relative_pose_2d.h
+++ b/include/core/factor/factor_relative_pose_2d.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -247,4 +247,4 @@ inline void FactorRelativePose2d::evaluateUnweightedJacobians(std::vector<Eigen:
     jacobians[3] = (Eigen::MatrixXd(3, 1) << 0, 0, 1).finished();
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_relative_pose_2d_with_extrinsics.h b/include/core/factor/factor_relative_pose_2d_with_extrinsics.h
index 3f4cedb28..caeac6ab3 100644
--- a/include/core/factor/factor_relative_pose_2d_with_extrinsics.h
+++ b/include/core/factor/factor_relative_pose_2d_with_extrinsics.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -223,4 +223,4 @@ inline bool FactorRelativePose2dWithExtrinsics::operator()(const T* const _p_ref
 //     return res;
 // }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_relative_pose_3d.h b/include/core/factor/factor_relative_pose_3d.h
index 2050b9328..bff11b104 100644
--- a/include/core/factor/factor_relative_pose_3d.h
+++ b/include/core/factor/factor_relative_pose_3d.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -255,4 +255,4 @@ inline bool FactorRelativePose3d::operator()(const T* const _p_ref,
     return true;
 }
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/factor/factor_relative_pose_3d_with_extrinsics.h b/include/core/factor/factor_relative_pose_3d_with_extrinsics.h
index 22ace9ac7..624da3306 100644
--- a/include/core/factor/factor_relative_pose_3d_with_extrinsics.h
+++ b/include/core/factor/factor_relative_pose_3d_with_extrinsics.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -222,4 +222,4 @@ inline bool FactorRelativePose3dWithExtrinsics::operator()(const T* const _p_ref
 //     return residual().squaredNorm();
 // }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_relative_position_2d.h b/include/core/factor/factor_relative_position_2d.h
index d0571cb29..53b6c33b7 100644
--- a/include/core/factor/factor_relative_position_2d.h
+++ b/include/core/factor/factor_relative_position_2d.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -221,4 +221,4 @@ inline void FactorRelativePosition2d::evaluateUnweightedJacobians(std::vector<Ei
                        .finished();
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_relative_position_2d_with_extrinsics.h b/include/core/factor/factor_relative_position_2d_with_extrinsics.h
index 935ab044e..7e692bcbc 100644
--- a/include/core/factor/factor_relative_position_2d_with_extrinsics.h
+++ b/include/core/factor/factor_relative_position_2d_with_extrinsics.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -134,4 +134,4 @@ inline bool FactorRelativePosition2dWithExtrinsics::operator()(const T* const _p
     return true;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_relative_position_3d.h b/include/core/factor/factor_relative_position_3d.h
index 92bd6f21f..1352f6f41 100644
--- a/include/core/factor/factor_relative_position_3d.h
+++ b/include/core/factor/factor_relative_position_3d.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -120,4 +120,4 @@ inline bool FactorRelativePosition3d::operator()(const T* const _p_ref,
     return true;
 }
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/factor/factor_relative_position_3d_with_extrinsics.h b/include/core/factor/factor_relative_position_3d_with_extrinsics.h
index ff1eb8880..248db530a 100644
--- a/include/core/factor/factor_relative_position_3d_with_extrinsics.h
+++ b/include/core/factor/factor_relative_position_3d_with_extrinsics.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -158,4 +158,4 @@ inline bool FactorRelativePosition3dWithExtrinsics::operator()(const T* const _p
 //     return residual().squaredNorm();
 // }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/factor/factor_velocity_local_direction_3d.h b/include/core/factor/factor_velocity_local_direction_3d.h
index 54b6a408c..b7e66002f 100644
--- a/include/core/factor/factor_velocity_local_direction_3d.h
+++ b/include/core/factor/factor_velocity_local_direction_3d.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -178,4 +178,4 @@ inline Eigen::Matrix<T, 2, 1> FactorVelocityLocalDirection3d::computeElevationAz
     return elev_azim;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/feature/feature_base.h b/include/core/feature/feature_base.h
index 5dd4fd8bc..fc699db24 100644
--- a/include/core/feature/feature_base.h
+++ b/include/core/feature/feature_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -249,4 +249,4 @@ inline void FeatureBase::setExpectation(const Eigen::VectorXd& expectation)
     expectation_ = expectation;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/feature/feature_diff_drive.h b/include/core/feature/feature_diff_drive.h
index 0698ff0a3..270bbfe9d 100644
--- a/include/core/feature/feature_diff_drive.h
+++ b/include/core/feature/feature_diff_drive.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -41,4 +41,4 @@ class FeatureDiffDrive : public FeatureMotion
 
 };
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/feature/feature_match.h b/include/core/feature/feature_match.h
index 6315fbf4a..5b6123ebe 100644
--- a/include/core/feature/feature_match.h
+++ b/include/core/feature/feature_match.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -50,4 +50,4 @@ struct FeatureMatch
         double normalized_score_;    ///< normalized similarity score (0 is bad, 1 is good)
 };
 
-}//end namespace
\ No newline at end of file
+}//end namespace
diff --git a/include/core/feature/feature_motion.h b/include/core/feature/feature_motion.h
index 0bcc316e6..9ae990fc0 100644
--- a/include/core/feature/feature_motion.h
+++ b/include/core/feature/feature_motion.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -63,4 +63,4 @@ inline const Eigen::MatrixXd& FeatureMotion::getJacobianCalibration() const
     return jacobian_calib_;
 }
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/feature/feature_odom_2d.h b/include/core/feature/feature_odom_2d.h
index d130ee00e..6238ee177 100644
--- a/include/core/feature/feature_odom_2d.h
+++ b/include/core/feature/feature_odom_2d.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -46,4 +46,4 @@ class FeatureOdom2d : public FeatureBase
         ~FeatureOdom2d() override;
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/feature/feature_pose.h b/include/core/feature/feature_pose.h
index 9d67e97fb..e2de87fc6 100644
--- a/include/core/feature/feature_pose.h
+++ b/include/core/feature/feature_pose.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -46,4 +46,4 @@ class FeaturePose : public FeatureBase
         ~FeaturePose() override;
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/frame/frame_base.h b/include/core/frame/frame_base.h
index 9ca58e148..c03e1f488 100644
--- a/include/core/frame/frame_base.h
+++ b/include/core/frame/frame_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -310,4 +310,4 @@ inline std::list<std::shared_ptr<C>> FrameBase::getCapturesOfType()
     return captures;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/hardware/hardware_base.h b/include/core/hardware/hardware_base.h
index 7ccbde7fb..1ab86bf03 100644
--- a/include/core/hardware/hardware_base.h
+++ b/include/core/hardware/hardware_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -101,4 +101,4 @@ inline bool HardwareBase::hasChildren() const
     return not sensor_list_.empty();
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/landmark/factory_landmark.h b/include/core/landmark/factory_landmark.h
index 8d8783ff2..544b63a11 100644
--- a/include/core/landmark/factory_landmark.h
+++ b/include/core/landmark/factory_landmark.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -157,4 +157,4 @@ inline std::string FactoryLandmark::getClass() const
   namespace{ const bool WOLF_UNUSED LandmarkType##Registered =                \
      FactoryLandmark::registerCreator(#LandmarkType, LandmarkType::create);}  \
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/landmark/landmark_base.h b/include/core/landmark/landmark_base.h
index af7abb4f0..5a75624c9 100644
--- a/include/core/landmark/landmark_base.h
+++ b/include/core/landmark/landmark_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -197,4 +197,4 @@ inline void LandmarkBase::setId(unsigned int _id)
     if (_id > landmark_id_count_) landmark_id_count_ = _id;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/landmark/landmark_match.h b/include/core/landmark/landmark_match.h
index aeb686207..86244b306 100644
--- a/include/core/landmark/landmark_match.h
+++ b/include/core/landmark/landmark_match.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -53,4 +53,4 @@ struct LandmarkMatch
     }
 };
 
-}//end namespace
\ No newline at end of file
+}//end namespace
diff --git a/include/core/map/factory_map.h b/include/core/map/factory_map.h
index 74fca7e2f..08469a7bb 100644
--- a/include/core/map/factory_map.h
+++ b/include/core/map/factory_map.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -119,4 +119,4 @@ inline std::string FactoryMap::getClass() const
   namespace{ const bool WOLF_UNUSED MapType##Registered =       \
      FactoryMap::registerCreator(#MapType, MapType::create); }  \
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/map/map_base.h b/include/core/map/map_base.h
index 130270f11..ff62bbaa5 100644
--- a/include/core/map/map_base.h
+++ b/include/core/map/map_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -143,4 +143,4 @@ inline LandmarkBasePtrList MapBase::getLandmarkList()
     return landmark_list_;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/math/SE2.h b/include/core/math/SE2.h
index c61b295c6..613cf19b9 100644
--- a/include/core/math/SE2.h
+++ b/include/core/math/SE2.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -512,4 +512,4 @@ inline Matrix<typename D1::Scalar, 3, 1> between(const MatrixBase<D1>& d1,
 }
 
 } // namespace SE2
-} // namespacs wolf
\ No newline at end of file
+} // namespacs wolf
diff --git a/include/core/math/SE3.h b/include/core/math/SE3.h
index 0f5a16b56..c0631d6d7 100644
--- a/include/core/math/SE3.h
+++ b/include/core/math/SE3.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -617,4 +617,4 @@ inline Matrix<typename D1::Scalar, 6, 6> jac_SE3_right(const MatrixBase<D1>& tan
 }
 
 } // namespace three_d
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/math/covariance.h b/include/core/math/covariance.h
index 4aa6304bd..9442e1fff 100644
--- a/include/core/math/covariance.h
+++ b/include/core/math/covariance.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -117,4 +117,4 @@ inline Eigen::MatrixXd computeSqrtUpper(const Eigen::MatrixXd & _info)
     return R;
 }
 
-}
\ No newline at end of file
+}
diff --git a/include/core/math/rotations.h b/include/core/math/rotations.h
index 4fce1da66..d4f00827a 100644
--- a/include/core/math/rotations.h
+++ b/include/core/math/rotations.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -648,4 +648,4 @@ diff(const Eigen::QuaternionBase<D1>& q1, const Eigen::QuaternionBase<D2>& q2)
     return minus(q1, q2);
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/problem/problem.h b/include/core/problem/problem.h
index ec68f7c92..d0cac85e1 100644
--- a/include/core/problem/problem.h
+++ b/include/core/problem/problem.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -469,4 +469,4 @@ inline void Problem::consumeNotifications(std::map<StateBlockPtr, Notification>&
     _fac_notification_map = std::move(factor_notification_map_);
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/processor/factory_processor.h b/include/core/processor/factory_processor.h
index 190268a72..c22c89606 100644
--- a/include/core/processor/factory_processor.h
+++ b/include/core/processor/factory_processor.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -136,4 +136,4 @@ inline std::string FactoryProcessorYaml::getClass() const
   namespace{ const bool WOLF_UNUSED ProcessorType##YamlRegistered =                           \
     wolf::FactoryProcessorYaml::registerCreator(#ProcessorType, ProcessorType::create); }     \
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/processor/motion_buffer.h b/include/core/processor/motion_buffer.h
index 7c1365a1e..0bccc3796 100644
--- a/include/core/processor/motion_buffer.h
+++ b/include/core/processor/motion_buffer.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -95,4 +95,4 @@ class MotionBuffer : public std::list<Motion>
         void print(bool show_data = 0, bool show_delta = 0, bool show_delta_int = 0, bool show_jacs = 0, bool show_covs = 0);
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/processor/motion_provider.h b/include/core/processor/motion_provider.h
index 0a7161293..6e201e5af 100644
--- a/include/core/processor/motion_provider.h
+++ b/include/core/processor/motion_provider.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -122,4 +122,4 @@ inline void MotionProvider::setOrder(int _order)
     params_motion_provider_->state_provider_order = _order;
 }
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/processor/processor_base.h b/include/core/processor/processor_base.h
index 042ea1988..73bb54e22 100644
--- a/include/core/processor/processor_base.h
+++ b/include/core/processor/processor_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -688,4 +688,4 @@ inline bool Buffer<T>::checkTimeTolerance(const TimeStamp& _time_stamp1,
     return pass;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/processor/processor_diff_drive.h b/include/core/processor/processor_diff_drive.h
index 725c33ef8..19a0ce207 100644
--- a/include/core/processor/processor_diff_drive.h
+++ b/include/core/processor/processor_diff_drive.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -96,4 +96,4 @@ inline void ProcessorDiffDrive::setCalibration (const CaptureBasePtr _capture, c
 }
 
 
-}
\ No newline at end of file
+}
diff --git a/include/core/processor/processor_fixed_wing_model.h b/include/core/processor/processor_fixed_wing_model.h
index 26e7d8867..492cf50a5 100644
--- a/include/core/processor/processor_fixed_wing_model.h
+++ b/include/core/processor/processor_fixed_wing_model.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -100,4 +100,4 @@ class ProcessorFixedWingModel : public ProcessorBase
         ParamsProcessorFixedWingModelPtr params_processor_;
 };
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/processor/processor_landmark_external.h b/include/core/processor/processor_landmark_external.h
index 14745c09f..acd87cc79 100644
--- a/include/core/processor/processor_landmark_external.h
+++ b/include/core/processor/processor_landmark_external.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -162,4 +162,4 @@ inline ProcessorLandmarkExternal::ProcessorLandmarkExternal(ParamsProcessorLandm
     //
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/processor/processor_loop_closure.h b/include/core/processor/processor_loop_closure.h
index 14c8324d4..72ba7f276 100644
--- a/include/core/processor/processor_loop_closure.h
+++ b/include/core/processor/processor_loop_closure.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -125,4 +125,4 @@ class ProcessorLoopClosure : public ProcessorBase
         bool voteForKeyFrame() const override { return false;};
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/processor/processor_motion.h b/include/core/processor/processor_motion.h
index af385b484..89fcff7c6 100644
--- a/include/core/processor/processor_motion.h
+++ b/include/core/processor/processor_motion.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -682,4 +682,4 @@ inline void ProcessorMotion::setAngleTurned(const double& _angle_turned)
     params_motion_->angle_turned = _angle_turned;
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/processor/processor_odom_2d.h b/include/core/processor/processor_odom_2d.h
index afdd11c67..83794f990 100644
--- a/include/core/processor/processor_odom_2d.h
+++ b/include/core/processor/processor_odom_2d.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -126,4 +126,4 @@ inline void ProcessorOdom2d::setCalibration (const CaptureBasePtr _capture, cons
 {
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/processor/processor_odom_3d.h b/include/core/processor/processor_odom_3d.h
index a06085407..881d7ced2 100644
--- a/include/core/processor/processor_odom_3d.h
+++ b/include/core/processor/processor_odom_3d.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -131,4 +131,4 @@ inline Eigen::VectorXd ProcessorOdom3d::deltaZero() const
     return (Eigen::VectorXd(7) << 0,0,0, 0,0,0,1).finished(); // p, q
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/processor/processor_pose.h b/include/core/processor/processor_pose.h
index 208a950ec..d19b0471d 100644
--- a/include/core/processor/processor_pose.h
+++ b/include/core/processor/processor_pose.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -227,4 +227,4 @@ namespace wolf
 {
 WOLF_REGISTER_PROCESSOR(ProcessorPose2d);
 WOLF_REGISTER_PROCESSOR(ProcessorPose3d);
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/processor/processor_tracker.h b/include/core/processor/processor_tracker.h
index 5db8de1f8..121929774 100644
--- a/include/core/processor/processor_tracker.h
+++ b/include/core/processor/processor_tracker.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -345,4 +345,4 @@ inline CaptureBasePtr ProcessorTracker::getIncoming()
     return incoming_ptr_;
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/processor/processor_tracker_feature.h b/include/core/processor/processor_tracker_feature.h
index 18e724e4e..1d11969a8 100644
--- a/include/core/processor/processor_tracker_feature.h
+++ b/include/core/processor/processor_tracker_feature.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -207,4 +207,4 @@ class ProcessorTrackerFeature : public ProcessorTracker
         void establishFactors() override;
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/processor/processor_tracker_landmark.h b/include/core/processor/processor_tracker_landmark.h
index b1f7a619e..0cb6f0ba7 100644
--- a/include/core/processor/processor_tracker_landmark.h
+++ b/include/core/processor/processor_tracker_landmark.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -197,4 +197,4 @@ class ProcessorTrackerLandmark : public ProcessorTracker
         void establishFactors() override;
 };
 
-}// namespace wolf
\ No newline at end of file
+}// namespace wolf
diff --git a/include/core/processor/track_matrix.h b/include/core/processor/track_matrix.h
index af045f432..ae81f82f2 100644
--- a/include/core/processor/track_matrix.h
+++ b/include/core/processor/track_matrix.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -140,4 +140,4 @@ class TrackMatrix
         map<CaptureBasePtr, Snapshot > snapshots_; // map indexed by capture_ptr of ( maps indexed by track_Id of ( features ) )
 };
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/sensor/factory_sensor.h b/include/core/sensor/factory_sensor.h
index 9445e9811..5861c8973 100644
--- a/include/core/sensor/factory_sensor.h
+++ b/include/core/sensor/factory_sensor.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -260,4 +260,4 @@ inline std::string FactorySensorFile::getClass() const
         FactorySensorFile::registerCreator(#SensorType, SensorType::create);                                          \
     }
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/sensor/sensor_base.h b/include/core/sensor/sensor_base.h
index 46476cabf..60ac9a8c1 100644
--- a/include/core/sensor/sensor_base.h
+++ b/include/core/sensor/sensor_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -391,4 +391,4 @@ inline void SensorBase::setHardware(const HardwareBasePtr _hw_ptr)
     hardware_ptr_ = _hw_ptr;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/sensor/sensor_diff_drive.h b/include/core/sensor/sensor_diff_drive.h
index 599263915..15d84041d 100644
--- a/include/core/sensor/sensor_diff_drive.h
+++ b/include/core/sensor/sensor_diff_drive.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -90,4 +90,4 @@ inline double SensorDiffDrive::getRadiansPerTick() const
     return 2.0 * M_PI / params_diff_drive_->ticks_per_wheel_revolution;
 }
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/sensor/sensor_motion_model.h b/include/core/sensor/sensor_motion_model.h
index 6ea6e1d4f..ce0016370 100644
--- a/include/core/sensor/sensor_motion_model.h
+++ b/include/core/sensor/sensor_motion_model.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -60,4 +60,4 @@ class SensorMotionModel : public SensorBase
     Eigen::MatrixXd computeNoiseCov(const Eigen::VectorXd& _data) const override;
 };
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/sensor/sensor_odom.h b/include/core/sensor/sensor_odom.h
index e47b15174..8b2124e6c 100644
--- a/include/core/sensor/sensor_odom.h
+++ b/include/core/sensor/sensor_odom.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -175,4 +175,4 @@ WOLF_DECLARED_PTR_TYPEDEFS(SensorOdom3d);
 WOLF_REGISTER_SENSOR(SensorOdom2d);
 WOLF_REGISTER_SENSOR(SensorOdom3d);
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/sensor/sensor_pose.h b/include/core/sensor/sensor_pose.h
index 60e945ac5..a549f5182 100644
--- a/include/core/sensor/sensor_pose.h
+++ b/include/core/sensor/sensor_pose.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/core/solver/factory_solver.h b/include/core/solver/factory_solver.h
index 96a8192f8..538ea43d3 100644
--- a/include/core/solver/factory_solver.h
+++ b/include/core/solver/factory_solver.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -67,4 +67,4 @@ inline std::string FactorySolverYaml::getClass() const
   namespace{ const bool WOLF_UNUSED SolverType##RegisteredYaml =                  \
      wolf::FactorySolverYaml::registerCreator(#SolverType, SolverType::create); } \
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/solver/solver_manager.h b/include/core/solver/solver_manager.h
index 3f8824ab5..9408aa1cf 100644
--- a/include/core/solver/solver_manager.h
+++ b/include/core/solver/solver_manager.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -275,4 +275,4 @@ struct ParamsSolver: public ParamsBase
         ~ParamsSolver() override = default;
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/solver_suitesparse/ccolamd_ordering.h b/include/core/solver_suitesparse/ccolamd_ordering.h
index e1187b9d9..7d547b06d 100644
--- a/include/core/solver_suitesparse/ccolamd_ordering.h
+++ b/include/core/solver_suitesparse/ccolamd_ordering.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -88,4 +88,4 @@ class CCOLAMDOrdering
             return info;
         }
 };
-}
\ No newline at end of file
+}
diff --git a/include/core/solver_suitesparse/cost_function_base.h b/include/core/solver_suitesparse/cost_function_base.h
index 8ae6a08f3..f41fa4d50 100644
--- a/include/core/solver_suitesparse/cost_function_base.h
+++ b/include/core/solver_suitesparse/cost_function_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -105,4 +105,4 @@ class CostFunctionBase
             for (unsigned int i = 0; i<n_blocks_; i++)
                 jacobians.at(i) = (*jacobians_.at(i));
         }
-};
\ No newline at end of file
+};
diff --git a/include/core/solver_suitesparse/cost_function_sparse.h b/include/core/solver_suitesparse/cost_function_sparse.h
index 9b18255db..4aa38325c 100644
--- a/include/core/solver_suitesparse/cost_function_sparse.h
+++ b/include/core/solver_suitesparse/cost_function_sparse.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -524,4 +524,4 @@ class CostFunctionSparse<FactorT,
         }
 };
 
-} //namespace wolf
\ No newline at end of file
+} //namespace wolf
diff --git a/include/core/solver_suitesparse/cost_function_sparse_base.h b/include/core/solver_suitesparse/cost_function_sparse_base.h
index ae74f19a4..282cbf3f2 100644
--- a/include/core/solver_suitesparse/cost_function_sparse_base.h
+++ b/include/core/solver_suitesparse/cost_function_sparse_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -333,4 +333,4 @@ const unsigned int MEASUREMENT_SIZE,
         jets_9_[i].a = *(factor_ptr_->getStateScalarPtrVector().at(9)+i);
 }
 
-} // wolf namespace
\ No newline at end of file
+} // wolf namespace
diff --git a/include/core/solver_suitesparse/qr_solver.h b/include/core/solver_suitesparse/qr_solver.h
index 06b87b641..16787a129 100644
--- a/include/core/solver_suitesparse/qr_solver.h
+++ b/include/core/solver_suitesparse/qr_solver.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -602,4 +602,4 @@ class SolverQR
         }
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/solver_suitesparse/solver_QR.h b/include/core/solver_suitesparse/solver_QR.h
index abece338f..ca5f67476 100644
--- a/include/core/solver_suitesparse/solver_QR.h
+++ b/include/core/solver_suitesparse/solver_QR.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -40,4 +40,4 @@ class SolverQR
         VectorXi nodes_ordering_factors;
 
     private:
-};
\ No newline at end of file
+};
diff --git a/include/core/solver_suitesparse/solver_manager.h b/include/core/solver_suitesparse/solver_manager.h
index 9a0817573..e8ac8a7f9 100644
--- a/include/core/solver_suitesparse/solver_manager.h
+++ b/include/core/solver_suitesparse/solver_manager.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -63,4 +63,4 @@ class SolverManager
 		void updateStateUnitStatus(StateBlockPtr _st_ptr);
 
 		ceres::CostFunction* createCostFunction(FactorBasePtr _fac_ptr);
-};
\ No newline at end of file
+};
diff --git a/include/core/solver_suitesparse/sparse_utils.h b/include/core/solver_suitesparse/sparse_utils.h
index fffb34f3a..9f66c313d 100644
--- a/include/core/solver_suitesparse/sparse_utils.h
+++ b/include/core/solver_suitesparse/sparse_utils.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -55,4 +55,4 @@ void insertSparseBlock(const Eigen::MatrixXd& ins, Eigen::SparseMatrixd& origina
     original.makeCompressed();
 }
 
-}
\ No newline at end of file
+}
diff --git a/include/core/state_block/factory_state_block.h b/include/core/state_block/factory_state_block.h
index 12c1b8e06..5f29e0b12 100644
--- a/include/core/state_block/factory_state_block.h
+++ b/include/core/state_block/factory_state_block.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -111,4 +111,4 @@ const bool WOLF_UNUSED StateBlockType##IdentityRegistered =
 const bool WOLF_UNUSED StateBlockType##IdentityVectorRegistered =                                   \
     FactoryStateBlockIdentityVector::registerCreator(#StateBlockType, StateBlockType::Identity);    \
 }
-}
\ No newline at end of file
+}
diff --git a/include/core/state_block/local_parametrization_angle.h b/include/core/state_block/local_parametrization_angle.h
index fb371e94f..5af76c017 100644
--- a/include/core/state_block/local_parametrization_angle.h
+++ b/include/core/state_block/local_parametrization_angle.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -84,4 +84,4 @@ inline bool LocalParametrizationAngle::isValid(const Eigen::VectorXd& _state, do
     //Eigen::Map not Eigen::VectorXd
     return true;
 }
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/state_block/local_parametrization_base.h b/include/core/state_block/local_parametrization_base.h
index cbbb8ab15..b1403505f 100644
--- a/include/core/state_block/local_parametrization_base.h
+++ b/include/core/state_block/local_parametrization_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -49,4 +49,4 @@ class LocalParametrizationBase{
         unsigned int getGlobalSize() const;
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/state_block/local_parametrization_homogeneous.h b/include/core/state_block/local_parametrization_homogeneous.h
index 2b34c14ea..dbb73f1f5 100644
--- a/include/core/state_block/local_parametrization_homogeneous.h
+++ b/include/core/state_block/local_parametrization_homogeneous.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -63,4 +63,4 @@ class LocalParametrizationHomogeneous : public LocalParametrizationBase
         bool isValid(const Eigen::VectorXd& state, double tolerance) override;
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/state_block/local_parametrization_quaternion.h b/include/core/state_block/local_parametrization_quaternion.h
index db50598f1..4c3a37016 100644
--- a/include/core/state_block/local_parametrization_quaternion.h
+++ b/include/core/state_block/local_parametrization_quaternion.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -97,4 +97,4 @@ public:
 typedef LocalParametrizationQuaternion<DQ_GLOBAL> LocalParametrizationQuaternionGlobal;
 typedef LocalParametrizationQuaternion<DQ_LOCAL>  LocalParametrizationQuaternionLocal;
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/state_block/state_angle.h b/include/core/state_block/state_angle.h
index 160ddbce3..91f3e6a42 100644
--- a/include/core/state_block/state_angle.h
+++ b/include/core/state_block/state_angle.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -72,4 +72,4 @@ inline void StateAngle::transform(const VectorComposite& _transformation)
     if (isTransformable()) setState(_transformation.at('O') + getState()); // 2D rotation is a sum of angles
 }
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/state_block/state_block.h b/include/core/state_block/state_block.h
index 5fd08e7f5..610f3d118 100644
--- a/include/core/state_block/state_block.h
+++ b/include/core/state_block/state_block.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -391,4 +391,4 @@ inline bool StateBlock::isValid(double tolerance)
     return local_param_ptr_ ? local_param_ptr_->isValid(state_, tolerance) : true;
 }
 
-}// namespace wolf
\ No newline at end of file
+}// namespace wolf
diff --git a/include/core/state_block/state_block_derived.h b/include/core/state_block/state_block_derived.h
index a2ff3aa20..d35b597a6 100644
--- a/include/core/state_block/state_block_derived.h
+++ b/include/core/state_block/state_block_derived.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/include/core/state_block/state_homogeneous_3d.h b/include/core/state_block/state_homogeneous_3d.h
index 9d62b312e..8890f51cd 100644
--- a/include/core/state_block/state_homogeneous_3d.h
+++ b/include/core/state_block/state_homogeneous_3d.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -82,4 +82,4 @@ inline void StateHomogeneous3d::transform(const VectorComposite& _transformation
         setState((Quaterniond(_transformation.at('O').data()) * Quaterniond(getState().data())).coeffs()); // TODO is this correct?????? probably not!!!
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/state_block/state_quaternion.h b/include/core/state_block/state_quaternion.h
index 4246e72fb..1c0b54f51 100644
--- a/include/core/state_block/state_quaternion.h
+++ b/include/core/state_block/state_quaternion.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -98,4 +98,4 @@ inline void StateQuaternion::transform(const VectorComposite& _transformation)
         setState((Quaterniond(_transformation.at('O').data()) * Quaterniond(getState().data())).coeffs());
 }
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/trajectory/trajectory_base.h b/include/core/trajectory/trajectory_base.h
index c4edb0ba7..179b37ccb 100644
--- a/include/core/trajectory/trajectory_base.h
+++ b/include/core/trajectory/trajectory_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -159,4 +159,4 @@ inline bool TrajectoryBase::hasFrame(FrameBaseConstPtr _frame) const
                }) != frame_map_.end();
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/tree_manager/factory_tree_manager.h b/include/core/tree_manager/factory_tree_manager.h
index b4feeb0d0..b950beb89 100644
--- a/include/core/tree_manager/factory_tree_manager.h
+++ b/include/core/tree_manager/factory_tree_manager.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -53,4 +53,4 @@ inline std::string FactoryTreeManagerYaml::getClass() const
   namespace{ const bool WOLF_UNUSED TreeManagerType##YamlRegistered =                             \
     wolf::FactoryTreeManagerYaml::registerCreator(#TreeManagerType, TreeManagerType::create); }   \
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/tree_manager/tree_manager_base.h b/include/core/tree_manager/tree_manager_base.h
index 9595b1920..f4e0d2037 100644
--- a/include/core/tree_manager/tree_manager_base.h
+++ b/include/core/tree_manager/tree_manager_base.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -100,4 +100,4 @@ class TreeManagerBase : public NodeBase
         ParamsTreeManagerBasePtr params_;
 };
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/tree_manager/tree_manager_sliding_window.h b/include/core/tree_manager/tree_manager_sliding_window.h
index 507e56d1d..c15ea6184 100644
--- a/include/core/tree_manager/tree_manager_sliding_window.h
+++ b/include/core/tree_manager/tree_manager_sliding_window.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -71,4 +71,4 @@ class TreeManagerSlidingWindow : public TreeManagerBase
         ParamsTreeManagerSlidingWindowPtr params_sw_;
 };
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/tree_manager/tree_manager_sliding_window_dual_rate.h b/include/core/tree_manager/tree_manager_sliding_window_dual_rate.h
index 511a56d62..605620439 100644
--- a/include/core/tree_manager/tree_manager_sliding_window_dual_rate.h
+++ b/include/core/tree_manager/tree_manager_sliding_window_dual_rate.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -69,4 +69,4 @@ class TreeManagerSlidingWindowDualRate : public TreeManagerSlidingWindow
         //TrajectoryIter first_recent_frame_it_;
 };
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/utils/check_log.h b/include/core/utils/check_log.h
index bd9b67c74..a9910f76b 100644
--- a/include/core/utils/check_log.h
+++ b/include/core/utils/check_log.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -40,4 +40,4 @@ class CheckLog
     void assertTrue(bool _condition, std::stringstream& _stream);
 };
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/utils/eigen_assert.h b/include/core/utils/eigen_assert.h
index 76f3880ab..45a70302d 100644
--- a/include/core/utils/eigen_assert.h
+++ b/include/core/utils/eigen_assert.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -104,4 +104,4 @@ using VectorSizeCheck = MatrixSizeCheck<Dim, 1>;
 template <int Dim>
 using RowVectorSizeCheck = MatrixSizeCheck<1, Dim>;
 
-} /* namespace Eigen */
\ No newline at end of file
+} /* namespace Eigen */
diff --git a/include/core/utils/folder_registry.h b/include/core/utils/folder_registry.h
index 76ca362ae..71ebcf6a8 100644
--- a/include/core/utils/folder_registry.h
+++ b/include/core/utils/folder_registry.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -130,4 +130,4 @@ namespace wolf
 #define UNUSED(x) x
 #endif
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/include/core/utils/graph_search.h b/include/core/utils/graph_search.h
index b3837f140..a33fc2c2d 100644
--- a/include/core/utils/graph_search.h
+++ b/include/core/utils/graph_search.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -59,4 +59,4 @@ class GraphSearch
 
 };
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/utils/loader.h b/include/core/utils/loader.h
index a8d05e0c7..a5e39dd96 100644
--- a/include/core/utils/loader.h
+++ b/include/core/utils/loader.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -45,4 +45,4 @@ class Loader
 
 typedef std::shared_ptr<Loader> LoaderPtr;
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/include/core/utils/logging.h b/include/core/utils/logging.h
index 66b44b4c9..4766f3541 100644
--- a/include/core/utils/logging.h
+++ b/include/core/utils/logging.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -331,4 +331,4 @@ using WolfLoggerManager = Singleton<do_not_enter_where_the_wolf_lives::LoggerMan
 #else
   #define WOLF_TRACE(...)
   #define WOLF_TRACE_COND(cond, ...)
-#endif
\ No newline at end of file
+#endif
diff --git a/include/core/utils/singleton.h b/include/core/utils/singleton.h
index a8e8840b3..f34738a11 100644
--- a/include/core/utils/singleton.h
+++ b/include/core/utils/singleton.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -58,4 +58,4 @@ protected:
 };
 
 } // namespace internal
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/include/core/utils/utils_gtest.h b/include/core/utils/utils_gtest.h
index 9c46dd20c..f22570c12 100644
--- a/include/core/utils/utils_gtest.h
+++ b/include/core/utils/utils_gtest.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -189,4 +189,4 @@ TEST(Test, Foo)
                }, \
                C_expect, C_actual);
 
-} // namespace testing
\ No newline at end of file
+} // namespace testing
diff --git a/src/capture/capture_base.cpp b/src/capture/capture_base.cpp
index 6ddfee781..bd06ac2a6 100644
--- a/src/capture/capture_base.cpp
+++ b/src/capture/capture_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/capture/capture_diff_drive.cpp b/src/capture/capture_diff_drive.cpp
index f4f159345..02b2c32fb 100644
--- a/src/capture/capture_diff_drive.cpp
+++ b/src/capture/capture_diff_drive.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/capture/capture_landmarks_external.cpp b/src/capture/capture_landmarks_external.cpp
index 154dcc83f..ce850621a 100644
--- a/src/capture/capture_landmarks_external.cpp
+++ b/src/capture/capture_landmarks_external.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/capture/capture_motion.cpp b/src/capture/capture_motion.cpp
index ba630dadd..84554e3e5 100644
--- a/src/capture/capture_motion.cpp
+++ b/src/capture/capture_motion.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/capture/capture_odom_2d.cpp b/src/capture/capture_odom_2d.cpp
index c7f394fdc..d2216b147 100644
--- a/src/capture/capture_odom_2d.cpp
+++ b/src/capture/capture_odom_2d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/capture/capture_odom_3d.cpp b/src/capture/capture_odom_3d.cpp
index ba1ab7408..b90ea2673 100644
--- a/src/capture/capture_odom_3d.cpp
+++ b/src/capture/capture_odom_3d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/capture/capture_pose.cpp b/src/capture/capture_pose.cpp
index ab4ba67dd..360024409 100644
--- a/src/capture/capture_pose.cpp
+++ b/src/capture/capture_pose.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/capture/capture_void.cpp b/src/capture/capture_void.cpp
index 304e56273..8c4a7abc1 100644
--- a/src/capture/capture_void.cpp
+++ b/src/capture/capture_void.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/ceres_wrapper/local_parametrization_wrapper.cpp b/src/ceres_wrapper/local_parametrization_wrapper.cpp
index c6623d4f5..ee0ce1c3f 100644
--- a/src/ceres_wrapper/local_parametrization_wrapper.cpp
+++ b/src/ceres_wrapper/local_parametrization_wrapper.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/ceres_wrapper/qr_manager.cpp b/src/ceres_wrapper/qr_manager.cpp
index 297b041be..ae1e94345 100644
--- a/src/ceres_wrapper/qr_manager.cpp
+++ b/src/ceres_wrapper/qr_manager.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/ceres_wrapper/solver_ceres.cpp b/src/ceres_wrapper/solver_ceres.cpp
index 692846906..64d8dd281 100644
--- a/src/ceres_wrapper/solver_ceres.cpp
+++ b/src/ceres_wrapper/solver_ceres.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/common/node_base.cpp b/src/common/node_base.cpp
index af4db4552..16060b219 100644
--- a/src/common/node_base.cpp
+++ b/src/common/node_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/common/node_state_blocks.cpp b/src/common/node_state_blocks.cpp
index 71ddd201c..56eaf7336 100644
--- a/src/common/node_state_blocks.cpp
+++ b/src/common/node_state_blocks.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/common/time_stamp.cpp b/src/common/time_stamp.cpp
index 5ea454b0a..6c31d16da 100644
--- a/src/common/time_stamp.cpp
+++ b/src/common/time_stamp.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/composite/matrix_composite.cpp b/src/composite/matrix_composite.cpp
index 52ad3f18a..ef0795f71 100644
--- a/src/composite/matrix_composite.cpp
+++ b/src/composite/matrix_composite.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/composite/spec_state_composite.cpp b/src/composite/spec_state_composite.cpp
index 1c9fffd30..446a64043 100644
--- a/src/composite/spec_state_composite.cpp
+++ b/src/composite/spec_state_composite.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -96,4 +96,4 @@ YAML::Node SpecState::toYaml() const
     return node;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/src/composite/spec_state_sensor_composite.cpp b/src/composite/spec_state_sensor_composite.cpp
index 6e8605fa9..8b742c7eb 100644
--- a/src/composite/spec_state_sensor_composite.cpp
+++ b/src/composite/spec_state_sensor_composite.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -88,4 +88,4 @@ YAML::Node SpecStateSensor::toYaml() const
     return node;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/src/composite/state_composite.cpp b/src/composite/state_composite.cpp
index b19b0a862..5ab42910f 100644
--- a/src/composite/state_composite.cpp
+++ b/src/composite/state_composite.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/composite/vector_composite.cpp b/src/composite/vector_composite.cpp
index 74f393059..7fab00b1d 100644
--- a/src/composite/vector_composite.cpp
+++ b/src/composite/vector_composite.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -130,4 +130,4 @@ void VectorComposite::setZero()
     for (auto& pair_key_vec : *this) pair_key_vec.second.setZero();
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/src/factor/factor_analytic.cpp b/src/factor/factor_analytic.cpp
index 06d07a570..0ffef98fe 100644
--- a/src/factor/factor_analytic.cpp
+++ b/src/factor/factor_analytic.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/factor/factor_base.cpp b/src/factor/factor_base.cpp
index 1e007f7b5..0c9539300 100644
--- a/src/factor/factor_base.cpp
+++ b/src/factor/factor_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/feature/feature_base.cpp b/src/feature/feature_base.cpp
index bd3a518f6..72c5b99fd 100644
--- a/src/feature/feature_base.cpp
+++ b/src/feature/feature_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/feature/feature_diff_drive.cpp b/src/feature/feature_diff_drive.cpp
index 62dcff2cc..5ce1b5035 100644
--- a/src/feature/feature_diff_drive.cpp
+++ b/src/feature/feature_diff_drive.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/feature/feature_motion.cpp b/src/feature/feature_motion.cpp
index 6d0260b07..b284ceb19 100644
--- a/src/feature/feature_motion.cpp
+++ b/src/feature/feature_motion.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/feature/feature_odom_2d.cpp b/src/feature/feature_odom_2d.cpp
index c0d2083ca..9c8d264e6 100644
--- a/src/feature/feature_odom_2d.cpp
+++ b/src/feature/feature_odom_2d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/feature/feature_pose.cpp b/src/feature/feature_pose.cpp
index bcf4e2b48..0004a943b 100644
--- a/src/feature/feature_pose.cpp
+++ b/src/feature/feature_pose.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/frame/frame_base.cpp b/src/frame/frame_base.cpp
index 45497e57e..706a7ad12 100644
--- a/src/frame/frame_base.cpp
+++ b/src/frame/frame_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/hardware/hardware_base.cpp b/src/hardware/hardware_base.cpp
index 58918d4c4..115f8a6ba 100644
--- a/src/hardware/hardware_base.cpp
+++ b/src/hardware/hardware_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/landmark/landmark_base.cpp b/src/landmark/landmark_base.cpp
index fbda97bba..6fa21a037 100644
--- a/src/landmark/landmark_base.cpp
+++ b/src/landmark/landmark_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -196,4 +196,4 @@ bool LandmarkBase::check(CheckLog&        _log,
 // Register landmark creator
 WOLF_REGISTER_LANDMARK(LandmarkBase);
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/src/map/map_base.cpp b/src/map/map_base.cpp
index 18143105d..247bf92b8 100644
--- a/src/map/map_base.cpp
+++ b/src/map/map_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/problem/problem.cpp b/src/problem/problem.cpp
index 91185f001..9ed70baac 100644
--- a/src/problem/problem.cpp
+++ b/src/problem/problem.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/processor/motion_buffer.cpp b/src/processor/motion_buffer.cpp
index 9c260726d..b2559d82a 100644
--- a/src/processor/motion_buffer.cpp
+++ b/src/processor/motion_buffer.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/processor/motion_provider.cpp b/src/processor/motion_provider.cpp
index 82b4616e9..8f304889d 100644
--- a/src/processor/motion_provider.cpp
+++ b/src/processor/motion_provider.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/processor/processor_base.cpp b/src/processor/processor_base.cpp
index 36ef84d2c..ee7698918 100644
--- a/src/processor/processor_base.cpp
+++ b/src/processor/processor_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/processor/processor_diff_drive.cpp b/src/processor/processor_diff_drive.cpp
index c5a92fa10..dbfcea16e 100644
--- a/src/processor/processor_diff_drive.cpp
+++ b/src/processor/processor_diff_drive.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/processor/processor_fixed_wing_model.cpp b/src/processor/processor_fixed_wing_model.cpp
index 56c1d44f5..d88240600 100644
--- a/src/processor/processor_fixed_wing_model.cpp
+++ b/src/processor/processor_fixed_wing_model.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/processor/processor_landmark_external.cpp b/src/processor/processor_landmark_external.cpp
index 9c06bb2a8..3144a1445 100644
--- a/src/processor/processor_landmark_external.cpp
+++ b/src/processor/processor_landmark_external.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/processor/processor_loop_closure.cpp b/src/processor/processor_loop_closure.cpp
index 288fbcfd2..493b8691c 100644
--- a/src/processor/processor_loop_closure.cpp
+++ b/src/processor/processor_loop_closure.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/processor/processor_motion.cpp b/src/processor/processor_motion.cpp
index ab7e10fb1..ae7fae39f 100644
--- a/src/processor/processor_motion.cpp
+++ b/src/processor/processor_motion.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/processor/processor_odom_2d.cpp b/src/processor/processor_odom_2d.cpp
index 099825e2f..68b9f65d7 100644
--- a/src/processor/processor_odom_2d.cpp
+++ b/src/processor/processor_odom_2d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/processor/processor_odom_3d.cpp b/src/processor/processor_odom_3d.cpp
index 2712a21a5..d7f618da6 100644
--- a/src/processor/processor_odom_3d.cpp
+++ b/src/processor/processor_odom_3d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/processor/processor_tracker.cpp b/src/processor/processor_tracker.cpp
index 766410a21..78fef864c 100644
--- a/src/processor/processor_tracker.cpp
+++ b/src/processor/processor_tracker.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/processor/processor_tracker_feature.cpp b/src/processor/processor_tracker_feature.cpp
index c016966cf..70efc7db0 100644
--- a/src/processor/processor_tracker_feature.cpp
+++ b/src/processor/processor_tracker_feature.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/processor/processor_tracker_landmark.cpp b/src/processor/processor_tracker_landmark.cpp
index 71edc63d0..6a18f63c3 100644
--- a/src/processor/processor_tracker_landmark.cpp
+++ b/src/processor/processor_tracker_landmark.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/processor/track_matrix.cpp b/src/processor/track_matrix.cpp
index 4a62eaf2e..8d84d702d 100644
--- a/src/processor/track_matrix.cpp
+++ b/src/processor/track_matrix.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/sensor/sensor_base.cpp b/src/sensor/sensor_base.cpp
index 126d3c189..f4065f980 100644
--- a/src/sensor/sensor_base.cpp
+++ b/src/sensor/sensor_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/sensor/sensor_diff_drive.cpp b/src/sensor/sensor_diff_drive.cpp
index a805f78d0..1c333d6d0 100644
--- a/src/sensor/sensor_diff_drive.cpp
+++ b/src/sensor/sensor_diff_drive.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/sensor/sensor_motion_model.cpp b/src/sensor/sensor_motion_model.cpp
index 07f23e2dd..34be98ea5 100644
--- a/src/sensor/sensor_motion_model.cpp
+++ b/src/sensor/sensor_motion_model.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/solver/solver_manager.cpp b/src/solver/solver_manager.cpp
index a9d3ee25a..d387d9111 100644
--- a/src/solver/solver_manager.cpp
+++ b/src/solver/solver_manager.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/solver_suitesparse/solver_manager.cpp b/src/solver_suitesparse/solver_manager.cpp
index 84f6f7468..a8a7ece08 100644
--- a/src/solver_suitesparse/solver_manager.cpp
+++ b/src/solver_suitesparse/solver_manager.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/state_block/local_parametrization_base.cpp b/src/state_block/local_parametrization_base.cpp
index 93f906091..08cae9327 100644
--- a/src/state_block/local_parametrization_base.cpp
+++ b/src/state_block/local_parametrization_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/state_block/local_parametrization_homogeneous.cpp b/src/state_block/local_parametrization_homogeneous.cpp
index 2c91ebe38..a2dd88c07 100644
--- a/src/state_block/local_parametrization_homogeneous.cpp
+++ b/src/state_block/local_parametrization_homogeneous.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/state_block/local_parametrization_quaternion.cpp b/src/state_block/local_parametrization_quaternion.cpp
index 601a93c54..828c026ac 100644
--- a/src/state_block/local_parametrization_quaternion.cpp
+++ b/src/state_block/local_parametrization_quaternion.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/state_block/state_block.cpp b/src/state_block/state_block.cpp
index 4eb72cd54..6eba184dc 100644
--- a/src/state_block/state_block.cpp
+++ b/src/state_block/state_block.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -77,4 +77,4 @@ namespace wolf{
 WOLF_REGISTER_STATEBLOCK(StateQuaternion);
 WOLF_REGISTER_STATEBLOCK(StateAngle);
 WOLF_REGISTER_STATEBLOCK(StateHomogeneous3d);
-}
\ No newline at end of file
+}
diff --git a/src/state_block/state_block_derived.cpp b/src/state_block/state_block_derived.cpp
index 0b12644d8..ca910b506 100644
--- a/src/state_block/state_block_derived.cpp
+++ b/src/state_block/state_block_derived.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -42,4 +42,4 @@ WOLF_REGISTER_STATEBLOCK(StateParams8);
 WOLF_REGISTER_STATEBLOCK(StateParams9);
 WOLF_REGISTER_STATEBLOCK(StateParams10);
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/src/trajectory/trajectory_base.cpp b/src/trajectory/trajectory_base.cpp
index 262e7cc2f..5d67207f2 100644
--- a/src/trajectory/trajectory_base.cpp
+++ b/src/trajectory/trajectory_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/tree_manager/tree_manager_sliding_window.cpp b/src/tree_manager/tree_manager_sliding_window.cpp
index cb2b006bf..32f9e02bc 100644
--- a/src/tree_manager/tree_manager_sliding_window.cpp
+++ b/src/tree_manager/tree_manager_sliding_window.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/tree_manager/tree_manager_sliding_window_dual_rate.cpp b/src/tree_manager/tree_manager_sliding_window_dual_rate.cpp
index bd4e7caa0..bbdd6e099 100644
--- a/src/tree_manager/tree_manager_sliding_window_dual_rate.cpp
+++ b/src/tree_manager/tree_manager_sliding_window_dual_rate.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/utils/check_log.cpp b/src/utils/check_log.cpp
index 830073ea7..cc6e0372d 100644
--- a/src/utils/check_log.cpp
+++ b/src/utils/check_log.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/utils/graph_search.cpp b/src/utils/graph_search.cpp
index 105801781..82a00780c 100644
--- a/src/utils/graph_search.cpp
+++ b/src/utils/graph_search.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/src/utils/loader.cpp b/src/utils/loader.cpp
index a991919f8..7db0c397f 100644
--- a/src/utils/loader.cpp
+++ b/src/utils/loader.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -71,4 +71,4 @@ bool Loader::isLoaded(std::string lib) const
     // return loaded_resources_.count(lib) and loaded_resources_.at(lib);
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/test/dummy/dummy_object.h b/test/dummy/dummy_object.h
index d79e6f683..243dc011d 100644
--- a/test/dummy/dummy_object.h
+++ b/test/dummy/dummy_object.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -79,4 +79,4 @@ inline std::string DummyObject::getName() const
     return name_;
 }
 
-}
\ No newline at end of file
+}
diff --git a/test/dummy/dummy_object_derived.cpp b/test/dummy/dummy_object_derived.cpp
index 744871175..f3a100a46 100644
--- a/test/dummy/dummy_object_derived.cpp
+++ b/test/dummy/dummy_object_derived.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -36,4 +36,4 @@ void DummyObjectDerived::print() const
 
 WOLF_REGISTER_DUMMY_OBJECT(DummyObjectDerived)
 
-}
\ No newline at end of file
+}
diff --git a/test/dummy/dummy_object_derived.h b/test/dummy/dummy_object_derived.h
index bb8524189..ea0e977ee 100644
--- a/test/dummy/dummy_object_derived.h
+++ b/test/dummy/dummy_object_derived.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -41,4 +41,4 @@ class DummyObjectDerived : public DummyObject
         virtual ~DummyObjectDerived(){};
 };
 
-}
\ No newline at end of file
+}
diff --git a/test/dummy/dummy_object_derived_derived.cpp b/test/dummy/dummy_object_derived_derived.cpp
index 7de6ff435..8b07282b2 100644
--- a/test/dummy/dummy_object_derived_derived.cpp
+++ b/test/dummy/dummy_object_derived_derived.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -35,4 +35,4 @@ void DummyObjectDerivedDerived::print() const
 }
 
 WOLF_REGISTER_DUMMY_OBJECT(DummyObjectDerivedDerived)
-}
\ No newline at end of file
+}
diff --git a/test/dummy/dummy_object_derived_derived.h b/test/dummy/dummy_object_derived_derived.h
index adcfd85e8..9a819028a 100644
--- a/test/dummy/dummy_object_derived_derived.h
+++ b/test/dummy/dummy_object_derived_derived.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -41,4 +41,4 @@ class DummyObjectDerivedDerived : public DummyObjectDerived
         virtual ~DummyObjectDerivedDerived(){};
 };
 
-}
\ No newline at end of file
+}
diff --git a/test/dummy/factor_dummy.h b/test/dummy/factor_dummy.h
index ab9606b4c..dbe3c0b29 100644
--- a/test/dummy/factor_dummy.h
+++ b/test/dummy/factor_dummy.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -65,4 +65,4 @@ class FactorDummy : public FactorBase
     }
 };
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/test/dummy/factor_dummy_zero_1.h b/test/dummy/factor_dummy_zero_1.h
index 8795eba60..89777e8f3 100644
--- a/test/dummy/factor_dummy_zero_1.h
+++ b/test/dummy/factor_dummy_zero_1.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -61,4 +61,4 @@ class FactorDummyZero1 : public FactorAutodiff<FactorDummyZero1, 1, 1>
         }
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/test/dummy/factor_dummy_zero_15.h b/test/dummy/factor_dummy_zero_15.h
index 7c563b49f..666ebdc13 100644
--- a/test/dummy/factor_dummy_zero_15.h
+++ b/test/dummy/factor_dummy_zero_15.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -157,4 +157,4 @@ class FactorDummyZero15
     }
 };
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/test/dummy/factor_feature_dummy.h b/test/dummy/factor_feature_dummy.h
index 11626f35e..78576da47 100644
--- a/test/dummy/factor_feature_dummy.h
+++ b/test/dummy/factor_feature_dummy.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -95,4 +95,4 @@ inline FactorBasePtr FactorFeatureDummy::create(const FeatureBasePtr&   _feature
         _feature_ptr, std::static_pointer_cast<FeatureBase>(_correspondant_ptr), _processor_ptr, false);
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/test/dummy/factor_landmark_dummy.h b/test/dummy/factor_landmark_dummy.h
index f795613d2..4c845c9a4 100644
--- a/test/dummy/factor_landmark_dummy.h
+++ b/test/dummy/factor_landmark_dummy.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -91,4 +91,4 @@ inline FactorBasePtr FactorLandmarkDummy::create(const FeatureBasePtr&   _featur
         _feature_ptr, std::static_pointer_cast<LandmarkBase>(_correspondant_ptr), _processor_ptr, false);
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/test/dummy/factor_odom_2d_autodiff.h b/test/dummy/factor_odom_2d_autodiff.h
index 41ecd9155..1b0e48714 100644
--- a/test/dummy/factor_odom_2d_autodiff.h
+++ b/test/dummy/factor_odom_2d_autodiff.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -113,4 +113,4 @@ inline bool FactorOdom2dAutodiff::operator()(const T* const _p1,
     return true;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/test/dummy/factory_dummy_object.h b/test/dummy/factory_dummy_object.h
index 9b3705ab1..258c34678 100644
--- a/test/dummy/factory_dummy_object.h
+++ b/test/dummy/factory_dummy_object.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -41,4 +41,4 @@ inline std::string FactoryDummyObject::getClass() const
     namespace{ const bool WOLF_UNUSED DummyObjectType##Registered =      \
             wolf::FactoryDummyObject::registerCreator(#DummyObjectType, DummyObjectType::create); } \
 
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/test/dummy/landmark_dummy.h b/test/dummy/landmark_dummy.h
index 70aa2eb93..0ce73d0a9 100644
--- a/test/dummy/landmark_dummy.h
+++ b/test/dummy/landmark_dummy.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/dummy/node_state_blocks_dummy.h b/test/dummy/node_state_blocks_dummy.h
index bf8dd4b7c..3f319db0d 100644
--- a/test/dummy/node_state_blocks_dummy.h
+++ b/test/dummy/node_state_blocks_dummy.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -42,4 +42,4 @@ class NodeStateBlocksDummy : public NodeStateBlocks
     };
 };
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/test/dummy/processor_loop_closure_dummy.h b/test/dummy/processor_loop_closure_dummy.h
index 03ae30747..51fb82710 100644
--- a/test/dummy/processor_loop_closure_dummy.h
+++ b/test/dummy/processor_loop_closure_dummy.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -113,4 +113,4 @@ class ProcessorLoopClosureDummy : public ProcessorLoopClosure
     {
         return buffer_capture_.getContainer().size();
     }
-};
\ No newline at end of file
+};
diff --git a/test/dummy/processor_motion_provider_dummy.h b/test/dummy/processor_motion_provider_dummy.h
index 88f146574..72a143429 100644
--- a/test/dummy/processor_motion_provider_dummy.h
+++ b/test/dummy/processor_motion_provider_dummy.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -83,4 +83,4 @@ class MotionProviderDummy : public ProcessorBase, public MotionProvider
 #include "core/processor/factory_processor.h"
 namespace wolf {
 WOLF_REGISTER_PROCESSOR(MotionProviderDummy);
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/test/dummy/processor_tracker_feature_dummy.cpp b/test/dummy/processor_tracker_feature_dummy.cpp
index 0e3d78218..5f8af4e27 100644
--- a/test/dummy/processor_tracker_feature_dummy.cpp
+++ b/test/dummy/processor_tracker_feature_dummy.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/dummy/processor_tracker_feature_dummy.h b/test/dummy/processor_tracker_feature_dummy.h
index bd701661e..bc701a745 100644
--- a/test/dummy/processor_tracker_feature_dummy.h
+++ b/test/dummy/processor_tracker_feature_dummy.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -140,4 +140,4 @@ inline bool ProcessorTrackerFeatureDummy::correctFeatureDrift(const FeatureBaseP
     return true;
 }
 
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/test/dummy/processor_tracker_landmark_dummy.cpp b/test/dummy/processor_tracker_landmark_dummy.cpp
index b375a39b8..1d841b360 100644
--- a/test/dummy/processor_tracker_landmark_dummy.cpp
+++ b/test/dummy/processor_tracker_landmark_dummy.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/dummy/processor_tracker_landmark_dummy.h b/test/dummy/processor_tracker_landmark_dummy.h
index b7f0608d4..9607857f2 100644
--- a/test/dummy/processor_tracker_landmark_dummy.h
+++ b/test/dummy/processor_tracker_landmark_dummy.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -116,4 +116,4 @@ class ProcessorTrackerLandmarkDummy : public ProcessorTrackerLandmark
                                             LandmarkBasePtr _landmark_ptr) override;
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/test/dummy/sensor_dummy.h b/test/dummy/sensor_dummy.h
index 256a592ee..3975cc247 100644
--- a/test/dummy/sensor_dummy.h
+++ b/test/dummy/sensor_dummy.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -144,4 +144,4 @@ WOLF_REGISTER_SENSOR(SensorDummy2d);
 WOLF_REGISTER_SENSOR(SensorDummy3d);
 WOLF_REGISTER_SENSOR(SensorDummyPoia2d);
 WOLF_REGISTER_SENSOR(SensorDummyPoia3d);
-}  // namespace wolf
\ No newline at end of file
+}  // namespace wolf
diff --git a/test/dummy/solver_manager_dummy.h b/test/dummy/solver_manager_dummy.h
index acef8846b..551ab8298 100644
--- a/test/dummy/solver_manager_dummy.h
+++ b/test/dummy/solver_manager_dummy.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -118,4 +118,4 @@ class SolverManagerDummy : public SolverManager
         };
 };
 
-}
\ No newline at end of file
+}
diff --git a/test/dummy/tree_manager_dummy.h b/test/dummy/tree_manager_dummy.h
index 3866cb688..a14ef5205 100644
--- a/test/dummy/tree_manager_dummy.h
+++ b/test/dummy/tree_manager_dummy.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -74,4 +74,4 @@ class TreeManagerDummy : public TreeManagerBase
 #include "core/tree_manager/factory_tree_manager.h"
 namespace wolf {
 WOLF_REGISTER_TREE_MANAGER(TreeManagerDummy)
-} /* namespace wolf */
\ No newline at end of file
+} /* namespace wolf */
diff --git a/test/gtest_SE2.cpp b/test/gtest_SE2.cpp
index 690a5f373..b7d461235 100644
--- a/test/gtest_SE2.cpp
+++ b/test/gtest_SE2.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_SE3.cpp b/test/gtest_SE3.cpp
index 67e19eb03..09e66745c 100644
--- a/test/gtest_SE3.cpp
+++ b/test/gtest_SE3.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_buffer_frame.cpp b/test/gtest_buffer_frame.cpp
index 484cd006e..df4c53672 100644
--- a/test/gtest_buffer_frame.cpp
+++ b/test/gtest_buffer_frame.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_capture_base.cpp b/test/gtest_capture_base.cpp
index 25c859c94..60f1da0c9 100644
--- a/test/gtest_capture_base.cpp
+++ b/test/gtest_capture_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_converter.cpp b/test/gtest_converter.cpp
index 9be8c838f..d7459e5e6 100644
--- a/test/gtest_converter.cpp
+++ b/test/gtest_converter.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_emplace.cpp b/test/gtest_emplace.cpp
index 42ce75529..4be3ed76f 100644
--- a/test/gtest_emplace.cpp
+++ b/test/gtest_emplace.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_example.cpp b/test/gtest_example.cpp
index e50f8c4fd..3f40f848f 100644
--- a/test/gtest_example.cpp
+++ b/test/gtest_example.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_absolute.cpp b/test/gtest_factor_absolute.cpp
index c95525529..41d543b26 100644
--- a/test/gtest_factor_absolute.cpp
+++ b/test/gtest_factor_absolute.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_autodiff.cpp b/test/gtest_factor_autodiff.cpp
index af54eaa6c..756876fbe 100644
--- a/test/gtest_factor_autodiff.cpp
+++ b/test/gtest_factor_autodiff.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_base.cpp b/test/gtest_factor_base.cpp
index 3223891fe..6f41f50c4 100644
--- a/test/gtest_factor_base.cpp
+++ b/test/gtest_factor_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_block_difference.cpp b/test/gtest_factor_block_difference.cpp
index 1a90ec71e..80903815d 100644
--- a/test/gtest_factor_block_difference.cpp
+++ b/test/gtest_factor_block_difference.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_diff_drive.cpp b/test/gtest_factor_diff_drive.cpp
index 00cf89121..de9755c68 100644
--- a/test/gtest_factor_diff_drive.cpp
+++ b/test/gtest_factor_diff_drive.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_distance_3d.cpp b/test/gtest_factor_distance_3d.cpp
index ed825345d..ad8fc5a30 100644
--- a/test/gtest_factor_distance_3d.cpp
+++ b/test/gtest_factor_distance_3d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_odom_2d_autodiff.cpp b/test/gtest_factor_odom_2d_autodiff.cpp
index 09a7ed9a0..b40be3960 100644
--- a/test/gtest_factor_odom_2d_autodiff.cpp
+++ b/test/gtest_factor_odom_2d_autodiff.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_pose_2d.cpp b/test/gtest_factor_pose_2d.cpp
index 826d9e156..e735d0d67 100644
--- a/test/gtest_factor_pose_2d.cpp
+++ b/test/gtest_factor_pose_2d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_pose_2d_with_extrinsics.cpp b/test/gtest_factor_pose_2d_with_extrinsics.cpp
index b687610b1..556a64010 100644
--- a/test/gtest_factor_pose_2d_with_extrinsics.cpp
+++ b/test/gtest_factor_pose_2d_with_extrinsics.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_pose_3d.cpp b/test/gtest_factor_pose_3d.cpp
index 7d33a7866..d3458f150 100644
--- a/test/gtest_factor_pose_3d.cpp
+++ b/test/gtest_factor_pose_3d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_pose_3d_with_extrinsics.cpp b/test/gtest_factor_pose_3d_with_extrinsics.cpp
index 4f5d42d3c..5ed5746c2 100644
--- a/test/gtest_factor_pose_3d_with_extrinsics.cpp
+++ b/test/gtest_factor_pose_3d_with_extrinsics.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_prior.cpp b/test/gtest_factor_prior.cpp
index 602098d24..12f0f48fd 100644
--- a/test/gtest_factor_prior.cpp
+++ b/test/gtest_factor_prior.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_relative_pose_2d.cpp b/test/gtest_factor_relative_pose_2d.cpp
index 276a260b3..b4d802f04 100644
--- a/test/gtest_factor_relative_pose_2d.cpp
+++ b/test/gtest_factor_relative_pose_2d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_relative_pose_2d_with_extrinsics.cpp b/test/gtest_factor_relative_pose_2d_with_extrinsics.cpp
index c0bc91967..3d4ba2c4c 100644
--- a/test/gtest_factor_relative_pose_2d_with_extrinsics.cpp
+++ b/test/gtest_factor_relative_pose_2d_with_extrinsics.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_relative_pose_3d.cpp b/test/gtest_factor_relative_pose_3d.cpp
index ba807956e..49976291a 100644
--- a/test/gtest_factor_relative_pose_3d.cpp
+++ b/test/gtest_factor_relative_pose_3d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_relative_pose_3d_with_extrinsics.cpp b/test/gtest_factor_relative_pose_3d_with_extrinsics.cpp
index eba50f946..cfd95932d 100644
--- a/test/gtest_factor_relative_pose_3d_with_extrinsics.cpp
+++ b/test/gtest_factor_relative_pose_3d_with_extrinsics.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_relative_position_2d.cpp b/test/gtest_factor_relative_position_2d.cpp
index b58ee3e94..a964e76ff 100644
--- a/test/gtest_factor_relative_position_2d.cpp
+++ b/test/gtest_factor_relative_position_2d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_relative_position_2d_with_extrinsics.cpp b/test/gtest_factor_relative_position_2d_with_extrinsics.cpp
index c9139717c..e23b5f636 100644
--- a/test/gtest_factor_relative_position_2d_with_extrinsics.cpp
+++ b/test/gtest_factor_relative_position_2d_with_extrinsics.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_relative_position_3d.cpp b/test/gtest_factor_relative_position_3d.cpp
index d8123c531..1310e84c4 100644
--- a/test/gtest_factor_relative_position_3d.cpp
+++ b/test/gtest_factor_relative_position_3d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_relative_position_3d_with_extrinsics.cpp b/test/gtest_factor_relative_position_3d_with_extrinsics.cpp
index 4b5054abc..ce551e20e 100644
--- a/test/gtest_factor_relative_position_3d_with_extrinsics.cpp
+++ b/test/gtest_factor_relative_position_3d_with_extrinsics.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factor_velocity_local_direction_3d.cpp b/test/gtest_factor_velocity_local_direction_3d.cpp
index b249b6a6f..ad5375d46 100644
--- a/test/gtest_factor_velocity_local_direction_3d.cpp
+++ b/test/gtest_factor_velocity_local_direction_3d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factory.cpp b/test/gtest_factory.cpp
index 777bf751b..e05647a00 100644
--- a/test/gtest_factory.cpp
+++ b/test/gtest_factory.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_factory_state_block.cpp b/test/gtest_factory_state_block.cpp
index 1f1adb3de..ff0d086ed 100644
--- a/test/gtest_factory_state_block.cpp
+++ b/test/gtest_factory_state_block.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_feature_base.cpp b/test/gtest_feature_base.cpp
index 1aa20b956..86b0a1d31 100644
--- a/test/gtest_feature_base.cpp
+++ b/test/gtest_feature_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_frame_base.cpp b/test/gtest_frame_base.cpp
index 76c874f90..7ba3a66c1 100644
--- a/test/gtest_frame_base.cpp
+++ b/test/gtest_frame_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_graph_search.cpp b/test/gtest_graph_search.cpp
index 0b7a26dc2..0c3e3100c 100644
--- a/test/gtest_graph_search.cpp
+++ b/test/gtest_graph_search.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_local_param.cpp b/test/gtest_local_param.cpp
index 05f5276f9..5d2d32ce3 100644
--- a/test/gtest_local_param.cpp
+++ b/test/gtest_local_param.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_logging.cpp b/test/gtest_logging.cpp
index 1998d3260..b54f12456 100644
--- a/test/gtest_logging.cpp
+++ b/test/gtest_logging.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_make_posdef.cpp b/test/gtest_make_posdef.cpp
index 92d97edcb..0ad55d51b 100644
--- a/test/gtest_make_posdef.cpp
+++ b/test/gtest_make_posdef.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_map_yaml.cpp b/test/gtest_map_yaml.cpp
index 6c0464a12..cfca66698 100644
--- a/test/gtest_map_yaml.cpp
+++ b/test/gtest_map_yaml.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_matrix_composite.cpp b/test/gtest_matrix_composite.cpp
index 38a575f75..79f2f8f04 100644
--- a/test/gtest_matrix_composite.cpp
+++ b/test/gtest_matrix_composite.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_motion_buffer.cpp b/test/gtest_motion_buffer.cpp
index 108147b82..b1b74484a 100644
--- a/test/gtest_motion_buffer.cpp
+++ b/test/gtest_motion_buffer.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_motion_provider.cpp b/test/gtest_motion_provider.cpp
index 31afcc15c..30c24a44e 100644
--- a/test/gtest_motion_provider.cpp
+++ b/test/gtest_motion_provider.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_node_state_blocks.cpp b/test/gtest_node_state_blocks.cpp
index b30b13491..849e7b8ab 100644
--- a/test/gtest_node_state_blocks.cpp
+++ b/test/gtest_node_state_blocks.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_odom_2d.cpp b/test/gtest_odom_2d.cpp
index 23f174458..8af022fe0 100644
--- a/test/gtest_odom_2d.cpp
+++ b/test/gtest_odom_2d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_problem.cpp b/test/gtest_problem.cpp
index fe8e7fbe8..f7b772baa 100644
--- a/test/gtest_problem.cpp
+++ b/test/gtest_problem.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_processor_and_factor_pose_3d_with_extrinsics.cpp b/test/gtest_processor_and_factor_pose_3d_with_extrinsics.cpp
index 083d9bd0c..ed0e332bd 100644
--- a/test/gtest_processor_and_factor_pose_3d_with_extrinsics.cpp
+++ b/test/gtest_processor_and_factor_pose_3d_with_extrinsics.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_processor_base.cpp b/test/gtest_processor_base.cpp
index ce93d02da..a0f2b00f6 100644
--- a/test/gtest_processor_base.cpp
+++ b/test/gtest_processor_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_processor_diff_drive.cpp b/test/gtest_processor_diff_drive.cpp
index 6d854d1e0..0f52ccde0 100644
--- a/test/gtest_processor_diff_drive.cpp
+++ b/test/gtest_processor_diff_drive.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_processor_fixed_wing_model.cpp b/test/gtest_processor_fixed_wing_model.cpp
index b6a983682..ff796ed7b 100644
--- a/test/gtest_processor_fixed_wing_model.cpp
+++ b/test/gtest_processor_fixed_wing_model.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_processor_landmark_external.cpp b/test/gtest_processor_landmark_external.cpp
index 11a1f89db..20b3067df 100644
--- a/test/gtest_processor_landmark_external.cpp
+++ b/test/gtest_processor_landmark_external.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_processor_loop_closure.cpp b/test/gtest_processor_loop_closure.cpp
index 580dafc72..03347d572 100644
--- a/test/gtest_processor_loop_closure.cpp
+++ b/test/gtest_processor_loop_closure.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_processor_motion.cpp b/test/gtest_processor_motion.cpp
index 201633cf1..d97d0ccc2 100644
--- a/test/gtest_processor_motion.cpp
+++ b/test/gtest_processor_motion.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_processor_odom_3d.cpp b/test/gtest_processor_odom_3d.cpp
index 16b34ac8f..e60fd2100 100644
--- a/test/gtest_processor_odom_3d.cpp
+++ b/test/gtest_processor_odom_3d.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_processor_tracker_feature_dummy.cpp b/test/gtest_processor_tracker_feature_dummy.cpp
index 1104f633a..b8736cdde 100644
--- a/test/gtest_processor_tracker_feature_dummy.cpp
+++ b/test/gtest_processor_tracker_feature_dummy.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_processor_tracker_landmark_dummy.cpp b/test/gtest_processor_tracker_landmark_dummy.cpp
index fe6249a90..cda681eab 100644
--- a/test/gtest_processor_tracker_landmark_dummy.cpp
+++ b/test/gtest_processor_tracker_landmark_dummy.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_rotation.cpp b/test/gtest_rotation.cpp
index d9f9244df..f90a43642 100644
--- a/test/gtest_rotation.cpp
+++ b/test/gtest_rotation.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_schema.cpp b/test/gtest_schema.cpp
index 12ce8311d..9967c43a8 100644
--- a/test/gtest_schema.cpp
+++ b/test/gtest_schema.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_sensor_base.cpp b/test/gtest_sensor_base.cpp
index 5161a5acb..052df4399 100644
--- a/test/gtest_sensor_base.cpp
+++ b/test/gtest_sensor_base.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_sensor_diff_drive.cpp b/test/gtest_sensor_diff_drive.cpp
index c5f48d2f1..e6c134d40 100644
--- a/test/gtest_sensor_diff_drive.cpp
+++ b/test/gtest_sensor_diff_drive.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_sensor_odom.cpp b/test/gtest_sensor_odom.cpp
index 7ece221d6..4692d44dc 100644
--- a/test/gtest_sensor_odom.cpp
+++ b/test/gtest_sensor_odom.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_sensor_pose.cpp b/test/gtest_sensor_pose.cpp
index 7224032a9..41d0b4e5d 100644
--- a/test/gtest_sensor_pose.cpp
+++ b/test/gtest_sensor_pose.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_shared_from_this.cpp b/test/gtest_shared_from_this.cpp
index a220a72c1..165595e03 100644
--- a/test/gtest_shared_from_this.cpp
+++ b/test/gtest_shared_from_this.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_solver_ceres.cpp b/test/gtest_solver_ceres.cpp
index 784bfd56f..f7bb37e65 100644
--- a/test/gtest_solver_ceres.cpp
+++ b/test/gtest_solver_ceres.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_solver_ceres_multithread.cpp b/test/gtest_solver_ceres_multithread.cpp
index d43498c7b..338f68a11 100644
--- a/test/gtest_solver_ceres_multithread.cpp
+++ b/test/gtest_solver_ceres_multithread.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_solver_manager.cpp b/test/gtest_solver_manager.cpp
index 38963dca0..a892a7494 100644
--- a/test/gtest_solver_manager.cpp
+++ b/test/gtest_solver_manager.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_solver_manager_multithread.cpp b/test/gtest_solver_manager_multithread.cpp
index 6af106867..b76099144 100644
--- a/test/gtest_solver_manager_multithread.cpp
+++ b/test/gtest_solver_manager_multithread.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_spec_state_composite.cpp b/test/gtest_spec_state_composite.cpp
index a24639321..e0fca9292 100644
--- a/test/gtest_spec_state_composite.cpp
+++ b/test/gtest_spec_state_composite.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_spec_state_sensor_composite.cpp b/test/gtest_spec_state_sensor_composite.cpp
index 9a805f720..822f577ed 100644
--- a/test/gtest_spec_state_sensor_composite.cpp
+++ b/test/gtest_spec_state_sensor_composite.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_state_block.cpp b/test/gtest_state_block.cpp
index 0a8194ee0..896b87745 100644
--- a/test/gtest_state_block.cpp
+++ b/test/gtest_state_block.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_state_composite.cpp b/test/gtest_state_composite.cpp
index 0045f6ac3..bb559d834 100644
--- a/test/gtest_state_composite.cpp
+++ b/test/gtest_state_composite.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_time_stamp.cpp b/test/gtest_time_stamp.cpp
index 9a3281350..1793b192c 100644
--- a/test/gtest_time_stamp.cpp
+++ b/test/gtest_time_stamp.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_track_matrix.cpp b/test/gtest_track_matrix.cpp
index 9177eb1f5..0909c4710 100644
--- a/test/gtest_track_matrix.cpp
+++ b/test/gtest_track_matrix.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_trajectory.cpp b/test/gtest_trajectory.cpp
index 46d0f06b4..7ca979ea8 100644
--- a/test/gtest_trajectory.cpp
+++ b/test/gtest_trajectory.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_tree_manager.cpp b/test/gtest_tree_manager.cpp
index 850a56ad8..053eb5f6d 100644
--- a/test/gtest_tree_manager.cpp
+++ b/test/gtest_tree_manager.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_tree_manager_sliding_window.cpp b/test/gtest_tree_manager_sliding_window.cpp
index f285803e0..d72b80930 100644
--- a/test/gtest_tree_manager_sliding_window.cpp
+++ b/test/gtest_tree_manager_sliding_window.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_tree_manager_sliding_window_dual_rate.cpp b/test/gtest_tree_manager_sliding_window_dual_rate.cpp
index 4cbe3cd2d..3f0a81c43 100644
--- a/test/gtest_tree_manager_sliding_window_dual_rate.cpp
+++ b/test/gtest_tree_manager_sliding_window_dual_rate.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/test/gtest_vector_composite.cpp b/test/gtest_vector_composite.cpp
index bdd4aa4a1..37a93c0ea 100644
--- a/test/gtest_vector_composite.cpp
+++ b/test/gtest_vector_composite.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/wolf_scripts/license_header_2022.txt b/wolf_scripts/license_header_2023.txt
similarity index 88%
rename from wolf_scripts/license_header_2022.txt
rename to wolf_scripts/license_header_2023.txt
index 0c987025f..2ddae24c3 100644
--- a/wolf_scripts/license_header_2022.txt
+++ b/wolf_scripts/license_header_2023.txt
@@ -1,4 +1,4 @@
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/wolf_scripts/templates/class_template.cpp b/wolf_scripts/templates/class_template.cpp
index 035249b8f..6f44a5f99 100644
--- a/wolf_scripts/templates/class_template.cpp
+++ b/wolf_scripts/templates/class_template.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
diff --git a/wolf_scripts/templates/class_template.h b/wolf_scripts/templates/class_template.h
index 0981af233..73dc9e662 100644
--- a/wolf_scripts/templates/class_template.h
+++ b/wolf_scripts/templates/class_template.h
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
@@ -44,4 +44,4 @@ class class_name : public base_class
         virtual ~class_name();
 };
 
-} // namespace wolf
\ No newline at end of file
+} // namespace wolf
diff --git a/wolf_scripts/templates/gtest_template.cpp b/wolf_scripts/templates/gtest_template.cpp
index 9fc9750ab..748b7b9ed 100644
--- a/wolf_scripts/templates/gtest_template.cpp
+++ b/wolf_scripts/templates/gtest_template.cpp
@@ -1,6 +1,6 @@
 //--------LICENSE_START--------
 //
-// Copyright (C) 2020,2021,2022 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
+// Copyright (C) 2020,2021,2022,2023 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
 // Authors: Joan Solà Ortega (jsola@iri.upc.edu)
 // All rights reserved.
 //
-- 
GitLab