mirror of
https://github.com/lancedb/lancedb.git
synced 2026-10-13 07:12:27 +00:00
Moves Function timestamps on the wire from RFC 3339 strings to epoch milliseconds. ## What - `FunctionVersion.created_at` (an RFC 3339 string) becomes `created_at_millis` (milliseconds since the epoch, as an integer). That's the shape Secrets, jobs and `FunctionErrorRecord` already use. - Rust: `FunctionVersion::created_at() -> &str` becomes `created_at_millis() -> i64`. - Python: `FunctionVersion.created_at: str` becomes `created_at_millis: int`. - Fixtures and the mock server now send `1787270400000`, the old `2026-08-21T00:00:00Z`. Node.js doesn't expose `FunctionVersion`, so it doesn't change. ## Compatibility Breaking, and it must ship together with the matching server change: a server that still sends `created_at` fails to deserialize on this client. Functions aren't deployed yet, so nothing is migrated. ## Tests - `cargo test --features remote --test first_class_function_slice1`: 10 passed - `cargo test --features remote --lib function`: 51 passed - `pytest python/tests/test_first_class_function*.py`: 100 passed - clippy, `cargo fmt --check`, ruff check and ruff format are clean 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01BY5xcEGEAa1E11VG55Kd1w Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>