Skip to content

refactor(headers)!: enforce canonical domain include paths - #122

Merged
LimiNode merged 12 commits into
mainfrom
chore/release-prep-v1.0.6
Sep 12, 2026
Merged

LimiNode merged 12 commits into
mainfrom
chore/release-prep-v1.0.6

Conversation

@LimiNode

@LimiNode LimiNode commented Sep 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • Prepare the version-aware Doxygen/Pages publication workflow and validate generated documentation on pull requests.
  • Align the generated site layout with the Doxygen Awesome pattern used by log-it-cpp, including a wider sidebar and working light/dark theme toggle.
  • Make pkg-config relocatable and validate standard/multiarch installs.
  • Organize the public C++ headers by domain and remove obsolete root-level forwarding headers.
  • Add an explicit migration note for selective includes and enforce the canonical root/domain inventory in CMake.
  • Prepare the intentional source-breaking release as v2.0.0.

Breaking header-layout change

The full-library include remains unchanged:

#include <time_shield.hpp>

Selective includes must use canonical domain paths, for example:

time_shield/validation.hpp       -> time_shield/core/validation.hpp
time_shield/time_conversions.hpp -> time_shield/conversions.hpp
time_shield/DateTime.hpp          -> time_shield/date_time.hpp
time_shield/ntp_client.hpp        -> time_shield/ntp/ntp_client.hpp

Verification

  • MinGW Debug CTest: 63/63 passed.
  • MinGW Release CTest: 63/63 passed.
  • Header include-policy and root/domain inventory checks passed.
  • Installed consumer passes with NTP enabled and disabled.
  • Doxygen 1.12 generation and Playwright desktop/mobile layout smoke tests pass.
  • vcpkg CI pins the overlay port to the checked-out PR revision and computes its SHA512 dynamically.

@LimiNode
LimiNode force-pushed the chore/release-prep-v1.0.6 branch from a90e902 to 7dde6df Compare September 11, 2026 17:19
Make documentation publication version-aware for development and release builds, enforce clean Doxygen output, and improve the generated site presentation. Make pkg-config relocatable with explicit NTP configuration, add installed consumer coverage, refresh package metadata and canonical links, and document the v1.0.6 header organization.
@LimiNode
LimiNode force-pushed the chore/release-prep-v1.0.6 branch from 7dde6df to d49d17d Compare September 11, 2026 17:21
Split pull-request documentation validation from the write-enabled Pages deployment, add Playwright layout smoke tests, synchronize the Doxygen 1.12 header, and verify relocatable pkg-config metadata for multiarch install paths.
Keep strict Doxygen 1.12 generation free of the undefined cpp group warning.
Compare canonical paths in the staged multiarch consumer check because pkg-config preserves relative components in pcfiledir expansions.
Ensure the Playwright web server resolves the generated docs directory after the config moves into tests/docs_smoke.
Avoid configuration warnings from Doxygen builds without libclang support.
Exclude archived demo assets from Doxygen input and assert that generated documentation does not contain the archived page.
Use the Doxygen Awesome layout pattern from log-it-cpp, remove the custom landing-page card, and keep the theme toggle beside the sidebar search without overlap.
Keep only domain umbrellas at the public include root, remove obsolete forwarding paths and compatibility inventory tests, and enforce the canonical root header set in CMake.
Record the removal of obsolete root-level forwarding headers and the domain-only public include layout.
Document selective-include migration, validate the complete domain whitelist, and make the vcpkg job package the checked-out revision.
@LimiNode LimiNode changed the title chore(release): prepare v1.0.6 documentation and packaging refactor(headers)!: enforce canonical domain include paths Sep 12, 2026
Finalize the canonical domain-header checks, document the selective-include migration, and update release metadata for the intentional source-breaking layout change.
@LimiNode
LimiNode merged commit 398b9a6 into main Sep 12, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant