Tags
Release v1.4.5
- Fix Grafana "Reconciliation Duration" panel: add
crowdsec_bouncer_last_operation_duration_seconds gauge so it shows the
most recent cycle instead of the cumulative histogram _sum (#44, #47)
- Bump Go to 1.26.4, fixing two stdlib vulnerabilities (GO-2026-5039
net/textproto, GO-2026-5037 crypto/x509)
- Update dependencies: Go modules, alpine 3.24, docs npm (#49)
Artifacts
v1.3.4
Bug fixes:
- Fix infinite reconnect loop on RouterOS device errors (#14)
- Fix Docker health check failure when metrics are disabled (#16)
- Fix incorrect language attribution in README (#15)
- Restore missing firewall rule placement fix in changelog
- Bind health/metrics listener synchronously for reliable startup
- Fix comparison table: other bouncers are Go, not Python
Artifacts
v1.3.0: miscellaneous improvements, firewall customization, and documentation audit
Artifacts
v1.2.0: Input interface filtering, LAPI metrics, test coverage, and dashboard improvements
New Features:
- Input interface filtering (block_input.interface / block_input.interface_list)
- LAPI metrics: dropped bytes/packets and per-origin active decisions to CrowdSec console
- 3 new Prometheus metrics: dropped_bytes_total, dropped_packets_total, active_decisions_by_origin
- 13 new Grafana dashboard panels (Dropped Traffic, Decisions by Origin, Process Resources)
Bug Fixes:
- Fix max-sessions documentation (1000, not 100)
- Fix rule placement to iterate all positions
- Fix go-cs-lib version ldflags for correct bouncer metadata
- Fix test coverage gaps
Improvements:
- Test coverage ~24% → ~90%+ across all packages (~200+ new tests)
- Extract interfaces for testability (RouterOSClient, RouterConn, BouncerEngine, CrowdSecStream)
- Extract applyInputRuleOptions() helper to deduplicate firewall rule setup
- Documentation updates
Artifacts
Release v1.1.0: Optimize reconciliation with connection pooling (~97x speedup)
Key changes:
- Connection pool with configurable size (1-20, default 4)
- Address cache with RWMutex replacing repeated API queries
- Script-based bulk add (chunks of 100) with parallel removes
- Auto-detection of router max-sessions limit
- Bash functional test suite (44 tests, 8 groups)
- CI: shellcheck analysis for test scripts
- Comprehensive documentation with real benchmark data
Performance (RB5009UG+S+):
- Full reconciliation: ~13 min → ~9-26s (~97x speedup)
- Steady-state CPU: ~27% → ~10%
- CAPI (~25k IPs): ~2m50s reconciliation