# Welcome!

VisualCard is a library that parses the VCard Files (`.vcf`), whether it's a single contact or a multiple contact file. It's compatible with both .NET Framework 4.8 and the modern .NET runtime.

## <mark style="color:$primary;">Release history</mark>

Below is the release history of the library:

{% updates format="full" %}
{% update date="2026-05-02" %}

## <mark style="color:$primary;">v4.1.2.4</mark>

<mark style="color:yellow;">Updated libraries</mark>
{% endupdate %}

{% update date="2026-02-15" %}

## <mark style="color:$primary;">v4.1.2.3</mark>

<mark style="color:yellow;">Updated libraries</mark>
{% endupdate %}

{% update date="2025-12-01" %}

## <mark style="color:$primary;">v4.1.2.2</mark>

<mark style="color:yellow;">Fixed logging always writing to log files even if logging is disabled</mark>
{% endupdate %}

{% update date="2025-11-23" %}

## <mark style="color:$primary;">v4.1.2.1</mark>

<mark style="color:yellow;">Fixed agent comparison always returning false</mark>
{% endupdate %}

{% update date="2025-10-27" %}

## <mark style="color:$primary;">v4.1.2</mark>

<mark style="color:yellow;">General improvements</mark>
{% endupdate %}

{% update date="2025-10-25" %}

## <mark style="color:$primary;">v4.1.1</mark>

<mark style="color:yellow;">General improvements</mark>
{% endupdate %}

{% update date="2025-07-03" %}

## <mark style="color:$primary;">v4.1.0</mark>

<mark style="color:green;">Added localized strings</mark>
{% endupdate %}

{% update date="2025-04-30" %}

## <mark style="color:$primary;">v4.0.0.3</mark>

<mark style="color:yellow;">General improvements</mark>
{% endupdate %}

{% update date="2025-04-23" %}

## <mark style="color:$primary;">v4.0.0.2</mark>

<mark style="color:yellow;">General improvements</mark>
{% endupdate %}

{% update date="2025-02-21" %}

## <mark style="color:$primary;">v4.0.0.1</mark>

<mark style="color:yellow;">General improvements and bug fixes</mark>
{% endupdate %}

{% update date="2025-02-16" %}

## <mark style="color:$primary;">v4.0.0</mark>

<mark style="color:green;">You can now add, edit, and delete properties and components!</mark>

<mark style="color:green;">Added social media URI generation</mark>

<mark style="color:green;">Introducing</mark> <mark style="color:green;"></mark><mark style="color:green;">`VisualCard.Common`</mark> <mark style="color:green;"></mark><mark style="color:green;">that contains versit-agnostic tools</mark>

<mark style="color:green;">Added logging support</mark>

<mark style="color:yellow;">IANA and X-nonstandard properties are no longer versit-specific</mark>

<mark style="color:yellow;">Refactored the codebase</mark>

<mark style="color:yellow;">General improvements</mark>
{% endupdate %}

{% update date="2025-01-16" %}

## <mark style="color:$primary;">v3.3.0</mark>

<mark style="color:green;">Added QUOTED-PRINTABLE support for cards and calendars</mark>

<mark style="color:yellow;">General improvements</mark>
{% endupdate %}

{% update date="2024-11-09" %}

## <mark style="color:$primary;">v3.2.0</mark>

<mark style="color:yellow;">Merged CalendarValueInfo and CardValueInfo</mark>

<mark style="color:yellow;">ValueInfo equality comparison now also compares the values</mark>

<mark style="color:yellow;">General improvements</mark>
{% endupdate %}

{% update date="2024-10-12" %}

## <mark style="color:$primary;">v3.1.2</mark>

<mark style="color:yellow;">Updated Textify</mark>
{% endupdate %}

{% update date="2024-10-10" %}

## <mark style="color:$primary;">v3.1.1</mark>

<mark style="color:yellow;">Updated libraries</mark>
{% endupdate %}

{% update date="2024-10-09" %}

## <mark style="color:$primary;">v3.1.0</mark>

<mark style="color:green;">Added</mark> <mark style="color:green;"></mark><mark style="color:green;">`PropertyInfo`</mark>

<mark style="color:green;">Added part dictionary properties (strings, integers, and parts array instances)</mark>

<mark style="color:green;">Added support for nested property groups</mark>

<mark style="color:yellow;">Better support for whitespace padded properties and their arguments</mark>

<mark style="color:yellow;">General improvements and bug fixes</mark>
{% endupdate %}

{% update date="2024-10-03" %}

## <mark style="color:$primary;">v3.0.0</mark>

<mark style="color:green;">Added more vCard and vCalendar properties (100% of them!)</mark>

<mark style="color:green;">Added recurrence parser</mark>

<mark style="color:green;">Added duration, date/time, and UTC offset parsers</mark>

<mark style="color:green;">Added property grouping support</mark>

<mark style="color:green;">Added value info, property info, and argument info instances</mark>

<mark style="color:green;">Added support for more than one string and integer</mark>

<mark style="color:yellow;">Moved extra tools to VisualCard.Extras</mark>

<mark style="color:yellow;">Massive improvements to vCard and vCalendar parsers</mark>

<mark style="color:yellow;">Property names are now case-insensitive</mark>

<mark style="color:yellow;">Mass migrated several text-based arrays to strings</mark>

<mark style="color:yellow;">General improvements and bug fixes</mark>
{% endupdate %}

{% update date="2024-09-23" %}

## <mark style="color:$primary;">v2.3.0</mark>

<mark style="color:green;">Added more calendar properties</mark>

<mark style="color:green;">Added type support for calendars</mark>
{% endupdate %}

{% update date="2024-09-23" %}

## <mark style="color:$primary;">v2.2.0</mark>

<mark style="color:yellow;">Improved time zone offset support</mark>
{% endupdate %}

{% update date="2024-09-11" %}

## <mark style="color:$primary;">v2.1.0</mark>

<mark style="color:green;">Added a lot of vCalendar properties</mark>

<mark style="color:green;">Added all calendar components</mark>

<mark style="color:green;">Added full nullable support</mark>

<mark style="color:green;">Added full calendar saving</mark>

<mark style="color:green;">Added calendar component comparison</mark>

<mark style="color:yellow;">Improved calendar event and component querying</mark>

<mark style="color:yellow;">Improved validation code</mark>

<mark style="color:yellow;">General improvements and bug fixes</mark>
{% endupdate %}

{% update date="2024-09-03" %}

## <mark style="color:$primary;">v2.0.0</mark>

<mark style="color:green;">Added very basic vCalendar implementation</mark>

<mark style="color:green;">Added nested cards support</mark>

<mark style="color:green;">Added UID support</mark>

<mark style="color:yellow;">Improved newline handling</mark>

<mark style="color:yellow;">General improvements and bug fixes</mark>
{% endupdate %}

{% update date="2024-08-13" %}

## <mark style="color:$primary;">v1.1.1</mark>

<mark style="color:yellow;">Updated libraries</mark>
{% endupdate %}

{% update date="2024-07-02" %}

## <mark style="color:$primary;">v1.1.0</mark>

<mark style="color:green;">Added getting blob stream from keys, images, sounds, and logos</mark>

<mark style="color:yellow;">General improvements</mark>
{% endupdate %}

{% update date="2024-06-22" %}

## <mark style="color:$primary;">v1.0.1</mark>

<mark style="color:yellow;">Updated libraries</mark>
{% endupdate %}

{% update date="2024-04-04" %}

## <mark style="color:$primary;">v1.0.0.1</mark>

<mark style="color:yellow;">General improvements</mark>
{% endupdate %}

{% update date="2024-04-04" %}

## <mark style="color:$primary;">v1.0.0</mark>

<mark style="color:green;">Added new types</mark>

<mark style="color:green;">Added global line folding</mark>

<mark style="color:green;">Added a dictionary representing values</mark>

<mark style="color:green;">Added videophone and phonetics to MeCard</mark>

<mark style="color:green;">Added vCard to MeCard conversion</mark>

<mark style="color:green;">Added card generator</mark>

<mark style="color:yellow;">Overhauled the parser!</mark>

<mark style="color:yellow;">Enforced ALTID and types</mark>

<mark style="color:yellow;">Enforced cardinality</mark>

<mark style="color:yellow;">Fixed bugs and issues</mark>

<mark style="color:yellow;">General improvements</mark>
{% endupdate %}

{% update date="2024-02-14" %}

## <mark style="color:$primary;">v0.9.3</mark>

<mark style="color:yellow;">Updated libraries</mark>
{% endupdate %}

{% update date="2024-02-06" %}

## <mark style="color:$primary;">v0.9.2</mark>

<mark style="color:yellow;">Changed symbol nupkg to snupkg</mark>
{% endupdate %}

{% update date="2023-12-21" %}

## <mark style="color:$primary;">v0.9.1</mark>

<mark style="color:yellow;">Facilitated debugging by using Source Link</mark>
{% endupdate %}

{% update date="2023-12-16" %}

## <mark style="color:$primary;">v0.9.0</mark>

<mark style="color:green;">Added support for vCard 5.0 contacts</mark>

<mark style="color:green;">Added AGENT for v2.1, 3.0, and 5.0 vCard contacts</mark>

<mark style="color:yellow;">General improvements</mark>
{% endupdate %}

{% update date="2023-11-25" %}

## <mark style="color:$primary;">v0.8.4</mark>

<mark style="color:yellow;">Improved MeCard conversion</mark>
{% endupdate %}

{% update date="2023-11-14" %}

## <mark style="color:$primary;">v0.8.3</mark>

<mark style="color:yellow;">Updated all libraries</mark>
{% endupdate %}

{% update date="2023-10-25" %}

## <mark style="color:$primary;">v0.8.2</mark>

<mark style="color:yellow;">Upgraded the SQLite library for Android contacts support</mark>
{% endupdate %}

{% update date="2023-10-11" %}

## <mark style="color:$primary;">v0.8.1</mark>

<mark style="color:yellow;">Updated the SQLite support library to 7.0.12</mark>
{% endupdate %}

{% update date="2023-10-01" %}

## <mark style="color:$primary;">v0.8.0</mark>

<mark style="color:green;">Added LABEL and CLASS properties</mark>

<mark style="color:green;">Added support for relation, contact event, and identifier to the Android parser</mark>

<mark style="color:yellow;">Fixed photo, logo, and sound parsing causing crashes</mark>
{% endupdate %}

{% update date="2023-09-18" %}

## <mark style="color:$primary;">v0.7.1</mark>

<mark style="color:yellow;">Fixed crash when parsing some generated VCards</mark>
{% endupdate %}

{% update date="2023-09-18" %}

## <mark style="color:$primary;">v0.7.0</mark>

<mark style="color:green;">Added signing (strong name)</mark>

<mark style="color:green;">Added documentation</mark>
{% endupdate %}

{% update date="2023-09-13" %}

## <mark style="color:$primary;">v0.5.1</mark>

<mark style="color:yellow;">Signed with the Aptivi signing key</mark>
{% endupdate %}

{% update date="2023-08-12" %}

## <mark style="color:$primary;">v0.6.0.0</mark>

<mark style="color:green;">Added MeCard parsing support</mark>

<mark style="color:yellow;">Improved the VCard parsers</mark>
{% endupdate %}

{% update date="2023-08-10" %}

## <mark style="color:$primary;">v0.5.0.0</mark>

<mark style="color:green;">Added support for 5 new variables</mark>

<mark style="color:yellow;">Improved the card parsing functionality</mark>
{% endupdate %}

{% update date="2023-04-01" %}

## <mark style="color:$primary;">v0.4.0.0</mark>

<mark style="color:yellow;">First block of image, sound, or logo should align exactly to 74 characters</mark>

<mark style="color:yellow;">Reworked on type and argument value getters</mark>

<mark style="color:yellow;">Fixed crashes related to argument parsing</mark>
{% endupdate %}

{% update date="2023-03-28" %}

## <mark style="color:$primary;">v0.3.0.0</mark>

<mark style="color:green;">Added saving cards to string</mark>

<mark style="color:green;">Added limited support for Android contacts database support</mark>

<mark style="color:green;">Added equality for cards</mark>

<mark style="color:green;">Added organization type</mark>

<mark style="color:yellow;">Improved argument parsing for VCard 4.0</mark>

<mark style="color:yellow;">Added AltArguments to the rest of the info classes</mark>

<mark style="color:yellow;">Improved VCard generation for Alt ID</mark>

<mark style="color:yellow;">General improvements</mark>
{% endupdate %}

{% update date="2023-03-02" %}

## <mark style="color:$primary;">v0.2.0.0</mark>

<mark style="color:green;">Added VCard parsing by file, by stream, or by string</mark>

<mark style="color:yellow;">Fixed grammatical error on parse errors</mark>

<mark style="color:yellow;">Fixed titles not being parsed</mark>

<mark style="color:yellow;">Improved saving</mark>
{% endupdate %}

{% update date="2023-02-20" %}

## <mark style="color:$primary;">v0.1.0.0</mark>

<mark style="color:green;">Added support for new card values (Timezone, geography, etc.)</mark>

<mark style="color:yellow;">Fixed parsing with separate contacts delimited by newlines</mark>

<mark style="color:yellow;">Extended ALTID support to more types</mark>
{% endupdate %}

{% update date="2023-02-17" %}

## <mark style="color:$primary;">v0.1.0.0-alpha04</mark>

<mark style="color:yellow;">Re-targeted to .NET Standard 2.0</mark>

<mark style="color:yellow;">Fixed VCard and photo parsing</mark>

<mark style="color:yellow;">Fixed stuck file handle</mark>
{% endupdate %}

{% update date="2022-08-18" %}

## <mark style="color:$primary;">v0.1.0.0-alpha03</mark>

<mark style="color:green;">Added more types (BDAY, REV, ...)</mark>

<mark style="color:yellow;">Improved ALTID parsing</mark>
{% endupdate %}

{% update date="2022-08-17" %}

## <mark style="color:$primary;">v0.1.0.0-alpha02</mark>

<mark style="color:green;">Added photo</mark>

<mark style="color:yellow;">Reduced NuGet download size</mark>
{% endupdate %}

{% update date="2022-06-27" %}

## <mark style="color:$primary;">v0.1.0.0-alpha01</mark>

The initial release of the library is now live!
{% endupdate %}
{% endupdates %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://aptivi.gitbook.io/aptivi/visualcard-manual/welcome.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
