From 72de0e47bcf4e2cfde4f07524a41ddeb2ce59599 Mon Sep 17 00:00:00 2001 From: Rand McKinney Date: Fri, 9 May 2025 15:26:05 -0700 Subject: [PATCH 1/2] Update roadmap and put released items back in --- docs/includes/_roadmap.md | 938 ++++++++++++++++++++++++++++++++++---- docs/roadmap.mdx | 1 + 2 files changed, 859 insertions(+), 80 deletions(-) diff --git a/docs/includes/_roadmap.md b/docs/includes/_roadmap.md index ab13e91..e15baad 100644 --- a/docs/includes/_roadmap.md +++ b/docs/includes/_roadmap.md @@ -1,103 +1,762 @@ +

Released

+ +

The work has been released.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -

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.

-

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
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
- - + + + + - + + + - + + + - + + + - + -
TaskRepository Bring C++ API up to date with Python API. c2pa-c
Compressed Manifests (1.4) Add support for c2pa.icon c2pa-rs
Support for Collections Assertion Add XMP support for SVG c2pa-rs
Update manifest enablement Update claim signer API to support V2 claims c2pa-rs
Zip format support ValidationResults support & Ingredients v3 c2pa-rs
+ + + -

In Progress

-

Work is in progress.

- - - + + + + - + + + + + + + + + + + + - + + + - + +
TaskRepository V2 claims in C++ SDK c2pa-c
Enable 2.x validation path for claims.v2 V2 Claims in Python SDK c2pa-python
Rust API modifications for v2 claims c2pa-rs
support signed OCSP responses Remove openssl feature c2pa-rs
API 2024 documentation review 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.

+ - + + + + + + + + + + + - + + + - - -
Generate API 2024 documentation TaskRepository
Compressed Manifests (1.4) c2pa-rs
CAWG integration for c2patool Update manifest enablement c2pa-rs
V2 claims in C++ SDK c2pa-c
+ Zip format support +c2pa-rs + + -

Todo

+

In Progress

-

Planned for future work.

+

Work is in progress.

@@ -107,177 +766,255 @@ + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - - + + + + - + -
Support BoxHash for TIFF, GIF and other formats Enable 2.x validation path for claims.v2 c2pa-rs
API 2024 errors review Support UUID Content Boxes for redaction c2pa-rs
Separating Asset_IO to support third party contributions Redaction c2pa-rs
Test tool for API 2024, create and compare manifests API 2024 documentation review c2pa-rs
Implement Mandatory Created and Opened Actions Support timestamp assertions c2pa-rs
Testing infrastructure Add redactions for databoxes c2pa-rs
Update manifest schema documentation Generate API 2024 documentation c2pa-rs
V2 Claims in Python SDK c2pa-python CAWG signing integration for c2patool c2pa-rs
Remove openssl feature Support 2.x ingredient conflict resolution c2pa-rs
+ + + -

In Review / Triage

-

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

- - - + + + + - + + + - + + + - + + + - + + + - - + + + + - + + + + + + + + + + +
TaskRepository Support 2.x Actions validation c2pa-rs
C2PA spec 2.1 support Validation of CBOR and JSON conformance for assertions c2pa-rs
Figure out if embeddable manifests can be used everywhere Remove VC support c2pa-rs
BMFF Hash V3 support to enable Merkle generation for BMFF Validate manifest label names for conformance c2pa-rs
Merkle generation for all BMFF support Support 2.2 ingredient conflict resolutions c2pa-rs
Provide an external way to do OCSP stapling OCSP Validation states c2pa-rs
Redaction Ingredient Claim Signature validation for 2.2 c2pa-rs
API Support for gathered assertions c2pa-rs
+

Todo

+

Planned for future work.

+ - - + + + - + + + - + + + - + + + + + + + + + + + + - - + + + + - - + + +
Investigate build size reductions by selective feature compilation TaskRepository
Support user exclusions for DataHash Support BoxHash for TIFF, GIF and other formats c2pa-rs
iOS Support API 2024 errors review c2pa-rs
Android Support Implement Mandatory Created and Opened Actions c2pa-rs
Convert c2patool to use settings config c2pa-rs
PDF Objects Update manifest schema documentation c2pa-rs
Integration Testing (what platforms) 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.

+ - - + + + - - + + + + + + + + + + + + + + + + @@ -285,92 +1022,133 @@ + + + + - + + + - - + + + + + + - + + + - + + + - + + + + + + + + + + + + - + + + - + + + - + + + - + + + - + + + - + + + - - + + + + - + -
Automated builds for all platforms, including mobile TaskRepository
Detailed Support matrix documentation BMFF Hash V3 support to enable Merkle generation for BMFF c2pa-rs
Add Region of Interest Assertion helper c2pa-js
Cloud URLs in Manifests (icons & etc...) Read support for c2md (JUMBF data) manifests c2pa-rs
AIFF support Option to automatically add parent in Builder API c2pa-rs
Support timestamp manifests New 2.2 Informational Code c2pa-rs
Read support for c2md (JUMBF data) manifests Auto parent generation linking actions to ingredients c2pa-rs
Add redactions for databoxes c2pa.metadata validation c2pa-rs
Settings support in API c2pa-rs
New structures to support 1.x and 2.x namespaces Support LogoType for X509 certificates c2pa-rs
Change ValidationLogs to support standardized 2.x logging Support LinkHeader for remote manifest fetch c2pa-rs
Update ClaimAssertion to map assertions to correct assertion list Sidecar support for language bindings c2pa-rs
During standard Claim validation validate Claim icon if present Create unit test for interop between 1.x and 2.x Claims c2pa-rs
Convert c2patool to use settings config SDK support to allow creation of Update Manifests c2pa-rs
Option to automatically add parent in Builder API c2pa-rs published libraries c2pa-rs
c2patool Ingredients use trust list and warn for errors. Building improvement c2pa-rs
Add support for c2pa.icon 2.2 thumbnail name change c2pa-rs
+ + + diff --git a/docs/roadmap.mdx b/docs/roadmap.mdx index 568c908..496abda 100644 --- a/docs/roadmap.mdx +++ b/docs/roadmap.mdx @@ -12,6 +12,7 @@ This information was updated in **March, 2025**. It will be regularly updated bu Tasks in progress or planning are categorized as follows (in reverse order of completion): +- [**Released**](#released) : The feature, code, or fix has been released. - [**Merged to Main**](#merged-to-main): Code has been merged to the main branch but not yet released. - [**Code Complete**](#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**](#in-progress): Work is in progress. From 96d8cd712d1d1316b2b0f6de82a4b07b7b9325b3 Mon Sep 17 00:00:00 2001 From: Rand McKinney Date: Fri, 9 May 2025 15:26:46 -0700 Subject: [PATCH 2/2] Update date --- docs/roadmap.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/roadmap.mdx b/docs/roadmap.mdx index 496abda..1c9204e 100644 --- a/docs/roadmap.mdx +++ b/docs/roadmap.mdx @@ -7,7 +7,7 @@ hide_table_of_contents: true 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 **March, 2025**. It will be regularly updated but might not always reflect the most current status. +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):