Skip to content

Commit 2bc5658

Browse files
Prepare release 0.1.0 (#66)
- Updated release notes with comprehensive feature documentation - Updated package metadata with detailed release notes - Version 0.1.0 includes initial release with all core functionality
1 parent db8cccf commit 2bc5658

File tree

2 files changed

+91
-19
lines changed

2 files changed

+91
-19
lines changed

RELEASE_NOTES.md

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,39 @@
1-
#### 0.1.0 Januard 3rd 2025 ####
1+
#### 0.1.0 September 4th 2025 ####
22

3-
Initial release
3+
**Initial Release**
4+
5+
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.
6+
7+
**Features:**
8+
- **Fast Concurrent Crawling** - Leverages Akka.NET actors for efficient parallel processing of websites
9+
- **Smart External Link Handling** - Implements intelligent rate limiting with configurable retry policies for HTTP 429 responses
10+
- **Comprehensive Reporting** - Generates detailed markdown reports of all discovered links and their status
11+
- **Broken Link Tracking** - Tracks broken external links and provides detailed reporting on link status
12+
- **Advanced Error Handling** - Properly handles HTTP status codes 400+ as errors while allowing redirects and other success responses
13+
- **Link Graph Analysis** - Tracks relationships between pages to identify where broken links originate ([#32](https://github.com/Aaronontheweb/link-validator/pull/32))
14+
- **CI/CD Ready** - Perfect for automated testing in build pipelines with strict mode and exit codes
15+
- **Cross-Platform** - Single-file binaries for Windows, Linux, and macOS (Intel + Apple Silicon)
16+
- **Flexible Configuration** - CLI flags and environment variables for easy customization
17+
18+
**Major Components:**
19+
- **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))
20+
- **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))
21+
- **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))
22+
- **Release Infrastructure** - Complete release automation with configuration options and build system integration ([#64](https://github.com/Aaronontheweb/link-validator/pull/64))
23+
24+
**Installation:**
25+
- Install scripts available for Windows PowerShell and Linux/macOS Bash
26+
- Pre-built single-file binaries for all major platforms
27+
- Build from source with .NET 9 SDK
28+
29+
**Command Line Options:**
30+
- `--url <URL>` - The website URL to crawl (required)
31+
- `--output <PATH>` - Save sitemap report to file
32+
- `--diff <PATH>` - Compare against previous sitemap file
33+
- `--strict` - Return error code if broken links found
34+
- `--max-external-retries <N>` - Max retries for external 429 responses (default: 3)
35+
- `--retry-delay-seconds <N>` - Default retry delay when no Retry-After header present (default: 10)
36+
37+
**Environment Variable Support:**
38+
- `LINK_VALIDATOR_MAX_EXTERNAL_RETRIES` - Configure max retry attempts
39+
- `LINK_VALIDATOR_RETRY_DELAY_SECONDS` - Configure retry delay timing

src/Directory.Build.props

Lines changed: 53 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,57 @@
11
<Project>
2-
<PropertyGroup>
3-
<Copyright>Copyright © 2019-$([System.DateTime]::Now.Year) Aaron Stannard</Copyright>
4-
<Authors>Aaron Stannard</Authors>
5-
<VersionPrefix>0.1.0</VersionPrefix>
6-
<PackageReleaseNotes>Initial release</PackageReleaseNotes>
7-
<PackageIconUrl>
8-
</PackageIconUrl>
9-
<PackageProjectUrl>
2+
<PropertyGroup>
3+
<Copyright>Copyright © 2019-$([System.DateTime]::Now.Year) Aaron Stannard</Copyright>
4+
<Authors>Aaron Stannard</Authors>
5+
<VersionPrefix>0.1.0</VersionPrefix>
6+
<PackageReleaseNotes>**Initial Release**
7+
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.
9+
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 &lt;URL&gt;` - The website URL to crawl (required)
34+
- `--output &lt;PATH&gt;` - Save sitemap report to file
35+
- `--diff &lt;PATH&gt;` - Compare against previous sitemap file
36+
- `--strict` - Return error code if broken links found
37+
- `--max-external-retries &lt;N&gt;` - Max retries for external 429 responses (default: 3)
38+
- `--retry-delay-seconds &lt;N&gt;` - 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>
43+
<PackageIconUrl>
44+
</PackageIconUrl>
45+
<PackageProjectUrl>
1046
https://github.com/Aaronontheweb/link-validator
1147
</PackageProjectUrl>
12-
<PackageLicenseUrl>
13-
</PackageLicenseUrl>
14-
<NoWarn>$(NoWarn);CS1591</NoWarn>
15-
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
16-
</PropertyGroup>
17-
<PropertyGroup Label="SharedBuildProperties">
18-
<TargetFramework>net9.0</TargetFramework>
19-
<Nullable>enable</Nullable>
20-
</PropertyGroup>
48+
<PackageLicenseUrl>
49+
</PackageLicenseUrl>
50+
<NoWarn>$(NoWarn);CS1591</NoWarn>
51+
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
52+
</PropertyGroup>
53+
<PropertyGroup Label="SharedBuildProperties">
54+
<TargetFramework>net9.0</TargetFramework>
55+
<Nullable>enable</Nullable>
56+
</PropertyGroup>
2157
</Project>

0 commit comments

Comments
 (0)