Skip to content

Breaking change: upgrade to c2pa-rs 0.92.0 (minor version bump) - #270

Merged
scouten-adobe merged 17 commits into
mainfrom
scouten-adobe-test-c2pa-rs-main-nightly
Nov 11, 2026
Merged

scouten-adobe merged 17 commits into
mainfrom
scouten-adobe-test-c2pa-rs-main-nightly

Conversation

@scouten-adobe

@scouten-adobe scouten-adobe commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Breaking change: upgrade to c2pa-rs 0.92.0

Update the native SDK dependency to the official c2pa-v0.92.0 release and bump the C++ project version from 0.26.19 to 0.27.0. The release tag resolves to c2pa-rs commit 83eba34d1a0b6be4d2484fc5d7b4cf11c030b694.

Migration

  • c2pa::load_settings has been removed. Configure settings using a Context; context-free Reader and Builder constructors now use default settings rather than thread-local settings.
  • Builder::data_hashed_placeholder and Builder::sign_data_hashed_embeddable have been removed. Attach a signer to the Context and use placeholder, set_data_hash_exclusions, update_hash_from_stream, and sign_embeddable. The new workflow does not accept precomputed DataHash JSON.
  • The C++ stream wrappers inherit from the owning c2pa::C2paStream base. The global C API type ::C2paStream is opaque; use the wrapper's c_stream member for C API calls.
  • Internal calls use the supported context-based reader/builder APIs and c2pa_free. Builder::format_embeddable remains available via c2pa_builder_compose_manifest.

See the release notes and migration documentation for details. CI uses the official 0.92.0 prebuilt release archives; it no longer checks out or builds c2pa-rs source.

Preliminary validation

  • macOS arm64: CMake configure and build succeeded with the official 0.92.0 prebuilt archive.
  • Focused stream ownership and stream-signing round-trip tests passed against the prebuilt archive.
  • Full cross-platform testing is delegated to GitHub CI.

Replace deleted constructors and settings APIs, adapt opaque streams, and migrate embeddable signing to context signers. Fix source-build artifacts and Windows toolchain setup.

Co-authored-by: Copilot App <[email protected]>
scouten-adobe and others added 3 commits November 3, 2026 10:15
Keep APIs removed by the c2pa-rs main migration removed while incorporating upstream changes.

Co-authored-by: Copilot App <[email protected]>
Pin the compatibility CI checkout to the released c2pa-rs RC tag.

Co-authored-by: Copilot App <[email protected]>
@scouten-adobe scouten-adobe changed the title DO NOT MERGE: Build against c2pa-rs main (nightly) DO NOT MERGE: Build against c2pa-rs 0.92.0-rc.1 Nov 9, 2026
Comment thread src/c2pa_builder.cpp Resolved
Comment thread docs/context-settings.md Resolved
Comment thread include/c2pa.hpp Resolved
Comment thread src/CMakeLists.txt Resolved
Bump the C++ minor version to 0.27.0, document the migration, and validate both source and prebuilt dependencies in CI.

Co-authored-by: Copilot App <[email protected]>
@scouten-adobe scouten-adobe changed the title DO NOT MERGE: Build against c2pa-rs 0.92.0-rc.1 Breaking change: upgrade to c2pa-rs 0.92.0 (minor version bump) Nov 11, 2026
scouten-adobe and others added 4 commits November 11, 2026 11:37
Show the supported context-based reader instead of code using the removed load_settings API.

Co-authored-by: Copilot App <[email protected]>
Keep removed APIs in migration guidance and correct descriptions of stream-based hashing.

Co-authored-by: Copilot App <[email protected]>
Introduce CppStream with a virtual destructor and shared opaque-handle ownership, preserving c_stream access on all wrappers.

Co-authored-by: Copilot App <[email protected]>
Comment thread .github/workflows/ci.yml Outdated
- name: Checkout repository
uses: actions/checkout@v4

- name: Checkout c2pa-rs (0.92.0)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll remove this once the 0.92.0 binaries are available.

scouten-adobe and others added 3 commits November 11, 2026 11:51
Distinguish c2pa::C2paStream from the opaque global C handle and document the compatibility boundary.

Co-authored-by: Copilot App <[email protected]>
@scouten-adobe
scouten-adobe marked this pull request as ready for review November 11, 2026 22:01
@scouten-adobe
scouten-adobe merged commit 7765431 into main Nov 11, 2026
18 of 19 checks passed
@scouten-adobe
scouten-adobe deleted the scouten-adobe-test-c2pa-rs-main-nightly branch November 11, 2026 22:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants