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
95 lines
4.6 KiB
Markdown
95 lines
4.6 KiB
Markdown
# Changelog
|
|
|
|
All notable user-facing changes to the profiler-hub library are documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
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.so` now ships with a SOVERSION (`libprofiler-hub.so.0` symlink and
|
|
`libprofiler-hub.so.0.1.0` actual file) so consumers can pin to a specific ABI.
|
|
- New cache var `FMT_VERSION` (default `11.2.0`). When the system fmt is missing,
|
|
the build fetches `fmtlib/fmt` at this version.
|
|
|
|
### Changed
|
|
|
|
- spdlog is now built with `SPDLOG_FMT_EXTERNAL=ON`. fmt is resolved as an
|
|
independent dependency (via `find_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 with
|
|
`SPDLOG_FMT_EXTERNAL=ON` and rejects any duplicate fmt provider.
|
|
- Because fmt is now an external dependency, consumers of the installed
|
|
`profiler-hub` CMake package (especially the static library) must have fmt
|
|
discoverable; the package config calls `find_dependency(fmt)`.
|
|
- FetchContent fallback versions bumped to a compatible pair: spdlog `1.15.3`
|
|
and fmt `11.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 with
|
|
`SPDLOG_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`, and `PROFILER_HUB_USE_SYSTEM_BENCHMARK`. These
|
|
were always-on toggles that only suppressed the system `find_package` lookup;
|
|
callers that need bundled builds can simply remove the system package or set
|
|
`CMAKE_DISABLE_FIND_PACKAGE_<name>=ON`.
|
|
|
|
### Changed
|
|
|
|
- `libprofiler-hub.so` no longer exports the bundled `sqlite3_*` 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 in `writer_types`, `reader_types`, and `shared_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 namespaced
|
|
`profiler-hub::profiler-hub` target, including a `Findprofiler-hub.cmake` module
|
|
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-xml` CMake target.
|
|
- clang-tidy custom target using the bundled `.clang-tidy` configuration.
|
|
|
|
[Unreleased]: https://github.com/ROCm/rocm-systems/compare/v0.1.0...HEAD
|
|
[0.1.0]: https://github.com/ROCm/rocm-systems/releases/tag/v0.1.0
|