All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
The public API of this library consists of all public or protected methods, properties and constants belonging to the src folder.
As far as possible, we try to adhere to Symfony guidelines when deciding whether a change is a breaking change or not.
4.3.2 - 2026-02-16
- Fix deprecation warning in PHP 8.5
4.3.1 - 2025-12-11
- Allow
Allowlistswith no description
4.3.0 - 2025-04-11
- Add support for
Allowlistsdecisions
4.2.0 - 2025-01-31
- Allow Monolog 3 packages
4.1.0 - 2025-01-16
- Allow Symfony 7 packages
4.0.0 - 2025-01-09
- Add
LapiRemediation::pushUsageMetricsmethod to push usage metrics to LAPI - Add
bouncing_levelconfiguration to cap maximum remediation level
- Breaking change:
getIpRemediationmethod now returns an array withremediationandoriginkeys - Breaking change: Change protected
AbstractRemediation::updateRemediationOriginCountmethod to publicupdateMetricsOriginsCountwith new$remediationand$deltaparameters. - Breaking change: Do not store origins count in cache as it should be managed by the bouncer
- Update
crowdsec/lapi-clientdependency tov3.4.0
- Removed deprecated methods
3.5.0 - 2024-10-18
- Add AppSec settings to manage maximum size of the request body
- Add
appsec_max_body_size_kbsetting - Add
appsec_body_size_exceeded_actionsetting
- Add
3.4.0 - 2024-10-04
- Add AppSec requests support with
getAppSecRemediationpublic method inLapiRemediationclass - Add
appsec_fallback_remediationconfiguration for Lapi remediation
- Update
crowdsec/commondependency tov2.3.0 - Update
crowdsec/capi-clientdependency tov3.2.0 - Update
crowdsec/lapi-clientdependency tov3.3.0
3.3.0 - 2023-12-14
- Update
crowdsec/commondependency tov2.2.0(api_connect_timeoutsetting) - Update
crowdsec/capi-clientdependency tov3.1.0(api_connect_timeoutsetting) - Update
crowdsec/lapi-clientdependency tov3.2.0(api_connect_timeoutsetting)
3.2.0 - 2023-04-20
- Store origin of decision in cache
- Store origin count of
getIpRemediationin cache and provide agetOriginsCounthelper method
- Deprecate
AbstractRemediation::getRemediationFromDecisions - Deprecate
AbstractRemediation::sortDecisionsByRemediationPriority
3.1.1 - 2023-03-24
- Do not set logger in Memcached cache to avoid silent error
3.1.0 - 2023-03-24
- Instantiate provided Redis and PhpFiles caches without cache tags by default
- Do not cache CAPI decision with
0hduration - Set logger in cache adapter to log Symfony cache messages
- Add a boolean
use_cache_tagssetting for Redis and PhpFiles caches. Default tofalse.
3.0.0 - 2023-03-09
- Breaking change: Update
crowdsec/capi-clientdependency tov3.0.0(CAPI V3 endpoints) - Breaking change: Update
crowdsec/lapi-clientdependency tov3.0.0 - Breaking change: Update
crowdsec/commondependency tov2.0.0 - Breaking change: Use custom error handler for
Memcached::getItemmethod - Breaking change: Rename
AbstractCache::updateItemmethod toupsertItem - Breaking change: The
cacheTagstring parameter of cache methods become atagsarray - Change visibility of
AbstractRemediation::parseDurationToSecondsmethod from private to protected
- Handle blocklist decisions when pulling CAPI decisions
2.1.0 - 2023-02-10
- Add public method
getClientforLapiRemediationandCapiRemediationclasses
2.0.0 - 2023-02-02
- Breaking change: Update
crowdsec/capi-clientto a new major version 2.0.0 - Breaking change: Update
crowdsec/lapi-clientto a new major version 2.0.0 - Use
crowdsec/commonpackage as a dependency for code factoring
- Breaking change: Remove
CrowdSec\RemediationEngine\Logger\FileLog(replaced byCrowdSec\Common\Logger\FileLog)
1.0.1 - 2023-01-27
- Add public API declaration
1.0.0 - 2023-01-27
- Change version to
1.0.0: first stable release
0.7.0 - 2023-01-13
- Update
crowdsec/capi-clientdependency tov0.11.0
0.6.1 - 2023-01-12
- Fix some PHPDoc
@throwstags
0.6.0 - 2023-01-12
- For LAPI in live mode, we use and save retrieved IPv6 range scoped decisions as IP scoped decisions
- Unexpected configuration keys are automatically removed by a new
cleanConfigsmethod - Do not try to retrieve range scoped decisions in cache for IPv6 IP as it is not yet implemented
- Update some logs
- Update
crowdsec/capi-clientdependency tov0.10.0 - Update
crowdsec/lapi-clientdependency tov0.4.0 - Do not throw exception for unknown prefix in
getCacheKeymethod
- Add public method
getCacheStoragefor remediations - Add public method
unsetIpVariablesfor cache - Add public method
clearGeolocationCachefor geolocation
0.5.0 - 2023-01-05
- Use message log instead of a context message field
- Update
crowdsec/capi-clientdependency tov0.9.0 - Update
crowdsec/lapi-clientdependency tov0.3.0
- Add cache warmup feature for LAPI
0.4.0 - 2022-12-30
- Modify some log format and severity level
- Add
symfony/cacheconflicts for Redis not working versions - Add some relevant logs
0.3.1 - 2022-12-29
- Update
symfony/cachedependency to only exclude Redis not working versions
0.3.0 - 2022-12-29
- Update
crowdsec/capi-clientdependency tov0.7.0 - Update
crowdsec/lapi-clientdependency tov0.2.0 - Fix
symfony/cachedependency to5.4.15or6.0.15as5.4.17and6.0.17are buggy for Redis
0.2.0 - 2022-12-23
- Add geolocation feature to get remediation from
Countryscoped decisions (using MaxMind databases)
0.1.1 - 2022-12-16
- Update
crowdsec/capi-clientdependency tov0.6.0 - Add PHP
8.2in supported versions
0.1.0 - 2022-12-09
- Breaking change: Make methods
AbstractRemediation::storeDecisionsandAbstractRemediation::removeDecisionsprotected instead of public and modify return type (inttoarray)
- Add LAPI remediation feature
0.0.2 - 2022-12-08
- Update
crowdsec/capi-clientdependency to allow oldersymfony/config(v4) version
0.0.1 - 2022-12-02
- Initial release