Bring the remaining vCard 3 REV and KEY behavior into line with RFC 2426. For REV, serialize VALUE=date using the date form instead of incorrectly emitting VALUE=date-time with a timestamp payload. For KEY, stop defaulting constructed values to VALUE=uri. The vCard 3 specification defines KEY as binary by default and allows it to be reset to text, but not to uri. Tighten both construction and parsing accordingly: reject VALUE=uri for KEY, enforce the relationship between VALUE=binary and ENCODING=b, and reject VALUE=text when ENCODING=b is present. Update the regression coverage to reflect the spec boundary: PHOTO, LOGO, and SOUND may round-trip as uris; KEY may contain text that looks like a URI; KEY does not allow VALUE=uri; and vCard 3 KEY parameters still require name=value syntax. AI-Assisted: yes AI-Tool: OpenAI Codex / gpt-5.4 xhigh
9.5 KiB
9.5 KiB