JS’s temporal API will serialize zoned datetimes with both offset and timezone (specifically, an RFC 9557 representation), this can be used to infer tzdb updates. By default, temporal will raise an error when parsing a datetime where the offset and the timezone’s offset differ, but it can be configured to sway one way or the other depending on use case.