Skip to content

Latest commit

 

History

History
576 lines (443 loc) · 22.9 KB

CHANGELOG.md

File metadata and controls

576 lines (443 loc) · 22.9 KB

Changelog

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.

SemVer public API

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.


3.2.0 - 2024-10-23

Compare with previous release

Added

  • Add protected buildRequestRawBody helper method to AbstractBouncer class

3.1.0 - 2024-10-18

Compare with previous release

Changed

  • Update crowdsec/remediation-engine dependency to v3.5.0 (appsec_max_body_size_kb and appsec_body_size_exceeded_action settings)

3.0.0 - 2024-10-04

Compare with previous release

Added

  • Add AppSec support
  • Add use_appsec configuration

Changed

  • Breaking change: Add abstract methods that must be implemented to use AppSec:
    • getRequestHost
    • getRequestHeaders
    • getRequestRawBody
    • getRequestUserAgent
  • bounceCurrentIp method asks for AppSec remediation if use_appsec is true and IP remediation is bypass
  • Update crowdsec/common dependency to v2.3.0
  • Update crowdsec/remediation-engine dependency to v3.4.0

Removed

  • Breaking change: Remove DEFAULT_LAPI_URL constant as it already exists in crowdsec/lapi-client package

2.2.0 - 2024-06-20

Compare with previous release

Changed

  • Change the visibility of AbstractBouncer::getBanHtml and AbstractBouncer::getCaptchaHtml to protected to enable custom html rendering implementation

2.1.0 - 2023-12-14

Compare with previous release

Changed

  • Update gregwar/captcha from 1.2.0 to 1.2.1 and remove override fixes
  • Update crowdsec/common dependency to v2.2.0 (api_connect_timeout setting)
  • Update crowdsec/remediation-engine dependency to v3.3.0 (api_connect_timeout setting)

2.0.0 - 2023-04-13

Compare with previous release

Changed

  • Update gregwar/captcha from 1.1.9 to 1.2.0 and remove some override fixes

Removed

  • Remove all code about standalone bouncer

1.4.0 - 2023-03-30

Compare with previous release

Changed

  • Do not rotate log files of standalone bouncer

1.3.0 - 2023-03-24

Compare with previous release

Changed

  • Use crowdsec/remediation-engine ^3.1.1 instead of ^3.0.0
  • Use Redis and PhpFiles cache without cache tags

1.2.0 - 2023-03-09

Compare with previous release

Changed

  • Use crowdsec/remediation-engine ^3.0.0 instead of ^2.0.0

Added

  • Add a script to prune cache with a cron job (Standalone bouncer)

1.1.1 - 2023-02-16

Compare with previous release

Fixed

  • Fix log messages for captcha remediation

1.1.0 - 2023-02-16

Compare with previous release

Changed

  • Add more log messages during bouncing process

1.0.1 - 2023-02-10

Compare with previous release

Fixed

  • Update AbstractBouncer::testCacheConnection method to throw an exception for Memcached if necessary

1.0.0 - 2023-02-03

Compare with previous release

Changed

  • Change version to 1.0.0: first stable release
  • Update crowdsec/remediation-engine to a new major version 2.0.0
  • Use crowdsec/common package as a dependency for code factoring

Added

  • Add public API declaration

0.36.0 - 2023-01-26

Compare with previous release

Changed

  • Breaking changes: All the code has been refactored to use crowdsec/remediation-engine package:
    • Lot of public methods have been deleted or replaced by others
    • A bouncer should now extend an AbstractBouncer class and implements some abstract methods
    • Some settings names have been changed

0.35.0 - 2022-12-16

Compare with previous release

Changed

  • Set default timeout to 120 and allow negative value for unlimited timeout

0.34.0 - 2022-11-24

Compare with previous release

Changed

  • Do not cache bypass decision in stream mode
  • Replace unauthorized chars by underscore _ in cache key

Added

  • Add compatibility with PHP 8.2

Fixed

  • Fix decision duration parsing when it uses milliseconds

0.33.0 - 2022-11-10

Compare with previous release

Changed

  • Do not use tags for memcached as it is discouraged

Fixed

  • In stream mode, a clean IP decision (bypass) was not cached at all. The decision is now cached for ten years as expected

0.32.0 - 2022-09-29

Compare with previous release

Changed

  • Refactor for coding standards (PHPMD, PHPCS)

0.31.0 - 2022-09-23

Compare with previous release

Changed

  • Use Twig as template engine for ban and captcha walls

0.30.0 - 2022-09-22

Compare with previous release

Changed

  • Update symfony/cache and symfony/config dependencies requirement

0.29.0 - 2022-08-11

Compare with previous release

Added

  • Add TLS authentication feature

0.28.0 - 2022-08-04

Compare with previous release

Changed

  • Breaking change: Rename ClientAbstract class to AbstractClient
  • Hide api_key in log

Added

  • Add disable_prod_log configuration

0.27.0 - 2022-07-29

Compare with previous release

Changed

  • Breaking change: Modify getBouncerInstance and init signatures

Fixed

  • Fix wrongly formatted range scoped decision retrieving
  • Fix cache updated decisions count

0.26.0 - 2022-07-28

Compare with previous release

Changed

  • Breaking change: Modify all constructors (Bouncer, ApiCache, ApiClient, RestClient) to use only configurations and logger as parameters
  • Use shouldBounceCurrentIp method of Standalone before bouncer instantiation
  • Breaking change: Modify initLogger method

0.25.0 - 2022-07-22

Compare with previous release

Added

  • Add a use_curl setting to make LAPI rest requests with cURL instead of file_get_contents

0.24.0 - 2022-07-08

Compare with previous release

Added

  • Add a configs attribute to Bouncer class

0.23.0 - 2022-07-07

Compare with previous release

Added

  • Add test configuration to mock IPs and proxy behavior

0.22.1 - 2022-06-03

Compare with previous release

Fixed

  • Handle custom error handler for Memcached tag aware adapter

0.22.0 - 2022-06-02

Compare with previous release

Added

  • Add configurations for captcha and geolocation variables cache duration

Changed

  • Breaking change: Use cache instead of session to store captcha and geolocation variables
  • Breaking change: Use symfony cache tag adapter
  • Change geolocation/save_in_session setting into geolocation/save_result

Fixed

  • Fix deleted decision count during cache update

0.21.0 - 2022-04-15

Compare with previous release

Changed

  • Change allowed versions of symfony/cache package

0.20.1 - 2022-04-07

Compare with previous release

Added

  • Handle old lib version (< 0.14.0) settings values retro-compatibility for Standalone bouncer

Fixed

  • Fix AbstractBounce:displayCaptchaWall function

0.20.0 - 2022-03-31

Compare with previous release

Changed

  • Require a minimum of 1 for clean_ip_cache_duration and bad_ip_cache_duration settings
  • Do not use session for geolocation if save_in_session setting is not true.

0.19.0 - 2022-03-24

Compare with previous release

Added

  • Add excluded_uris configuration to exclude some uris (was hardcoded to /favicon.ico)

Changed

  • Change the redirection after captcha resolution to / (was $_SERVER['REQUEST_URI']')

Fixed

  • Fix Standalone bouncer session handling

0.18.0 - 2022-03-18

Compare with previous release

Changed

  • Breaking change: Change trust_ip_forward_array symfony configuration node to an array of array.

0.17.1 - 2022-03-17

Compare with previous release

Removed

  • Remove testing scripts for quality gate test

0.17.0 - 2022-03-17

Compare with previous release

Changed

  • Breaking change: Refactor some logic of important methods (init, run, safelyBounce, getBouncerInstance)
  • Breaking change: Change the configurations' verification by using symfony/config logic whenever it is possible
  • Breaking change: Change scripts path, name and content (specifically auto-prepend-file' scripts and settings)
  • Breaking change: Change IBounce interface
  • Breaking change: Rename StandAloneBounce class by StandaloneBounce
  • Rewrite documentations

Fixed

  • Fix api_timeout configuration

Removed

  • Remove all unmaintained test and development docker files, sh scripts and associated documentation
  • Remove StandaloneBounce::isConfigValid method as all is already checked

0.16.0 - 2022-03-10

Compare with previous release

Added

  • Add geolocation feature to get remediation from Country scoped decisions (using MaxMind databases)
  • Add end-to-end tests GitHub action
  • Add GitHub action to check links in markdown and update TOC

Changed

  • Breaking change: Remove live_mode occurrences and use stream_mode instead
  • Change PHP scripts for testing examples (auto-prepend, cron)
  • Update docs

Fixed

  • Fix debug log in no-dev environment
  • Fix empty logs in Unit Tests

0.15.0 - 2022-02-24

Compare with previous release

Added

  • Add tests for PHP 8.1 (memcached is excluded)
  • Add GitHub action for Release process
  • Add CHANGELOG.md

Changed

  • Use BouncerException for some specific errors

Fixed

  • Fix auto-prepend script: set debug_mode and display_errors values before bouncer init
  • Fix gregwar/captcha for PHP 8.1
  • Fix BouncerException arguments in set_error_handler method

Removed

  • Remove composer.lock file

0.14.0 - 2021-11-18

Compare with previous release

Changed

  • Breaking change: Fix typo in constant name (boucing=> bouncing)
  • Allow older versions of symfony config and monolog
  • Split debug logic in 2 : debug and display
  • Redirect if captcha is resolved
  • Update doc and scripts

0.13.3 - 2021-09-21

Compare with previous release

Fixed

  • Fix session handling with standalone library

0.13.2 - 2021-08-24

Compare with previous release

Added

  • Handle invalid ip format

0.13.1 - 2021-07-01

Compare with previous release

Changed

  • Close php session after bouncing

0.13.0 - 2021-06-24

Compare with previous release

Fixed

  • Fix standalone mode

0.12.0 - 2021-06-24

Compare with previous release

Added

  • Add standalone mode

0.11.0 - 2021-06-24

Compare with previous release

Added

  • Add a Bounce class to simplify specific implementations
  • Add a Standalone implementation of the Bounce class

0.10.0 - 2021-01-23

Compare with previous release

Added

  • Add Ipv6 support

0.9.0 - 2021-01-13

Compare with previous release

Added

  • Add custom remediation templates

0.8.6 - 2021-01-05

Compare with previous release

Fixed

  • Fix version bump

0.8.5 - 2021-01-05

Compare with previous release

Fixed

  • Fix memcached edge case with long duration cache (unwanted int to float conversion)

0.8.4 - 2020-12-26

Compare with previous release

Fixed

  • Fix fallback remediation

0.8.3 - 2020-12-24

Compare with previous release

Changed

  • Do not set expiration limits in stream mode

0.8.2 - 2020-12-23

Compare with previous release

Fixed

  • Fix release process

0.8.1 - 2020-12-22

Compare with previous release

Fixed

  • Fix release process

0.8.0 - 2020-12-22

Compare with previous release

Added

  • Add redis+memcached test connection

0.7.0 - 2020-12-22

Compare with previous release

Added

  • Make crowdsec mentions hidable
  • Add phpcs

Changed

  • Update doc
  • Make a lint pass

Fixed

  • Fix fallback remediation

0.6.0 - 2020-12-20

Compare with previous release

Changed

  • Remove useless dockerfiles

0.5.2 - 2020-12-19

Compare with previous release

Changed

  • Update docs

0.5.1 - 2020-12-19

Compare with previous release

Changed

  • Make a lint pass

0.5.0 - 2020-12-19

Compare with previous release

Added

  • Add cache expiration for bad ips
  • Include the GregWar Captcha generation lib
  • Build nice 403 and captcha templates
  • Log captcha resolutions

Changed

  • Use the latest CrowdSec docker image
  • Use the "context" psr log feature for all logs to allow them to be parsable.
  • Remove useless predis dependence

0.4.4 - 2020-12-15

Compare with previous release

Changed

  • Improve logging

0.4.3 - 2020-12-13

Compare with previous release

Changed

  • Improve logging

0.4.2 - 2020-12-12

Compare with previous release

Fixed

  • Fix durations bug

0.4.1 - 2020-12-12

Compare with previous release

Added

  • Use GitHub flow

0.4.0 - 2020-12-12

Compare with previous release

Added

  • Add release drafter
  • Reduce cache durations
  • Add remediation fallback

0.3.0 - 2020-12-09

Compare with previous release

Added

  • Set PHP Files cache adapter as default
  • Replace phpdoc template with phpdocmd
  • Improve documentation add examples and a complete guide.
  • Auto warmup cache

0.2.0 - 2020-12-08

Added

  • Initial release