From 74552783928789d5d19cb629a32cafa26e881e03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Tue, 22 Oct 2024 09:31:35 +0200 Subject: [PATCH 01/26] [submodule] Bump LivoxPlugin 7fd505a Merge branch 'feat/addLivoxSDK1Models' into 'master' 12276c0 Merge branch 'refact/removeSDK2FromLivox' into 'master' --- Plugins/LivoxPlugin | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/LivoxPlugin b/Plugins/LivoxPlugin index e25c3f71e..7fd505a85 160000 --- a/Plugins/LivoxPlugin +++ b/Plugins/LivoxPlugin @@ -1 +1 @@ -Subproject commit e25c3f71e5750ea0fc062b502ce471d226ae555f +Subproject commit 7fd505a85909477c5a423dfa11ad3ec6c8049ac6 -- GitLab From 3028f1d8e483a85e61a9360e17356076c18f2c0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Tue, 22 Oct 2024 09:37:40 +0200 Subject: [PATCH 02/26] [doc] Adding livox missing models sdk1 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b94ab2c59..d47fe3532 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ LidarView currently supports a variety of LiDAR models from multiple manufacture - `Velodyne`: VLP-16, VLP-32, HDL-32, HDL-64, Puck LITE, Puck Hi-Res and Alpha Prime (VLS-128). - `Hesai`: Pandar40P, Pandar40M, Pandar64, Pandar20A, Pandar20B, PandarQT, PandarXT-16, PandarXT-32, PandarXTM and Pandar128. - `Robosense`: RS16, RS32, BPerl, Helios (16 & 32), Ruby (48, 80 & 128), Ruby Plus (48, 80 & 128), M1, M2 and E1. -- `Livox`: Mid-360 and HAP. +- `Livox`: Mid-40, Tele-15, Horizon, Mid-70, Avia, Mid-360 and HAP. - `Leishen`: C16, C32 and MS_C16. Additional sensor models may be supported upon request, provided that the drivers or specifications are publicly available. -- GitLab From 35c29f5284d1ed9cea50de867d402162d5395a24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Tue, 22 Oct 2024 09:39:23 +0200 Subject: [PATCH 03/26] [submodule] Bump LVCore 52d82702 Merge branch 'test/addTestForSecondsTimesteps' into 'master' --- LVCore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LVCore b/LVCore index a03119a3d..52d827029 160000 --- a/LVCore +++ b/LVCore @@ -1 +1 @@ -Subproject commit a03119a3dc6b2016cc9f4175b147ac68e5e69895 +Subproject commit 52d8270294a5533afc095a114308cadd35620ebf -- GitLab From a25e48d7990e0469bbebf259fac2efafb5ed76df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Thu, 10 Oct 2024 16:27:32 +0200 Subject: [PATCH 04/26] [refact] Allow building LidarView with Qt6 --- Application/Qt/ApplicationComponents/CMakeLists.txt | 4 ++-- Application/Qt/Components/CMakeLists.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Application/Qt/ApplicationComponents/CMakeLists.txt b/Application/Qt/ApplicationComponents/CMakeLists.txt index 240fa5359..9f52071a0 100644 --- a/Application/Qt/ApplicationComponents/CMakeLists.txt +++ b/Application/Qt/ApplicationComponents/CMakeLists.txt @@ -31,8 +31,8 @@ vtk_module_add_module(LidarViewApp::lvApplicationComponents SOURCES ${ui_files}) vtk_module_link(LidarViewApp::lvApplicationComponents PRIVATE - Qt5::Core - Qt5::Widgets) + "Qt${PARAVIEW_QT_MAJOR_VERSION}::Core" + "Qt${PARAVIEW_QT_MAJOR_VERSION}::Widgets") vtk_module_definitions(LidarViewApp::lvApplicationComponents PRIVATE QT_NO_KEYWORDS) include(FileModuleInstaller) diff --git a/Application/Qt/Components/CMakeLists.txt b/Application/Qt/Components/CMakeLists.txt index 07f906f26..01570a40c 100644 --- a/Application/Qt/Components/CMakeLists.txt +++ b/Application/Qt/Components/CMakeLists.txt @@ -25,7 +25,7 @@ vtk_module_add_module(LidarViewApp::lvComponents ${resource_files}) vtk_module_link(LidarViewApp::lvComponents PRIVATE - Qt5::Core - Qt5::Widgets) + "Qt${PARAVIEW_QT_MAJOR_VERSION}::Core" + "Qt${PARAVIEW_QT_MAJOR_VERSION}::Widgets") target_compile_definitions(lvComponents PRIVATE QT_NO_KEYWORDS) -- GitLab From d05fe16af07d6f6b3e5c734252ed0cf80d71ce9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Thu, 24 Oct 2024 12:41:27 +0200 Subject: [PATCH 05/26] [submodule] Bump LVCore b9132185 Merge branch 'refact/allowQt6' into 'master' --- LVCore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LVCore b/LVCore index 52d827029..b9132185a 160000 --- a/LVCore +++ b/LVCore @@ -1 +1 @@ -Subproject commit 52d8270294a5533afc095a114308cadd35620ebf +Subproject commit b9132185ad4876204a75d926f5d99ae5a7e7d21d -- GitLab From 3c473cf96763c0bb570e4828847a794de845c16a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Mon, 4 Nov 2024 14:15:35 +0100 Subject: [PATCH 06/26] [ci] Fix tins FindPackage include in ci --- .gitlab/ci/docker/ubuntu22/Dockerfile | 1 + .gitlab/ci/docker/ubuntu22/install_tins.sh | 1 + .../tins-fix-cmake-config-install.patch | 135 ++++++++++++++++++ .gitlab/os-linux.yml | 2 +- 4 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 .gitlab/ci/docker/ubuntu22/tins-fix-cmake-config-install.patch diff --git a/.gitlab/ci/docker/ubuntu22/Dockerfile b/.gitlab/ci/docker/ubuntu22/Dockerfile index 2b8fd2cbc..5b91aca8b 100644 --- a/.gitlab/ci/docker/ubuntu22/Dockerfile +++ b/.gitlab/ci/docker/ubuntu22/Dockerfile @@ -14,4 +14,5 @@ COPY install_nanoflann.sh /root/install_nanoflann.sh RUN sh /root/install_nanoflann.sh COPY install_tins.sh /root/install_tins.sh +COPY tins-fix-cmake-config-install.patch /root/tins-fix-cmake-config-install.patch RUN sh /root/install_tins.sh diff --git a/.gitlab/ci/docker/ubuntu22/install_tins.sh b/.gitlab/ci/docker/ubuntu22/install_tins.sh index f69d0b744..ede0eb702 100755 --- a/.gitlab/ci/docker/ubuntu22/install_tins.sh +++ b/.gitlab/ci/docker/ubuntu22/install_tins.sh @@ -18,6 +18,7 @@ curl -OL "https://github.com/mfontanini/libtins/archive/refs/tags/v$version.tar. sha256sum --check tins.sha256sum mkdir -p "$tins_src" tar -xf "$tarball" -C "$tins_src" --strip-components 1 --no-same-owner +cd "$tins_src" && git apply "/root/tins-fix-cmake-config-install.patch" tins_build () { local prefix="$1" diff --git a/.gitlab/ci/docker/ubuntu22/tins-fix-cmake-config-install.patch b/.gitlab/ci/docker/ubuntu22/tins-fix-cmake-config-install.patch new file mode 100644 index 000000000..171d4cd36 --- /dev/null +++ b/.gitlab/ci/docker/ubuntu22/tins-fix-cmake-config-install.patch @@ -0,0 +1,135 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 696385f..81ad0c9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.1) ++CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8) + PROJECT(libtins) + + OPTION(LIBTINS_BUILD_EXAMPLES "Build examples" ON) +@@ -317,11 +317,7 @@ ENDIF() + # CMake project configuration export + # ********************************** + +-if(UNIX) +- set(CONF_CMAKE_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/libtins") +-else() +- set(CONF_CMAKE_INSTALL_DIR CMake) +-endif() ++set(CONF_CMAKE_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/libtins") + + # Add all targets to the build-tree export set + EXPORT( +@@ -332,23 +328,33 @@ EXPORT( + # Export the package for use from the build-tree + # (this registers the build-tree with a global CMake-registry) + EXPORT(PACKAGE libtins) ++INCLUDE(CMakePackageConfigHelpers) + + # Create the libtinsConfig.cmake and libtinsConfigVersion.cmake files + # for the build tree +-SET(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include") +-CONFIGURE_FILE( ++SET(CONF_INCLUDE_DIRS "include") ++CONFIGURE_PACKAGE_CONFIG_FILE( + cmake/libtinsConfig.cmake.in +- "${PROJECT_BINARY_DIR}/libtinsConfig.cmake" @ONLY ++ "${PROJECT_BINARY_DIR}/libtinsConfig.cmake" ++ INSTALL_DESTINATION ${CONF_CMAKE_INSTALL_DIR} ++ PATH_VARS CONF_INCLUDE_DIRS + ) + CONFIGURE_FILE( + cmake/libtinsConfigVersion.cmake.in + "${PROJECT_BINARY_DIR}/libtinsConfigVersion.cmake" @ONLY + ) ++CONFIGURE_FILE( ++ "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/FindPCAP.cmake" ++ "${PROJECT_BINARY_DIR}/FindPCAP.cmake" ++ COPYONLY ++) ++ + # Install the libtinsConfig.cmake and libtinsConfigVersion.cmake + INSTALL( + FILES + "${PROJECT_BINARY_DIR}/libtinsConfig.cmake" + "${PROJECT_BINARY_DIR}/libtinsConfigVersion.cmake" ++ "${PROJECT_BINARY_DIR}/FindPCAP.cmake" + DESTINATION ${CONF_CMAKE_INSTALL_DIR} + COMPONENT dev + ) +diff --git a/cmake/Modules/FindPCAP.cmake b/cmake/Modules/FindPCAP.cmake +index 388b30b..f931e31 100644 +--- a/cmake/Modules/FindPCAP.cmake ++++ b/cmake/Modules/FindPCAP.cmake +@@ -42,10 +42,18 @@ find_library(PCAP_LIBRARY + HINTS ${HINT_DIR} + ) + ++if (PCAP_LIBRARY AND PCAP_INCLUDE_DIR) ++ add_library(PCAP::pcap UNKNOWN IMPORTED) ++ set_target_properties(PCAP::pcap ++ PROPERTIES ++ IMPORTED_LOCATION "${PCAP_LIBRARY}" ++ INTERFACE_INCLUDE_DIRECTORIES "${PCAP_INCLUDE_DIR}") ++ set(PCAP_LIBRARIES PCAP::pcap) ++endif () ++ + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(PCAP DEFAULT_MSG +- PCAP_LIBRARY +- PCAP_INCLUDE_DIR ++ PCAP_LIBRARIES PCAP_LIBRARY PCAP_INCLUDE_DIR + ) + + include(CheckCXXSourceCompiles) +diff --git a/cmake/libtinsConfig.cmake.in b/cmake/libtinsConfig.cmake.in +index 183b245..fa8fd2f 100644 +--- a/cmake/libtinsConfig.cmake.in ++++ b/cmake/libtinsConfig.cmake.in +@@ -3,14 +3,29 @@ + # LIBTINS_INCLUDE_DIRS - include directories for libtins + # LIBTINS_LIBRARIES - libraries to link against + +-# Compute paths ++@PACKAGE_INIT@ ++ ++set("${CMAKE_FIND_PACKAGE_NAME}_CMAKE_MODULE_PATH_save" "${CMAKE_MODULE_PATH}") ++list(INSERT CMAKE_MODULE_PATH 0 ++ "${CMAKE_CURRENT_LIST_DIR}") ++ + get_filename_component(LIBTINS_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-set(LIBTINS_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@") ++set_and_check(LIBTINS_INCLUDE_DIRS "@PACKAGE_CONF_INCLUDE_DIRS@") ++ ++include(CMakeFindDependencyMacro) ++find_dependency(PCAP) + + # Our library dependencies (contains definitions for IMPORTED targets) + if(NOT TARGET libtins AND NOT LIBTINS_BINARY_DIR) + include("${LIBTINS_CMAKE_DIR}/libtinsTargets.cmake") ++ ++ set_target_properties(tins ++ PROPERTIES ++ INTERFACE_INCLUDE_DIRECTORIES "${LIBTINS_INCLUDE_DIRS}") + endif() + + # These are IMPORTED targets created by libtinsTargets.cmake + set(LIBTINS_LIBRARIES tins) ++ ++set(CMAKE_MODULE_PATH "${${CMAKE_FIND_PACKAGE_NAME}_CMAKE_MODULE_PATH_save}") ++unset("${CMAKE_FIND_PACKAGE_NAME}_CMAKE_MODULE_PATH_save") +\ No newline at end of file +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 88f47a2..e14f519 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -212,7 +212,7 @@ ADD_LIBRARY( + ${HEADERS} + ) + +-TARGET_LINK_LIBRARIES(tins ${PCAP_LIBRARY} ${OPENSSL_LIBRARIES} ${LIBTINS_OS_LIBS}) ++TARGET_LINK_LIBRARIES(tins PUBLIC ${PCAP_LIBRARIES} ${OPENSSL_LIBRARIES} ${LIBTINS_OS_LIBS}) + + SET_TARGET_PROPERTIES(tins PROPERTIES OUTPUT_NAME tins) + SET_TARGET_PROPERTIES(tins PROPERTIES VERSION ${LIBTINS_VERSION} SOVERSION ${LIBTINS_VERSION} ) diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml index 3f9bd8e61..e9c36bc82 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -8,7 +8,7 @@ .ubuntu22: extends: .linux - image: "gitlab.kitware.com:4567/lidarview/lidarview:ci-ubuntu22-20241015" + image: "gitlab.kitware.com:4567/lidarview/lidarview:ci-ubuntu22-20241104" .ubuntu22_debug: extends: .ubuntu22 -- GitLab From 562dbbac633f2c1cf836eff353d92873365eb150 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Tue, 5 Nov 2024 09:21:47 +0100 Subject: [PATCH 07/26] [ci] Change excluded tests --- .gitlab/ci/CMakePresets.json | 2 +- .gitlab/ci/excluded_tests.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab/ci/CMakePresets.json b/.gitlab/ci/CMakePresets.json index 8e8c4832e..b116ed96d 100644 --- a/.gitlab/ci/CMakePresets.json +++ b/.gitlab/ci/CMakePresets.json @@ -29,7 +29,7 @@ "name": "ci_ubuntu22_debug", "inherits": ["ci_common"], "filter": { - "exclude": {"name": "TestVelodyneHDLPositionReader"} + "exclude": {"name": "TestVelodyneHDLPositionReader|TestVelodyneLidarStream_HDL_64_Dual"} } }, { diff --git a/.gitlab/ci/excluded_tests.md b/.gitlab/ci/excluded_tests.md index 29513f6ba..626319bf5 100644 --- a/.gitlab/ci/excluded_tests.md +++ b/.gitlab/ci/excluded_tests.md @@ -8,3 +8,4 @@ ## ci-ubuntu22-debug - `TestVelodyneHDLPositionReader` -> doesn't find proj.db, gdal issue? +- `TestVelodyneLidarStream_HDL_64` -> Stream 2nd frame wrong since [lidarview-core!542](https://gitlab.kitware.com/LidarView/lidarview-core/-/merge_requests/542) update -- GitLab From 60aba666b1e187cc6adf74eb079d9cb3dc5d21a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Wed, 27 Nov 2024 16:51:32 +0100 Subject: [PATCH 08/26] [feat] Add libpcap version in about dialog --- Application/Qt/Components/lqAboutDialog.cxx | 3 +++ Application/Qt/Components/vtk.module | 1 + 2 files changed, 4 insertions(+) diff --git a/Application/Qt/Components/lqAboutDialog.cxx b/Application/Qt/Components/lqAboutDialog.cxx index 4bdcee081..e46e37cf5 100644 --- a/Application/Qt/Components/lqAboutDialog.cxx +++ b/Application/Qt/Components/lqAboutDialog.cxx @@ -16,6 +16,8 @@ #include "lqAboutDialog.h" #include "ui_lqAboutDialog.h" +#include <tins/tins.h> + #include <vtkLVVersion.h> #include <QtTestingConfigure.h> @@ -94,6 +96,7 @@ void lqAboutDialog::AddClientInformation() ::addItem(tree, tr("ParaView Version"), QString(PARAVIEW_VERSION_FULL)); ::addItem(tree, tr("VTK Version"), QString(vtkVersion::GetVTKVersionFull())); ::addItem(tree, tr("Qt Version"), QT_VERSION_STR); + ::addItem(tree, tr("Libpcap Version"), pcap_lib_version()); ::addItem(tree, tr("vtkIdType size"), tr("%1bits").arg(8 * sizeof(vtkIdType))); diff --git a/Application/Qt/Components/vtk.module b/Application/Qt/Components/vtk.module index f72f4ab07..fad7ded9b 100644 --- a/Application/Qt/Components/vtk.module +++ b/Application/Qt/Components/vtk.module @@ -10,4 +10,5 @@ PRIVATE_DEPENDS ParaView::pqComponents ParaView::RemotingViews VTK::CommonCore + Tins::tins EXCLUDE_WRAP -- GitLab From 1a0d3126703f37aae2caa50f0096579ce21688cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Thu, 28 Nov 2024 11:58:52 +0100 Subject: [PATCH 09/26] [ci] Ignore deprecation warnings in tidy build --- .gitlab/ci/configure_ubuntu22_debug_tidy.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitlab/ci/configure_ubuntu22_debug_tidy.cmake b/.gitlab/ci/configure_ubuntu22_debug_tidy.cmake index d886ef0a0..289e917b3 100644 --- a/.gitlab/ci/configure_ubuntu22_debug_tidy.cmake +++ b/.gitlab/ci/configure_ubuntu22_debug_tidy.cmake @@ -3,5 +3,8 @@ include("${CMAKE_CURRENT_LIST_DIR}/configure_ubuntu22_debug.cmake") # Treats warnings as errors set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra" CACHE STRING "") +# Ignore deprecation warning to be able to build +set(LIDARVIEW_HIDE_DEPRECATION_WARNINGS ON CACHE BOOL "") + # Create a compilation database for the analize stage (clang-tidy) set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE BOOL "") -- GitLab From 8a09b6eb6c4d490b7bc96f66ea33fe9a0f9930fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Mon, 2 Dec 2024 17:47:39 +0100 Subject: [PATCH 10/26] [submodule] Bump LVCore 2d5ffea7 Merge branch 'feat/implementStreamPacketSniffer' into 'master' 7ef88420 Merge branch 'refact/useTinsWithNpcap' into 'master' 688aa20d Merge branch 'refact/useTinsToReadPCAP' into 'master' 01cf65d6 Merge branch 'feat/addCustomDockWidgetExample' into 'master' eb323e7f Merge branch 'fix/exportLidarViewConfig' into 'master' bb9d147c Merge branch 'feat/improveInterpreterExamples' into 'master' 7922c0bd Merge branch 'feat/addThresholdFromFileExample' into 'master' 37f63972 Merge branch 'refact/reworkStreamImplementation' into 'master' ccbe485c Merge branch 'feat/compensateTrailingFrameSLAMTrajectory' into 'master' --- LVCore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LVCore b/LVCore index b9132185a..2d5ffea72 160000 --- a/LVCore +++ b/LVCore @@ -1 +1 @@ -Subproject commit b9132185ad4876204a75d926f5d99ae5a7e7d21d +Subproject commit 2d5ffea729feb9d64b845fec10bf7f804df7bc43 -- GitLab From 5fa310fe954c387d61876e97f0e902b8ee0465d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Mon, 2 Dec 2024 17:53:31 +0100 Subject: [PATCH 11/26] [bump] Interpreter plugins --- Plugins/LeishenPlugin | 2 +- Plugins/LivoxPlugin | 2 +- Plugins/RobosensePlugin | 2 +- Plugins/VelodynePlugin | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Plugins/LeishenPlugin b/Plugins/LeishenPlugin index ed7c81e0a..8c4d85b73 160000 --- a/Plugins/LeishenPlugin +++ b/Plugins/LeishenPlugin @@ -1 +1 @@ -Subproject commit ed7c81e0a792d44535f4dccf39cb41e112aecccd +Subproject commit 8c4d85b73375a80475cb7442ff328fa8ec8f7fbe diff --git a/Plugins/LivoxPlugin b/Plugins/LivoxPlugin index 7fd505a85..2114d9b55 160000 --- a/Plugins/LivoxPlugin +++ b/Plugins/LivoxPlugin @@ -1 +1 @@ -Subproject commit 7fd505a85909477c5a423dfa11ad3ec6c8049ac6 +Subproject commit 2114d9b55204656170f762b8413b1846c11335d2 diff --git a/Plugins/RobosensePlugin b/Plugins/RobosensePlugin index 994d7f505..946875726 160000 --- a/Plugins/RobosensePlugin +++ b/Plugins/RobosensePlugin @@ -1 +1 @@ -Subproject commit 994d7f5053cd290839f566719cee1c558e7ebbe1 +Subproject commit 946875726b3f860da21fed89a7476db231629a09 diff --git a/Plugins/VelodynePlugin b/Plugins/VelodynePlugin index a91c7306d..6f1856429 160000 --- a/Plugins/VelodynePlugin +++ b/Plugins/VelodynePlugin @@ -1 +1 @@ -Subproject commit a91c7306d050aa32b9685a0b1cb66b55fe4b660e +Subproject commit 6f1856429da2494ed59247600a4ff4913dabff1c -- GitLab From f10e19fb35a7aef9faa73747731ce88e3bfa778d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Thu, 5 Dec 2024 18:05:34 +0100 Subject: [PATCH 12/26] [submodule] Bump LVCore 24a7416c Merge branch 'fix/fixAggregatePointsOffline' into 'master' 859ddc94 Merge branch 'feat/AddAdaptiveNormalEstimation' into 'master' 33365f4c Merge branch 'fix/gridReactionSubclasses' into 'master' --- LVCore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LVCore b/LVCore index 2d5ffea72..24a7416c7 160000 --- a/LVCore +++ b/LVCore @@ -1 +1 @@ -Subproject commit 2d5ffea729feb9d64b845fec10bf7f804df7bc43 +Subproject commit 24a7416c7a5a0ebe472c16400315b1774b719a3b -- GitLab From 56dd8f32ff9d42fd76b47e830f77e69d5cae5607 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Wed, 13 Nov 2024 13:57:10 +0100 Subject: [PATCH 13/26] [fix] Only hide toolbars on main windows toolbar --- Application/Qt/ApplicationComponents/lqLidarViewManager.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Application/Qt/ApplicationComponents/lqLidarViewManager.cxx b/Application/Qt/ApplicationComponents/lqLidarViewManager.cxx index cddc76605..340e58c1f 100644 --- a/Application/Qt/ApplicationComponents/lqLidarViewManager.cxx +++ b/Application/Qt/ApplicationComponents/lqLidarViewManager.cxx @@ -238,7 +238,8 @@ public: //----------------------------------------------------------------------------- void updateToolBarsLayout() { - QList<QToolBar*> toolbars = this->mainWindow->findChildren<QToolBar*>(); + QList<QToolBar*> toolbars = + this->mainWindow->findChildren<QToolBar*>(QString(), Qt::FindDirectChildrenOnly); nlohmann::json toolBarsConfig = this->currentJsonMode["toolbars"]; if (toolBarsConfig["show"].is_array()) -- GitLab From 9a46c7770734d19ab20bd1c4edf7207d5697991a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Wed, 13 Nov 2024 13:57:45 +0100 Subject: [PATCH 14/26] [feat] Add time manager dock widget --- Application/Client/LidarViewMainWindow.ui | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Application/Client/LidarViewMainWindow.ui b/Application/Client/LidarViewMainWindow.ui index 010f5c674..705913e1a 100644 --- a/Application/Client/LidarViewMainWindow.ui +++ b/Application/Client/LidarViewMainWindow.ui @@ -173,6 +173,18 @@ </attribute> <widget class="pqPropertiesPanel" name="viewPropertiesPanel"/> </widget> + <widget class="QDockWidget" name="timeManagerDock"> + <property name="allowedAreas"> + <set>Qt::BottomDockWidgetArea|Qt::TopDockWidgetArea</set> + </property> + <property name="windowTitle"> + <string>Time Manager</string> + </property> + <attribute name="dockWidgetArea"> + <number>8</number> + </attribute> + <widget class="pqTimeManagerWidget" name="timeManagerPanel"/> + </widget> <widget class="QDockWidget" name="outputWidgetDock"> <property name="floating"> <bool>false</bool> @@ -313,6 +325,12 @@ <header>pqProxyInformationWidget.h</header> <container>1</container> </customwidget> + <customwidget> + <class>pqTimeManagerWidget</class> + <extends>QWidget</extends> + <header>pqTimeManagerWidget.h</header> + <container>1</container> + </customwidget> <customwidget> <class>pqMemoryInspectorPanel</class> <extends>QWidget</extends> -- GitLab From 4b21ebe01c12683e513045599581793a7da1d1ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Mon, 13 Jan 2025 09:25:09 +0100 Subject: [PATCH 15/26] [ci] Ignore extract point selection test For an unknown reason adding time manager change baseline of extraction test but only on the ci (local is kept unchanged) --- .gitlab/ci/CMakePresets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab/ci/CMakePresets.json b/.gitlab/ci/CMakePresets.json index b116ed96d..052d7fda0 100644 --- a/.gitlab/ci/CMakePresets.json +++ b/.gitlab/ci/CMakePresets.json @@ -29,7 +29,7 @@ "name": "ci_ubuntu22_debug", "inherits": ["ci_common"], "filter": { - "exclude": {"name": "TestVelodyneHDLPositionReader|TestVelodyneLidarStream_HDL_64_Dual"} + "exclude": {"name": "TestVelodyneHDLPositionReader|TestVelodyneLidarStream_HDL_64_Dual|TestExtractPointSelection"} } }, { -- GitLab From fee4c0b64378374d364684fff62193fe1abdda58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Mon, 13 Jan 2025 10:25:40 +0100 Subject: [PATCH 16/26] [submodule] Bump LVCore af16542b Merge branch 'refact/updateAnimationExample' into 'master' 8b964dfa Merge branch 'feat/AddFilterToRemoveOutliers' into 'master' 120e466d Merge branch 'feat/AddClusteringFilter' into 'master' 2be29c7f Merge branch 'feat/add_average_selected_point_example' into 'master' df275bf3 Merge branch 'fix/FixProcessingModuleLinkNanoflann' into 'master' --- LVCore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LVCore b/LVCore index 24a7416c7..af16542b8 160000 --- a/LVCore +++ b/LVCore @@ -1 +1 @@ -Subproject commit 24a7416c7a5a0ebe472c16400315b1774b719a3b +Subproject commit af16542b8e049cf3c60c99464e02d14963226c26 -- GitLab From 53fb9c11d8640c46fd73b832340b0a1ca02eb214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Thu, 16 Jan 2025 17:22:28 +0100 Subject: [PATCH 17/26] [submodule] Bump LVCore 1f3224df Merge branch 'fix/loadDefaultSubProxyInterpreter' into 'master' 6b279ecb Merge branch 'fix/fixSnifferIssues' into 'master' --- LVCore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LVCore b/LVCore index af16542b8..1f3224df8 160000 --- a/LVCore +++ b/LVCore @@ -1 +1 @@ -Subproject commit af16542b8e049cf3c60c99464e02d14963226c26 +Subproject commit 1f3224df848438de06ff16f3e1828f224c449d57 -- GitLab From eb8bb7a8038300b871853d21b81733656a168c65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Mon, 20 Jan 2025 17:11:59 +0100 Subject: [PATCH 18/26] [submodule] Bump LeishenPlugin 5f6d3e5 Merge branch 'fix/minorFixesLeishen' into 'master' --- Plugins/LeishenPlugin | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Plugins/LeishenPlugin b/Plugins/LeishenPlugin index 8c4d85b73..5f6d3e5ff 160000 --- a/Plugins/LeishenPlugin +++ b/Plugins/LeishenPlugin @@ -1 +1 @@ -Subproject commit 8c4d85b73375a80475cb7442ff328fa8ec8f7fbe +Subproject commit 5f6d3e5ff16d80ef10fc5c8c8556ea53c7463d85 -- GitLab From 2e57b9fc8b6e4cafbc70ad85b8f6746f3b51123d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Wed, 19 Mar 2025 16:52:26 +0100 Subject: [PATCH 19/26] [submodule] Bump LVCore 496a5abe Merge branch 'fix/calibrationFilePropertyWidget' into 'master' 96848cad Merge branch 'fix/CleanPointsInOutlierRemoval' into 'master' c84c8e4b Merge branch 'refact/temporalTransformApplier' into 'master' 0215f362 Merge branch 'feat/addTachOptionForView' into 'master' 7f538048 Merge branch 'feat/addTachOptionForView' into 'master' --- LVCore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LVCore b/LVCore index 1f3224df8..496a5abef 160000 --- a/LVCore +++ b/LVCore @@ -1 +1 @@ -Subproject commit 1f3224df848438de06ff16f3e1828f224c449d57 +Subproject commit 496a5abefd365b0b82c1327a23f11a0f08782c3f -- GitLab From ce39fdcd941cee2e02f11b56665d7c4cf61a17d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Thu, 27 Mar 2025 17:01:13 +0100 Subject: [PATCH 20/26] [fix] Use only tag version to determine LidarView version This impact the way settings are handled, they will not be reset for each commit. --- Application/Client/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Application/Client/CMakeLists.txt b/Application/Client/CMakeLists.txt index 82d39c29f..3c8533af5 100644 --- a/Application/Client/CMakeLists.txt +++ b/Application/Client/CMakeLists.txt @@ -51,7 +51,7 @@ paraview_client_add( NAME ${SOFTWARE_NAME} NAMESPACE "${SOFTWARE_NAME}" EXPORT "LidarViewClient" - VERSION ${LIDARVIEW_VERSION_FULL} + VERSION "${LIDARVIEW_VERSION_MAJOR}.${LIDARVIEW_VERSION_MINOR}.${LIDARVIEW_VERSION_PATCH}" APPLICATION_NAME "${SOFTWARE_NAME}" ORGANIZATION "${SOFTWARE_VENDOR}" TITLE "${SOFTWARE_NAME} ${LIDARVIEW_VERSION_FULL}" -- GitLab From c339be786cbe893eb7ed95c3f4c9f700103d43bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Mon, 31 Mar 2025 10:51:40 +0200 Subject: [PATCH 21/26] [refact] Remove auto target to external plugins --- Application/Client/CMakeLists.txt | 8 -------- 1 file changed, 8 deletions(-) diff --git a/Application/Client/CMakeLists.txt b/Application/Client/CMakeLists.txt index 3c8533af5..d6166cc53 100644 --- a/Application/Client/CMakeLists.txt +++ b/Application/Client/CMakeLists.txt @@ -39,14 +39,6 @@ if (LIDARVIEW_USE_LIDARSLAM_PLUGIN) list(APPEND plugins_targets LidarSlam::paraview_wrapping) endif () -if (LIDARVIEW_USE_ROS2IO_PLUGIN) - list(APPEND plugins_targets Ros2IO::paraview_plugin) -endif () - -if (LIDARVIEW_USE_PCLPLUGIN_PLUGIN) - list(APPEND plugins_targets PCLPlugin::paraview_plugin) -endif () - paraview_client_add( NAME ${SOFTWARE_NAME} NAMESPACE "${SOFTWARE_NAME}" -- GitLab From 16fdad83a5b41d9d2b36ebbae7c3fb18f9576780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Mon, 31 Mar 2025 10:51:45 +0200 Subject: [PATCH 22/26] [submodule] Bump LVCore 62123fe4 Merge branch 'refact/dontSearchRos2PCLPlugins' into 'master' ecf34343 Merge branch 'feat/add2DBoxPropertyExample' into 'master' 8753518e Merge branch 'fix/FixOutlierRemoval' into 'master' --- LVCore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LVCore b/LVCore index 496a5abef..62123fe46 160000 --- a/LVCore +++ b/LVCore @@ -1 +1 @@ -Subproject commit 496a5abefd365b0b82c1327a23f11a0f08782c3f +Subproject commit 62123fe467028a65f870187430d9f5a9d5540cdc -- GitLab From 59a1aa1597be69f8b9255ff2fb15e7b0df18fd5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Mon, 31 Mar 2025 16:37:03 +0200 Subject: [PATCH 23/26] [fix] Set property dock as default --- Application/Client/LidarViewMainWindow.cxx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Application/Client/LidarViewMainWindow.cxx b/Application/Client/LidarViewMainWindow.cxx index fa58a0de3..56886435e 100644 --- a/Application/Client/LidarViewMainWindow.cxx +++ b/Application/Client/LidarViewMainWindow.cxx @@ -108,6 +108,9 @@ LidarViewMainWindow::LidarViewMainWindow() this->tabifyDockWidget(this->Internals->propertiesDock, this->Internals->viewPropertiesDock); this->tabifyDockWidget(this->Internals->propertiesDock, this->Internals->displayPropertiesDock); + // Set properties panel as default dock + this->Internals->propertiesDock->raise(); + // Change default properties panel modes (one dock for each) this->Internals->propertiesPanel->setPanelMode(pqPropertiesPanel::SOURCE_PROPERTIES); this->Internals->viewPropertiesPanel->setPanelMode(pqPropertiesPanel::VIEW_PROPERTIES); -- GitLab From 0711d829bd9ac1e35779b826e8aa83b38897dc27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Mon, 31 Mar 2025 16:37:46 +0200 Subject: [PATCH 24/26] [feat] Add comparativeVis dock panel --- Application/Client/LidarViewMainWindow.cxx | 1 + Application/Client/LidarViewMainWindow.ui | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/Application/Client/LidarViewMainWindow.cxx b/Application/Client/LidarViewMainWindow.cxx index 56886435e..ccf424fe0 100644 --- a/Application/Client/LidarViewMainWindow.cxx +++ b/Application/Client/LidarViewMainWindow.cxx @@ -107,6 +107,7 @@ LidarViewMainWindow::LidarViewMainWindow() this->tabifyDockWidget(this->Internals->propertiesDock, this->Internals->viewPropertiesDock); this->tabifyDockWidget(this->Internals->propertiesDock, this->Internals->displayPropertiesDock); + this->tabifyDockWidget(this->Internals->propertiesDock, this->Internals->comparativePanelDock); // Set properties panel as default dock this->Internals->propertiesDock->raise(); diff --git a/Application/Client/LidarViewMainWindow.ui b/Application/Client/LidarViewMainWindow.ui index 705913e1a..5474811c8 100644 --- a/Application/Client/LidarViewMainWindow.ui +++ b/Application/Client/LidarViewMainWindow.ui @@ -128,6 +128,18 @@ </attribute> <widget class="pqPipelineBrowserWidget" name="pipelineBrowser"/> </widget> + <widget class="QDockWidget" name="comparativePanelDock"> + <property name="allowedAreas"> + <set>Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea</set> + </property> + <property name="windowTitle"> + <string>Comparative View Inspector</string> + </property> + <attribute name="dockWidgetArea"> + <number>2</number> + </attribute> + <widget class="pqComparativeVisPanel" name="comparativeVisPanel"/> + </widget> <widget class="QDockWidget" name="propertiesDock"> <property name="windowTitle"> <string>Properties</string> @@ -313,6 +325,12 @@ <extends>QStatusBar</extends> <header>lqStatusBar.h</header> </customwidget> + <customwidget> + <class>pqComparativeVisPanel</class> + <extends>QWidget</extends> + <header>pqComparativeVisPanel.h</header> + <container>1</container> + </customwidget> <customwidget> <class>pqPropertiesPanel</class> <extends>QWidget</extends> -- GitLab From e659da8cc081774d0f930caa16a67070dc4e5300 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Mon, 31 Mar 2025 16:38:31 +0200 Subject: [PATCH 25/26] [feat] Customize available view in lidarview --- Application/Client/LidarViewMainWindow.cxx | 5 +++ .../Qt/ApplicationComponents/CMakeLists.txt | 1 + .../lqViewFrameActionsImplementation.cxx | 44 ++++++++++++++++++ .../lqViewFrameActionsImplementation.h | 45 +++++++++++++++++++ 4 files changed, 95 insertions(+) create mode 100644 Application/Qt/ApplicationComponents/lqViewFrameActionsImplementation.cxx create mode 100644 Application/Qt/ApplicationComponents/lqViewFrameActionsImplementation.h diff --git a/Application/Client/LidarViewMainWindow.cxx b/Application/Client/LidarViewMainWindow.cxx index ccf424fe0..27584701e 100644 --- a/Application/Client/LidarViewMainWindow.cxx +++ b/Application/Client/LidarViewMainWindow.cxx @@ -57,6 +57,7 @@ typedef pqPythonDebugLeaksView DebugLeaksViewType; #include "lqLiveSourceScalarColoringBehavior.h" #include "lqOpenLidarReaction.h" #include "lqRecentlyUsedPcapLoader.h" +#include "lqViewFrameActionsImplementation.h" #include "lqWelcomeDialog.h" //----------------------------------------------------------------------------- @@ -192,6 +193,10 @@ LidarViewMainWindow::LidarViewMainWindow() // To register ParaView interfaces. pqInterfaceTracker* pgm = pqApplicationCore::instance()->interfaceTracker(); + // Replace default views + pqParaViewBehaviors::setEnableStandardViewFrameActions(false); + pgm->addInterface(new lqViewFrameActionsImplementation(pgm)); + // Add recently used pcap interface pgm->addInterface(new lqRecentlyUsedPcapLoader(pgm)); diff --git a/Application/Qt/ApplicationComponents/CMakeLists.txt b/Application/Qt/ApplicationComponents/CMakeLists.txt index 9f52071a0..dff460299 100644 --- a/Application/Qt/ApplicationComponents/CMakeLists.txt +++ b/Application/Qt/ApplicationComponents/CMakeLists.txt @@ -8,6 +8,7 @@ set(classes lqMainControlsToolbar lqMenuSaveAsReaction lqStatusBar + lqViewFrameActionsImplementation lqWelcomeDialog ) diff --git a/Application/Qt/ApplicationComponents/lqViewFrameActionsImplementation.cxx b/Application/Qt/ApplicationComponents/lqViewFrameActionsImplementation.cxx new file mode 100644 index 000000000..f153b138e --- /dev/null +++ b/Application/Qt/ApplicationComponents/lqViewFrameActionsImplementation.cxx @@ -0,0 +1,44 @@ +/*========================================================================= + + Program: LidarView + Module: lqViewFrameActionsImplementation.cxx + + Copyright (c) Kitware, Inc. + All rights reserved. + See LICENSE or http://www.apache.org/licenses/LICENSE-2.0 for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notice for more information. + +=========================================================================*/ + +#include "lqViewFrameActionsImplementation.h" + +//----------------------------------------------------------------------------- +lqViewFrameActionsImplementation::lqViewFrameActionsImplementation(QObject* parent) + : Superclass(parent) +{ +} + +//----------------------------------------------------------------------------- +QList<pqStandardViewFrameActionsImplementation::ViewType> +lqViewFrameActionsImplementation::availableViewTypes() +{ + std::vector<std::tuple<std::string, std::string>> option_view{ { "LidarGridView", "Render View" }, + { "ComparativeRenderView", "Comparative Render View" }, + { "RenderViewWithEDL", "Eye Dome Lighting Render View" }, + { "SpreadSheetView", "SpreadSheet View" }, + { "XYHistogramChartView", "Histogram View" }, + { "XYChartView", "Line Chart View" }, + { "PythonView", "Python View" } }; + QList<pqStandardViewFrameActionsImplementation::ViewType> views; + for (const auto& [key, value] : option_view) + { + pqStandardViewFrameActionsImplementation::ViewType info; + info.Name = QString(key.c_str()); + info.Label = QString(value.c_str()); + views.push_back(info); + } + return views; +} diff --git a/Application/Qt/ApplicationComponents/lqViewFrameActionsImplementation.h b/Application/Qt/ApplicationComponents/lqViewFrameActionsImplementation.h new file mode 100644 index 000000000..ea0c7ad13 --- /dev/null +++ b/Application/Qt/ApplicationComponents/lqViewFrameActionsImplementation.h @@ -0,0 +1,45 @@ +/*========================================================================= + + Program: LidarView + Module: lqViewFrameActionsImplementation.h + + Copyright (c) Kitware, Inc. + All rights reserved. + See LICENSE or http://www.apache.org/licenses/LICENSE-2.0 for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notice for more information. + +=========================================================================*/ + +#ifndef lqViewFrameActionsImplementation_h +#define lqViewFrameActionsImplementation_h + +#include <pqStandardViewFrameActionsImplementation.h> + +#include <QList> + +#include "lvApplicationComponentsModule.h" + +class LVAPPLICATIONCOMPONENTS_EXPORT lqViewFrameActionsImplementation + : public pqStandardViewFrameActionsImplementation +{ + Q_OBJECT + typedef pqStandardViewFrameActionsImplementation Superclass; + +public: + lqViewFrameActionsImplementation(QObject* parent = 0); + ~lqViewFrameActionsImplementation() override = default; + +protected: + /** + * Returns available view types in LidarView. + */ + QList<ViewType> availableViewTypes() override; + +private: + Q_DISABLE_COPY(lqViewFrameActionsImplementation); +}; + +#endif -- GitLab From 1573a1672adedb62151890e7f9bbe0d56affb32c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Couble?= <timothee.couble@kitware.com> Date: Mon, 31 Mar 2025 17:19:13 +0200 Subject: [PATCH 26/26] [feat] Change version to 5.1.0 --- version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.txt b/version.txt index 6b244dcd6..831446cbd 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -5.0.1 +5.1.0 -- GitLab