|
2 | 2 | <PropertyGroup> |
3 | 3 | <Copyright>Copyright © 2019-$([System.DateTime]::Now.Year) Aaron Stannard</Copyright> |
4 | 4 | <Authors>Aaron Stannard</Authors> |
5 | | - <VersionPrefix>0.1.0</VersionPrefix> |
6 | | - <PackageReleaseNotes>**Initial Release** |
| 5 | + <VersionPrefix>0.1.1</VersionPrefix> |
| 6 | + <PackageReleaseNotes>**New Features:** |
| 7 | +- **HTML Comment-Based Link Ignoring** - Added ability to exclude specific links from validation using HTML comments ([#70](https://github.com/Aaronontheweb/link-validator/pull/70)) |
| 8 | + - Use `<!-- link-validator-ignore -->` to ignore the next link |
| 9 | + - Use `<!-- begin link-validator-ignore -->` / `<!-- end link-validator-ignore -->` to ignore blocks of links |
| 10 | + - Comments are case-insensitive and W3C compliant |
| 11 | + - Perfect for development URLs, local services, or intentionally broken example links |
7 | 12 |
|
8 | | -LinkValidator is a fast, reliable CLI tool for crawling websites and validating both internal and external links. Built with Akka.NET for high-performance concurrent crawling. |
| 13 | +**Bug Fixes:** |
| 14 | +- **Fixed External URL Processing** - External URLs now preserve their original scheme and port instead of being incorrectly modified to match the base URL ([#70](https://github.com/Aaronontheweb/link-validator/pull/70)) |
| 15 | +- **Install Script Improvements** - Fixed multiple issues with installation scripts ([#69](https://github.com/Aaronontheweb/link-validator/pull/69), [#68](https://github.com/Aaronontheweb/link-validator/pull/68)) |
| 16 | + - Fixed bash script line endings (CRLF to LF conversion) |
| 17 | + - Fixed JSON parsing for single-line GitHub API responses |
| 18 | + - Fixed PowerShell PATH variable escaping syntax |
| 19 | + - Added .NET runtime requirement documentation and detection |
9 | 20 |
|
10 | | -**Features:** |
11 | | -- **Fast Concurrent Crawling** - Leverages Akka.NET actors for efficient parallel processing of websites |
12 | | -- **Smart External Link Handling** - Implements intelligent rate limiting with configurable retry policies for HTTP 429 responses |
13 | | -- **Comprehensive Reporting** - Generates detailed markdown reports of all discovered links and their status |
14 | | -- **Broken Link Tracking** - Tracks broken external links and provides detailed reporting on link status |
15 | | -- **Advanced Error Handling** - Properly handles HTTP status codes 400+ as errors while allowing redirects and other success responses |
16 | | -- **Link Graph Analysis** - Tracks relationships between pages to identify where broken links originate ([#32](https://github.com/Aaronontheweb/link-validator/pull/32)) |
17 | | -- **CI/CD Ready** - Perfect for automated testing in build pipelines with strict mode and exit codes |
18 | | -- **Cross-Platform** - Single-file binaries for Windows, Linux, and macOS (Intel + Apple Silicon) |
19 | | -- **Flexible Configuration** - CLI flags and environment variables for easy customization |
20 | | - |
21 | | -**Major Components:** |
22 | | -- **HTTP 429 Rate Limit Handling** - Automatically detects and respects `Retry-After` headers, with configurable fallback delays and jitter to prevent thundering herd issues ([#63](https://github.com/Aaronontheweb/link-validator/pull/63)) |
23 | | -- **External Link Validation** - Comprehensive tracking and reporting of broken external URLs separate from internal site structure ([#62](https://github.com/Aaronontheweb/link-validator/pull/62)) |
24 | | -- **Smart HTTP Status Code Handling** - Only treats HTTP status codes 400 and above as errors, properly handling redirects and other success responses ([#61](https://github.com/Aaronontheweb/link-validator/pull/61)) |
25 | | -- **Release Infrastructure** - Complete release automation with configuration options and build system integration ([#64](https://github.com/Aaronontheweb/link-validator/pull/64)) |
26 | | - |
27 | | -**Installation:** |
28 | | -- Install scripts available for Windows PowerShell and Linux/macOS Bash |
29 | | -- Pre-built single-file binaries for all major platforms |
30 | | -- Build from source with .NET 9 SDK |
31 | | - |
32 | | -**Command Line Options:** |
33 | | -- `--url <URL>` - The website URL to crawl (required) |
34 | | -- `--output <PATH>` - Save sitemap report to file |
35 | | -- `--diff <PATH>` - Compare against previous sitemap file |
36 | | -- `--strict` - Return error code if broken links found |
37 | | -- `--max-external-retries <N>` - Max retries for external 429 responses (default: 3) |
38 | | -- `--retry-delay-seconds <N>` - Default retry delay when no Retry-After header present (default: 10) |
39 | | - |
40 | | -**Environment Variable Support:** |
41 | | -- `LINK_VALIDATOR_MAX_EXTERNAL_RETRIES` - Configure max retry attempts |
42 | | -- `LINK_VALIDATOR_RETRY_DELAY_SECONDS` - Configure retry delay timing</PackageReleaseNotes> |
| 21 | +**Documentation:** |
| 22 | +- Added comprehensive documentation for HTML comment-based link ignoring feature |
| 23 | +- Added Prerequisites section explaining .NET 9 Runtime requirement |
| 24 | +- Simplified installation instructions with one-liner commands</PackageReleaseNotes> |
43 | 25 | <PackageIconUrl> |
44 | 26 | </PackageIconUrl> |
45 | 27 | <PackageProjectUrl> |
|
0 commit comments