CrowdSec v1.7.5-rc1

v1.7.5-rc1Pre-releaseWindowsLinux
Added 2
  • Add ParseKVLax for flexible key-value parsing
  • Support transaction id header for request tracing in appsec
Changed 14
  • Replace syscall with unix/windows packages where possible
  • Replace errors.Wrapf with fmt.Errorf and remove dependency on github.com/pkg/errors
  • Update golangci-lint to 2.8
  • Replace global variables with injected StateDumper in pkg/leakybucket
  • Move debian and rpm directories to /build/
  • Move docker directory to /build/docker
Fixed 4
  • Check if decision is allowlisted before adding it in papi
  • Prevent duplicate send in case of transform error in pkg/acquisition
  • Always reuse the stored token in CAPI
  • Fix FreeBSD build issue and add cross platform CI build and lint target
Changes
  • replace syscall with unix/windows packages where possible (#3032) @mmetc
  • pkg/acquisition: refact configuration validation and tests (#4187) @mmetc
  • pkg/acquisition: remove/restore mock datasources after usage (#4190) @mmetc
  • pkg/leakybucket: replace global variables with injected StateDumper (#4197) @mmetc
  • pkg/acquisition: method docs, deduplicate module names (#4192) @mmetc
  • errors.Wrapf -> fmt.Errorf, remove dependency on github.com/pkg/errors (#4198) @mmetc
  • update golangci-lint 2.8 (#4194) @mmetc
  • notification plugins: readability / dry refact, unnecessary pointers (#4166) @mmetc
  • refact acquisition/appsec: happy path (#4183) @mmetc
  • pkg/acquisition/registry, move datasource registration to avoid dependency (#4189) @mmetc
  • gin middleware: drop closures (#4186) @mmetc
  • acquisition/journalctl: test cleanup (#4182) @mmetc
  • cscli hubtest: extract method finalizeRun() (#4181) @mmetc
  • refact cmd/crowdsec: remove globals ParseDump, BucketPourTrack (#4184) @mmetc
  • refact pkg/apiserver: happy path; nil guard (#4180) @mmetc
  • refact pkg/leakybucket: drop closures (#4178) @mmetc
  • cmd/crowdsec: rename pipeline channels (#4175) @mmetc
  • move dir debian, rpm to /build/ (#4174) @mmetc
  • refact cmd/crowdsec: remove globals, lint, etc (#4163) @mmetc
  • lint: modernize - enable slicessort, stringsseq (#4162) @mmetc
  • appsec: inject dependencies, avoid globals (#4148) @mmetc
  • CI: move windows build scripts to ./build/windows (#4145) @mmetc
  • remove obsolete readme (replaced by go generate) (#4164) @mmetc
  • cmd/crowdsec: refact dump.go, loops (#4158) @mmetc
  • cmd/crowdsec: refact output.go, pour.go, parse.go (#4157) @mmetc
  • refact: drop parserTomb, lpMetricsTomb (#4138) @mmetc
  • drop unused method Client.IsMachineRegistered() (#4121) @mmetc
  • CI: build with the tag "nomsgpack" to reduce binary size (#4151) @mmetc
  • move ./docker to ./build/docker (#4130) @mmetc
  • acquisition refact: context-aware OneShot(), for file + journalctl + wineventlog (#4125) @mmetc
  • lint: forbidigo (no print or printf in production, prefer fprint) (#4141) @mmetc
  • CI: avoid using nolint with revive (#4144) @mmetc
  • Lint: add explicit per-linter settings (#4134) @mmetc
  • refact pkg/acquisition: split docker.go (#4065) @mmetc
  • get rid of tombs in leakybucket package (#4127) @sabban
  • refact pkg/acquisition: cloudwatch configuration (#4058) @mmetc
  • refact pkg/acquisition: kinesis configuration (#4059) @mmetc
  • refact pkg/acquisition: k8saudit configuration (#4060) @mmetc
  • refact pkg/acquisition: http configuration (#4061) @mmetc
  • refact heartbeat: context-aware method (#4126) @mmetc
  • pkg/leakybucket refact: unexport, unused, explicit field names (#4123) @mmetc
  • docker build: run builds on large runner (#4120) @blotus
Improvements
  • docker datasource schema (#4206) @mmetc
  • lint: enable bodyclose (ensure response bodies are closed to avoid leaks) (#4200) @mmetc
  • feat: Add ParseKVLax for Flexible Key-Value Parsing (#4007) @LaurenceJJones
  • pkg/parser: avoid calling spew unless trace (#4156) @mmetc
  • leakybucket: reduce error verbosity, test for misconfiguration (#4087) @mmetc
  • feat(appsec): support transaction id header for request tracing (#4124) @LaurenceJJones
Bug Fixes
  • papi: check if decision is allowlisted before adding it (#4196) @blotus
  • pkg/acquisition: register mock datasource for YAML tests (#4205) @mmetc
  • pkg/acquisition: prevent duplicate send in case of transform error (#4191) @mmetc
  • CI fix - exit lapi during hub tests; pass container struct reference instead of slice (#4202) @mmetc
  • CAPI: always reuse the stored token (#4201) @blotus
  • fix #4066: don't prepare the hub in lapi-only containers (#4169) @mmetc
  • fix #3991 - Acquisition config formatting in bug template (#4170) @mmetc
  • fix typos in function name, comments and user-facing docs (#4154) @mmetc
  • refact appsec tests: prevent data race (#3902) @mmetc
  • fix build issue on freebsd, add cross platform CI build and lint target (#4109) @mmetc
Chore / Deps
  • build(deps): bump actions/setup-go from 6.1.0 to 6.2.0 (#4195) @dependabot[bot]
  • build(deps): bump github/codeql-action from 4.31.9 to 4.31.10 (#4193) @dependabot[bot]
  • build(deps): bump astral-sh/setup-uv from 7.1.6 to 7.2.0 (#4185) @dependabot[bot]
  • CI/tests: update bats-*, remove bats-mock (#4172) @mmetc
  • deps: update modernc.org/sqlite (#4177) @mmetc
  • CI, docker: update yq to v4.50.1 (#4179) @mmetc
  • build(deps): bump docker/setup-buildx-action from 3.11.1 to 3.12.0 (#4167) @dependabot[bot]
  • build(deps): bump github/codeql-action from 4.31.8 to 4.31.9 (#4153) @dependabot[bot]
  • update expr to 1.17.7 (#4150) @blotus
  • build(deps): bump actions/upload-artifact from 5.0.0 to 6.0.0 (#4146) @dependabot[bot]
  • build(deps): bump astral-sh/setup-uv from 7.1.5 to 7.1.6 (#4147) @dependabot[bot]
  • build(deps): bump github/codeql-action from 4.31.7 to 4.31.8 (#4135) @dependabot[bot]
  • build(deps): bump github/codeql-action from 4.31.6 to 4.31.7 (#4116) @dependabot[bot]
  • CI: update and/or pin actions with tag comments (#4108) @mmetc
  • CI: update golangci-lint to 2.7 (#4110) @mmetc
  • make: move ./mk to ./build/mk, update gmsl (#4111) @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.

View original

Upgraded? How did it go?

Discussion