diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 817a0d8bc..c379a6ef4 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2,4 +2,3 @@ # https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners * @mjcarroll -tutorials/* @maryaB-osr diff --git a/.github/ci/packages.apt b/.github/ci/packages.apt index a7fb41b53..00715fab4 100644 --- a/.github/ci/packages.apt +++ b/.github/ci/packages.apt @@ -1,13 +1,15 @@ +libassimp-dev libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev libfreeimage-dev +libgdal-dev libgts-dev -libignition-cmake2-dev -libignition-math6-dev +libgz-cmake3-dev +libgz-math7-dev +libgz-utils2-dev libswscale-dev libtinyxml2-dev pkg-config -ruby-ronn uuid-dev diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e36175c3a..955a64f35 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,23 +3,23 @@ name: Ubuntu CI on: [push, pull_request] jobs: - bionic-ci: + focal-ci: runs-on: ubuntu-latest - name: Ubuntu Bionic CI + name: Ubuntu Focal CI steps: - name: Checkout uses: actions/checkout@v2 - name: Compile and test id: ci - uses: ignition-tooling/action-ignition-ci@bionic + uses: gazebo-tooling/action-gz-ci@focal with: codecov-enabled: true - focal-ci: + jammy-ci: runs-on: ubuntu-latest - name: Ubuntu Focal CI + name: Ubuntu Jammy CI steps: - name: Checkout uses: actions/checkout@v2 - name: Compile and test id: ci - uses: ignition-tooling/action-ignition-ci@focal + uses: gazebo-tooling/action-gz-ci@jammy diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml new file mode 100644 index 000000000..e544a8c48 --- /dev/null +++ b/.github/workflows/macos.yml @@ -0,0 +1,50 @@ +name: macOS latest + +on: [push, pull_request] + +jobs: + build: + env: + PACKAGE: gz-common5 + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Homebrew + id: set-up-homebrew + uses: Homebrew/actions/setup-homebrew@master + - run: brew config + + - name: Install base dependencies + run: | + brew tap osrf/simulation; + # check for ci_matching_branch + brew install wget + wget https://github.com/gazebo-tooling/release-tools/raw/master/jenkins-scripts/tools/detect_ci_matching_branch.py + TRY_BRANCH="${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" + if python3 detect_ci_matching_branch.py ${TRY_BRANCH} + then + echo "# BEGIN SECTION: trying to checkout branch ${TRY_BRANCH} from osrf/simulation" + pushd $(brew --repo osrf/simulation) + git fetch origin ${TRY_BRANCH} || true + git checkout ${TRY_BRANCH} || true + popd + echo '# END SECTION' + fi + # gz-math7 has problems with swig, remove it for now + brew remove swig || true + brew install --only-dependencies ${PACKAGE}; + - run: mkdir build + - name: cmake + working-directory: build + run: cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/${PACKAGE}/HEAD + - run: make + working-directory: build + - run: make test + working-directory: build + env: + CTEST_OUTPUT_ON_FAILURE: 1 + - name: make install + working-directory: build + run: | + make install; + brew link ${PACKAGE}; diff --git a/.github/workflows/pr-collection-labeler.yml b/.github/workflows/pr-collection-labeler.yml index 7d7b4e179..38c4fc13b 100644 --- a/.github/workflows/pr-collection-labeler.yml +++ b/.github/workflows/pr-collection-labeler.yml @@ -8,6 +8,6 @@ jobs: steps: - name: Add collection labels if: github.event.action == 'opened' - uses: ignition-tooling/pr-collection-labeler@v1 + uses: gazebo-tooling/pr-collection-labeler@v1 with: github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/BUILD.bazel b/BUILD.bazel index 6d7024713..e97f57bf6 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,49 +1,49 @@ load( - "//ign_bazel:build_defs.bzl", - "IGNITION_FEATURES", - "IGNITION_ROOT", - "IGNITION_VISIBILITY", + "//gz_bazel:build_defs.bzl", + "GZ_FEATURES", + "GZ_ROOT", + "GZ_VISIBILITY", "generate_include_header", - "ign_config_header", - "ign_export_header", + "gz_config_header", + "gz_export_header", ) package( - default_visibility = IGNITION_VISIBILITY, - features = IGNITION_FEATURES, + default_visibility = GZ_VISIBILITY, + features = GZ_FEATURES, ) licenses(["notice"]) exports_files(["LICENSE"]) -PROJECT_NAME = "ignition-common" +PROJECT_NAME = "gz-common" -PROJECT_MAJOR = 3 +PROJECT_MAJOR = 5 -PROJECT_MINOR = 14 +PROJECT_MINOR = 0 -PROJECT_PATCH = 0 +PROJECT_PATCH = 0 # Generates config.hh based on the version numbers in CMake code. -ign_config_header( +gz_config_header( name = "config", - src = "include/ignition/common/config.hh.in", + src = "include/gz/common/config.hh.in", cmakelists = ["CMakeLists.txt"], project_name = PROJECT_NAME, project_version = (PROJECT_MAJOR, PROJECT_MINOR, PROJECT_PATCH), ) -ign_export_header( - name = "include/ignition/common/Export.hh", - export_base = "IGNITION_COMMON", - lib_name = "ignition-common", +gz_export_header( + name = "include/gz/common/Export.hh", + export_base = "GZ_COMMON", + lib_name = "gz-common", visibility = ["//visibility:private"], ) public_headers_no_gen = glob([ - "include/ignition/common/*.hh", - "include/gz/common/detail/*.hh" + "include/gz/common/*.hh", + "include/gz/common/detail/*.hh", ]) private_headers = [ @@ -51,53 +51,59 @@ private_headers = [ "src/PrintWindowsSystemWarning.hh", ] -sources = glob(["src/*.cc"], exclude=["src/*_TEST.cc"]) +sources = glob( + ["src/*.cc"], + exclude = ["src/*_TEST.cc"], +) generate_include_header( name = "commonhh_genrule", - out = "include/ignition/common.hh", + out = "include/gz/common.hh", hdrs = public_headers_no_gen + [ - "include/ignition/common/config.hh", - "include/ignition/common/Export.hh", + "include/gz/common/config.hh", + "include/gz/common/Export.hh", ], ) public_headers = public_headers_no_gen + [ - "include/ignition/common/config.hh", - "include/ignition/common/Export.hh", - "include/ignition/common.hh", + "include/gz/common/config.hh", + "include/gz/common/Export.hh", + "include/gz/common.hh", ] cc_library( - name = "ign_common", + name = "gz_common", srcs = sources + private_headers, hdrs = public_headers, includes = ["include"], linkopts = ["-ldl"], deps = [ "@uuid", - IGNITION_ROOT + "ign_math", + GZ_ROOT + "gz_math", ], ) cc_binary( - name = "libignition-common3.so", + name = "libgz-common5.so", includes = ["include"], - linkopts = ["-Wl,-soname,libignition-common3.so"], + linkopts = ["-Wl,-soname,libgz-common5.so"], linkshared = True, - deps = [":ign_common"], + deps = [":gz_common"], ) -test_srcs = glob(["src/*_TEST.cc"]) +test_srcs = glob( + ["src/*_TEST.cc"], + exclude = ["src/PluginLoader_TEST.cc"], +) [cc_test( name = src.replace("/", "_").replace(".cc", "").replace("src_", ""), srcs = [src], - data = [":libignition-common3.so"], + data = [":libgz-common5.so"], deps = [ - ":ign_common", - IGNITION_ROOT + "ign_bazel:utilities", - IGNITION_ROOT + "ign_common/test:test_utils", + ":gz_common", + GZ_ROOT + "gz_bazel:utilities", + GZ_ROOT + "gz_common/test:test_utils", "@gtest", "@gtest//:gtest_main", ], diff --git a/CMakeLists.txt b/CMakeLists.txt index 3a0c067b8..8bc4a70c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,32 +3,31 @@ cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR) #============================================================================ # Initialize the project #============================================================================ -project(ignition-common3 VERSION 3.15.1) +project(gz-common5 VERSION 5.2.1) +set(GZ_COMMON_VER ${PROJECT_VERSION_MAJOR}) #============================================================================ -# Find ignition-cmake +# Find gz-cmake #============================================================================ -find_package(ignition-cmake2 2.14.0 REQUIRED COMPONENTS utilities) -set(IGN_CMAKE_VER ${ignition-cmake2_VERSION_MAJOR}) +find_package(gz-cmake3 REQUIRED) +set(GZ_CMAKE_VER ${gz-cmake3_VERSION_MAJOR}) #============================================================================ # Configure the project #============================================================================ -ign_configure_project( - REPLACE_IGNITION_INCLUDE_PATH gz/common -) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +gz_configure_project(VERSION_SUFFIX) #============================================================================ # Set project-specific options #============================================================================ -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - #-------------------------------------- # Option: Should Windows test symlinking? if(WIN32) option( - IGN_BUILD_SYMLINK_TESTS_ON_WINDOWS + GZ_BUILD_SYMLINK_TESTS_ON_WINDOWS "Creating symlinks requires special permissions on Windows, so those tests are disabled by default" false) endif() @@ -49,14 +48,19 @@ endif() message(STATUS "\n\n-- ====== Finding Dependencies ======") #-------------------------------------- -# Find ignition-math -ign_find_package(ignition-math6 REQUIRED_BY graphics events) -set(IGN_MATH_VER ${ignition-math6_VERSION_MAJOR}) +# Find gz-math +gz_find_package(gz-math7 REQUIRED_BY geospatial graphics events) +set(GZ_MATH_VER ${gz-math7_VERSION_MAJOR}) + +#-------------------------------------- +# Find gz-utils +gz_find_package(gz-utils2 REQUIRED) +set(GZ_UTILS_VER ${gz-utils2_VERSION_MAJOR}) #-------------------------------------- # Find Tinyxml2 if(USE_EXTERNAL_TINYXML2) - ign_find_package(TINYXML2 PRETTY tinyxml2 + gz_find_package(TINYXML2 PRETTY tinyxml2 REQUIRED_BY graphics PRIVATE_FOR graphics) else() @@ -65,7 +69,7 @@ endif() #-------------------------------------- # Find libdl -ign_find_package( +gz_find_package( DL REQUIRED PRIVATE PRETTY libdl PURPOSE "Required for plugins") #-------------------------------------- @@ -74,43 +78,54 @@ if(NOT MSVC) #------------------------------------ # Find uuid - ign_find_package(UUID REQUIRED PRETTY uuid) + gz_find_package(UUID REQUIRED PRETTY uuid) endif() #------------------------------------ # Find Freeimage -ign_find_package(FreeImage VERSION 3.9 +gz_find_package(FreeImage VERSION 3.9 REQUIRED_BY graphics PRIVATE_FOR graphics) #------------------------------------ # Find GNU Triangulation Surface Library -ign_find_package( +gz_find_package( GTS PRETTY gts PURPOSE "GNU Triangulation Surface library" REQUIRED_BY graphics PRIVATE_FOR graphics) +#------------------------------------ +# Find GDAL +gz_find_package(GDAL VERSION 3.0 + PKGCONFIG gdal + PRIVATE_FOR geospatial + REQUIRED_BY geospatial) + #------------------------------------ # Find libswscale -ign_find_package(SWSCALE REQUIRED_BY av PRETTY libswscale) +gz_find_package(SWSCALE REQUIRED_BY av PRETTY libswscale) #------------------------------------ # Find avdevice -ign_find_package(AVDEVICE VERSION 56.4.100 REQUIRED_BY av PRETTY libavdevice) +gz_find_package(AVDEVICE VERSION 56.4.100 REQUIRED_BY av PRETTY libavdevice) +set(HAVE_AVDEVICE ${AVDEVICE_FOUND}) #------------------------------------ # Find avformat -ign_find_package(AVFORMAT REQUIRED_BY av PRETTY libavformat) +gz_find_package(AVFORMAT REQUIRED_BY av PRETTY libavformat) #------------------------------------ # Find avcodec -ign_find_package(AVCODEC REQUIRED_BY av PRETTY libavcodec) +gz_find_package(AVCODEC REQUIRED_BY av PRETTY libavcodec) #------------------------------------ # Find avutil -ign_find_package(AVUTIL REQUIRED_BY av PRETTY libavutil) +gz_find_package(AVUTIL REQUIRED_BY av PRETTY libavutil) +#------------------------------------ +# Find assimp +gz_find_package(GzAssimp REQUIRED_BY graphics PRETTY assimp) message(STATUS "-------------------------------------------\n") @@ -121,13 +136,13 @@ message(STATUS "-------------------------------------------\n") configure_file("${PROJECT_SOURCE_DIR}/cppcheck.suppress.in" ${PROJECT_BINARY_DIR}/cppcheck.suppress) -ign_configure_build(QUIT_IF_BUILD_ERRORS - COMPONENTS av events graphics profiler) +gz_configure_build(QUIT_IF_BUILD_ERRORS + COMPONENTS av events geospatial graphics io profiler testing) #============================================================================ # Create package information #============================================================================ -ign_create_packages() +gz_create_packages() #============================================================================ @@ -136,9 +151,9 @@ ign_create_packages() configure_file(${CMAKE_SOURCE_DIR}/api.md.in ${CMAKE_BINARY_DIR}/api.md) configure_file(${CMAKE_SOURCE_DIR}/tutorials.md.in ${CMAKE_BINARY_DIR}/tutorials.md) -ign_create_docs( +gz_create_docs( API_MAINPAGE_MD "${CMAKE_BINARY_DIR}/api.md" TUTORIALS_MAINPAGE_MD "${CMAKE_BINARY_DIR}/tutorials.md" TAGFILES - "${IGNITION-MATH_DOXYGEN_TAGFILE} = ${IGNITION-MATH_API_URL}" + "${GZ-MATH_DOXYGEN_TAGFILE} = ${GZ-MATH_API_URL}" ) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 147239ce5..a1c121ea4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1 +1 @@ -See the [Ignition Robotics contributing guide](https://ignitionrobotics.org/docs/all/contributing). +See the [Gazebo contributing guide](https://gazebosim.org/docs/all/contributing). diff --git a/Changelog.md b/Changelog.md index 811827086..566383691 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,22 +1,281 @@ -## Gazebo Common 3.x +## Gazebo Common 5.x -## Gazebo Common 3.15.1 (2022-10-11) +## Gazebo Common 5.2.1 (2022-10-19) -1. Fix build on case-insensitive filesystems +1. Fix arm builds and tests + * [Pull request #462](https://github.com/gazebosim/gz-common/pull/462) + * [Pull request #463](https://github.com/gazebosim/gz-common/pull/463) + +## Gazebo Common 5.2.0 (2022-10-18) + +1. Add CSV data parsing + * [Pull request #402](https://github.com/gazebosim/gz-common/pull/402) + +1. Skip CSV header when reading DataFrame. + * [Pull request #435](https://github.com/gazebosim/gz-common/pull/435) + +1. Adds an API to retrieve keys. + * [Pull request #446](https://github.com/gazebosim/gz-common/pull/446) + +## Gazebo Common 5.1.0 (2022-10-13) + +1. 4 โžก๏ธ 5 + * [Pull request #457](https://github.com/gazebosim/gz-common/pull/457) + +1. ๐ŸŽˆ 4.6.1 + * [Pull request #456](https://github.com/gazebosim/gz-common/pull/456) + +1. ๐ŸŽˆ 4.6.0 + * [Pull request #452](https://github.com/gazebosim/gz-common/pull/452) + +1. ๐ŸŽˆ 4.5.2 + * [Pull request #423](https://github.com/gazebosim/gz-common/pull/423) + +1. 3 โžก๏ธ 4 + * [Pull request #448](https://github.com/gazebosim/gz-common/pull/448) + * [Pull request #445](https://github.com/gazebosim/gz-common/pull/445) + +1. ๐ŸŽˆ 3.15.1 + * [Pull request #454](https://github.com/gazebosim/gz-common/pull/454) + +1. ๐ŸŽˆ 3.15.0 + * [Pull request #447](https://github.com/gazebosim/gz-common/pull/447) + +1. ๐ŸŽˆ 3.14.2 + * [Pull request #419](https://github.com/gazebosim/gz-common/pull/419) + +1. Don't install auto-generated profiler.hh * [Pull request #453](https://github.com/gazebosim/gz-common/pull/453) -1. Don't install CMakeLists.txt - * [Pull request #449](https://github.com/gazebosim/gz-common/pull/449) +1. Fixed MeshManager Singleton + * [Pull request #451](https://github.com/gazebosim/gz-common/pull/451) -## Gazebo Common 3.15.0 (2022-10-06) +1. Don't install CMakeLists.txt + * [Pull request #449](https://github.com/gazebosim/gz-common/pull/449) -1. ign -> gz Migrate Ignition Headers +1. ign -> gz Migrate Ignition Headers : gz-common * [Pull request #418](https://github.com/gazebosim/gz-common/pull/418) -## Gazebo Common 3.14.2 (2022-08-16) +1. Suppress a bunch of unnecessary test output + * [Pull request #442](https://github.com/gazebosim/gz-common/pull/442) + +1. Fix metallic roughness file path for gltf assets + * [Pull request #436](https://github.com/gazebosim/gz-common/pull/436) + +1. Include cstring for memcpy + * [Pull request #437](https://github.com/gazebosim/gz-common/pull/437) + +1. Backport from 5 to 3 - Fix deprecation warning from new ffmpeg + * [Pull request #421](https://github.com/gazebosim/gz-common/pull/421) + +1. Remove redundant namespace references + * [Pull request #414](https://github.com/gazebosim/gz-common/pull/414) + +## Gazebo Common 5.0.0 (2022-09-22) + +1. Improved visualization hw encoding tutorial gz-common5 + * [Pull request #441](https://github.com/gazebosim/gz-common/pull/441) + +1. Updated install instructions gz-common5 + * [Pull request #440](https://github.com/gazebosim/gz-common/pull/440) + +1. Fix reading pixel values from single channel 16 bit image + * [Pull request #439](https://github.com/gazebosim/gz-common/pull/439) + +1. Add gdal to prerequisites + * [Pull request #438](https://github.com/gazebosim/gz-common/pull/438) + +1. Cleanup long-deprecated ifdefs + * [Pull request #329](https://github.com/gazebosim/gz-common/pull/329) + +1. Add a test for loading gltf with external textures + * [Pull request #409](https://github.com/gazebosim/gz-common/pull/409) + +1. Fix ABI checker with testing module + * [Pull request #427](https://github.com/gazebosim/gz-common/pull/427) + +1. Implement XDisplacement function for checking x displacement for all nodes + * [Pull request #411](https://github.com/gazebosim/gz-common/pull/411) + +1. Fix deprecation warning from new ffmpeg + * [Pull request #416](https://github.com/gazebosim/gz-common/pull/416) + +1. Use assimp for loading meshes + * [Pull request #393](https://github.com/gazebosim/gz-common/pull/393) + +1. Add API for getting Image bytes as std::vector + * [Pull request #372](https://github.com/gazebosim/gz-common/pull/372) + +1. Support lunar coordinate transformations + * [Pull request #377](https://github.com/gazebosim/gz-common/pull/377) + +1. Remove configure.bat, export CXX_STANDARD + * [Pull request #387](https://github.com/gazebosim/gz-common/pull/387) + +1. Update GoogleTest to latest version + * [Pull request #361](https://github.com/gazebosim/gz-common/pull/361) + +1. Support compressed images and RGBA data in Image class + * [Pull request #368](https://github.com/gazebosim/gz-common/pull/368) + +1. Expose API to set non earth DEMs flag + * [Pull request #353](https://github.com/gazebosim/gz-common/pull/353) + +1. Fix console bug when IGN_HOMEDIR is unset + * [Pull request #346](https://github.com/gazebosim/gz-common/pull/346) + +1. Test updates for common::testing module. + * [Pull request #315](https://github.com/gazebosim/gz-common/pull/315) + +1. Ignition -> Gz Renaming + * Move header files with git mv + * Create redirection aliases + * Migrate sources in src, test, examples, and include + * Remove ignition redirection headers for Plugin [Pull request #350](https://github.com/gazebosim/gz-common/pull/350) + * Move Plugin headers back from gz to ignition [Pull request #350](https://github.com/gazebosim/gz-common/pull/350) + * ign -> gz: namespaces and logging functions [Pull request #356](https://github.com/gazebosim/gz-common/pull/356) + * Deprecation warnings for Plugin [Pull request #350](https://github.com/gazebosim/gz-common/pull/350) + * Use ignition headers for plugin [Pull request #350](https://github.com/gazebosim/gz-common/pull/350) + * Fix profiler option [Pull request #371](https://github.com/gazebosim/gz-common/pull/371) + * ign -> gz Macro Migration : gz-common [Pull request #366](https://github.com/gazebosim/gz-common/pull/366) + * [ign -> gz] CMake functions [Pull request #370](https://github.com/gazebosim/gz-common/pull/370) + * ign -> gz Environment Variable Migration [Pull request #365](https://github.com/gazebosim/gz-common/pull/365) + * Migrate IGNITION- CMake variables [Pull request #381](https://github.com/gazebosim/gz-common/pull/381) + * Rename CMake project to gz [Pull request #352](https://github.com/gazebosim/gz-common/pull/352) + * ign -> gz Partial Docs Migration and Project Name Followups : gz-common [Pull request #383](https://github.com/gazebosim/gz-common/pull/383) + * Partial cmake and source migrations [Pull request #392](https://github.com/gazebosim/gz-common/pull/392) + * Migrate ign_remotery_vis [Pull request #392](https://github.com/gazebosim/gz-common/pull/392) + * Finale: Source hard-tocks [Pull request #395](https://github.com/gazebosim/gz-common/pull/395) + * Remove deprecated include [Pull request #400](https://github.com/gazebosim/gz-common/pull/400) + +1. [DOCUMENTATION] Adds full path for the profiler + * [Pull request #347](https://github.com/gazebosim/gz-common/pull/347) + +1. prevent switch case statement fall through. + * [Pull request #345](https://github.com/gazebosim/gz-common/pull/345) + +1. Make Timer_TEST more robust + * [Pull request #343](https://github.com/gazebosim/gz-common/pull/343) + +1. Bumps in garden : ign-common5 + * [Pull request #342](https://github.com/gazebosim/gz-common/pull/342) + +1. Use ign-utils instead of ign-cmake utilities + * [Pull request #341](https://github.com/gazebosim/gz-common/pull/341) + +1. Bumps in garden : ign-common5 + * [Pull request #340](https://github.com/gazebosim/gz-common/pull/340) + +1. examples/CMakeLists.txt: fix find version variable + * [Pull request #339](https://github.com/gazebosim/gz-common/pull/339) + +1. Add common::testing module + * [Pull request #314](https://github.com/gazebosim/gz-common/pull/314) + +1. Fix typo bug in MaterialIndex + * [Pull request #338](https://github.com/gazebosim/gz-common/pull/338) + +1. Fix edge case handling for SubMesh::MaterialIndex + * [Pull request #319](https://github.com/gazebosim/gz-common/pull/319) + +1. DEM improvements to nodata, buffer and other corner cases + * [Pull request #321](https://github.com/gazebosim/gz-common/pull/321) + +1. ๐Ÿงน Drop all test main functions from gtest files + * [Pull request #322](https://github.com/gazebosim/gz-common/pull/322) + +1. Class with final destructor should be final + * [Pull request #323](https://github.com/gazebosim/gz-common/pull/323) + +1. Geospatial component for heightmaps and DEM support + * [Pull request #292](https://github.com/gazebosim/gz-common/pull/292) + +1. Fix filesystem::separator, parentPath and basename behavior + * [Pull request #308](https://github.com/gazebosim/gz-common/pull/308) + +1. Miscellaneous cleanup of Events API + * [Pull request #297](https://github.com/gazebosim/gz-common/pull/297) + +1. Adds an `isRelativePath` to determine if path is relative + * [Pull request #312](https://github.com/gazebosim/gz-common/pull/312) + +1. Image: make several methods const + * [Pull request #310](https://github.com/gazebosim/gz-common/pull/310) + +1. Utilize ImplPtr in AV component + * [Pull request #296](https://github.com/gazebosim/gz-common/pull/296) + +1. Update tests to use more STL functionality + * [Pull request #282](https://github.com/gazebosim/gz-common/pull/282) + +1. Fixed parentPath() return when input has no parent + * [Pull request #307](https://github.com/gazebosim/gz-common/pull/307) + +1. Utilize ImplPtr for Timer + * [Pull request #299](https://github.com/gazebosim/gz-common/pull/299) + +1. Update to use std::filesystem rather than Boost + * [Pull request #238](https://github.com/gazebosim/gz-common/pull/238) + +1. Use SuppressWarning from ign-utils + * [Pull request #295](https://github.com/gazebosim/gz-common/pull/295) + +1. README: update badge + * [Pull request #290](https://github.com/gazebosim/gz-common/pull/290) + +1. Revert geospatial component for now + * [Pull request #291](https://github.com/gazebosim/gz-common/pull/291) + +1. Move geospatial headers to subfolder + * [Pull request #289](https://github.com/gazebosim/gz-common/pull/289) + +1. Geospatial component for heightmap & DEMs + * [Pull request #267](https://github.com/gazebosim/gz-common/pull/267) + +1. Upload coverage for Focal builds + * [Pull request #284](https://github.com/gazebosim/gz-common/pull/284) + +1. Try to checkout matching branch in macos workflow + * [Pull request #286](https://github.com/gazebosim/gz-common/pull/286) + +1. Bumps in garden: use ignition-math7 + * [Pull request #285](https://github.com/gazebosim/gz-common/pull/285) + +1. Add macOS 11 workflow + * [Pull request #276](https://github.com/gazebosim/gz-common/pull/276) + +1. Use ImplPtr where relevant + * [Pull request #274](https://github.com/gazebosim/gz-common/pull/274) + +1. Remove all deprecated functionality from main + * [Pull request #273](https://github.com/gazebosim/gz-common/pull/273) + +1. ign-common5: drop Bionic + * [Pull request #270](https://github.com/gazebosim/gz-common/pull/270) + +1. Update tension for common5 + * [Pull request #260](https://github.com/gazebosim/gz-common/pull/260) + +1. Bump main to 5.0.0~pre1 + * [Pull request #193](https://github.com/gazebosim/gz-common/pull/193) + +## Gazebo Common 4.x + +## Gazebo Common 4.6.1 (2022-10-11) + +1. All common3 changes up to 3.15.1 release + +## Gazebo Common 4.6.0 (2022-10-11) + +1. All common3 changes up to 3.15.0 release + +1. Include cstring for memcpy + * [Pull request #437](https://github.com/gazebosim/gz-common/pull/437) + +## Gazebo Common 4.5.2 (2022-08-16) 1. Fix deprecation warning from new `ffmpeg` - * [Pull request #414](https://github.com/gazebosim/gz-common/pull/421) + * [Pull request #421](https://github.com/gazebosim/gz-common/pull/421) 1. Remove redundant namespace references * [Pull request #414](https://github.com/gazebosim/gz-common/pull/414) @@ -30,6 +289,9 @@ 1. Ignition -> Gazebo * [Pull request #396](https://github.com/gazebosim/gz-common/pull/396) +1. Support absolute Win paths with forward slashes in `common::FindFile` + * [Pull request #389](https://github.com/gazebosim/gz-common/pull/389) + 1. Fix `FindSharedLibrary` for relative plugin paths * [Pull request #382](https://github.com/gazebosim/gz-common/pull/382) @@ -39,264 +301,491 @@ 1. Synchronize console writes * [Pull request #227](https://github.com/gazebosim/gz-common/pull/227) -## Ignition Common 3.14.1 (2022-06-01) +1. Profiler tutorial: viewing from Docker container + * [Pull request #362](https://github.com/gazebosim/gz-common/pull/362) + +## Gazebo Common 4.5.1 (2022-06-21) + +1. Fix spelling in URI error message + * [Pull request #333](https://github.com/gazebosim/gz-common/pull/333) + +1. `gzLogInit` fails if run after console output + * [Pull request #332](https://github.com/gazebosim/gz-common/pull/332) + +1. Fix compatibility with FFmpeg 5.0 + * [Pull request #325](https://github.com/gazebosim/gz-common/pull/325) + +1. packages.apt: don't install ruby-ronn + * [Pull request #324](https://github.com/gazebosim/gz-common/pull/324) + +1. Add some tests for `parentPath`/`basename` + * [Pull request #309](https://github.com/gazebosim/gz-common/pull/309) + +1. Add CI support for Jammy + * [Pull request #316](https://github.com/gazebosim/gz-common/pull/316) + +1. Minor typo in filesystem documentation + * [Pull request #313](https://github.com/gazebosim/gz-common/pull/313) + +1. Fix out-of-bounds access in sanitizeSlashes + * [Pull request #303](https://github.com/gazebosim/gz-common/pull/303) + +1. Fix out-of-bound access in URI + * [Pull request #304](https://github.com/gazebosim/gz-common/pull/304) + +1. Move performance test to examples + * [Pull request #294](https://github.com/gazebosim/gz-common/pull/294) + +1. Fix memory corruption & leaks in Image + * [Pull request #240](https://github.com/gazebosim/gz-common/pull/240) + +## Gazebo Common 4.5.0 (2022-01-12) + +1. Fixed crash when a Collada file has an empty normal vector + * [Pull request #280](https://github.com/gazebosim/gz-common/pull/280) + +1. Support 16 bit heightmaps + * [Pull request #266](https://github.com/gazebosim/gz-common/pull/266) + +1. Fix bug in URIPath assignment operator + * [Pull request #275](https://github.com/gazebosim/gz-common/pull/275) + +1. Use `libexec` to install binary `remotery_vis` + * [Pull request #272](https://github.com/gazebosim/gz-common/pull/272) + +1. Normalize normal vectors from OBJ. + * [Pull request #269](https://github.com/gazebosim/gz-common/pull/269) + +1. Synchronize console writes + * [Pull request #227](https://github.com/gazebosim/gz-common/pull/227) + +1. Added method to remove meshes from the `MeshManager` + * [Pull request #222](https://github.com/gazebosim/gz-common/pull/222) + +1. Fixed macOS symbol in `common::Profiler` + * [Pull request #262](https://github.com/gazebosim/gz-common/pull/262) + +1. Fix skip logic for integration tests + * [Pull request #264](https://github.com/gazebosim/gz-common/pull/264) + +1. Use direct evaluation for SKIP_av. + * [Pull request #250](https://github.com/gazebosim/gz-common/pull/250) + +## Gazebo Common 4.4.0 (2021-10-15) + +1. Add support for animation tension + * [Pull request #256](https://github.com/gazebosim/gz-common/pull/256) + +## Gazebo Common 4.3.0 (2021-09-27) + +1. Remove gz-utils from TempDirectory + * [Pull request #248](https://github.com/gazebosim/gz-common/pull/248) + +1. Add functions and objects for Temporary Directories + * [Pull request #244](https://github.com/gazebosim/gz-common/pull/244) + +1. Fix memory corruption & leaks in Image + * [Pull request #240](https://github.com/gazebosim/gz-common/pull/240) + +1. Fix a typo in VideoEncoder_TEST. + * [Pull request #231](https://github.com/gazebosim/gz-common/pull/231) + +1. Fix segfault caused by destruction order of Event and Connection + * [Pull request #234](https://github.com/gazebosim/gz-common/pull/234) + +1. Infrastructure + * [Pull request #62](https://github.com/gazebosim/gz-common/pull/62) + * [Pull request #55](https://github.com/gazebosim/gz-common/pull/55) + * [Pull request #241](https://github.com/gazebosim/gz-common/pull/241) + +1. Documentation + * [Pull request #252](https://github.com/gazebosim/gz-common/pull/252) + * [Pull request #253](https://github.com/gazebosim/gz-common/pull/253) + +## Gazebo Common 4.2.0 (2021-08-02) + +1. Export lights to dae + * [Pull request #228](https://github.com/gazebosim/gz-common/pull/228) + +1. Add cstring for std::memcpy + * [Pull request #230](https://github.com/gazebosim/gz-common/pull/230) + +## Gazebo Common 4.1.0 (2021-06-22) + +1. Make KeyEvent rule-of-five compliant + * [Pull request #224](https://github.com/gazebosim/gz-common/pull/224) + +1. Fix `av_*` API usage for deprecations + * [Pull request #220](https://github.com/gazebosim/gz-common/pull/220) + +1. Set project-wide standard to C++17 + * [Pull request #221](https://github.com/gazebosim/gz-common/pull/221) + +1. Remove `CMAKE_CXX_FLAGS` from test targets + * [Pull request #214](https://github.com/gazebosim/gz-common/pull/214) + +1. Support loading PBR textures in OBJLoader + * [Pull request #216](https://github.com/gazebosim/gz-common/pull/216) + +1. Remove `tools/code_check` and update codecov + * [Pull request #219](https://github.com/gazebosim/gz-common/pull/219) + +1. Port codecov to new configuration + * [Pull request #212](https://github.com/gazebosim/gz-common/pull/212) + +1. Fix loading collada files with multiple texcoord sets using the same offset + * [Pull request #208](https://github.com/gazebosim/gz-common/pull/208) + +1. Add function to convert single channel image data to RGB image + * [Pull request #205](https://github.com/gazebosim/gz-common/pull/205) + +1. Remove ColladaExporter path constraint + * [Pull request #204](https://github.com/gazebosim/gz-common/pull/204) + +1. Avoid duplication of / in joinPaths (Windows) + * [Pull request #201](https://github.com/gazebosim/gz-common/pull/201) + * [Pull request #209](https://github.com/gazebosim/gz-common/pull/209) + * [Pull request #215](https://github.com/gazebosim/gz-common/pull/215) + +1. Fixed colladaLoader on Windows + * [Pull request #200](https://github.com/gazebosim/gz-common/pull/200) + +1. Improved Windows support + * [Pull request #197](https://github.com/gazebosim/gz-common/pull/197) + +1. Function to serialize compressed image to buffer + * [Pull request #139](https://github.com/gazebosim/gz-common/pull/139) + +1. Fixed tutorial link + * [Pull request #194](https://github.com/gazebosim/gz-common/pull/194) + +1. Use matching malloc/free for AudioDecoder. + * [Pull request #192](https://github.com/gazebosim/gz-common/pull/192) + +1. Add bazel buildsystem support + * [Pull request #123](https://github.com/gazebosim/gz-common/pull/123) + +## Gazebo Common 4.0.0 (2021-03-30) + +1. Include windows instructions in examples README.md + * [Pull request #190](https://github.com/gazebosim/gz-common/pull/190) + +1. Fix crash when using BVH animations + * [Pull request #188](https://github.com/gazebosim/gz-common/pull/188) + +1. Rotate capsule to Z-up + * [Pull request #186](https://github.com/gazebosim/gz-common/pull/186) + +1. Add implementation pointer to gz-common classes + * [Pull request #163](https://github.com/gazebosim/gz-common/pull/163) + +1. Cleanup and add implementation pointer to Animation classes + * [Pull request #160](https://github.com/gazebosim/gz-common/pull/160) + +1. Install the profiler in a version-safe manner + * [Pull request #170](https://github.com/gazebosim/gz-common/pull/170) + +1. Restore support for model:// URIs + * [Pull request #172](https://github.com/gazebosim/gz-common/pull/172) + +1. Deprecated common::Time + * [Pull request #90](https://github.com/gazebosim/gz-common/pull/90) + +1. Update codeowners + * [Pull request #88](https://github.com/gazebosim/gz-common/pull/88) + +1. Workflow updates + * [Pull request #64](https://github.com/gazebosim/gz-common/pull/64) + +1. Update BitBucket Links + * [Pull request #58](https://github.com/gazebosim/gz-common/pull/58) + +1. Corrected `BAYER_RGGR8` to `BAYER_BGGR8` in `PixelFormatName` and + `PixelFormatType` located in `graphics/include/gz/common/Image.hh`. + * [BitBucket pull request 191](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/191) + +1. Added URI Authority parsing to the URI class. Authority information can + be found [here](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier#Generic_syntax). This update also caused some formally valid syntax to become invalid, and some formally invalid syntax to become valid. See the migration guide. + * [BitBucket pull request xxx](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/213) + +## Gazebo Common 3.x + +## Gazebo Common 3.15.1 (2022-10-11) + +1. Fix build on case-insensitive filesystems + * [Pull request #453](https://github.com/gazebosim/gz-common/pull/453) + +1. Don't install CMakeLists.txt + * [Pull request #449](https://github.com/gazebosim/gz-common/pull/449) + +## Gazebo Common 3.15.0 (2022-10-06) + +1. ign -> gz Migrate Ignition Headers + * [Pull request #418](https://github.com/gazebosim/gz-common/pull/418) + +## Gazebo Common 3.14.2 (2022-08-16) + +1. Fix deprecation warning from new `ffmpeg` + * [Pull request #414](https://github.com/gazebosim/gz-common/pull/421) + +## Gazebo Common 3.14.1 (2022-06-01) 1. Profiler tutorial: viewing from Docker container - * [Pull request #362](https://github.com/ignitionrobotics/ign-common/pull/362) + * [Pull request #362](https://github.com/gazebosim/gz-common/pull/362) 1. ignLogInit can be called after an ignerr, etc - * [Pull request #332](https://github.com/ignitionrobotics/ign-common/pull/332) + * [Pull request #332](https://github.com/gazebosim/gz-common/pull/332) 1. Fix compatibility with FFmpeg 5.0 - * [Pull request #325](https://github.com/ignitionrobotics/ign-common/pull/325) + * [Pull request #325](https://github.com/gazebosim/gz-common/pull/325) 1. Fix out-of-bounds access in sanitizeSlashes - * [Pull request #303](https://github.com/ignitionrobotics/ign-common/pull/303) + * [Pull request #303](https://github.com/gazebosim/gz-common/pull/303) 1. Fix memory corruption & leaks in Image - * [Pull request #287](https://github.com/ignitionrobotics/ign-common/pull/287) + * [Pull request #287](https://github.com/gazebosim/gz-common/pull/287) 1. Normalize normal vectors from OBJ. - * [Pull request #269](https://github.com/ignitionrobotics/ign-common/pull/269) + * [Pull request #269](https://github.com/gazebosim/gz-common/pull/269) 1. Fixed macos symbol in `common::profiler` - * [Pull request #262](https://github.com/ignitionrobotics/ign-common/pull/262) + * [Pull request #262](https://github.com/gazebosim/gz-common/pull/262) 1. Fix skip logic for integration tests - * [Pull request #264](https://github.com/ignitionrobotics/ign-common/pull/264) + * [Pull request #264](https://github.com/gazebosim/gz-common/pull/264) -## Ignition Common 3.14.0 (2021-10-12) +## Gazebo Common 3.14.0 (2021-10-12) 1. Support loading PBR textures in OBJLoader - * [Pull request #216](https://github.com/ignitionrobotics/ign-common/pull/216) + * [Pull request #216](https://github.com/gazebosim/gz-common/pull/216) 1. Remove CMAKE_CXX_FLAGS from test targetrs - * [Pull request #214](https://github.com/ignitionrobotics/ign-common/pull/214) + * [Pull request #214](https://github.com/gazebosim/gz-common/pull/214) 1. Set project-wide standard to C++17 - * [Pull request #221](https://github.com/ignitionrobotics/ign-common/pull/221) + * [Pull request #221](https://github.com/gazebosim/gz-common/pull/221) 1. Fix av_* API usage for deprecations - * [Pull request #220](https://github.com/ignitionrobotics/ign-common/pull/220) + * [Pull request #220](https://github.com/gazebosim/gz-common/pull/220) 1. Make KeyEvent rule-of-five compliant - * [Pull request #224](https://github.com/ignitionrobotics/ign-common/pull/224) + * [Pull request #224](https://github.com/gazebosim/gz-common/pull/224) 1. Fix segfault caused by destructionb order of Event and Connection - * [Pull request #234](https://github.com/ignitionrobotics/ign-common/pull/234) + * [Pull request #234](https://github.com/gazebosim/gz-common/pull/234) 1. Fix a typo in VideoEncoder_TEST - * [Pull request #231](https://github.com/ignitionrobotics/ign-common/pull/231) + * [Pull request #231](https://github.com/gazebosim/gz-common/pull/231) 1. Use direct evaluation for SKIP_av - * [Pull request #250](https://github.com/ignitionrobotics/ign-common/pull/250) + * [Pull request #250](https://github.com/gazebosim/gz-common/pull/250) -## Ignition Common 3.13.2 (2021-05-11) +## Gazebo Common 3.13.2 (2021-05-11) 1. Backport collada fixes (Backport #204) - * [Pull request #211](https://github.com/ignitionrobotics/ign-common/pull/211) + * [Pull request #211](https://github.com/gazebosim/gz-common/pull/211) 1. Fix join paths again - * [Pull request #215](https://github.com/ignitionrobotics/ign-common/pull/215) + * [Pull request #215](https://github.com/gazebosim/gz-common/pull/215) -## Ignition Common 3.13.1 (2021-05-03) +## Gazebo Common 3.13.1 (2021-05-03) 1. Fix join paths to remove duplicate separators - * [Pull request #205](https://github.com/ignitionrobotics/ign-common/pull/209) + * [Pull request #205](https://github.com/gazebosim/gz-common/pull/209) 1. Fix loading collada files with multiple texcoord sets using the same offset. - * [Pull request #208](https://github.com/ignitionrobotics/ign-common/pull/208) + * [Pull request #208](https://github.com/gazebosim/gz-common/pull/208) -## Ignition Common 3.13.0 (2021-04-27) +## Gazebo Common 3.13.0 (2021-04-27) 1. Add function to convert single channel image data to RGB image - * [Pull request #205](https://github.com/ignitionrobotics/ign-common/pull/205) + * [Pull request #205](https://github.com/gazebosim/gz-common/pull/205) 1. Avoid duplication of / in joinPaths (Windows) - * [Pull request #201](https://github.com/ignitionrobotics/ign-common/pull/201) + * [Pull request #201](https://github.com/gazebosim/gz-common/pull/201) 1. Fix colladaLoader on Windows - * [Pull request #200](https://github.com/ignitionrobotics/ign-common/pull/200) + * [Pull request #200](https://github.com/gazebosim/gz-common/pull/200) 1. Backport #188: Fix crash when using BVH animations. - * [Pull request #199](https://github.com/ignitionrobotics/ign-common/pull/199) + * [Pull request #199](https://github.com/gazebosim/gz-common/pull/199) 1. Improved Windows support - * [Pull request #197](https://github.com/ignitionrobotics/ign-common/pull/197) + * [Pull request #197](https://github.com/gazebosim/gz-common/pull/197) -## Ignition Common 3.12.0 (2021-04-06) +## Gazebo Common 3.12.0 (2021-04-06) 1. Remove use of _SOURCE and _BINARY dirs in tests. - * [Pull request #158](https://github.com/ignitionrobotics/ign-common/pull/158) + * [Pull request #158](https://github.com/gazebosim/gz-common/pull/158) 1. Add bazel buildsystem support. - * [Pull request #123](https://github.com/ignitionrobotics/ign-common/pull/123) + * [Pull request #123](https://github.com/gazebosim/gz-common/pull/123) 1. Use matching malloc/free for AudioDecoder. - * [Pull request #192](https://github.com/ignitionrobotics/ign-common/pull/192) + * [Pull request #192](https://github.com/gazebosim/gz-common/pull/192) 1. Fixed tutorial link in the README.md. - * [Pull request #194](https://github.com/ignitionrobotics/ign-common/pull/194) + * [Pull request #194](https://github.com/gazebosim/gz-common/pull/194) 1. Function to serialize compressed image to buffer - * [Pull request #139](https://github.com/ignitionrobotics/ign-common/pull/139) + * [Pull request #139](https://github.com/gazebosim/gz-common/pull/139) -## Ignition Common 3.11.1 (2021-03-08) +## Gazebo Common 3.11.1 (2021-03-08) 1. Relax expectation so encoder test passes on ARM - * [Pull request #183](https://github.com/ignitionrobotics/ign-common/pull/183) + * [Pull request #183](https://github.com/gazebosim/gz-common/pull/183) 1. Revert "Associate library materials effect with meshes (#151)" - * [Pull request #182](https://github.com/ignitionrobotics/ign-common/pull/182) + * [Pull request #182](https://github.com/gazebosim/gz-common/pull/182) -## Ignition Common 3.11.0 (2021-03-05) +## Gazebo Common 3.11.0 (2021-03-05) 1. Fix image red and blue swapping - * [Pull request #162](https://github.com/ignitionrobotics/ign-common/pull/162) + * [Pull request #162](https://github.com/gazebosim/gz-common/pull/162) 1. Remove issue & PR templates - * [Pull request #174](https://github.com/ignitionrobotics/ign-common/pull/174) + * [Pull request #174](https://github.com/gazebosim/gz-common/pull/174) 1. Prevent console spamming when exporting a mesh that has multiple texture coordinates - * [Pull request #171](https://github.com/ignitionrobotics/ign-common/pull/171) + * [Pull request #171](https://github.com/gazebosim/gz-common/pull/171) 1. Associate library materials effect with meshes - * [Pull request #151](https://github.com/ignitionrobotics/ign-common/pull/151) + * [Pull request #151](https://github.com/gazebosim/gz-common/pull/151) * Reverted in 3.11.1 1. Added issue & PR templates - * [Pull request #166](https://github.com/ignitionrobotics/ign-common/pull/166) + * [Pull request #166](https://github.com/gazebosim/gz-common/pull/166) 1. Added support for HW-accelerated video encoding. - * [Pull request #125](https://github.com/ignitionrobotics/ign-common/pull/125) - * [Pull request #169](https://github.com/ignitionrobotics/ign-common/pull/169) - * [Pull request #175](https://github.com/ignitionrobotics/ign-common/pull/175) + * [Pull request #125](https://github.com/gazebosim/gz-common/pull/125) + * [Pull request #169](https://github.com/gazebosim/gz-common/pull/169) + * [Pull request #175](https://github.com/gazebosim/gz-common/pull/175) 1. Added FlagSet utility class - * [Pull request #118](https://github.com/ignitionrobotics/ign-common/pull/118) + * [Pull request #118](https://github.com/gazebosim/gz-common/pull/118) 1. Disable failing VideoEncoder and Audioecoder tests on Windows - * [Pull request #149](https://github.com/ignitionrobotics/ign-common/pull/149) + * [Pull request #149](https://github.com/gazebosim/gz-common/pull/149) 1. Added ellipsoid mesh - * [Pull request #154](https://github.com/ignitionrobotics/ign-common/pull/154) - * [Pull request #159](https://github.com/ignitionrobotics/ign-common/pull/159) + * [Pull request #154](https://github.com/gazebosim/gz-common/pull/154) + * [Pull request #159](https://github.com/gazebosim/gz-common/pull/159) 1. Added capsule mesh - * [Pull request #155](https://github.com/ignitionrobotics/ign-common/pull/155) + * [Pull request #155](https://github.com/gazebosim/gz-common/pull/155) -## Ignition Common 3.10.1 (2021-01-20) +## Gazebo Common 3.10.1 (2021-01-20) 1. Fix transparency tag in the Collada exporter. - * [Pull Request 152](https://github.com/ignitionrobotics/ign-common/pull/152) + * [Pull Request 152](https://github.com/gazebosim/gz-common/pull/152) -## Ignition Common 3.10.0 (2021-01-05) +## Gazebo Common 3.10.0 (2021-01-05) 1. Added render order to material class - * [Pull Request 142](https://github.com/ignitionrobotics/ign-common/pull/142) + * [Pull Request 142](https://github.com/gazebosim/gz-common/pull/142) 1. Fix memory leak in Pbr.cc - * [Pull Request 147](https://github.com/ignitionrobotics/ign-common/pull/147) + * [Pull Request 147](https://github.com/gazebosim/gz-common/pull/147) -## Ignition Common 3.9.0 (2020-12-21) +## Gazebo Common 3.9.0 (2020-12-21) 1. Support multiple texture coordinate sets - * [Pull Request 131](https://github.com/ignitionrobotics/ign-common/pull/131) + * [Pull Request 131](https://github.com/gazebosim/gz-common/pull/131) 1. Add Lightmap to material - * [Pull Request 132](https://github.com/ignitionrobotics/ign-common/pull/132) + * [Pull Request 132](https://github.com/gazebosim/gz-common/pull/132) -## Ignition Common 3.8.0 (2020-12-08) +## Gazebo Common 3.8.0 (2020-12-08) 1. Call gz::common::load() from Video constructor - * [Pull Request 111](https://github.com/ignitionrobotics/ign-common/pull/111) + * [Pull Request 111](https://github.com/gazebosim/gz-common/pull/111) 1. Cleanup - * Drop unused forward declaration: [Pull Request 113](https://github.com/ignitionrobotics/ign-common/pull/113) - * Remove two known flaky tests from Windows CI: [Pull Request 119](https://github.com/ignitionrobotics/ign-common/pull/119) - * Make ignstrtok private to Util.cc: [Pull Request 134](https://github.com/ignitionrobotics/ign-common/pull/134) - * Fix memory leaks [Pull Request 136](https://github.com/ignitionrobotics/ign-common/pull/136) + * Drop unused forward declaration: [Pull Request 113](https://github.com/gazebosim/gz-common/pull/113) + * Remove two known flaky tests from Windows CI: [Pull Request 119](https://github.com/gazebosim/gz-common/pull/119) + * Make ignstrtok private to Util.cc: [Pull Request 134](https://github.com/gazebosim/gz-common/pull/134) + * Fix memory leaks [Pull Request 136](https://github.com/gazebosim/gz-common/pull/136) 1. Windows - * Do not hardcode USE_EXTERNAL_TINYXML2 to OFF: [Pull Request 116](https://github.com/ignitionrobotics/ign-common/pull/116) - * Fix IGN_HOMEDIR on Windows: [Pull Request 127](https://github.com/ignitionrobotics/ign-common/pull/127) - * Improve Windows support: [Pull Request 128](https://github.com/ignitionrobotics/ign-common/pull/128) - * Fix Windows AV CI warnings and test failures: [Pull Request 135](https://github.com/ignitionrobotics/ign-common/pull/135) + * Do not hardcode USE_EXTERNAL_TINYXML2 to OFF: [Pull Request 116](https://github.com/gazebosim/gz-common/pull/116) + * Fix GZ_HOMEDIR on Windows: [Pull Request 127](https://github.com/gazebosim/gz-common/pull/127) + * Improve Windows support: [Pull Request 128](https://github.com/gazebosim/gz-common/pull/128) + * Fix Windows AV CI warnings and test failures: [Pull Request 135](https://github.com/gazebosim/gz-common/pull/135) 1. Fix video encoder timing - * [Pull Request 105](https://github.com/ignitionrobotics/ign-common/pull/105) + * [Pull Request 105](https://github.com/gazebosim/gz-common/pull/105) 1. Feature: Add transformation matrix to ColladaExport - * [Pull Request 100](https://github.com/ignitionrobotics/ign-common/pull/100) - * Fix: [Pull Request 133](https://github.com/ignitionrobotics/ign-common/pull/133) + * [Pull Request 100](https://github.com/gazebosim/gz-common/pull/100) + * Fix: [Pull Request 133](https://github.com/gazebosim/gz-common/pull/133) -## Ignition Common 3.7.0 (2020-10-21) +## Gazebo Common 3.7.0 (2020-10-21) 1. Miscellaneous Cleanups * Feature: Join function for combining strings with a delimiter - * [Pull Request 107](https://github.com/ignitionrobotics/ign-common/pull/107) + * [Pull Request 107](https://github.com/gazebosim/gz-common/pull/107) 1. Improve fork experience - * [Pull Request 103](https://github.com/ignitionrobotics/ign-common/pull/103) + * [Pull Request 103](https://github.com/gazebosim/gz-common/pull/103) 1. Add Console example - * [Pull Request 106](https://github.com/ignitionrobotics/ign-common/pull/106) + * [Pull Request 106](https://github.com/gazebosim/gz-common/pull/106) 1. Support fuel URLs for textures - * [Pull Request 102](https://github.com/ignitionrobotics/ign-common/pull/102) + * [Pull Request 102](https://github.com/gazebosim/gz-common/pull/102) 1. Fix loading dae file with hierarchical node that does not have a name - * [Pull Request 101](https://github.com/ignitionrobotics/ign-common/pull/101) + * [Pull Request 101](https://github.com/gazebosim/gz-common/pull/101) 1. Fix more Animation memory leaks - * [Pull Request 98](https://github.com/ignitionrobotics/ign-common/pull/98) + * [Pull Request 98](https://github.com/gazebosim/gz-common/pull/98) 1. Fix env behavior to return true on empty vars * Feature: Add setenv for setting environment variables * Feature: Add unsetenv for clearing environment variables * Feature: Add alternative env implementation that respects empty variables - * [Pull Request 97](https://github.com/ignitionrobotics/ign-common/pull/97) + * [Pull Request 97](https://github.com/gazebosim/gz-common/pull/97) -## Ignition Common 3.6.1 (2020-09-16) +## Gazebo Common 3.6.1 (2020-09-16) 1. Fix hierarchical submesh processing in the ColladaLoader. - * [Pull Request 78](https://github.com/ignitionrobotics/ign-common/pull/78) + * [Pull Request 78](https://github.com/gazebosim/gz-common/pull/78) 1. Tutorial updates - * [Pull Request 86](https://github.com/ignitionrobotics/ign-common/pull/86) - * [Pull Request 87](https://github.com/ignitionrobotics/ign-common/pull/87) - * [Pull Request 92](https://github.com/ignitionrobotics/ign-common/pull/92) + * [Pull Request 86](https://github.com/gazebosim/gz-common/pull/86) + * [Pull Request 87](https://github.com/gazebosim/gz-common/pull/87) + * [Pull Request 92](https://github.com/gazebosim/gz-common/pull/92) 1. Fix the AudioDecoder class - * [Pull Request 81](https://github.com/ignitionrobotics/ign-common/pull/81) + * [Pull Request 81](https://github.com/gazebosim/gz-common/pull/81) 1. Fix actions CI - * [Pull Request 83](https://github.com/ignitionrobotics/ign-common/pull/83) + * [Pull Request 83](https://github.com/gazebosim/gz-common/pull/83) 1. Fix trajectory info memory leak - * [Pull Request 93](https://github.com/ignitionrobotics/ign-common/pull/93) + * [Pull Request 93](https://github.com/gazebosim/gz-common/pull/93) 1. Remove URI warning on constructor - * [Pull Request 94](https://github.com/ignitionrobotics/ign-common/pull/94) + * [Pull Request 94](https://github.com/gazebosim/gz-common/pull/94) -## Ignition Common 3.6.0 (2020-06-09) +## Gazebo Common 3.6.0 (2020-06-09) 1. Refactor Image::MaxColor to reduce computation time - * [Pull request 66](https://github.com/ignitionrobotics/ign-common/pull/66) + * [Pull request 66](https://github.com/gazebosim/gz-common/pull/66) 1. Update to gtest 1.10.0 with patch for gcc warnings - * [Pull request 67](https://github.com/ignitionrobotics/ign-common/pull/67) + * [Pull request 67](https://github.com/gazebosim/gz-common/pull/67) 1. Fix ColladaLoader loading tag when does not exist - * [Pull request 68](https://github.com/ignitionrobotics/ign-common/pull/68) + * [Pull request 68](https://github.com/gazebosim/gz-common/pull/68) 1. Remove unused included headers - * [Pull request 71](https://github.com/ignitionrobotics/ign-common/pull/71) + * [Pull request 71](https://github.com/gazebosim/gz-common/pull/71) 1. More file path APIs - * [Pull request 70](https://github.com/ignitionrobotics/ign-common/pull/70) + * [Pull request 70](https://github.com/gazebosim/gz-common/pull/70) -## Ignition Common 3.5.0 (2020-04-09) +## Gazebo Common 3.5.0 (2020-04-09) 1. Add interpolate\_x property to actor animations * [BitBucket pull request 232](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/232) @@ -307,7 +796,7 @@ 1. Fix crash when loading OBJ meshes with invalid materials * [BitBucket pull request 230](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/230) -## Ignition Common 3.4.0 (2020-02-20) +## Gazebo Common 3.4.0 (2020-02-20) 1. Add PBR material class * [BitBucket pull request 227](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/227) @@ -349,7 +838,7 @@ 1. Support custom callbacks to find files on global interface * [BitBucket pull request 226](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/226) -## Ignition Common 3.3.0 (2019-08-27) +## Gazebo Common 3.3.0 (2019-08-27) 1. skip GTSMeshUtils test on Windows due to issue #50 * [BitBucket pull request 205](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/205) @@ -363,15 +852,15 @@ 1. Filesystem copy directory and parentpath * [BitBucket pull request 200](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/200) -## Ignition Common 3.2.0 (2019-08-07) +## Gazebo Common 3.2.0 (2019-08-07) -1. Allow ignLogInit to use an absolute path. Added a timeToIso that converts a given time to an ISO string. Some console timestamps were using `IGN_SYSTEM_TIME_NS()` and others `gz::common::systemTimeISO()`. Switched all to use `gz::common::systemTimeISO()`. +1. Allow gzLogInit to use an absolute path. Added a timeToIso that converts a given time to an ISO string. Some console timestamps were using `GZ_SYSTEM_TIME_NS()` and others `gz::common::systemTimeISO()`. Switched all to use `gz::common::systemTimeISO()`. * [BitBucket pull request 203](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/203) 1. Port ColladaLoader fix: use default value of 1 for stride parameter when unset. * [BitBucket pull request 196](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/196) -## Ignition Common 3.1.0 (2019-05-17) +## Gazebo Common 3.1.0 (2019-05-17) 1. Image::PixelFormatType: append `BAYER_BGGR8` instead of replacing `BAYER_RGGR8` * [BitBucket pull request 192](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/192) @@ -388,20 +877,20 @@ 1. Filesystem functions to create unique paths * [BitBucket pull request 187](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/187) -1. Battery additions for LinearBatteryPlugin port to ign-gazebo +1. Battery additions for LinearBatteryPlugin port to gz-sim * [BitBucket pull request 186](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/186) 1. Consolidate Console::log streams to reduce colored log size * [BitBucket pull request 185](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/185) - * [Issue 47](https://github.com/ignitionrobotics/ign-common/issues/47) + * [Issue 47](https://github.com/gazebosim/gz-common/issues/47) 1. Fix ColladaLoader to support mixamo models and fix skeleton animation loading * [BitBucket pull request 179](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/179) * [BitBucket osrf/gazebo pull request 3071](https://osrf-migration.github.io/gazebo-gh-pages/#!/osrf/gazebo/pull-requests/3071) -## Ignition Common 3.0.0 (2019-02-28) +## Gazebo Common 3.0.0 (2019-02-28) -1. Use ign-cmake2 and support Ubuntu Bionic (18.04). +1. Use gz-cmake2 and support Ubuntu Bionic (18.04). * [BitBucket pull request 131](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/131) 1. WorkerPool: allow user to set minimum number of worker threads. @@ -427,21 +916,21 @@ * [BitBucket pull request 171](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/171) * [BitBucket pull request 172](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/172) -1. SystemPaths: search paths in `IGN_FILE_PATH` environment variable when finding files +1. SystemPaths: search paths in `GZ_FILE_PATH` environment variable when finding files * [BitBucket pull request 175](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/175) 1. `Time::Sleep`: return amount of time actually slept * [BitBucket pull request 175](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/176) - * [Issue 44](https://github.com/ignitionrobotics/ign-common/issues/44) + * [Issue 44](https://github.com/gazebosim/gz-common/issues/44) 1. NodeTransform: use unique_ptr for private data, add copy constructor/assignment * [BitBucket pull request 181](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/181) -## Ignition Common 2.x +## Gazebo Common 2.x -## Ignition Common 2.x.x (2018-XX-XX) +## Gazebo Common 2.x.x (2018-XX-XX) -## Ignition Common 2.0.0 (2018-02-11) +## Gazebo Common 2.0.0 (2018-02-11) 1. Use ignition-cmake1 and components for av, events, and graphics * [BitBucket pull request 102](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/102) @@ -461,16 +950,16 @@ 1. Update tinyobjloader to version that supports triangulating meshes with concave polygons. * [BitBucket pull request 160](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/160) -## Ignition Common 1.x.x (2018-XX-XX) +## Gazebo Common 1.x.x (2018-XX-XX) -## Ignition Common 1.X.X (20XX-XX-XX) +## Gazebo Common 1.X.X (20XX-XX-XX) 1. Time::Sleep: use CLOCK_MONOTONIC on Linux * [BitBucket pull request 159](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/159) -## Ignition Common 1.1.1 (2018-05-23) +## Gazebo Common 1.1.1 (2018-05-23) 1. Documentation upload improvements * [BitBucket pull request 117](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/117) @@ -482,7 +971,7 @@ * [BitBucket pull request 124](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/124) -## Ignition Common 1.1.0 (2018-04-16) +## Gazebo Common 1.1.0 (2018-04-16) 1. Accept spaces on URI path * [BitBucket pull request 110](https://osrf-migration.github.io/ignition-gh-pages/#!/ignitionrobotics/ign-common/pull-requests/110) diff --git a/Migration.md b/Migration.md index 1def37b96..3ee6a2647 100644 --- a/Migration.md +++ b/Migration.md @@ -5,7 +5,90 @@ Deprecated code produces compile-time warnings. These warning serve as notification to users that their code should be upgraded. The next major release will remove the deprecated code. -## Ignition Common 2.X to 3.X +## Gazebo Common 4.X to 5.X + +### Deprecations + +1. `Submesh::MaterialIndex` is deprecated. `SubMesh::GetMaterialIndex` should + be used instead, which properly handles submeshes having no material index + applied to them. +2. The `ignition` namespace is deprecated and will be removed in future versions. Use `gz` instead. +3. Header files under `ignition/...` are deprecated and will be removed in future versions. + Use `gz/...` instead. +4. The logging macros (`ignmsg`, `ignwarn`, `ignerr`, etc.) and logging function macros + (`ignLogInit()`, etc.) are deprecated and will be removed in future versions. Use `gz` instead + (e.g. `gzmsg`, `gzwarn`, `gzLogInit()`) +5. All the plugin APIs are deprecated, use the gz-plugin library instead. See + the [migration guide](https://github.com/ignitionrobotics/ign-plugin/blob/ign-plugin1/MIGRATION.md). +6. The following `IGN_` prefixed environment variables are deprecated and will be removed. + Please use the `GZ_` prefixed versions instead! + 1. `IGN_VIDEO_ALLOWED_ENCODERS` -> `GZ_VIDEO_ALLOWED_ENCODERS` + 2. `IGN_VIDEO_ENCODER_DEVICE` -> `GZ_VIDEO_ENCODER_DEVICE` + 3. `IGN_VIDEO_USE_HW_SURFACE` -> `GZ_VIDEO_USE_HW_SURFACE` + 4. `IGN_FILE_PATH` -> `GZ_FILE_PATH` + 5. `IGN_LOG_PATH` -> `GZ_LOG_PATH` + 6. `IGN_PLUGIN_PATH` -> `GZ_PLUGIN_PATH` +7. The following `IGN_` / `IGNITION_` prefixed macros are deprecated and will be removed in future versions. + Additionally, they will only be available when including the corresponding `ignition/...` header. + Use the `GZ_` prefix instead. + 1. `IGN_ENUM` + 2. `IGN_HOMEDIR` + 3. `IGN_NANO_TO_SEC`, `IGN_SEC_TO_NANO`, `IGN_MS_TO_NANO`, `IGN_US_TO_NANO` + 4. `IGN_SPEED_OF_LIGHT` + 5. `IGN_SLEEP_S`, `IGN_SLEEP_US`, `IGN_SLEEP_MS`, `IGN_SLEEP_NS` + 6. `IGN_SYSTEM_TIME`, `IGN_SYSTEM_TIME_S`, `IGN_SYSTEM_TIME_US`, `IGN_SYSTEM_TIME_MS`, `IGN_SYSTEM_TIME_NS` + 7. `IGN_ASSERT` + 8. `IGNITION_COMMON_TINYOBJLOADER_IMPLEMENTATION` (`src` local, hard-tocked) + 9. `IGN_PROFILER_ENABLE`, `IGN_PROFILE_THREAD_NAME`, `IGN_PROFILE_LOG_TEXT`, `IGN_PROFILE_BEGIN`, `IGN_PROFILE_END`, `IGN_PROFILE_L`, `IGN_PROFILE`, `IGN_PROFILE_VALID` + 10. `IGN_CREATE_SPEC_INTERFACE` + 11. `IGN_DUMMY_PLUGIN_PATH` + 12. `IGNITION_UNITTEST_SPECIALIZED_PLUGIN_ACCESS` +8. The `Image::Data(unsigned char**, unsigned int&)` functions that accept a pointer and a size and internally allocate memory are deprecated and will be removed in future versions. + Use the new `Data` functions that return a `std::vector` to have automatic memory management. + +### Breaking Changes + +1. The project name has been changed to use the `gz-` prefix, you **must** use the `gz` prefix! + * This also means that any generated code that use the project name (e.g. CMake variables, in-source macros) would have to be migrated. + * Some non-exhaustive examples of this include: + * `GZ__