Releases: DataDog/libddwaf
Releases · DataDog/libddwaf
v1.4.1 (unstable)
- Deanonymize nested structs (#97)
v1.5.0-alpha0 (unstable)
API & Breaking Changes
- Remove
ddwaf_version,ddwaf_get_versionnow returns a version string (#89) - Move free function from
ddwaf_context_inittoddwaf_config(#89) - Add
ddwaf_result.actionsstruct containing achar*array and its size (#91) - Add dummy
ddwaf_update_rule_datafor future use (#91) - Remote
DDWAF_BLOCK(#91) - Rename
DDWAF_GOODtoDDWAF_OK(#92) - Rename
DDWAF_MONITORtoDDWAF_MATCH(#92)
Changes
- Add
unicode_normalizetransformer (#82) - Remove
PWRetriever,PWArgsWrapper,IteratorandArgsIterator(#77) - Add
ddwaf::object_storeto manage all targets and objects provided to the WAF (#77) - Add
ddwaf::value_iteratorfor object value traversal (#77) - Add
ddwaf::key_iteratorfor object key traversal (#77) - Simplify target manifest (#78)
- Remove input object validation (#85)
- Merge
PWAdditiveandPWProcessorand rename toddwaf::context(#89) - Rename
PowerWAFtoddwaf::waf(#89) - Add
ddwaf::timerto abstract deadline (#89) - Simplify rule processors (#89)
- Add
ip_matchoperator and tests (#87) - Refactor ip handling into
ip_utils(#87) - Add
exact_matchoperator and tests (#87) - Rename existing rule processors to more closely resemble their operator name (#87)
- Rename
IPWRuleProcessortorule_processor_base(#87) - Add support for per-rule
on_matcharray in ruleset (#91) - Add optional
on_matchto JSON event format (#91) - Remove
PWRetManagerandMatchGatherer(#91) - Add
ddwaf::eventto collect all relevant rule match data in one structure (#91) - Add
ddwaf::event_serializerfor JSON event (#91) - Update processors to use
std::string_viewrather thanchar *and length (#91) - Add
ddwaf::timeout_exceptionto avoid error code propagation (#91)
Fixes
- Timeout error propagation (#89)
- Pass object limits configuration to iterators (#89)
- Apply string limits (#89)
Miscellaneous
v1.4.0 (unstable)
v1.3.0 (unstable)
- WAF event obfuscator.
- Add obfuscator configuration to
ddwaf_config. - Changes to limits in
ddwaf_config:- Rename
maxArrayLengthtolimits.max_container_size. - Rename
maxMapDepthtolimits.max_container_depth. - Add
limits.max_string_length, currently unused. - All limits are now
uint32. - Relevant macros renamed accordingly.
- Rename
v1.2.1 (unstable)
- Fix issue on ruleset error map reallocation causing cached pointer invalidation.
- Add check for empty input map on parser.
- Update github actions windows build VM to windows-2019.
v1.2.0 (unstable)
- Remove metrics collector.
- Add
total_runtimetoddwaf_result. - Fix issue when reporting timeouts.
v1.1.0 (unstable)
- Add
ddwaf_objectgetters. - Provide ruleset parsing diagnostics on
ddwaf_init. - Add support for metrics collection on
ddwaf_run. - Add
keys_onlytransformer. - Improve support for older platforms.
- Remove indirection and reduce string operations when processing flows.
- Refactor input verification.
- Remove deprecated features.
v1.0.18 (unstable)
- Add arm64 build to nuget package.
- Upgrade RE2 to 2022-02-01.
v1.0.17 (unstable)
- Add missing libunwind to x86_64 linux build.
- Fix potential integer overflow in
DDWAF_LOG_HELPER. - Add missing shared mingw64 build.
- Add example tool to run the WAF on a single rule with multiple test vectors.
v1.0.16 (unstable)
- Fix duplicate matches in output (#36)