Skip to content

Releases: corazawaf/coraza

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

V2 Release

30 Mar 19:24
fdad9f5
Compare
Choose a tag to compare

V2 is a major rework of OWASP Coraza.

  • Better APIs and linting
  • Better plugin support
  • Better performance
  • Better compatibility
  • Better logging

What's Changed

New Contributors

Full Changelog: v1.2.0...v2.0.0

V2 release candidate 3

14 Mar 15:53
62dd3db
Compare
Choose a tag to compare

What's Changed

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

V2 release candidate 2

11 Feb 15:15
b57219c
Compare
Choose a tag to compare

What's Changed

  • Minor low level API changes
  • Many performance improvements
  • syncpool fix
  • A lot of aesthetic improvements
  • Added examples
  • Added inbound and outbound error support
  • Enhance testing and actions
  • A few minor bugfixes
  • Add official libinjection support, go native without CGO
  • Project renamed to OWASP Coraza Web Application Firewall and moved to corazawaf organization

New contributors:

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

v2 release candidate 1

31 Dec 16:06
3631394
Compare
Choose a tag to compare

First release candidate for Coraza WAF v2

  • New tx.Clean function used to free the memory and get the transaction back to the sync pool
  • Tons of lot fixes
  • Minor low level api changes
  • Huge performance improvements
  • Remove GEO plugins, now you can share info between operators and directives
  • New interface to share information between operators and directives, waf.Config
  • Rule parser was refactored
  • Lot of audit engine fixes and rework

What's Changed

New Contributors

  • @fzipi made their first contribution in #88

Full Changelog: v1.2.0...v2.0.0-rc.1

Release v2 beta 6

11 Dec 18:09
364461e
Compare
Choose a tag to compare

Major release, it fixes tons of issues like:

  • @validateByteRange
  • @utf8ToUnicode
  • issues with log action
  • Now rules will match not only once but every variable that matches
  • Setvar now supports loops

Next release is v2.0.0 final :)