Skip to content

Support VCard 2.1 #187

Open
Open

Description

@derwaldgeist

If I try to parse a vCard in 2.1 format, the parser does not accept it, since the "TYPE=" tags are missing. Is vCard 2.1 not supported?

Activity

  1. kewisch commented on Aug 22, 2015

    @kewisch
    Owner
  2. changed the title [-]Is vCard 2.1 supported?[/-] [+]Support VCard 2.1[/+] on Feb 1, 2016
  3. skjnldsv commented on Oct 1, 2018

    @skjnldsv

    Hello! Any news on this? :)

  4. kewisch commented on Oct 1, 2018

    @kewisch
    Owner

    Unfortunately I won't have time in the near future to work on this, but contributions are welcome!

  5. caugner commented on Apr 5, 2019

    @caugner
    Contributor

    The vCard 3.0 RFC lists the following Differences From vCard v2.1:

    1. The QUOTED-PRINTABLE inline encoding has been eliminated. Only the "B" encoding of [RFC 2047] is an allowed value for the ENCODING parameter.
    2. The method for specifying CRLF character sequences in text type values has been changed. The CRLF character sequence in a text type value is specified with the backslash character sequence "\n" or "\N".
    3. Any COMMA or SEMICOLON in a text type value must be backslash escaped.
    4. VERSION value corresponding to this specification MUST be "3.0".
    5. The [MIME-DIR] predefined types of SOURCE, NAME and PROFILE are allowed.
    6. The [MIME-DIR] VALUE type parameter for value data typing is allowed. In addition, there are extensions made to these type values for additional value types used in this specification.
      7.The [VCARD] CHARSET type parameter has been eliminated. Character set can only be specified on the CHARSET parameter on the Content-Type MIME header field.
    7. The [VCARD] support for non-significant WSP character has been eliminated.
    8. The "TYPE=" prefix to parameter values is required. In [VCARD] this was optional.
    9. LOGO, PHOTO and SOUND multimedia formats MUST be either IANA registered types or non-standard types.
    10. Inline binary content must be "B" encoded and folded. A blank line after the encoded binary content is no longer required.
    11. TEL values can be identified as personal communication services telephone numbers with the PCS type parameter value.
    12. The CATEGORIES, CLASS, NICKNAME, PRODID and SORT-STRING types have been added.
    13. The VERSION, N and FN types MUST be specified in a vCard. This identifies the version of the specification that the object was formatted to. It also assures that every vCard will include both a structured and formatted name that can be used to identify the object.

    Update: This translates to the following requirements (sections refer to the vCard 2.1 Specification):

    • [1] Support QUOTED-PRINTABLE inline encoding [cf. Section 2.1.2].
    • [2] Do not interpret "\n" or "\N" as a CRLF(but instead literally as "\", followed by "n" or "N").
    • [3] Do not interpret COMMA as a multi-value separator [all values are single values].
    • [3] Note: Despite what vCard 3.0 states, a SEMICOLON must also be backslash escaped in vCard 2.1. "in a component of a compound property" [cf. Section 2.1.3]
    • [4] Require VERSION to be "2.1" [cf. Section 2.6.6].
    • [5] [6] n/a
    • [7] Support CHARSET type parameter [and default to ASCII, cf. 2.1.6].
    • [8] Support non-significant WSP characters [i.e. HTAB, cf. 2.9].
    • [9] Don't require parameter name, if the value is unambiguous [e.g. for TYPE= and ENCODING=, cf. 2.1.2].
    • [10] Require TYPE of LOGO [cf. 2.5.3.1], PHOTO [cf. 2.2.3.1] and SOUND [cf. 2.6.3.1] as defined by the spec [e.g. GIF].
    • [11] Parse inline binary content according to ENCODING parameter [and default to 7-bit, cf. 2.1.5].
    • [12] Do not support the PCS type parameter value for TEL [from vCard 3.0].
    • [13] Do not support CATEGORIES, CLASS, NICKNAME, PRODID and SORT-STRING [from vCard 3.0].
    • [14] Do not require N and FN [Note: N is only required for writers, not for readers, cf. 2.2.2].
    • [14] Note: Despite what vCard 3.0 states, VERSION is also required in vCard 2.1 [cf. [4] and 2.6.6].
    • [...] Use COMMA to separate GEO values [cf. 2.4.6 versus SEMICOLON in vCard 3.0]
  6. schlagmichdoch commented on Nov 28, 2021

    @schlagmichdoch

    Are you still working on this @caugner ? Would love to have the categories tag included!

  7. qertis commented on Oct 5, 2024

    @qertis

    +1 needs categories

  8. NickCrews commented on Dec 1, 2025

    @NickCrews

    categories are only defined in version 3.0. Are you saying you have some vcard files using version 2.1 that have the categories property? If so, those are technically non-compliant. I don't think we should support parsing those in a 2.1 parser.

    The categories parsing should be implemented for a version 3.0 parser, if it is not, then please file a separate issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions