Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
8 changes: 4 additions & 4 deletions docs/SDK_RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand All @@ -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

Expand Down Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion examples/js-sdk/scripts/smoke-paykit-compose.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion locks-sdk/bindings/js/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions locks-sdk/bindings/js/package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand All @@ -27,7 +27,7 @@
],
"publishConfig": {
"access": "public",
"tag": "rc"
"tag": "latest"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The package README still tells users to install @synonymdev/locks-sdk@rc, so following the stable release’s installation instructions won’t select the new stable version. Could we remove @rc from locks-sdk/bindings/js/README.md as part of this change?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 4606c0896edd0551af34a9bed67bd211326f0d67: locks-sdk/bindings/js/README.md now installs @synonymdev/locks-sdk without the stale @rc tag. Exact-head Checks and RustSec passed. Re-review requested.

},
"scripts": {
"build": "wasm-pack build --target web --out-dir pkg",
Expand Down
7 changes: 6 additions & 1 deletion locks-sdk/bindings/js/scripts/release-readiness.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -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 = [];

Expand All @@ -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)) {
Expand Down
Loading