Context
AnalyticsBucket (added in #1588) exposes createdAt / updatedAt as DateTime. The pre-existing storage types still expose their timestamp fields as String, so the public API is now inconsistent: some timestamps are parsed DateTime values and others are raw ISO strings the consumer has to parse themselves.
Aligning the existing types on DateTime is a breaking change, so it is deferred to v3.
Affected fields (packages/storage_client/lib/src/types.dart)
Bucket.createdAt, Bucket.updatedAt (String → DateTime)
FileObject.createdAt, FileObject.updatedAt, FileObject.lastAccessedAt (String? → DateTime?)
FileObjectV2.createdAt (String → DateTime), FileObjectV2.updatedAt, FileObjectV2.lastAccessedAt (String? → DateTime?)
PaginatedFile.createdAt, PaginatedFile.updatedAt (String? → DateTime?)
Notes
Context
AnalyticsBucket(added in #1588) exposescreatedAt/updatedAtasDateTime. The pre-existing storage types still expose their timestamp fields asString, so the public API is now inconsistent: some timestamps are parsedDateTimevalues and others are raw ISO strings the consumer has to parse themselves.Aligning the existing types on
DateTimeis a breaking change, so it is deferred to v3.Affected fields (
packages/storage_client/lib/src/types.dart)Bucket.createdAt,Bucket.updatedAt(String→DateTime)FileObject.createdAt,FileObject.updatedAt,FileObject.lastAccessedAt(String?→DateTime?)FileObjectV2.createdAt(String→DateTime),FileObjectV2.updatedAt,FileObjectV2.lastAccessedAt(String?→DateTime?)PaginatedFile.createdAt,PaginatedFile.updatedAt(String?→DateTime?)Notes
DateTime.parse(...)in eachfromJson, guarding nullable fields.