Prepare next release - #52
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
changeset-release/main
branch
4 times, most recently
from
August 18, 2026 22:25
1468960 to
c4de50f
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
August 18, 2026 22:54
c4de50f to
fdfbcf2
Compare
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.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@germ-network/atprototypes@0.5.0
Minor Changes
#51
3729867Thanks @germ-mark! - add EndpointPolicy so a development build can reach a loopback PDS over http#51
28b2294Thanks @germ-mark! - reject non-https, loopback/private-range, reserved-TLD, and single-label PDS service endpoints#54
d0f526fThanks @germ-mark! -AtprotoTypesVerifynow verifies secp256k1 repo commit signatures, not just P-256 — a from-scratch, verify-only Swift port (field/scalar arithmetic, Jacobian point operations, SEC1 decompression, ECDSA), since most Bluesky accounts sign with this curve and swift-crypto has no k256 support. Checked against Wycheproof's secp256k1 test vectors and a P256K-backed differential oracle inAtprotoTypesVerifyTests(test-only dependency; nothing new ships in the product).AtprotoTypesVerifyMocks's fixture signer is now a protocol (RepoFixtureSigningKey) instead of concrete P256, so a consumer's tests can build synthetic k256 repos too.#54
2ea1805Thanks @germ-mark! - AddAtprotoTypesVerifyandAtprotoTypesVerifyMocks: CAR framing, DAG-CBOR, MST proof walking, CID recomputation, and P-256 repo commit-signature verification, plus fixture-building support for building synthetic signed repos in tests. Additive products — a consumer that never links the new products pays nothing for their existing (e.g. an App Clip target). The existingAtprotoTypestarget gains one small addition of its own: anAtproto.Reposeam (RecordPath,Proof,ProofVerifying,ProofUnavailable) cheap enough for a space-constrained consumer to link even when it doesn't want the verifier itself.#58
bf05899Thanks @germ-mark! - Two fixes toAtproto.DIDDocument:verified(expecting:did:)shadowed its owndid:parameter and never checked it, so the DID-matches-document-id checkResolver.swift's own doc comment claims is enforced never actually ran. Both the synchronous and async (verified(resolver:), now taking an optionalexpectedDid:) overloads check it and throwdocumentIdMismatchon a mismatch. Everywhere in the current call graph this was traced to be a provable no-op except one site (a plc.directory response accepted without comparing itsidto the requested DID) — this closes that gap directly.DIDDocument's decode was stricter than the canonical schema:@context,verificationMethod,service, andVerificationMethod.publicKeyMultibaseare now optional,@contextaccepts a bare string as well as an array, andService.serviceEndpointis nowURL?(an object-shaped endpoint, or a string that doesn't parse as aURL, decodes tonilrather than failing the whole document). PLC-issued documents hid this — plc.directory emits one uniform, tool-generated shape — but did:web documents are self-hosted and far more likely to be minimal or hand-authored.Patch Changes
#59
8adbecaThanks @germ-mark! - Fix the build:AtprotoTypesVerify'sRepoSigningKeystill unwrappedDIDDocument.verificationMethodandVerificationMethod.publicKeyMultibaseas non-optional after they became optional in the canonical-schema relaxation. Both absent cases now refuse withnoAtprotoSigningKey, matching the existing empty-list behaviour, with regression tests for each.#55
17738adThanks @germ-mark! - Screen PDS endpoint hosts without Network.framework, so the package builds onLinux and Android. Readings are unchanged on Apple platforms: dotted quads go
through a reimplementation of
IPv4Address's grammar pinned by tests, everyother v4 shape defers to the platform's
inet_atonexactly asIPv4Addressdid, and IPv6 moves to
inet_pton.