A new way for developers to exchange card content in a common and consistent way.
Switch branches/tags
Clone or download
paulcam206 Detect collisions and generate parse errors when they are encountered (

Fix for #1852.

* source/shared/**
  * Introduce new `ParseContext.cpp` and `ParseContext.h` 
    * `ParseContext` encapsulates objects that need to be passed around at parse time
      * Add new `std::unordered_set<std::string>` to track ids
      * (previously: `ElementParserRegistration`, `ActionParserRegistration`, and `std::vector<AdaptiveParseWarning>`)
  * Various wiring to replace passing the old context items with `ParseContext`
  * New unit tests for single and nested duplicate id scenarios
  * Fixes to refrain from marking default dtors as virtual (cppcore)
  * Some `#include` cleanup
  * Reorder STL includes in `pch.h` for sanity's sake

* source/uwp/**
  * Update expected results for new failing tests
  * Add new files to shared model projection
  * Updates for new `Deserialize` signature

* samples/tests
  * tests for duplicate ids in single and nested scenarios

* source/android/**
  * Fixes to consume new header/object
  * SWIG'd changes

* source/dotnet/Library/adaptivecards/**
  * Introduce new `HashSet<string>` to track element ids
  * Add id tracking during [de]serialization (throw on collision)
  * Introduce a way to indicate when a card begins/ends parsing (needed to reset our id tracking member)
  * Account for expected failures for new tests

* source/ios/**
  * Publish/consume new cpp/h
Latest commit 97d01cf Nov 16, 2018


Announcing Adaptive Cards 1.1!

Adaptive Cards 1.1 is here! Thank you to all the contributors for filing issues and helping us get the right set of new schema entries and bug fixes into this release. We hope some of the additions like media element and image buttons can help fulfil some of your top requests and make your lives easier. For a full list of what's in 1.1, check the wiki.

You can find updated packages for all the platforms below and our updated website and new visual designer are available as well.

Learn more at https://adaptivecards.io

Install and Build

Adaptive Cards are designed to render anywhere that your users are. The following native platform renderers are under development right now.

Platform Install Build Docs Status
JavaScript npm install Source Docs Build Status
.NET Nuget install Source Docs Build status
.NET WPF Nuget install Source Docs Build status
.NET HTML Nuget install Source Docs Build status
Windows UWP Nuget install Source Docs Build Status
Android Maven Central Source Docs Build status
iOS CocoaPods Source Docs Build status


There are many ways to contribute to Adaptive Cards.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.