odysseus/services
Husam f23221420f
fix(skills): replace deprecated utcnow in skill timestamp helper (#5777)
* fix(skills): replace deprecated utcnow in skill timestamp helper

_now_iso() builds the 'created' value in skill frontmatter. datetime.utcnow()
returns a naive datetime and has been deprecated since Python 3.12, scheduled
for removal. Switch to the timezone-aware datetime.now(timezone.utc), keeping
the serialized YYYY-MM-DDTHH:MM:SSZ shape unchanged so existing skill files
keep parsing.

timezone.utc is used rather than the datetime.UTC alias, which is 3.11+ only.

Adds regression tests covering the deprecation, the serialized shape, and
UTC correctness under a non-UTC local timezone -- the last guards against a
bare datetime.now(), which yields the same shape but local wall time.

Fixes #5697

* test(skills): skip timezone mutation where unsupported

---------

Co-authored-by: Alexandre Teixeira <alexandremagteixeira@gmail.com>
2026-07-30 09:54:59 +01:00
..
docs refactor(constants): single source of truth for data dir (#3368) 2026-06-08 09:58:52 +02:00
faces Odysseus v1.0 2026-05-31 23:58:26 +09:00
hwfit Merge verified Odysseus fixes 2026-07-23 14:49:02 +00:00
memory fix(skills): replace deprecated utcnow in skill timestamp helper (#5777) 2026-07-30 09:54:59 +01:00
research fix: services research source extraction crashes on a non-dict finding (#1868) 2026-07-20 09:39:16 +02:00
search fix(search): extract non-ASCII capitalized names in _extract_entities 2026-07-04 20:42:06 +03:00
shell fix: use running loop for shell stream deadlines (#1694) 2026-06-03 13:37:46 +09:00
stt STT: clean temp audio files on transcription failure 2026-06-02 20:43:24 +09:00
tts improve cache size calculation by filtering file types 2026-07-29 12:47:55 +03:00
youtube fix(youtube): consolidate duplicate handler 2026-06-15 15:03:41 +09:00
__init__.py Odysseus v1.0 2026-05-31 23:58:26 +09:00