Repository navigation
chore(deps)!: repin dpp-core to 0.22.0 - #479
Open
LKSNDRTMLKV wants to merge 1 commit into
Open
LKSNDRTMLKV wants to merge 1 commit into
LKSNDRTMLKV wants to merge 1 commit into
Conversation
This was referenced Oct 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Repins
dpp-corefrom 0.21.0 to 0.22.0, and lands the first slice of #446 with it. The slice has to ship in the same release: core's publish gate now refuses a passport whose personal-data-marked field has a value and no statement, and without this there is no way to write the statement.The compile breaks were found by bumping the pin and letting
cargo checklist them. The registry port is the part that is more than a rename.Related issue
Refs #446 (the check on every write and
personalDataare done; the erasable store and the erase route are not). Unblocks #326.Changes
Keys, DID documents and signing (odal-node/dpp-core#376, odal-node/dpp-core#374)
kidis the absolute URL of the method that made it.resolve_verification_keyreplacesextract_key_by_fingerprintandextract_primary_public_keyin the resolver, the vault's dossier verification, the CLI snapshot check and the credential middleware. A token that names no key is refused rather than checked against a default.AppState::verification_method_url, used bysignand byrotate_key, whosenew_key_idwas still…#key-1.authenticate_access_credential, which also requirestyp: vc+jwtandcty: vc. A new test pins that the issuer's own signature over a credential-shaped payload does not pass unless it is typed.The EU registry adapter (odal-node/dpp-core#98)
registerreturns the correlation identifier;check_submissionfinds the submission's task on the registry's dashboard (TASKS_PATH, thenTASK_RESULT_PATH_TEMPLATE) and reportsRegistered,Refused,ProcessingorUnrecognised;check_statusandnotify_transfertake the registration identifier, escaped into one path segment.submittedrow by its correlation identifier. A replayed idempotency key carries no handle, so that row is leftsubmittedand is not polled, rather than polled by an invented id.deactivateddrain outcome is gone: a submission's ruling is not a record's state.registry_idfrom aregisteredrow.Personal data (#446, odal-node/dpp-core#261)
check_personal_dataruns on create, on each draft update and on the draft an amendment builds, and answers422naming the field.personalDatais accepted on create, patchable, served back on the authenticated read, and in the OpenAPI.500. It now answers a validation error as422, asPUTalready did; the new smoke test caught it.Battery rules (odal-node/dpp-core#389)
co2ePerUnitKgis optional, and it and the four recycled-content shares are not applicable to EV, LMT and industrial batteries. The import template, the demo passports and the demo dossier drop them, and the counts in the API description are now 41, 40 and 33.Fixtures:
status_purposeon credential statuses,personal_dataon passport literals, and the demo dossiers regenerated for the new key naming.Things to know
registry_idon the outbox row holds the correlation identifier while the row issubmittedand the registration identifier onceregistered. It avoids a migration; a separate column would be cleaner, and I'd rather decide that on its own.SubmissionReceipt, and the dashboard routes and their field names are the ones core records as observed on 2026-10-14. The task is found by paging the list, because no route takes a correlation identifier. This is tested against a mock built from those names, not against the registry./dpp/validate(the dry run) does not report personal-data findings yet. It runs the request checks only; the new check is at the write.ops/demo/datasets/still carryco2ePerUnitKgand the recycled-content columns. They import, since the columns are optional, and nothing gates them.Checklist
just lintandjust lint-integrationpass locallyjust fmtappliedjust testpasses (unit)registry_outbox, the new personal-data smoke test,audience_read_route,continuity_snapshot,passport_doc_compatprintln!/eprintln!/dbg!in service-cratesrc/.envfiles in the diffjust openapi-checkpassesjust checkends inaudit, which fails the same way onmain(the wasmtime advisories published 14 October, fixed in 49.0.3, and the yankedzip 8.6.0). Every other step passes.