New Features
- Windows is now officially supported (#1159, #1493)
- Easier upgrade-resilient configuration customization via
.local
configuration files (#1497, fix #1385) - Support for client authentication via certificates (for agents and bouncers) (#1428)
- Allow dynamic (ie. incremental) decisions duration in
profiles.yaml
(#1556)
Improvements
cscli explain
supports stdin input (#1597) @LaurenceJJones- add new performance related prometheus metrics in LAPI and agent (#1546) @buixor
- new syslog parser for syslog datasource (#1554) @blotus
- add more JSON expr helpers (#1576) @blotus
- allow to set static to a pointer and add IsIPV6 helper (#1540) @AlteredCoder
- add support for machine heartbeat (#1541) @buixor
- add notifications command (#1537) @sabban
- memory check for cscli dashboard setup (#1513) @LaurenceJJone
- significant performance improvements (#1583) @buixor
Bug Fixes
pkg/database
fix count decisions since by value (#1606) @he2ss- support yml file (#1605) @AlteredCoder
- docker_start: improve bash compat (#1599) @he2ss
- fix decisions deduplication logic #1552 (#1569) @AlteredCoder
- fix freebsd tests (#1600) @mmetc
- fix concurrent map write on distinct cache (#1582) @buixor
- do not rely on /proc/sys/kernel/random/uuid for portability (#1575) @blotus
- fixed uid/gid bound check regression (#1555) @mmetc
- do not spew.Sdump() the invalid node on error (#1550) @buixor
- fix windows installer removing patterns folder on upgrade (#1548) @blotus
- changed option 'alerts-tainted' (which does not exist) to 'tainted' (#1538) @mmetc
- improved distinct/uniq behaviour & performances (#1478) @buixor
- retry to send alert to plugin channel if it fails (#1530) @blotus
- install config.yaml with chmod 600 (#1518) @mmetc
- loglevel warning (#1461) @mmetc
- fix
/decisions/stream
behaviour when refresh happened less often than 60s (#1517) @he2ss
Other changes
- simplify err.Error() to err when used in printf context (#1603) @mmetc
cscli explain
use temp dir (#1598) @LaurenceJJones- CI: colored test output, colored crowdsec and crowdsec-api logs, full final db dump for mysql and sqlite (#1596) @mmetc
- make localstack-stop target (#1593) @mmetc
- enabled linters and fixes for: misspell, predeclared, unconvert, ineffassign, gosimple, govet (#1595) @mmetc
- removed bats warnings (#1592) @mmetc
- use only one name generator (#1591) @buixor
- shellcheck (#1584) @mmetc
- reduce verbosity of TLS auth and FlushAgentsAndBouncers (#1588) @blotus
- functional tests, minor refactoring and lint/cleanup (#1570) @mmetc
- fixed coverage reporting for functional tests; added cscli (#1568) @mmetc
- allow run-tests with -f "" (#1564) @mmetc
- codecov badge (#1562) @mmetc
- update codeql actions (v1 is going to be deprecated) (#1563) @mmetc
- codecov (#1561) @mmetc
- minor cleanup; export SetHubBranch (#1559) @mmetc
- fix coverage report (#1553) @mmetc
- increase lint timeout for windows (#1543) @mmetc
- some tests for misconfigured plugins (#1534) @mmetc
- func test: replaced one-shot bin/nc with a loop (#1542) @mmetc
- error reporting (#1501) @mmetc
- add bats-mock to mock external commands in functional tests (#1529) @mmetc
- test multiple notification events with the same plugin (#1539) @mmetc
- allow to override statics in hubtest. (#1495) @blotus
- fix docker flaky test (#1494) @blotus
- fix #1283: update and enable error reports from golangci (#1523) @mmetc
- avoid double output (error + log fatal) and automatic --help after each error (#1536) @mmetc
- add single quotes to log output (#1527) @LaurenceJJones
- optimize
GetExprEnv
usage (#1515) @nitescuc - update machineid to 1.0.2 (#1533) @blotus
- add the ability to build on fc36 (#1524) @sabban
Documentation related topics
- update docker docs: filter on github.repository_owner == 'crowdsecurity' (#1511) @mmetc
- add link to Console in README.md (#1509) @mazzma12
- document LAPI filters (#1535) @sbs2001
- "make localstack" target, link to docs/contributing (#1522) @mmetc
Geolite2 notice
This product includes GeoLite2 data created by MaxMind, available from https://www.maxmind.com.
Installation
Take a look at the installation instructions.