Skip to content

Releases: corazawaf/coraza

Version 3.1.0

09 Feb 13:24
bb55b68
Compare
Choose a tag to compare

This is a new minor version release with emphasis in improving the overall logging experience, fixes for interoperability of the http middleware with other middlewares, better defaults, various fixes and a few new features like the uppercase transformation, the raw body processor (both thanks to @blotus) and a way to pass a context into a transaction to be later retrieved the error log callback.

What's Changed

  • chore: improve GetField logic by @jptosso in #897
  • chore: setvar minor fix, tests, added warning when missing variable, deprecates usage of tx.LogData by @M4tteoP in #892
  • chore: fixes audit log. by @jcchavezs in #889
  • fix http.Flusher and io.ReaderFrom implementation by @romainmenke in #923
  • fix: stack overflow in ReadFrom by @romainmenke in #925
  • fix: Disables implicit Cookies url decoding by @M4tteoP in #928
  • feat: add uppercase transformation by @blotus in #935
  • fix: parse multiple cookies with spaces by @fzipi in #943
  • fix: more forgiving base64 transformation [custom implementation] by @M4tteoP in #944
  • fix: filling variables struct to complete audit info by @CArellanoOrbik in #968
  • feat: adds context to transaction. by @jcchavezs in #963
  • feat: improves logging. by @jcchavezs in #971
  • feat: add raw body processor by @blotus in #983
  • chore: updates CRS tests to CRS 4.0.0-rc2 by @M4tteoP in #899
  • fix(seclang): merge chained raw rules by @jptosso in #985
  • fix: BodyLimit related documented default values, default RequestBodyLimitAction, adds some tests by @M4tteoP in #895
  • chore: Go 1.20 as minimum supported version by @jcchavezs in #996
  • chore: upgrades go-ftw to 0.6.4. by @jcchavezs in #998

New Contributors (thanks a lot!)

Full Changelog: v3.0.4...v3.1.0

Version 3.0.4

26 Sep 10:17
2468382
Compare
Choose a tag to compare

What's Changed

  • chore(deps): bump golang.org/x/sync from 0.1.0 to 0.3.0 by @dependabot in #862
  • chore: upgrades coraza to latest aho-corasick. by @jcchavezs in #867
  • fix: Logs print different messages for each the disruptive actions by @M4tteoP in #827
  • chore(deps): bump github.com/tidwall/gjson from 1.14.4 to 1.17.0 by @dependabot in #878

Full Changelog: v3.0.3...v3.0.4

Version 3.0.3

06 Aug 07:51
4f30afe
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.0.2...v3.0.3

Version 3.0.2

27 Jun 08:29
0700bb0
Compare
Choose a tag to compare

What's Changed

  • fix: blocks body buffer reader once the body buffer has been reset. by @jcchavezs in #825
  • fix: benchmark and propagate the status to not to swallow the failure by @jcchavezs in #808

Full Changelog: v3.0.1...v3.0.2

v3.0.1

25 Jun 16:19
a5239ba
Compare
Choose a tag to compare

Important

This tag fixes a high-severity vulnerability. See GHSA-c2pj-v37r-2p6h

Full Changelog: v3.0.0...v3.0.1

v3.0.0

31 May 12:01
ad50864
Compare
Choose a tag to compare

What's Changed

Coraza's latest v3.0.0 release brings a highly refactored engine that offers more flexibility and major improvements.

Notable changes include:

  • Performance improvement: Performance has been improved by up to 100 times due to several key enhancements such as:
    • New debug logs system based on Zerolog for a fast and with low to zero allocations.
    • Cache transformation logic across the same transaction.
    • Optimized variable collection types.
  • Refactored API: Coraza now relies on a more straightforward and user-friendly API.
  • New Plugin Package: The new package simplifies the extension of Coraza's functionalities.
  • Full CRS v4 Support: Coraza fully supports the CRS v4 branch, always making CRS compatibility of top priority. The CI now includes a CRS testing suite to guarantee a regression-free development.
  • Cross-platform support: Both Go and TinyGo for WASM builds are now supported.
  • New experimental Multiphase feature: Introducing a new way for early data evaluation and blocking.
  • Dataset support: designed for in-config .data files emulation.

Contributors

Many thanks to all the contributors and users that made this release possible:

v3.0.0-rc.3

27 May 04:54
721d1de
Compare
Choose a tag to compare
v3.0.0-rc.3 Pre-release
Pre-release

What's Changed

  • registers pmFromDataset, fixes Dataset propagation, adds tests by @M4tteoP in #777
  • docs: update README and SECURITY by @fzipi in #780
  • Validate audit log parts by @Hayak3 in #779
  • Remove intermediate string allocation when writing match details log by @anuraaga in #781
  • fix: aligns multimatch to modsec behavior by @M4tteoP in #778
  • chore: increases rule.go test coverage by @M4tteoP in #786
  • remove wrong loop in matchData by @Hayak3 in #785
  • hotfix: fixes rule_test after merge by @M4tteoP in #788
  • chore(deps): bump github.com/magefile/mage from 1.14.0 to 1.15.0 by @dependabot in #791
  • chore(deps): bump golang.org/x/net from 0.9.0 to 0.10.0 by @dependabot in #789
  • feat(ci): stale only awaiting for feedback's issue by @M4tteoP in #793
  • Multiphase: chains further support, ARGS split, CRS like tests by @M4tteoP in #719
  • feat: adds auditlog plugins API by @jcchavezs in #787
  • fix/feat: Macro expansions, error logs redundancy, support msg/logdata in inner rules by @M4tteoP in #792
  • remove alpha disclosure from README by @jptosso in #796
  • breaking: removes code parameter from ErrorLog and AuditLog by @M4tteoP in #800

New Contributors

Full Changelog: v3.0.0-rc.2...v3.0.0-rc.3

v3.0.0-rc.2

17 Apr 17:17
6f11f53
Compare
Choose a tag to compare
v3.0.0-rc.2 Pre-release
Pre-release

What's Changed

  • Use bitset for inferred phases by @anuraaga in #727
  • Document test failures due to regex matching arbitrary bytes by @anuraaga in #730
  • Enable multiline mode for rx by @anuraaga in #732
  • Use binaryregexp for rx operator by @anuraaga in #731
  • Add rx test case confirming case-insensitive rules will work by @anuraaga in #733
  • fix(ci): remove sonarcloud by @fzipi in #738
  • fix(bodyprocessors): fix forcerequestbodyvariable overriding processor by @jptosso in #740
  • fix(bodyprocessors): force response body overrides mime requirements by @jptosso in #741
  • chore: create plugins package. by @jcchavezs in #734
  • chore: drops unused methods in TransactionState by @jcchavezs in #739
  • chore: describes currently excluded CRS excluded rules by @M4tteoP in #744
  • fix: fixes fuzz target. by @jcchavezs in #745
  • Update tool versions by @anuraaga in #710
  • fix(action): Add many validations for setvar by @jptosso in #747
  • fix: adds full support for ruleRemoveById. by @jcchavezs in #749
  • Small simplification to macro readability by @anuraaga in #751
  • Remove Single.Set from API for now by @anuraaga in #750
  • chore: updates tests to latest CRS, updates go-ftw by @M4tteoP in #752
  • transform expireVar to noop by @jptosso in #755
  • Move remaining plugin-related logic to experimental by @anuraaga in #753
  • Small simplification to cmd_line code by @anuraaga in #761
  • Use standard library for base64 decode by @anuraaga in #758
  • Small simpflication to css_decode by @anuraaga in #762
  • Delegate to normalisePath from normalisePathWin by @anuraaga in #763
  • Append into output buffer for removecommentschar by @anuraaga in #764
  • chore(deps): bump golang.org/x/net from 0.8.0 to 0.9.0 by @dependabot in #766
  • fix: synthesizes Transfer-Encoding header inside the transaction by @M4tteoP in #768
  • Include key size in ARGS_COMBINED_SIZE by @anuraaga in #756

Full Changelog: v3.0.0-rc.1...v3.0.0-rc.2

Release 3.0.0 RC1

17 Mar 14:29
c134cac
Compare
Choose a tag to compare
Release 3.0.0 RC1 Pre-release
Pre-release

What's Changed

Read more

v2.0.1

25 Jul 14:48
a1529ab
Compare
Choose a tag to compare

Huge performance improvements and a lot of bug fixes.

What's Changed

New Contributors

Full Changelog: v2.0.0...v2.0.1