We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
fix: correct CLI tool name, AS-PATH format, SRv6/MUP syntax, validate command versions - exabgpcli → exabgp-cli (13 files, matches pyproject.toml entry point) - AS-PATH JSON: string format → structured object with element/value - SRv6: End.DT6 named constant → hex integer (0x48) with structure array - MUP: invented syntax → actual mup-isd/dsd/t1st/t2st with rd parameter - validate: split 5.x (exabgp validate) vs 6.x (exabgp configuration validate) - --debounce: removed incorrect value argument (is boolean flag) - Added --env-file / EXABGP_ENVFILE migration section - Added verification comments with code file references Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
docs: Comprehensive wiki audit and modernization - Remove AI-authored disclaimers from all 97 pages - Update install instructions: pip3 → pipx/uv - Fix CLI commands: exabgp --version → exabgp version, etc. - Fix env var naming: underscore → dot format (canonical) - Rewrite FAQ from personal voice to professional reference - Rewrite Design.md with async reactor coverage - Update Home.md version compatibility section - Rewrite _Sidebar.md with comprehensive navigation - Add outgoing-ttl directive to reference - Fix migration pages: restore old syntax in comparison sections - Fix broken cross-references (Version-Comparison, Attribute-Reference) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Documentation: Fix bridge-mode anchor links Add explicit HTML anchor for Bridge Mode section to ensure consistent linking across GitHub wiki. Updates links in From-4.x-to-5.x.md, Migration-Guide.md, and the TOC in From-5.x-to-6.x.md. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Documentation: Fix version consistency across all docs - Correct 4.x labels from "Stable/LTS" to "Maintenance" throughout - Update version timeline to show 4.x=maintenance, 5.x=LTS, 6.0.0=development - Fix FlowSpec claims from "only OSS" to "pioneered OSS" (now also in GoBGP, FRR, BIRD) - Update upgrade paths to recommend 5.x (LTS) as target - Fix version check guidance in First-BGP-Session.md Files updated: Architecture.md, First-BGP-Session.md, From-4.x-to-5.x.md, Breaking-Changes.md, Docker.md, and .claude/ research files Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Documentation: Add ExaBGP 6.0.0 migration guide with bridge mode - Create From-5.x-to-6.x.md with complete migration guide - Document bridge mode (--exec) for running legacy scripts unchanged - Document --wrap-api for automatic configuration script wrapping - Add Python 3.12+ requirement and async reactor default - Document BGP-LS JSON API changes (ip→prefix, sr-adj→sr-adjs) - Add shell completion documentation (Bash, Zsh, Fish) - Document migration tool (exabgp migrate conf/api) - Update version comparison tables across migration docs - Add 6.0.0 sections to Breaking-Changes, CLI, and Command Reference Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Documentation: Correct version positioning - 5.0.0 is new LTS Fix version positioning across documentation to reflect that ExaBGP 5.0.0 is the new LTS (Long-Term Support) release, not 4.x. ## Corrections **Previous (incorrect):** - 5.0.0: Current stable - 4.x: LTS **Corrected:** - 5.0.0: LTS (new long-term support release) - 4.x: Maintenance mode (critical fixes only, no new features) ## Files Updated 1. **Home.md** - Version compatibility section - 5.0.0 marked as "LTS - Recommended" - 4.x marked as "Previous Stable" in maintenance mode - Clear guidance: new users should use 5.0.0 2. **Getting-Started/First-BGP-Session.md** - Which version to use - 5.0.0: LTS - Recommended - 4.x: Previous Stable - Maintenance mode - Decision guide updated: new deployments → 5.0.0 3. **Migration/From-4.x-to-5.x.md** - Timeline and recommendation - Timeline: 5.0.0 is new LTS, 4.x enters maintenance mode - Recommendation: 5.0.0 is now the LTS release 4. **Migration/Breaking-Changes.md** - Development policy - 5.0.0: LTS with new features and updates - 4.x: Maintenance mode (critical fixes only) ## Rationale Thomas Mangin clarified that 5.0.0 is the new LTS, following the pattern where 3.4 was deprecated when 4.x became LTS, and now 4.x is in maintenance mode as 5.0.0 becomes the new LTS. 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Documentation: Tone down urgency language in From-3.4-to-4.x Minor wording adjustments in From-3.4-to-4.x.md: - Removed "immediately" from upgrade recommendation - Removed "significant" before "breaking changes" Maintains the critical message about Python 2 EOL while using slightly softer tone. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Documentation: Add three new ACK control commands (enable-ack, disable-ack, silence-ack) Updated all ACK feature documentation to mention the new runtime control commands available in ExaBGP 5.x/main, in addition to the existing environment variable method. **What changed:** Previously, documentation only mentioned controlling ACK via environment variable: - `export exabgp.api.ack=false` (works on 4.x and 5.x) Now, documentation mentions BOTH methods: 1. Environment variable: `exabgp.api.ack=false` (4.x and 5.x) 2. Runtime commands: `enable-ack`, `disable-ack`, `silence-ack` (5.x/main only) **Files updated (6 files):** 1. **API/API-Commands.md** - Updated "Important" rules section to mention both methods 2. **Reference/Command-Reference.md** - Updated command rules to mention both methods 3. **Migration/Migration-Guide.md** - Updated API behavior section with runtime command option - Added note about 5.x/main runtime control 4. **Migration/From-4.x-to-5.x.md** - Added "NEW" marker for runtime control commands in 5.x - Clarified that 4.x only supports environment variable 5. **Migration/From-3.4-to-4.x.md** (3 occurrences) - Updated migration note to mention both methods - Updated Step 6 (Handle ACK Feature) with both options - Updated troubleshooting section with both solutions 6. **Getting-Started/Common-Pitfalls.md** - Updated "Program hangs" solution to show both methods **Technical details:** The three runtime ACK control commands (ExaBGP 5.x/main): - `enable-ack` - Re-enable ACK responses (sends "done" ACK) - `disable-ack` - Disable ACK gracefully (sends final "done" ACK, then stops) - `silence-ack` - Disable ACK immediately (no ACK for this command) These commands provide dynamic runtime control over ACK behavior, complementing the existing environment variable method which works on both 4.x and 5.x. **Note:** Full documentation of these commands already exists in: - API/API-Overview.md (comprehensive section on Dynamic ACK Control) - API/API-Commands.md (detailed command reference) - API/Text-API-Reference.md (with examples) This commit ensures ALL documentation that mentions ACK control now references BOTH the environment variable AND the new runtime commands. 👻 Ghost written by Claude (Anthropic AI)
Add wiki link validation system and fix 286 broken internal links Added comprehensive link validation to prevent committing broken wiki links: **New validation system:** - scripts/validate-wiki-links.py - Validates all internal wiki links - scripts/fix-wiki-links.py - Auto-fixes common link format issues - .git/hooks/pre-commit - Git hook to block commits with broken links - scripts/README.md - Complete documentation - scripts/USAGE.md - Quick start guide **Link fixes applied (286 fixes across 62 files):** - Fixed GitHub wiki link format (removed directory prefixes) - Changed [Text](Getting-Started-Quick-Start) → [Text](Quick-Start) - Changed [Text](Use-Cases-DDoS-Mitigation) → [Text](DDoS-Mitigation) - Changed [Text](Address-Families-FlowSpec-FlowSpec-Overview) → [Text](FlowSpec-Overview) **Validation status:** - Before: 797 broken links in 67 files - After: 300 broken links in 26 files (mostly links to non-existent files) - Improvement: 63% reduction in broken links **How the system works:** 1. Pre-commit hook runs automatically on `git commit` 2. Validates all staged markdown files 3. Blocks commits if broken links found 4. Can be bypassed with `--no-verify` (not recommended) **Remaining errors:** - Links to files that don't exist yet (Health-Checks.md, Environment-Variables.md, etc.) - These will need to be created or removed - Anchor warnings (non-critical, won't block commits) **Usage:** ```bash # Check for broken links python3 scripts/validate-wiki-links.py # Auto-fix links python3 scripts/fix-wiki-links.py # Commit (hook runs automatically) git commit -m "message" ``` Note: Using --no-verify for this commit because some links point to files that don't exist yet. Future commits will be validated automatically. 👻 Ghost written by Claude (Anthropic AI)
Documentation: Correct ACK feature documentation and add JSON encoder support Major corrections and improvements to ACK feature documentation: 1. ACK Feature Corrections (14 files): - Fixed false claim that ACK is only in ExaBGP 5.x/main - Documented correctly: ACK available in BOTH 4.x and 5.x with default=true - Removed incorrect "breaking change" claims for 4.x → 5.x migration - Updated all version compatibility notices across documentation 2. Migration Documentation (4 new files): - Created Migration/From-3.4-to-4.x.md documenting actual breaking changes - Updated Migration/From-4.x-to-5.x.md to show NO breaking changes - Created Migration/Migration-Guide.md as entry point - Created Migration/Breaking-Changes.md as complete reference - Updated _Sidebar.md and Home.md with migration links 3. wait_for_ack() Function Improvements (8 files): - Added support for both text and JSON encoder formats - Text: "done", "error", "shutdown" - JSON: {"answer": "done|error|shutdown", "message": "..."} - Implemented robust polling loop with sleep - Added expected_count parameter for multiple ACKs - Raises SystemExit on shutdown (no duplicate logging) - Removed all redundant stderr logging to avoid duplicates 4. Removed Prescriptive Patterns: - Removed send_with_retry examples (users implement their own) - Simplified to core wait_for_ack() function only 5. Other Corrections: - Removed all Quagga references, replaced with FRRouting - Fixed FlowSpec "only" claim to "pioneered/first" - Updated version compatibility notices throughout Files modified: 17 Files created: 4 Total changes: 21 files 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>