|
1 | | -🚧 Path Header Scanner v1.0.0-rc.1 — First Production Release Candidate |
2 | | - |
3 | | -Path Header Scanner v1.0.0-rc.1 is the first formal release candidate for a |
4 | | -configuration-driven CLI that previews, validates, inserts, and updates |
5 | | -repository-relative path headers across supported source and documentation |
6 | | -files. |
7 | | - |
8 | | -There is no previous production release to upgrade from. This candidate defines |
9 | | -the initial supported CLI, configuration, safety model, language coverage, and |
10 | | -automation foundation that will become v1.0.0 after release-candidate validation. |
11 | | - |
12 | | -### 🌟 Highlights |
13 | | - |
14 | | -- Preview-first scanning: files remain unchanged unless `--apply` is selected. |
15 | | -- Recursive discovery and validation of missing, valid, and stale path headers. |
16 | | -- Language-aware support for Python, JavaScript and TypeScript, Shell, PHP, HTML, and Markdown. |
17 | | -- Explicit target and working-directory selection for predictable repository-relative headers. |
18 | | -- Configurable ignore rules for Git metadata, environments, caches, dependencies, and build output. |
19 | | -- `path-header-scanner init` for generating the namespaced project configuration. |
20 | | -- `path-header-scanner scan <target>` for previewing or applying reviewed corrections. |
21 | | -- Rich command help, banners, progress, summaries, and failure reporting. |
22 | | -- Concise, actionable command errors with reliable nonzero exits and debug-only implementation tracebacks. |
23 | | -- Console and rotating-file logging for troubleshooting. |
24 | | -- Local, Docker, Docker Compose, and modular Make workflows. |
25 | | -- Automated tests, MkDocs documentation, GitHub Actions, and GitLab CI support. |
26 | | -- 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. |
27 | | -- Private GitLab PyPI delivery for `path-header-scanner`, with the RC tag |
28 | | - published as canonical package version `1.0.0rc1` only after the protected |
29 | | - release pipeline passes. |
30 | | - |
31 | | -### 📦 Install the private RC package |
32 | | - |
33 | | -Authorized users can install the candidate from the private GitLab package |
34 | | -registry. Configure pip authentication with a deploy token limited to |
35 | | -`read_package_registry`, then use the token-free project index URL: |
36 | | - |
37 | | -```bash |
38 | | -python -m pip install \ |
39 | | - --index-url "https://gitlab.com/api/v4/projects/<project-id>/packages/pypi/simple" \ |
40 | | - "path-header-scanner==1.0.0rc1" |
41 | | -``` |
42 | | - |
43 | | -Supply the deploy-token username and token through an approved protected pip |
44 | | -credential mechanism or its interactive authentication flow. Never place tokens |
45 | | -in committed configuration or shared command history. Unprotected tags validate |
46 | | -the same artifacts but cannot publish them. |
47 | | - |
48 | | -### 🛡️ Safety model |
49 | | - |
50 | | -Path Header Scanner is intentionally conservative: |
51 | | - |
52 | | -- A normal scan is a preview and does not change target files. |
53 | | -- `--apply` is required before eligible files are updated. |
54 | | -- `--dry-run` prevents mutations even if `--apply` or configured apply mode is present. |
55 | | -- Initialization dry-run does not create configuration directories or files and does not prompt for overwrite. |
56 | | -- Read-only discovery and validation still run during dry-run so the preview remains useful. |
57 | | -- Diagnostic logs may be written to the configured log destination, but target-project files remain unchanged. |
58 | | - |
59 | | -### 🧭 Core workflows |
60 | | - |
61 | | -Preview a target: |
62 | | - |
63 | | -```bash |
64 | | -path-header-scanner scan app |
65 | | -``` |
66 | | - |
67 | | -Apply reviewed corrections: |
68 | | - |
69 | | -```bash |
70 | | -path-header-scanner scan app --apply |
71 | | -``` |
72 | | - |
73 | | -Force an explicit simulation, including when apply mode is configured: |
74 | | - |
75 | | -```bash |
76 | | -path-header-scanner scan app --apply --dry-run |
77 | | -``` |
78 | | - |
79 | | -Preview project initialization: |
80 | | - |
81 | | -```bash |
82 | | -path-header-scanner init --dry-run |
83 | | -``` |
84 | | - |
85 | | -### ⚙️ Configuration |
86 | | - |
87 | | -Project settings live in: |
88 | | - |
89 | | -```text |
90 | | -.config/path_header_scanner/config.toml |
91 | | -``` |
92 | | - |
93 | | -Configuration can define scan defaults, ignored content, logging, banner |
94 | | -behavior, apply mode, and dry-run mode. Explicit CLI options take precedence for |
95 | | -the current invocation. |
96 | | - |
97 | | -### 🧩 Language behavior |
98 | | - |
99 | | -Each supported language uses syntax appropriate to that file type. The scanner |
100 | | -preserves relevant leading content, including shebangs and language-specific |
101 | | -special lines, while inserting or replacing only the managed path header. |
102 | | - |
103 | | -Markdown path headers use HTML comments intentionally so generated documentation |
104 | | -remains readable without displaying internal header metadata. |
105 | | - |
106 | | -### 🧰 For contributors and integrators |
107 | | - |
108 | | -- CLI parsing and presentation are separated from scan and update behavior. |
109 | | -- Language strategies provide focused extension points for additional file types. |
110 | | -- Scanner, processor, and updater responsibilities can be tested independently. |
111 | | -- Initialization planning is separated from persistence to enforce dry-run safety. |
112 | | -- Modular Make, Docker, Compose, CI, lint, format, test, package, and documentation workflows support repeatable development. |
113 | | - |
114 | | -### 🧪 Recommended RC validation |
115 | | - |
116 | | -Please validate the candidate on a disposable or version-controlled test project: |
117 | | - |
118 | | -1. Install v1.0.0-rc.1 in an isolated Python environment. |
119 | | -2. Run `path-header-scanner --help` and command-specific help. |
120 | | -3. Preview initialization with `path-header-scanner init --dry-run`. |
121 | | -4. Initialize and review `.config/path_header_scanner/config.toml`. |
122 | | -5. Preview representative source and documentation targets. |
123 | | -6. Verify `--apply --dry-run` leaves every target file unchanged. |
124 | | -7. Apply a reviewed scan and inspect the resulting path headers and summary. |
125 | | -8. Report unsupported syntax, incorrect relative paths, unsafe writes, or confusing output before v1.0.0 is promoted. |
126 | | - |
127 | | -### 🚧 Release-candidate status |
128 | | - |
129 | | -This release candidate brings together four untagged development checkpoints. |
130 | | -The product and general delivery foundation belongs to checkpoint 1; private |
131 | | -GitLab package delivery belongs to checkpoint 2; source-checkout maintenance |
132 | | -belongs to checkpoint 3; and safe GitHub Release rendering belongs to checkpoint |
133 | | -4. RC.1 promotes their reviewed, cumulative result rather than introducing a |
134 | | -separate implementation checkpoint. |
135 | | - |
136 | | -Recorded development validation is not final release sign-off. Complete the |
137 | | -RC checks against the exact candidate commit before publishing its tag, and |
138 | | -validate the workflows relevant to your project before production use. |
139 | | - |
140 | | -- Version: `v1.0.0-rc.1` |
141 | | -- Previous version: none — first formal release |
142 | | -- Strategy: Semantic Versioning |
143 | | -- Package compatibility: Python 3.11+ |
144 | | -- Standard development/container runtime: Python 3.14 |
145 | | -- Stability: Release candidate; validate before production automation |
146 | | -- Stable target: `v1.0.0` |
147 | | - |
148 | | -The stable release may include final cleanup, documentation corrections, and |
149 | | -fixes discovered during RC validation, without changing the documented safety |
150 | | -model unexpectedly. |
151 | | - |
152 | | -Thank you for validating the first Path Header Scanner production release line. |
153 | | - |
154 | | -_Release candidate: v1.0.0-rc.1_ |
155 | | -_Author: Devalltect / Rizky Fernandes_ |
| 1 | +✅ Final Release path-header-scanner v1.0.0 |
| 2 | + |
| 3 | +**path-header-scanner v1.0.0** is now stable and production-ready. All feature and fixes from pre-releases (alpha, beta, rc) are included. |
| 4 | + |
| 5 | +### ✨ Highlights |
| 6 | + |
| 7 | +- *(Nothing yet)* |
| 8 | + |
| 9 | +--- |
| 10 | + |
| 11 | +✅ This version is **stable** and **suitable** for production use. |
0 commit comments