CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
4.6 KiB
4.6 KiB
Changelog
All notable user-facing changes to the profiler-hub library are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Sections in each release entry:
- Added — new features, new public APIs, new build options
- Changed — changes to existing public behavior or APIs
- Deprecated — APIs that still work but will be removed
- Removed — APIs or build options that no longer exist
- Fixed — bug fixes visible to users
- Security — vulnerability fixes
Internal refactors and CI changes that have no user-visible impact do not need a changelog entry. Release entries should be written from the perspective of a downstream consumer of the library.
Unreleased
Added
libprofiler-hub.sonow ships with a SOVERSION (libprofiler-hub.so.0symlink andlibprofiler-hub.so.0.1.0actual file) so consumers can pin to a specific ABI.- New cache var
FMT_VERSION(default11.2.0). When the system fmt is missing, the build fetchesfmtlib/fmtat this version.
Changed
- spdlog is now built with
SPDLOG_FMT_EXTERNAL=ON. fmt is resolved as an independent dependency (viafind_package(fmt)or FetchContent) rather than through spdlog's vendored copy. Internal includes switched from<spdlog/fmt/bundled/core.h>to<fmt/core.h>. Required to integrate profiler-hub into the TheRock super-project, which builds spdlog withSPDLOG_FMT_EXTERNAL=ONand rejects any duplicate fmt provider. - Because fmt is now an external dependency, consumers of the installed
profiler-hubCMake package (especially the static library) must have fmt discoverable; the package config callsfind_dependency(fmt). - FetchContent fallback versions bumped to a compatible pair: spdlog
1.15.3and fmt11.2.0. spdlog 1.14.x does not compile against fmt 11, so the external-fmt switch requires spdlog >= 1.15 when the system fmt is 11.x. find_package(spdlog ...),find_package(fmt ...), and the other system lookups keep their version variable as a minimum, so a system copy that is too old to satisfy the requirement falls back to FetchContent. A system spdlog is additionally accepted only when it was built withSPDLOG_FMT_EXTERNAL, to avoid linking two fmt copies into one binary.
Removed
- Build options
PROFILER_HUB_USE_SYSTEM_SPDLOG,PROFILER_HUB_USE_SYSTEM_NLOHMANN_JSON,PROFILER_HUB_USE_SYSTEM_GTEST, andPROFILER_HUB_USE_SYSTEM_BENCHMARK. These were always-on toggles that only suppressed the systemfind_packagelookup; callers that need bundled builds can simply remove the system package or setCMAKE_DISABLE_FIND_PACKAGE_<name>=ON.
Changed
libprofiler-hub.sono longer exports the bundledsqlite3_*symbols (sealed via hidden visibility +--exclude-libs), preventing collisions with other SQLite versions.
0.1.0 - 2026-05-05
Initial release.
Added
- C++17 public API for storing and retrieving ROCm profiling data in the
rocpd (SQLite) database format. Public types under
profiler-hub::namespace:storage_t,writer_t,reader_t,version_t, plus the supporting type families inwriter_types,reader_types, andshared_types. - Schema versions 3.0.0 and 4.0.0, runtime-selectable.
- Both shared (
libprofiler-hub.so) and static (libprofiler-hub.a) library variants built from a shared object set. - CMake package config for downstream consumption:
find_package(profiler-hub REQUIRED)resolves the namespacedprofiler-hub::profiler-hubtarget, including aFindprofiler-hub.cmakemodule for non-CMake-config integrations. - Build options:
PROFILER_HUB_BUILD_TESTS,PROFILER_HUB_BUILD_BENCHMARKS,PROFILER_HUB_ENABLE_LOGGING,PROFILER_HUB_ENABLE_COVERAGE,PROFILER_HUB_USE_SYSTEM_SPDLOG,PROFILER_HUB_USE_SYSTEM_GTEST. - System dependency support for SQLite3, spdlog, fmt, nlohmann_json, GoogleTest, and Google Benchmark, with FetchContent fallback for spdlog and GoogleTest when the system version is too old.
- Public install layout:
<prefix>/lib/libprofiler-hub.{so,a}<prefix>/include/profiler-hub/{reader,reader_types,shared_types,storage,version,writer,writer_types}.hpp<prefix>/lib/cmake/profiler-hub/{profiler-hub-config,profiler-hub-config-version,profiler-hub-targets,Findprofiler-hub}.cmake
- Cobertura code coverage reports via the
coverage-xmlCMake target. - clang-tidy custom target using the bundled
.clang-tidyconfiguration.