diff --git a/CHANGELOG.md b/CHANGELOG.md index 8187eff5..4d4b8e66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,9 @@ how a consumer would use the library or CLI tool (e.g. adding unit tests, updating documentation, etc) are not captured here. +## 2.12.7 - 2026-11-02 +- Fixed an issue where some event queries would not serialize correctly. + ## 2.12.6 - 2026-10-23 ### Security diff --git a/src/_incydr_sdk/__version__.py b/src/_incydr_sdk/__version__.py index e3e70281..63047144 100644 --- a/src/_incydr_sdk/__version__.py +++ b/src/_incydr_sdk/__version__.py @@ -1,4 +1,4 @@ # SPDX-FileCopyrightText: 2022-present Code42 Software # # SPDX-License-Identifier: MIT -__version__ = "2.12.6" +__version__ = "2.12.7" diff --git a/src/_incydr_sdk/queries/file_events.py b/src/_incydr_sdk/queries/file_events.py index 02968bbb..ac9f344f 100644 --- a/src/_incydr_sdk/queries/file_events.py +++ b/src/_incydr_sdk/queries/file_events.py @@ -112,7 +112,7 @@ class BaseEventQuery(Model): """ group_clause: str = Field("AND", alias="groupClause") - groups: Optional[List[FilterGroup]] + groups: Optional[List[Union[FilterGroupV2, FilterGroup]]] model_config = ConfigDict( validate_assignment=True, use_enum_values=True, diff --git a/tests/queries/test_event_query.py b/tests/queries/test_event_query.py index 09a8f113..f56ebcde 100644 --- a/tests/queries/test_event_query.py +++ b/tests/queries/test_event_query.py @@ -321,6 +321,13 @@ def test_event_query_from_saved_search_creates_expected_filter_groups(): assert isinstance(q.groups[2], FilterGroupV2) +def test_event_query_from_saved_search_serializes_both_filter_group_types(): + q = EventQuery().from_saved_search(TEST_SAVED_SEARCH) + dumped = q.model_dump() + for i in range(len(q.groups)): + assert q.groups[i].model_dump() == dumped["groups"][i] + + def test_event_query_is_any_creates_correct_filter(): q = EventQuery().is_any("term", ["value1", "value2"]) expected = FilterGroup(