To the best of my knowledge, all specifications are fully implemented except for the following noted limitations. The five specifications contain a large amount of information and it is possible that I may have missed something. If you do find something that is not implemented or is not correct, please let me know and I will do my best to correct the problem.
vCard object and vCard property group names are parsed and stored and are written back out when saved. However, full use of the grouping name as defined in the specifications is not supported.
Inline binary encoded properties such as PHOTO, LOGO, SOUND, and KEY give you access to a byte array that represents the inline decoded binary data but it is up to you to convert the byte array into something more useful such as an image, sound, digital certificate, file, etc. The demo applications provide some examples of this.
Support for RFC 6350 is only partially implemented. The following items are not supported. They may be addressed in future releases as the need arises:
The vCard 4.0 specification states that inline vCard values such as on the AGENT property are no longer supported and does not include any documentation for the property at all. However, since other non-inline types are valid in the prior specifications and the 4.0 specification does not address them at all, the AGENT property will function as it did in the prior specifications including support for inline vCard values.
Recurrence rules in vCalendar 1.0 basic format are supported. The vCalendar 1.0 extended recurrence rule format is not supported.
The vCalendar 1.0 RNUM, DAYLIGHT, and TZ properties are parsed and stored in the calendar object and are written back out when saved but they are not used for anything. All iCalendar 2.0 recurrence and time zone properties are supported and utilized though.
Inline binary encoded properties such as ATTACH give you access to a byte array that represents the inline decoded binary data but it is up to you to convert the byte array into something more useful such as a file. The demo applications provide some examples of this.
All calendar-related objects are compatible with RFC 2446 (iCalendar Transport-Independent Interoperability Protocol) and RFC 2447 (iCalendar Message-Based Interoperability Protocol) and implement all the necessary properties. However, there is currently no support for validating objects against RFC 2446 rules. Support for this may be considered at a later date.
Custom properties (anything not recognized as part of one of the specifications) are stored in a CustomProperties property on each object. It is up to you to search the collection for custom properties that may be of interested to you.
Custom parameters (anything not recognized as part of one of the specifications) are stored in a CustomParameters string property on each property object. It is up to you to parse the string for custom parameters that may be of interest to you.
For more information and copies of the specifications, please refer to the Internet Mail Consortium web site or the Internet Engineering Task Force web site.
Other Resources
Usage Notes