Revision history for Perl extension Text::JSContact
0.04 2026-10-22
- security: strip control characters from vCard output; Text::VCardFast
escapes LF but writes a CR raw, so a CR in any card field could end
the content line early and forge extra properties. CR and CRLF now
become LF (escaped as \n, or ^n in parameters) and control
characters other than HTAB are dropped
- add t/injection.t
0.03 2026-10-09
- read IMPP's RFC 9554 SERVICE-TYPE and USERNAME parameters, the ones
jscontact_to_vcard writes, as well as the older X-SERVICE-TYPE and
X-USER; an OnlineService lost its service and user on a round trip
- an IMPP whose value is just the USERNAME (a service with no uri)
no longer comes back with that name as its uri
- add t/online-services.t
0.02 2026-08-31
- clarify licensing: same terms as Perl itself (Artistic License 1.0
or GPL version 1 or later)
- include a LICENSE file in the distribution
- add POD with NAME/AUTHOR/LICENSE (the module had none)
- README previously claimed Artistic License 2.0, which contradicted
the Perl_5 metadata; the README was wrong
0.01 2026-04-05
- Initial release
- Bidirectional vCard <=> JSContact conversion
- Follows RFCs 9553 (JSContact), 9554 (extensions), 9555 (vCard mapping)
- Covers: name, emails, phones, addresses, organizations, titles,
anniversaries, notes, onlineServices, media, links, calendars,
schedulingAddresses, cryptoKeys, directories, keywords, members,
relatedTo, speakToAs, preferredLanguages, personalInfo
- 192 unit tests including RFC 9555 test vectors
- Cyrus CardDAV integration tests
Keyboard Shortcuts
Global
s
Focus search bar
?
Bring up this help dialog
GitHub
gp
Go to pull requests
gi
Go to GitHub issues (only if GitHub is preferred repository)