Skip to main content

Open-source SDK task planning and roadmap

This is an overview of task planning for the CAI open-source SDK to provide a general idea of priorities and progress. The roadmap is subject to change based on feedback and other factors.

note

This information was updated in May, 2025. It will be regularly updated but might not always reflect the most current status.

Tasks in progress or planning are categorized as follows (in reverse order of completion):

  • Released : The feature, code, or fix has been released.
  • Merged to Main: Code has been merged to the main branch but not yet released.
  • Code Complete: Coding is done, but testing may still be in progress, and the task has not been merged to the main branch.
  • In Progress: Work is in progress.
  • To Do: Planned for future work.
  • In Review / Triage: Task is under review to determine if and when it can be addressed.

A new issue/task starts in the In Review / Triage status. Once reviewed and approved, it moves into To Do status, and when a developer begins working on it, into In Progress. Once development work is done, the task moves to Code Complete. After testing and validation, it moves to Merged to Main, which is the final step before it is included in a release.

tip

Do you see something important that's not listed? Open an issue in the appropriate repository!

Released

The work has been released.

TaskRepository
Fix regression in signature validation c2pa-rs
Support remote URLs in 2024 API. c2pa-rs
C2PA-rs returns wrong validation code for box hash failure c2pa-rs
Update openssl create, verify compatibility with OpenSSL 3.x c2pa-rs
Add support for ARW and NEF c2pa-rs
Python API 2024 first release c2pa-python
Rust API 2024 first release c2pa-rs
Publish Python API fixes for DVIDS and others c2pa-python
C/C++ API 2024 first release c2pa-c
Complete 1.3 validation c2pa-rs
C2patool updates to expose new features c2pa-rs
Add place embeddable manifest support. c2pa-rs
BMFF Streaming c2pa-rs
Validate timestamp signature c2pa-rs
Trust list to SDK c2pa-rs
OCSP enablement SDK c2pa-rs
V2 Remote signing c2pa-rs
Claim_V2 support c2pa-rs
Standard method to reference ingredients from Actions c2pa-rs
C2PA spec 2.1 support c2pa-rs
Enable BoxHash generation (1.4) c2pa-rs
Add GIF support c2pa-rs
MP3 support c2pa-rs
support signed OCSP responses c2pa-rs
Fix Reader.resource_from_stream so that we can access resources in all manifests. c2pa-rs
Support for Collections Assertion c2pa-rs
Read only mode for specific formats c2pa-rs
OCSP solution for Verify c2pa-rs
New signing protocol c2pa-rs
XMP Read/Write for BMFF and other types c2pa-rs
Separate crypto into its own crate c2pa-rs
Update c2patool to 24 API c2pa-rs
Regions of interest support c2pa-rs
Figure out how to represent 2.1 manifests and ingredients compatibly in the SDK. c2pa-rs
Figure out if embeddable manifests can be used everywhere c2pa-rs
Embeddable Manifest support in V2 c2pa-rs
Merkle generation for all BMFF support c2pa-rs
DASH Completion c2pa-rs
Support user exclusions for DataHash c2pa-rs
iOS Support c2pa-rs
Android Support c2pa-rs
Regions of Interest support c2pa-rs
Separating Asset_IO to support third party contributions c2pa-rs
Make_test_images validation tests c2pa-rs
Add support for SDK configuration settings c2pa-rs
Support streaming writes for TIFF format c2pa-rs
Add functionality to get the signing certificate chain without OpenSSL c2pa-rs
Create a build that only exposes 2024 APIs c2pa-rs
C++ istream/ostream support c2pa-c
Add native XMP write support for PNG c2pa-rs
Test tool for API 2024, create and compare manifests c2pa-rs
Support RemoteSigner API via AsyncSigner c2pa-rs
Cloud URLs in Manifests (icons & etc...) c2pa-rs
Support for timestamp V2 c2pa-rs
Remove VC support/generation when writing Claim V2 manifests c2pa-rs
New structures to support 1.x and 2.x namespaces c2pa-rs
Change ValidationLogs to support standardized 2.x logging c2pa-rs
Custom serializer/deserialize that can read 1.4-2.x. Claims c2pa-rs
Change Claim Signature URI to be full path c2pa-rs
Update ClaimAssertion to map assertions to correct assertion list c2pa-rs
During standard Claim validation validate Claim icon if present c2pa-rs
Remove writing of native camera RAW formats from SDK. c2pa-rs
Update c2patool for 2.1 spec support c2pa-rs
Integrate Dynamic Assertion via Signer for CAWG c2pa-rs
Testing infrastructure c2pa-rs
Complete '24 API Deprecations c2pa-rs
Add validation_state API c2pa-rs
Bring C++ API up to date with Python API. c2pa-c
Add support for c2pa.icon c2pa-rs
Add XMP support for SVG c2pa-rs
Update claim signer API to support V2 claims c2pa-rs
ValidationResults support & Ingredients v3 c2pa-rs
V2 claims in C++ SDK c2pa-c
V2 Claims in Python SDK c2pa-python
Rust API modifications for v2 claims c2pa-rs
Remove openssl feature c2pa-rs
change Settings to be thread safe c2pa-rs

Merged to Main

Code has been merged to the main branch but not yet released. This is the final step before releasing the feature or fix.

There are currently no items with this status.

Code Complete

Coding is done, but testing may still be in progress, and the code has not been merged to the main branch. After testing is complete, the code is merged to the main branch.

TaskRepository
Compressed Manifests (1.4) c2pa-rs
Update manifest enablement c2pa-rs
Zip format support c2pa-rs

In Progress

Work is in progress.

TaskRepository
Enable 2.x validation path for claims.v2 c2pa-rs
Support UUID Content Boxes for redaction c2pa-rs
Redaction c2pa-rs
API 2024 documentation review c2pa-rs
Support timestamp assertions c2pa-rs
Add redactions for databoxes c2pa-rs
Generate API 2024 documentation c2pa-rs
CAWG signing integration for c2patool c2pa-rs
Support 2.x ingredient conflict resolution c2pa-rs
Support 2.x Actions validation c2pa-rs
Validation of CBOR and JSON conformance for assertions c2pa-rs
Remove VC support c2pa-rs
Validate manifest label names for conformance c2pa-rs
Support 2.2 ingredient conflict resolutions c2pa-rs
OCSP Validation states c2pa-rs
Ingredient Claim Signature validation for 2.2 c2pa-rs
API Support for gathered assertions c2pa-rs

Todo

Planned for future work.

TaskRepository
Support BoxHash for TIFF, GIF and other formats c2pa-rs
API 2024 errors review c2pa-rs
Implement Mandatory Created and Opened Actions c2pa-rs
Convert c2patool to use settings config c2pa-rs
Update manifest schema documentation c2pa-rs
Write assertions for thumbnails and icons (no databoxes) c2pa-rs

In Review / Triage

Task is under review to determine if and when it can be addressed.

TaskRepository
BMFF Hash V3 support to enable Merkle generation for BMFF c2pa-rs
Add Region of Interest Assertion helper c2pa-js
Read support for c2md (JUMBF data) manifests c2pa-rs
Option to automatically add parent in Builder API c2pa-rs
New 2.2 Informational Code c2pa-rs
Auto parent generation linking actions to ingredients c2pa-rs
c2pa.metadata validation c2pa-rs
Settings support in API c2pa-rs
Support LogoType for X509 certificates c2pa-rs
Support LinkHeader for remote manifest fetch c2pa-rs
Sidecar support for language bindings c2pa-rs
Create unit test for interop between 1.x and 2.x Claims c2pa-rs
SDK support to allow creation of Update Manifests c2pa-rs
c2pa-rs published libraries c2pa-rs
Building improvement c2pa-rs
2.2 thumbnail name change c2pa-rs