Releases: pkcprotocol/pkc-js
Releases · pkcprotocol/pkc-js
v0.0.18
v0.0.17
0.0.17 (2026-04-18)
Bug Fixes
- add timeout to resolveAuthorNameIfNeeded to prevent hanging on unresolvable domains (15adb88)
- break circular dependency in schema imports (717fe1a)
- bypass Vite 8 JSON recursion limit on large test fixtures (fef14c0)
- don't throw retriable errors immediately in getCommunity (944b7ad)
- downgrade release-it to 19.2.4 to resolve peer dependency conflict (f5f6a73)
- downgrade Vite 8 to 7.3.2 to fix JSON recursion limit on test fixtures (f80d04b)
- reduce npm audit vulnerabilities from 16 to 11 (de9fdfd), closes cz-cli#1011 #1007 #963
- resolve author names through community's client manager and update RPC test params (aca0e21)
- resolve RPC test failures from shared RPC types refactoring (f1241eb)
- resolve TypeScript errors in test files for tempy imports and NetworkError type (3752139)
- route browser debug output through per-test stderr logs (f5783fd)
- skip ignoreChallenge tests until feature is implemented (ac0a1c0)
- test: stabilize flaky browser gateway tests (bc317a3)
- untrack updating community before async stop to prevent race condition (5699f5c)
v0.0.16
0.0.16 (2026-04-16)
Features
- ci: enable per-test logs and upload all logs as artifacts on failure (c7a23a1)
- test: add --per-test-logs flag for per-file stdout/stderr capture (47a65d5)
Bug Fixes
- add missing ERR_ROLE_ADDRESS_NAME_COULD_NOT_BE_RESOLVED error code to fix build (9ce78eb)
- ci: cap vitest forks to 3 on Windows to prevent Kubo overload (b581c2f)
- ci: use GitHub App token for release push to bypass branch protection (3c8e068)
- ci: use os.tmpdir() for test server log path to fix Windows CI (142e26f)
- ci: use runner.temp for per-test-logs path to fix Windows artifact upload (3f53a58)
- comment: search all tracked communities when comment identity is unknown (477e9c2)
- community: handle error fired synchronously during community.update() (9777abf)
- community: make ERR_COMMUNITY_SIGNATURE_IS_INVALID retriable for gateways (d33f112)
- community: prevent author name resolution from setting updatingState to resolving-name (6e804b8)
- community: set publicKey in setAddress() for non-domain addresses (8b38f8c)
- pass resolved community signature to usePageCidsOfParentToFetchCommentUpdateForReply (b311da1)
- pkc: be stricter about no public key or name (dd1805e)
- rpc: preserve plain Error messages in RPC server→client serialization (8120f57)
- rpc: prevent circular error reference from crashing RPC server (f4d880b)
- rpc: send communityPublicKey/communityName instead of communityAddress in page RPC params (780214f)
- schema: preserve class-based name resolver instances through Zod parsing (63ebcc0)
- test: add missing publicKey to delete() mock in garbage collection test (2d037d3)
- test: attach event listeners before update() to prevent RPC race condition (7a25545)
- test: avoid concurrent test contention in updatingstate regression test (337bc68)
- test: check RPC server is running before executing RPC tests (6bff826)
- test: log test server output to /tmp/test-server-{config}-{date}.log (5c94dc2)
- test: make tests using real Kubo port 15005 sequential (7da2636)
- test: make vitest JSON report path unique per config and environment (c0df47d)
- test: retry IPNS name.resolve in publishToIpns to avoid transient CI failures (2b95fa7)
- test: update tests for silent gateway signature error retry (a02db14)
- verify: restore community-belongs-to check and fix replies._community timing (ac3fb67)
v0.0.15
v0.0.14
v0.0.13
v0.0.12
0.0.12 (2026-04-10)
Features
- add challenges export subpath (923171b)
- add nameResolved to AuthorReservedFields and test subplebbit nameResolved rejection (f331d33)
- db migration v36→v37 + fix test typing for Phase 1B Step 2 (Phase 1B Step 3) (4d01aec)
- make duplicate publication handling idempotent (up to 3 retries) (8b5dd67)
- make nameResolved a reserved field across all publication types and IPFS records (1fdbe67)
- publication wire format — communityPublicKey/communityName, defer signing (Phase 1B Step 2) (779b4da)
- publicKey fallback when community name resolution fails (e304285)
- replace chainProviders-based name resolution with nameResolvers plugin system (2385cd5)
- restructure RPC wire format for local subs and expose raw.localSubplebbit (086678b)
- stats: canonicalize active-user counts across pseudonymity aliases (e07ee58)
- subplebbit wire format — add
name, makeaddressinstance-only (Phase 1B Step 1) (3c3fac7) - support key migration over RPC and remove unnecessary itSkipIfRpc (234c9be)
- thread stop abort signals into fetch/load operations (727744b)
- update nameResolver resolve to return { publicKey } object and accept abortSignal (366f5de)
- validate subplebbit loading with address/name/publicKey combinations (4c31894)
Bug Fixes
- abort comment and sub verification on stop (437913e)
- add "runtimeupdate" RPC event for nameResolved changes without commentUpdate (02f8a98)
- add null guard for raw.subplebbitIpfs in toJSONRpcRemote (5ea6908)
- align nameResolvers clients test with new nameResolvers system (2d96ec3)
- align page signature test with runtime-only author.address (02ef281)
- align resolver tests with server-side author domain validation (4e2f635)
- align subplebbit signature test with immutable author.address (757e750)
- align tests and migration with author.address wire format refactor (d8ec089)
- allow author.address in old CommentIpfs records during verification (55c1363)
- allow authors to delete their own pending/disapproved comments (45c59cc)
- allow nullable author column in DB tables for empty wire authors (96172a0)
- ci: allow release-it to run with dirty working dir from build output (676822a)
- ci: include dist in release-it commit to fix empty changelogs (8f4ecaa)
- ci: move key-migration test to node-only directory (7932a96)
- ci: update benchmarks deploy key secret name to PKC_JS_BENCHMARKS_DEPLOY_KEY (9c58340)
- correct v36 test schemas to use subplebbitAddress and update stale mock name (21fc2c2)
- deferred signing in test utils + _spreadExtraProps CID mismatch for migrated rows (21d9b4d)
- deferred signing sets subtype props + robust community address DB queries (ee716e5)
- derive communityName/communityPublicKey from communityAddress (05b2434)
- destroy name resolvers when pkc.destroy() is called (10eca9a)
- edit({ address: domain }) now sets name for correct address derivation (d33f4ed)
- fail fast in run-test-config if test server is offline (6de9c58)
- fix multiple RPC test failures (ad05010)
- fix RPC test failures for address edit, nameResolved propagation, and spurious updates (d60e253)
- fix RPC test failures for nameResolved propagation, internal format key, and test utility (bb5afca)
- fix RPC test failures for subplebbitIpfs, author resolution, nameResolvers (7f5ae07)
- fix RPC test failures in ownKeys, createSubplebbit, and clone rehydration (6cf013a)
- gracefully handle invalid subplebbitIpfs schema from old DBs before migration (f6b0327)
- handle community key migration in comment update handler (e7b900b)
- handle communityAddress in getCommunityAddressFromRecord and raw.subplebbitIpfs compat (d6abb44)
- handle getter-only properties in deepMergeRuntimeFields (c836d8c)
- handle subplebbit name resolution migration (66c4e79)
- include signature in verifyCommentIpfs cache key to detect tampered signatures (65eec27)
- insert comment moderation into DB before setting publish trigger (57be7f6)
- log signatureValidity.reason in community gateway error for better diagnostics (32fff36)
- logging: add error logging before throwing P2P fetch/resolve errors (76afbdc)
- make author-name-resolved page tests robust and deterministic (1415558)
- make comment author.nameResolved strictly runtime — never copied via spread/stringify (6914814)
- make modQueue.pages default to {} like posts.pages (1837289)
- merge: fix merge algo and add a regression for it (c46c35c)
- normalize domain author input (98e1879)
- pass object param to unsubscribe in PlebbitWsServer.destroy() (77d15d8)
- preserve author.nameResolved through createComment (468da8b)
- preserve commentUpdate.author fields (subplebbit, etc.) in page mapping ([ab1c4fb](ab1c4fb12868e9e08816d...