From 4ec8ba0491a4de2c70bf83ae592e1d77b3dc65d9 Mon Sep 17 00:00:00 2001 From: dzdidi Date: Fri, 16 Oct 2026 20:22:53 -0300 Subject: [PATCH 1/2] chore: prepare locks 0.1.0 --- Cargo.lock | 12 ++++++------ Cargo.toml | 2 +- docs/SDK_RELEASE.md | 8 ++++---- examples/js-sdk/scripts/smoke-paykit-compose.mjs | 2 +- locks-sdk/bindings/js/package.json | 4 ++-- locks-sdk/bindings/js/scripts/release-readiness.mjs | 7 ++++++- 6 files changed, 20 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index badb701..5ab4a41 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1719,7 +1719,7 @@ dependencies = [ [[package]] name = "locks-core" -version = "0.1.0-rc14" +version = "0.1.0" dependencies = [ "base32", "blake3", @@ -1735,7 +1735,7 @@ dependencies = [ [[package]] name = "locks-e2e" -version = "0.1.0-rc14" +version = "0.1.0" dependencies = [ "async-trait", "axum", @@ -1754,7 +1754,7 @@ dependencies = [ [[package]] name = "locks-sdk" -version = "0.1.0-rc14" +version = "0.1.0" dependencies = [ "locks-core", "paykit-lib", @@ -1771,7 +1771,7 @@ dependencies = [ [[package]] name = "locks-sdk-wasm" -version = "0.1.0-rc14" +version = "0.1.0" dependencies = [ "futures-lite", "js-sys", @@ -1793,7 +1793,7 @@ dependencies = [ [[package]] name = "locks-server" -version = "0.1.0-rc14" +version = "0.1.0" dependencies = [ "anyhow", "async-trait", @@ -1829,7 +1829,7 @@ dependencies = [ [[package]] name = "locks-service" -version = "0.1.0-rc14" +version = "0.1.0" dependencies = [ "async-trait", "base64 0.22.1", diff --git a/Cargo.toml b/Cargo.toml index 5569b26..256e9c6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,7 @@ resolver = "3" [workspace.package] edition = "2024" -version = "0.1.0-rc14" +version = "0.1.0" license = "MIT" repository = "https://github.com/pubky/locks" rust-version = "1.91.1" diff --git a/docs/SDK_RELEASE.md b/docs/SDK_RELEASE.md index 8ebc0b9..e1f6944 100644 --- a/docs/SDK_RELEASE.md +++ b/docs/SDK_RELEASE.md @@ -4,7 +4,7 @@ This document tracks what remains before the JS/WASM browser SDK can be publishe ## Current status -The SDK API foundation is implemented. Public release policy uses `@synonymdev/locks-sdk`, public npm access, and the `rc` dist-tag for release candidates. +The SDK API foundation is implemented. Public release policy uses `@synonymdev/locks-sdk`, public npm access, the `rc` dist-tag for release candidates, and the `latest` dist-tag for stable releases. Run the metadata audit: @@ -18,7 +18,7 @@ The command is intentionally informational and exits 0. It reports blockers with The public package is `@synonymdev/locks-sdk`. Its root manifest exports generated wasm-pack JS, declarations, and WASM from `pkg/`. The internal generated package name remains `locks-sdk-wasm`; it is not published as a separate package. -Release-candidate publication must use npm's `rc` dist-tag so prereleases never replace `latest`. +Release-candidate publication must use npm's `rc` dist-tag so prereleases never replace `latest`. Stable publication uses `latest`. ## Pre-publish checklist @@ -47,10 +47,10 @@ git diff --check 5. Publish from an authenticated account with `@synonymdev` package permission: ```bash -npm publish ./locks-sdk/bindings/js --access public --tag rc +npm publish ./locks-sdk/bindings/js --access public --tag latest ``` -6. Read back registry metadata and verify package version, public access, and `rc` dist-tag. +6. Read back registry metadata and verify package version, public access, and `latest` dist-tag. ## Explicit non-goals diff --git a/examples/js-sdk/scripts/smoke-paykit-compose.mjs b/examples/js-sdk/scripts/smoke-paykit-compose.mjs index 9c51252..62a80ef 100644 --- a/examples/js-sdk/scripts/smoke-paykit-compose.mjs +++ b/examples/js-sdk/scripts/smoke-paykit-compose.mjs @@ -28,7 +28,7 @@ import { const lockServerPubky = 'pubky7ir1ttte48bcp4zjychjyscicrwi1j34mtt91ptsafdbjmr8g9eo'; const creatorPubky = 'pubkytkrq8zmwb8a3m9k15csu3q17qmfgqnp9dskbrg9uq1rydpyxp7qy'; -const locksReleaseVersion = '0.1.0-rc14'; +const locksReleaseVersion = '0.1.0'; assert.equal(PAYKIT_SERVER_REF, '4cc8e7b836dba28446a8d821f593ee40bb4acbeb'); assert.equal( DEFAULT_PAYKIT_SERVER_CONTEXT, diff --git a/locks-sdk/bindings/js/package.json b/locks-sdk/bindings/js/package.json index b2ee446..031633d 100644 --- a/locks-sdk/bindings/js/package.json +++ b/locks-sdk/bindings/js/package.json @@ -1,6 +1,6 @@ { "name": "@synonymdev/locks-sdk", - "version": "0.1.0-rc14", + "version": "0.1.0", "description": "Browser JS/WASM bindings for the Pubky Locks Creator SDK", "type": "module", "license": "MIT", @@ -27,7 +27,7 @@ ], "publishConfig": { "access": "public", - "tag": "rc" + "tag": "latest" }, "scripts": { "build": "wasm-pack build --target web --out-dir pkg", diff --git a/locks-sdk/bindings/js/scripts/release-readiness.mjs b/locks-sdk/bindings/js/scripts/release-readiness.mjs index 4d0acf6..450ba5d 100644 --- a/locks-sdk/bindings/js/scripts/release-readiness.mjs +++ b/locks-sdk/bindings/js/scripts/release-readiness.mjs @@ -11,6 +11,7 @@ const generatedPackagePath = join(pkgDir, 'package.json'); const manifest = JSON.parse(readFileSync(manifestPath, 'utf8')); const cargoToml = readFileSync(cargoTomlPath, 'utf8'); +const expectedDistTag = manifest.version.includes('-') ? 'rc' : 'latest'; const checks = []; @@ -23,7 +24,11 @@ add(manifest.private === true ? 'blocked' : 'ready', 'npm publishing enabled', m add(existsSync(licensePath) ? 'ready' : 'blocked', 'repository LICENSE file', existsSync(licensePath) ? 'LICENSE exists' : 'workspace declares MIT but no LICENSE file exists'); add(cargoToml.includes('license.workspace = true') ? 'ready' : 'blocked', 'Cargo license metadata', 'bindings crate inherits workspace license'); add(manifest.publishConfig?.access === 'public' ? 'ready' : 'blocked', 'npm public access', `publishConfig.access=${manifest.publishConfig?.access}`); -add(manifest.publishConfig?.tag === 'rc' ? 'ready' : 'blocked', 'npm RC dist-tag', `publishConfig.tag=${manifest.publishConfig?.tag}`); +add( + manifest.publishConfig?.tag === expectedDistTag ? 'ready' : 'blocked', + `npm ${expectedDistTag} dist-tag`, + `publishConfig.tag=${manifest.publishConfig?.tag}`, +); add(manifest.exports?.['.']?.import === './pkg/locks_sdk_wasm.js' ? 'ready' : 'blocked', 'package root export', `exports["."].import=${manifest.exports?.['.']?.import}`); if (existsSync(generatedPackagePath)) { From 4606c0896edd0551af34a9bed67bd211326f0d67 Mon Sep 17 00:00:00 2001 From: dzdidi Date: Fri, 16 Oct 2026 21:11:15 -0300 Subject: [PATCH 2/2] docs: install stable locks SDK --- locks-sdk/bindings/js/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locks-sdk/bindings/js/README.md b/locks-sdk/bindings/js/README.md index afa9cd4..2a91290 100644 --- a/locks-sdk/bindings/js/README.md +++ b/locks-sdk/bindings/js/README.md @@ -5,7 +5,7 @@ Browser JS/WASM SDK for Pubky Locks. ## Install ```bash -npm install @synonymdev/locks-sdk@rc +npm install @synonymdev/locks-sdk ``` ## Initialize