Tags give the ability to mark specific points in history as being important
-
v1.0.0
protectedRelease: Release v1.0.0c771f1b6 · ·✅ Path Header Scanner v1.0.0 — First Stable Release Path Header Scanner v1.0.0 is the first stable production release of the configuration-driven CLI for previewing, validating, inserting, and updating repository-relative path headers. The release promotes the functionality validated in `v1.0.0-rc.1` and defines the initial compatibility baseline for commands, configuration, supported languages, mutation safety, and extension points. - Preview-first recursive scanning with explicit `--apply` for changes. - Missing and stale path-header detection with language-aware corrections. - Python, JavaScript and TypeScript, Shell, PHP, HTML, and Markdown support. - Predictable repository-relative paths and configurable ignore rules. - Safe initialization and scanning through an authoritative `--dry-run` mode. - Namespaced `.config/path_header_scanner/config.toml` configuration. - Rich help, progress, summaries, concise actionable errors, reliable failure exits, and configurable debug logging. - Automated tests, MkDocs documentation, modular Make workflows, Docker, Compose, GitHub Actions, and GitLab CI. - Release pipelines that derive provider registry destinations from the active repository, require reviewed annotated tags, preserve safely rendered full tag-message notes with populated metadata and literal Docker commands, publish exact prerelease images, and publish stable images under exact, minor, major, and `latest` tags. Start with a preview: ```bash path-header-scanner scan app ``` Apply changes only after reviewing the preview: ```bash path-header-scanner scan app --apply ``` Use `--dry-run` whenever automation or configuration might enable mutation. It overrides apply mode and keeps target-project files unchanged. Diagnostic logs may still be written to their configured destination. The project separates CLI, configuration, scanner, processor, updater, language strategies, initialization, services, UI, and utilities into focused modules. This makes new language support and workflow improvements easier to locate, test, debug, maintain, and extend. Authorized users can install the stable package from the private GitLab registry. Configure pip authentication with a deploy token limited to `read_package_registry`, then use the token-free project index URL: ```bash python -m pip install \ --index-url "https://gitlab.com/api/v4/projects/<project-id>/packages/pypi/simple" \ "path-header-scanner==1.0.0" ``` Supply credentials through an approved protected pip credential mechanism or its interactive authentication flow. Never commit tokens or include them in shared command history. Only the protected release pipeline publishes packages; unprotected tags remain validation-only. - Version: `v1.0.0` - Previous version: `v1.0.0-rc.1` - Previous stable version: none - Release lineage: pre-RC checkpoints 1–4 → first RC v1.0.0-rc.1 → post-RC stabilization → first stable v1.0.0 - Strategy: Semantic Versioning - Package compatibility: Python 3.11+ - Standard development/container runtime: Python 3.14 - Stability: Stable for the documented command set - Container tags: `v1.0.0`, `v1.0`, `v1`, and `latest`; exact version recommended for reproducible automation Thank you for testing the release candidate and helping establish the first stable Path Header Scanner release line. _Release: v1.0.0_ _Author: Devalltect / Rizky Fernandes_
-
v1.0.0-rc.1
protectedRelease: Release v1.0.0-rc.18a1eba42 · ·🚧 Path Header Scanner v1.0.0-rc.1 — First Production Release Candidate Path Header Scanner v1.0.0-rc.1 is the first formal release candidate for a configuration-driven CLI that previews, validates, inserts, and updates repository-relative path headers across supported source and documentation files. There is no previous production release to upgrade from. This candidate defines the initial supported CLI, configuration, safety model, language coverage, and automation foundation that will become v1.0.0 after release-candidate validation. - Preview-first scanning: files remain unchanged unless `--apply` is selected. - Recursive discovery and validation of missing, valid, and stale path headers. - Language-aware support for Python, JavaScript and TypeScript, Shell, PHP, HTML, and Markdown. - Explicit target and working-directory selection for predictable repository-relative headers. - Configurable ignore rules for Git metadata, environments, caches, dependencies, and build output. - `path-header-scanner init` for generating the namespaced project configuration. - `path-header-scanner scan <target>` for previewing or applying reviewed corrections. - Rich command help, banners, progress, summaries, and failure reporting. - Concise, actionable command errors with reliable nonzero exits and debug-only implementation tracebacks. - Console and rotating-file logging for troubleshooting. - Local, Docker, Docker Compose, and modular Make workflows. - Automated tests, MkDocs documentation, GitHub Actions, and GitLab CI support. - Hardened delivery pipelines that use the active repository's registry namespace, require non-empty annotated release tags, preserve safely rendered complete tag-message release notes with populated metadata and literal Docker commands, keep RC images on their exact tag, and reserve `latest` for stable releases. - Private GitLab PyPI delivery for `path-header-scanner`, with the RC tag published as canonical package version `1.0.0rc1` only after the protected release pipeline passes. Authorized users can install the candidate from the private GitLab package registry. Configure pip authentication with a deploy token limited to `read_package_registry`, then use the token-free project index URL: ```bash python -m pip install \ --index-url "https://gitlab.com/api/v4/projects/<project-id>/packages/pypi/simple" \ "path-header-scanner==1.0.0rc1" ``` Supply the deploy-token username and token through an approved protected pip credential mechanism or its interactive authentication flow. Never place tokens in committed configuration or shared command history. Unprotected tags validate the same artifacts but cannot publish them. Path Header Scanner is intentionally conservative: - A normal scan is a preview and does not change target files. - `--apply` is required before eligible files are updated. - `--dry-run` prevents mutations even if `--apply` or configured apply mode is present. - Initialization dry-run does not create configuration directories or files and does not prompt for overwrite. - Read-only discovery and validation still run during dry-run so the preview remains useful. - Diagnostic logs may be written to the configured log destination, but target-project files remain unchanged. Preview a target: ```bash path-header-scanner scan app ``` Apply reviewed corrections: ```bash path-header-scanner scan app --apply ``` Force an explicit simulation, including when apply mode is configured: ```bash path-header-scanner scan app --apply --dry-run ``` Preview project initialization: ```bash path-header-scanner init --dry-run ``` Project settings live in: ```text .config/path_header_scanner/config.toml ``` Configuration can define scan defaults, ignored content, logging, banner behavior, apply mode, and dry-run mode. Explicit CLI options take precedence for the current invocation. Each supported language uses syntax appropriate to that file type. The scanner preserves relevant leading content, including shebangs and language-specific special lines, while inserting or replacing only the managed path header. Markdown path headers use HTML comments intentionally so generated documentation remains readable without displaying internal header metadata. - CLI parsing and presentation are separated from scan and update behavior. - Language strategies provide focused extension points for additional file types. - Scanner, processor, and updater responsibilities can be tested independently. - Initialization planning is separated from persistence to enforce dry-run safety. - Modular Make, Docker, Compose, CI, lint, format, test, package, and documentation workflows support repeatable development. Please validate the candidate on a disposable or version-controlled test project: 1. Install v1.0.0-rc.1 in an isolated Python environment. 2. Run `path-header-scanner --help` and command-specific help. 3. Preview initialization with `path-header-scanner init --dry-run`. 4. Initialize and review `.config/path_header_scanner/config.toml`. 5. Preview representative source and documentation targets. 6. Verify `--apply --dry-run` leaves every target file unchanged. 7. Apply a reviewed scan and inspect the resulting path headers and summary. 8. Report unsupported syntax, incorrect relative paths, unsafe writes, or confusing output before v1.0.0 is promoted. This release candidate brings together four untagged development checkpoints. The product and general delivery foundation belongs to checkpoint 1; private GitLab package delivery belongs to checkpoint 2; source-checkout maintenance belongs to checkpoint 3; and safe GitHub Release rendering belongs to checkpoint 4. RC.1 promotes their reviewed, cumulative result rather than introducing a separate implementation checkpoint. Recorded development validation is not final release sign-off. Complete the RC checks against the exact candidate commit before publishing its tag, and validate the workflows relevant to your project before production use. - Version: `v1.0.0-rc.1` - Previous version: none — first formal release - Strategy: Semantic Versioning - Package compatibility: Python 3.11+ - Standard development/container runtime: Python 3.14 - Stability: Release candidate; validate before production automation - Stable target: `v1.0.0` The stable release may include final cleanup, documentation corrections, and fixes discovered during RC validation, without changing the documented safety model unexpectedly. Thank you for validating the first Path Header Scanner production release line. _Release candidate: v1.0.0-rc.1_ _Author: Devalltect / Rizky Fernandes_