From 017acc74f5d6985feead56f8d0c4985968640799 Mon Sep 17 00:00:00 2001 From: Vini Brasil Date: Mon, 28 Jul 2025 17:09:06 -0300 Subject: [PATCH] Add timezone to event timestamps (#3231) Events were lacking timezone information, making them naive datetimes, which can be ambiguous. --- src/crewai/utilities/events/base_events.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/crewai/utilities/events/base_events.py b/src/crewai/utilities/events/base_events.py index cb50e1b3e..1c0800f8b 100644 --- a/src/crewai/utilities/events/base_events.py +++ b/src/crewai/utilities/events/base_events.py @@ -1,6 +1,5 @@ -from datetime import datetime +from datetime import datetime, timezone from typing import Any, Dict, Optional - from pydantic import BaseModel, Field from crewai.utilities.serialization import to_serializable @@ -9,7 +8,7 @@ from crewai.utilities.serialization import to_serializable class BaseEvent(BaseModel): """Base class for all events""" - timestamp: datetime = Field(default_factory=datetime.now) + timestamp: datetime = Field(default_factory=lambda: datetime.now(timezone.utc)) type: str source_fingerprint: Optional[str] = None # UUID string of the source entity source_type: Optional[str] = None # "agent", "task", "crew", "memory", "entity_memory", "short_term_memory", "long_term_memory", "external_memory"