v0.1.0-beta.0
Pre-release
Pre-release
·
13 commits
to main
since this release
What's Changed
- Add README and spec/ technical requirements from issue #1 by @davidwkeith in #2
- Monorepo scaffolding: pnpm workspaces, TypeScript, changesets, test harness by @davidwkeith in #14
- Implement
@dwk/rdf— Turtle/JSON-LD parse + serialize over N3.js by @davidwkeith in #15 - Implement
@dwk/dpop— DPoP (RFC 9449) proof verification by @davidwkeith in #16 - Implement
@dwk/wac— Web Access Control evaluation by @davidwkeith in #17 - Add
@dwk/wacimplementation (missed the #17 merge) by @davidwkeith in #18 - Add CLAUDE.md guidance file for AI assistants by @davidwkeith in #19
- Implement
@dwk/store— DO-SQLite quad store + R2 copy-on-write blobs by @davidwkeith in #20 - Implement
@dwk/indieauth— authorization/token/metadata endpoints by @davidwkeith in #21 - Implement
@dwk/micropub— Micropub publishing endpoint by @davidwkeith in #22 - Implement
@dwk/webmention— receiver, async verification, sender, inbox by @davidwkeith in #23 - Implement
@dwk/solid-pod— edge-native Solid Pod (Worker + per-pod Durable Object) by @davidwkeith in #24 - Conformance & CI release gate (IndieWeb + Solid suites) by @davidwkeith in #25
- [webmention] Add SSRF-safe fetch wrapper for all outbound requests by @davidwkeith in #43
- Add @dwk/log injectable logging seam; wire @dwk/webmention as first consumer by @davidwkeith in #45
- Analytics Engine metrics adapter on the @dwk/log seam by @davidwkeith in #47
- [micropub] Bind authorization to the site owner (
me) by @davidwkeith in #49 - Reject reserved-suffix Slugs in container POST (fix #28) by @davidwkeith in #48
- Fix fail-open effective-ACL walk in @dwk/wac by @davidwkeith in #50
- Fix TOCTOU in solid-pod write/delete preconditions (#29) by @davidwkeith in #51
- fix(store): evaluate putBlob precondition before writing R2 (#32) by @davidwkeith in #52
- fix(solid-pod): close access-token JWT validation gaps (#35) by @davidwkeith in #53
- Stream the blob write path; stop buffering full bodies in the DO (#31) by @davidwkeith in #55
- Fix GC resurrection guard against timestamp race (#33) by @davidwkeith in #56
- spec: draft proposals for next-standard packages (#57–#64) by @davidwkeith in #66
- Fix DPoP jti replay enforcement gaps in solid-pod writes by @davidwkeith in #54
- docs: refresh CLAUDE.md to implemented state and conformance gate by @davidwkeith in #65
- Adopt logging + metrics seams in indieauth, micropub, solid-pod by @davidwkeith in #67
- fix(solid-pod): bound N3 Patch where solver against DO CPU exhaustion (#36) by @davidwkeith in #68
- fix(solid-pod): close LDP/content-negotiation conformance gaps (#37) by @davidwkeith in #69
- fix(rdf): JSON-LD toRDF conformance bugs (#38) by @davidwkeith in #72
- Fix micropub auth/scope and conformance gaps (#39) by @davidwkeith in #71
- Fix cross-resource blob ETag collisions and Content-Type overwrites (#40) by @davidwkeith in #70
- Harden @dwk/indieauth authorization endpoint (#41) by @davidwkeith in #73
- Harden @dwk/dpop proof verification (#42) by @davidwkeith in #74
- Add @dwk/webfinger — WebFinger (RFC 7033) discovery endpoint by @davidwkeith in #76
- Replace fragile regexes with plain string handling + HTMLRewriter by @davidwkeith in #75
- Add @dwk/http-signatures — HTTP Message Signatures (RFC 9421 + draft-cavage) by @davidwkeith in #77
- feat(websub): implement @dwk/websub WebSub hub (#60) by @davidwkeith in #78
- Add @dwk/activitypub — native ActivityPub actor (inbox/outbox, S2S federation) by @davidwkeith in #79
- test: implement the test-coverage improvement plan (+100 tests, coverage in CI) by @davidwkeith in #80
- Add @dwk/vc: did:web identity + Verifiable Credentials by @davidwkeith in #81
- test(rdf): raise jsonld.ts branch coverage to ~98% by @davidwkeith in #85
- Add
@dwk/oauth— OAuth 2.0 server building blocks (#62) by @davidwkeith in #86 - test(solid-pod): cover pod.ts conflict/GC-internal paths and the auth.ts authenticate hook by @davidwkeith in #88
- feat(ldn): extract @dwk/ldn and wire solid-pod + activitypub (#63) by @davidwkeith in #87
- test(activitypub): cover object.ts branches (58% → 96%) by @davidwkeith in #89
- Add @dwk/webauthn — WebAuthn/passkeys relying party (#64) by @davidwkeith in #90
- Fix high-tier W3C/IETF spec-compliance gaps across six packages by @davidwkeith in #104
- spec: server-side standards gap analysis — microsub + honorable-mention proposals by @davidwkeith in #92
- activitypub: spec-compliance follow-ups (sharedInbox, AS2 negotiation, NodeInfo 2.0, inbox validation) by @davidwkeith in #108
- Add @dwk/microsub — IndieWeb read side (Microsub server) by @davidwkeith in #109
- docs(micropub): document mandatory-DPoP posture and 404 invalid_request deviation by @davidwkeith in #110
- fix(ldn): spec-compliance follow-ups for receiver and discovery by @davidwkeith in #111
- websub: WebSub spec-compliance follow-ups (#94) by @davidwkeith in #112
- [dpop] Add support for server-provided DPoP nonce (#99) by @davidwkeith in #114
- Harden VC verification: @context consistency, base58btc proofValue, validity windows (#98) by @davidwkeith in #116
- webmention: spec-compliance follow-ups (#96) by @davidwkeith in #113
- feat(indieauth): audience-restrict access tokens via RFC 8707 (#100) by @davidwkeith in #117
- fix(wac): correct effective-ACL stop condition to WAC §5.1 by @davidwkeith in #115
- Prefer URL object over string matching for keyId fragment stripping by @davidwkeith in #118
- fix(http-signatures): RFC 8941 Content-Digest parsing + cavage default-headers comment by @davidwkeith in #119
- fix(webfinger): 400 on malformed resource parameter (RFC 7033 §4.2) by @davidwkeith in #120
- Add @dwk/host-meta — RFC 6415 host-meta discovery endpoint by @davidwkeith in #121
- Add @dwk/remotestorage — remoteStorage vault on @dwk/store (#105) by @davidwkeith in #122
- Tidy package metadata for cross-package consistency by @davidwkeith in #123
- docs(spec): add Node.js/Express self-hosting design & feasibility study by @davidwkeith in #124
- feat(server): add @dwk/server self-hosting host (phases 1–3) by @davidwkeith in #131
- feat(server): finish Phase 2 — assembleBindings + IndieWeb trio bring-up by @davidwkeith in #132
- feat(server): finish Phase 3 — lifecycle bring-up (queue/cron consumers) by @davidwkeith in #133
- feat(server): Phase 4 — Durable Object emulation + webauthn bring-up by @davidwkeith in #134
- feat(server): complete Phase 4 — solid-pod + WebSocket notifications on the emulated DO by @davidwkeith in #135
- feat(server): Phase 5 — dwk-serve CLI, esbuild bundle, Docker image by @davidwkeith in #136
- feat(conformance): Node self-host conformance column — closes #130 by @davidwkeith in #137
- fix(server): make the self-host Docker image actually build by @davidwkeith in #138
- chore: version all packages to 0.1.0-beta.0 by @davidwkeith in #139
New Contributors
- @davidwkeith made their first contribution in #2
Full Changelog: https://github.com/davidwkeith/workers/commits/v0.1.0-beta.0