From f203ff31f0143898fd51b49dc9dfcc8572859778 Mon Sep 17 00:00:00 2001 From: Vincent Driessen Date: Tue, 12 Aug 2025 13:24:12 +0200 Subject: [PATCH 1/6] Allow publishing to NPM without associating an explicit tag (#2587) --- .github/scripts/publish.sh | 52 ++++++++++++++------------ .github/workflows/publish-packages.yml | 8 +++- 2 files changed, 35 insertions(+), 25 deletions(-) diff --git a/.github/scripts/publish.sh b/.github/scripts/publish.sh index b2ceb0b38bd..81804cad379 100755 --- a/.github/scripts/publish.sh +++ b/.github/scripts/publish.sh @@ -6,8 +6,10 @@ GITHUB_URL="https://github.com/liveblocks/liveblocks" usage () { err "publish.sh [-V ] [-t ] [...]" err "" - err " -V the version to publish to NPM" - err " -t the NPM tag to use" + err " -V The version to publish to NPM." + err " -t The NPM tag to use." + err " When explicitly set to the empty string (-t ''), no tag will" + err " be assigned on NPM." err "" } @@ -77,7 +79,7 @@ publish_to_npm () { fi echo "I'm ready to publish $PKGNAME to NPM, under $VERSION!" - npm publish --tag private + npm publish --tag privaterollout } # Turns "packages/liveblocks-core" => "@liveblocks/core" @@ -86,7 +88,9 @@ npm_pkgname () { } check_is_valid_version "$VERSION" -check_is_valid_tag "$TAG" +if [ -n "$TAG" ]; then + check_is_valid_tag "$TAG" +fi # Publish to NPM for pkgdir in "$@"; do @@ -95,29 +99,31 @@ for pkgdir in "$@"; do ( cd "$pkgdir" && publish_to_npm "$pkgname" ) done -# By now, all packages should be published under a "private" tag. -# We'll verify that now, and if indeed correct, we'll "assign" the intended tag -# instead. Afterwards, we'll remove the "private" tags again. -echo "" -echo "Assigning definitive NPM tags" -for pkgdir in "$@"; do - pkgname="$(npm_pkgname "$pkgdir")" - while true; do - if npm dist-tag ls "$pkgname" | grep -qEe ": $VERSION\$"; then - echo "==> Adding tag $TAG to $pkgname@$VERSION" - npm dist-tag add "$pkgname@$VERSION" "$TAG" - break - else - err "I can't find $pkgname@$VERSION on NPM yet..." - sleep 5 - fi +if [ -n "$TAG" ]; then + # By now, all packages should be published under a "privaterollout" tag. + # We'll verify that now, and if indeed correct, we'll "assign" the intended tag + # instead. Afterwards, we'll remove the "privaterollout" tags again. + echo "" + echo "Assigning definitive NPM tags" + for pkgdir in "$@"; do + pkgname="$(npm_pkgname "$pkgdir")" + while true; do + if npm dist-tag ls "$pkgname" | grep -qEe ": $VERSION\$"; then + echo "==> Adding tag $TAG to $pkgname@$VERSION" + npm dist-tag add "$pkgname@$VERSION" "$TAG" + break + else + err "I can't find $pkgname@$VERSION on NPM yet..." + sleep 5 + fi + done done -done +fi -# Clean up those temporary "private" tags +# Clean up those temporary "privaterollout" tags for pkgdir in "$@"; do pkgname="$(npm_pkgname "$pkgdir")" - npm dist-tag rm "$pkgname@$VERSION" private || echo "Continuing despite error..." + npm dist-tag rm "$pkgname@$VERSION" privaterollout || echo "Continuing despite error..." done echo "" diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index 2384dd328fb..b2aeacb17e4 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -49,10 +49,14 @@ jobs: GIT_TAG: ${{ inputs.tag }} run: | get_npm_tag () { - if grep -q "-" <<< "$1"; then + if [ "$1" = "main" ]; then + # Publishing from the main branch explicitly uses the `latest` tag explicitly. + echo "latest" + elif grep -q "-" <<< "$1"; then + # If the git tag uses a x.y.z-tagnameN convention, extract the tagname echo "${1##*-}" | sed 's/[0-9]//g' else - echo "latest" + # Return no tag fi } echo value=$(get_npm_tag "$GIT_TAG") >> $GITHUB_OUTPUT From 564504c13bac1f68611c25d8f7fac9d3309238f0 Mon Sep 17 00:00:00 2001 From: Marc Bouchenoire Date: Tue, 12 Aug 2025 13:39:32 +0200 Subject: [PATCH 2/6] Fix tagless releases outside of `main` (#2588) --- .github/scripts/validate-version.sh | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/scripts/validate-version.sh b/.github/scripts/validate-version.sh index 8e8a3150b86..fd4aeffb9f5 100755 --- a/.github/scripts/validate-version.sh +++ b/.github/scripts/validate-version.sh @@ -15,10 +15,16 @@ check_is_valid_github_tag () { } get_npm_tag () { - if grep -q "-" <<< "$1"; then - echo "${1##*-}" | sed 's/[0-9]//g' - else + CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) + if [ "$CURRENT_BRANCH" = "main" ]; then + # Publishing from the main branch explicitly uses the `latest` tag explicitly. echo "latest" + elif grep -q "-" <<< "$1"; then + # If the git tag uses a x.y.z-tagnameN convention, extract the tagname + echo "${1##*-}" | sed 's/[0-9]//g' + else + # Return no tag for other branches + echo "" fi } @@ -28,12 +34,12 @@ check_npm_tag_allowed_on_branch () { echo "Checking if npm tag $NPM_TAG is allowed on branch $CURRENT_BRANCH" if [ "$NPM_TAG" == "beta" ] && [ "$CURRENT_BRANCH" != "beta" ]; then - err "Error! Only the beta tag is allowed on beta branch" + err "Error! You can only push a beta tag on the beta branch" exit 2 fi if [ "$NPM_TAG" == "latest" ] && [ "$CURRENT_BRANCH" != "main" ]; then - err "Error! You can only push a version without an npm tag on the main branch" + err "Error! You can only push a latest tag on the main branch" exit 2 fi } From 1d3192b1abad07fd6901c5817fca54812f0ddd53 Mon Sep 17 00:00:00 2001 From: Marc Bouchenoire Date: Tue, 12 Aug 2025 14:08:44 +0200 Subject: [PATCH 3/6] Fix release script (#2589) --- .github/workflows/publish-packages.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index b2aeacb17e4..abebbbc4f21 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -56,7 +56,8 @@ jobs: # If the git tag uses a x.y.z-tagnameN convention, extract the tagname echo "${1##*-}" | sed 's/[0-9]//g' else - # Return no tag + # Return no tag for other branches + echo "" fi } echo value=$(get_npm_tag "$GIT_TAG") >> $GITHUB_OUTPUT From b40d8e2f3cbb8b9d28c338b09e7a371558a3a48b Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot <> Date: Tue, 12 Aug 2025 12:13:56 +0000 Subject: [PATCH 4/6] Bump to 3.3.2 --- package-lock.json | 98 +++++++++---------- packages/liveblocks-client/package.json | 4 +- packages/liveblocks-core/package.json | 2 +- packages/liveblocks-emails/package.json | 6 +- packages/liveblocks-node-lexical/package.json | 6 +- .../liveblocks-node-prosemirror/package.json | 6 +- packages/liveblocks-node/package.json | 4 +- .../liveblocks-react-blocknote/package.json | 14 +-- .../liveblocks-react-lexical/package.json | 12 +-- packages/liveblocks-react-tiptap/package.json | 12 +-- packages/liveblocks-react-ui/package.json | 8 +- packages/liveblocks-react/package.json | 6 +- packages/liveblocks-redux/package.json | 6 +- packages/liveblocks-yjs/package.json | 6 +- packages/liveblocks-zustand/package.json | 6 +- 15 files changed, 98 insertions(+), 98 deletions(-) diff --git a/package-lock.json b/package-lock.json index 29d4c524a11..f4153ba8e42 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37336,10 +37336,10 @@ }, "packages/liveblocks-client": { "name": "@liveblocks/client", - "version": "3.3.1", + "version": "3.3.2", "license": "Apache-2.0", "dependencies": { - "@liveblocks/core": "3.3.1" + "@liveblocks/core": "3.3.2" }, "devDependencies": { "@liveblocks/eslint-config": "*", @@ -37348,7 +37348,7 @@ }, "packages/liveblocks-core": { "name": "@liveblocks/core", - "version": "3.3.1", + "version": "3.3.2", "license": "Apache-2.0", "devDependencies": { "@liveblocks/eslint-config": "*", @@ -37366,11 +37366,11 @@ }, "packages/liveblocks-emails": { "name": "@liveblocks/emails", - "version": "3.3.1", + "version": "3.3.2", "license": "Apache-2.0", "dependencies": { - "@liveblocks/core": "3.3.1", - "@liveblocks/node": "3.3.1" + "@liveblocks/core": "3.3.2", + "@liveblocks/node": "3.3.2" }, "devDependencies": { "@liveblocks/eslint-config": "*", @@ -37484,10 +37484,10 @@ }, "packages/liveblocks-node": { "name": "@liveblocks/node", - "version": "3.3.1", + "version": "3.3.2", "license": "Apache-2.0", "dependencies": { - "@liveblocks/core": "3.3.1", + "@liveblocks/core": "3.3.2", "@stablelib/base64": "^1.0.1", "fast-sha256": "^1.3.0", "node-fetch": "^2.6.1" @@ -37502,11 +37502,11 @@ }, "packages/liveblocks-node-lexical": { "name": "@liveblocks/node-lexical", - "version": "3.3.1", + "version": "3.3.2", "license": "Apache-2.0", "dependencies": { - "@liveblocks/core": "3.3.1", - "@liveblocks/node": "3.3.1", + "@liveblocks/core": "3.3.2", + "@liveblocks/node": "3.3.2", "yjs": "^13.6.18" }, "devDependencies": { @@ -37523,11 +37523,11 @@ }, "packages/liveblocks-node-prosemirror": { "name": "@liveblocks/node-prosemirror", - "version": "3.3.1", + "version": "3.3.2", "license": "Apache-2.0", "dependencies": { - "@liveblocks/core": "3.3.1", - "@liveblocks/node": "3.3.1", + "@liveblocks/core": "3.3.2", + "@liveblocks/node": "3.3.2", "yjs": "^13.6.20" }, "devDependencies": { @@ -37737,11 +37737,11 @@ }, "packages/liveblocks-react": { "name": "@liveblocks/react", - "version": "3.3.1", + "version": "3.3.2", "license": "Apache-2.0", "dependencies": { - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1" + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2" }, "devDependencies": { "@liveblocks/eslint-config": "*", @@ -37771,15 +37771,15 @@ }, "packages/liveblocks-react-blocknote": { "name": "@liveblocks/react-blocknote", - "version": "3.3.1", + "version": "3.3.2", "license": "Apache-2.0", "dependencies": { - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1", - "@liveblocks/react": "3.3.1", - "@liveblocks/react-tiptap": "3.3.1", - "@liveblocks/react-ui": "3.3.1", - "@liveblocks/yjs": "3.3.1", + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2", + "@liveblocks/react": "3.3.2", + "@liveblocks/react-tiptap": "3.3.2", + "@liveblocks/react-ui": "3.3.2", + "@liveblocks/yjs": "3.3.2", "@tiptap/core": "^2.7.2", "vitest-tsconfig-paths": "^3.4.1" }, @@ -37816,15 +37816,15 @@ }, "packages/liveblocks-react-lexical": { "name": "@liveblocks/react-lexical", - "version": "3.3.1", + "version": "3.3.2", "license": "Apache-2.0", "dependencies": { "@floating-ui/react-dom": "^2.1.1", - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1", - "@liveblocks/react": "3.3.1", - "@liveblocks/react-ui": "3.3.1", - "@liveblocks/yjs": "3.3.1", + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2", + "@liveblocks/react": "3.3.2", + "@liveblocks/react-ui": "3.3.2", + "@liveblocks/yjs": "3.3.2", "@radix-ui/react-select": "^2.1.2", "@radix-ui/react-toggle": "^1.1.0", "yjs": "^13.6.18" @@ -38353,15 +38353,15 @@ }, "packages/liveblocks-react-tiptap": { "name": "@liveblocks/react-tiptap", - "version": "3.3.1", + "version": "3.3.2", "license": "Apache-2.0", "dependencies": { "@floating-ui/react-dom": "^2.1.2", - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1", - "@liveblocks/react": "3.3.1", - "@liveblocks/react-ui": "3.3.1", - "@liveblocks/yjs": "3.3.1", + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2", + "@liveblocks/react": "3.3.2", + "@liveblocks/react-ui": "3.3.2", + "@liveblocks/yjs": "3.3.2", "@radix-ui/react-select": "^2.1.2", "@radix-ui/react-toggle": "^1.1.0", "@tiptap/core": "^2.7.2", @@ -38886,13 +38886,13 @@ }, "packages/liveblocks-react-ui": { "name": "@liveblocks/react-ui", - "version": "3.3.1", + "version": "3.3.2", "license": "Apache-2.0", "dependencies": { "@floating-ui/react-dom": "^2.1.2", - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1", - "@liveblocks/react": "3.3.1", + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2", + "@liveblocks/react": "3.3.2", "@radix-ui/react-dropdown-menu": "^2.1.2", "@radix-ui/react-popover": "^1.1.2", "@radix-ui/react-slot": "^1.1.0", @@ -40067,11 +40067,11 @@ }, "packages/liveblocks-redux": { "name": "@liveblocks/redux", - "version": "3.3.1", + "version": "3.3.2", "license": "Apache-2.0", "dependencies": { - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1" + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2" }, "devDependencies": { "@liveblocks/eslint-config": "*", @@ -40198,10 +40198,10 @@ }, "packages/liveblocks-yjs": { "name": "@liveblocks/yjs", - "version": "3.3.1", + "version": "3.3.2", "dependencies": { - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1", + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2", "@noble/hashes": "^1.8.0", "js-base64": "^3.7.7", "y-indexeddb": "^9.0.12" @@ -40279,11 +40279,11 @@ }, "packages/liveblocks-zustand": { "name": "@liveblocks/zustand", - "version": "3.3.1", + "version": "3.3.2", "license": "Apache-2.0", "dependencies": { - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1" + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2" }, "devDependencies": { "@liveblocks/eslint-config": "*", diff --git a/packages/liveblocks-client/package.json b/packages/liveblocks-client/package.json index 49c819cbb23..29bf5769804 100644 --- a/packages/liveblocks-client/package.json +++ b/packages/liveblocks-client/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/client", - "version": "3.3.1", + "version": "3.3.2", "description": "A client that lets you interact with Liveblocks servers. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.", "license": "Apache-2.0", "type": "module", @@ -34,7 +34,7 @@ "test:watch": "jest --silent --verbose --color=always --passWithNoTests --watch" }, "dependencies": { - "@liveblocks/core": "3.3.1" + "@liveblocks/core": "3.3.2" }, "devDependencies": { "@liveblocks/eslint-config": "*", diff --git a/packages/liveblocks-core/package.json b/packages/liveblocks-core/package.json index 489d9807dc2..dc7b0c895be 100644 --- a/packages/liveblocks-core/package.json +++ b/packages/liveblocks-core/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/core", - "version": "3.3.1", + "version": "3.3.2", "description": "Private internals for Liveblocks. DO NOT import directly from this package!", "type": "module", "main": "./dist/index.cjs", diff --git a/packages/liveblocks-emails/package.json b/packages/liveblocks-emails/package.json index 7425e3d7b00..b17fbdfbf05 100644 --- a/packages/liveblocks-emails/package.json +++ b/packages/liveblocks-emails/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/emails", - "version": "3.3.1", + "version": "3.3.2", "description": "A set of functions and utilities to make sending emails based on Liveblocks notification events easy. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.", "license": "Apache-2.0", "type": "module", @@ -35,8 +35,8 @@ "test:watch": "jest --silent --verbose --color=always --watch" }, "dependencies": { - "@liveblocks/core": "3.3.1", - "@liveblocks/node": "3.3.1" + "@liveblocks/core": "3.3.2", + "@liveblocks/node": "3.3.2" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc" diff --git a/packages/liveblocks-node-lexical/package.json b/packages/liveblocks-node-lexical/package.json index 19fc4f3ebc7..caa25ebcede 100644 --- a/packages/liveblocks-node-lexical/package.json +++ b/packages/liveblocks-node-lexical/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/node-lexical", - "version": "3.3.1", + "version": "3.3.2", "description": "A server-side utility that lets you modify lexical documents hosted in Liveblocks.", "license": "Apache-2.0", "type": "module", @@ -34,8 +34,8 @@ "test:watch": "jest --silent --verbose --color=always --watch" }, "dependencies": { - "@liveblocks/core": "3.3.1", - "@liveblocks/node": "3.3.1", + "@liveblocks/core": "3.3.2", + "@liveblocks/node": "3.3.2", "yjs": "^13.6.18" }, "peerDependencies": { diff --git a/packages/liveblocks-node-prosemirror/package.json b/packages/liveblocks-node-prosemirror/package.json index a3ccdb6f39a..e080eec2435 100644 --- a/packages/liveblocks-node-prosemirror/package.json +++ b/packages/liveblocks-node-prosemirror/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/node-prosemirror", - "version": "3.3.1", + "version": "3.3.2", "description": "A server-side utility that lets you modify prosemirror and tiptap documents hosted in Liveblocks.", "license": "Apache-2.0", "type": "module", @@ -34,8 +34,8 @@ "test:watch": "jest --silent --verbose --color=always --watch" }, "dependencies": { - "@liveblocks/core": "3.3.1", - "@liveblocks/node": "3.3.1", + "@liveblocks/core": "3.3.2", + "@liveblocks/node": "3.3.2", "yjs": "^13.6.20" }, "peerDependencies": { diff --git a/packages/liveblocks-node/package.json b/packages/liveblocks-node/package.json index 00eacc992f3..53ca0d70617 100644 --- a/packages/liveblocks-node/package.json +++ b/packages/liveblocks-node/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/node", - "version": "3.3.1", + "version": "3.3.2", "description": "A server-side utility that lets you set up a Liveblocks authentication endpoint. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.", "license": "Apache-2.0", "type": "module", @@ -34,7 +34,7 @@ "test:watch": "jest --silent --verbose --color=always --watch" }, "dependencies": { - "@liveblocks/core": "3.3.1", + "@liveblocks/core": "3.3.2", "@stablelib/base64": "^1.0.1", "fast-sha256": "^1.3.0", "node-fetch": "^2.6.1" diff --git a/packages/liveblocks-react-blocknote/package.json b/packages/liveblocks-react-blocknote/package.json index 7989aa9891d..24716d4a511 100644 --- a/packages/liveblocks-react-blocknote/package.json +++ b/packages/liveblocks-react-blocknote/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/react-blocknote", - "version": "3.3.1", + "version": "3.3.2", "description": "An integration of BlockNote + React to enable collaboration, comments, live cursors, and more with Liveblocks.", "license": "Apache-2.0", "type": "module", @@ -42,12 +42,12 @@ "test:watch": "vitest" }, "dependencies": { - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1", - "@liveblocks/react": "3.3.1", - "@liveblocks/react-tiptap": "3.3.1", - "@liveblocks/react-ui": "3.3.1", - "@liveblocks/yjs": "3.3.1", + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2", + "@liveblocks/react": "3.3.2", + "@liveblocks/react-tiptap": "3.3.2", + "@liveblocks/react-ui": "3.3.2", + "@liveblocks/yjs": "3.3.2", "@tiptap/core": "^2.7.2", "vitest-tsconfig-paths": "^3.4.1" }, diff --git a/packages/liveblocks-react-lexical/package.json b/packages/liveblocks-react-lexical/package.json index 5f975e51eee..9c320ee5fd6 100644 --- a/packages/liveblocks-react-lexical/package.json +++ b/packages/liveblocks-react-lexical/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/react-lexical", - "version": "3.3.1", + "version": "3.3.2", "description": "An integration of Lexical + React to enable collaboration, comments, live cursors, and more with Liveblocks.", "license": "Apache-2.0", "type": "module", @@ -43,11 +43,11 @@ }, "dependencies": { "@floating-ui/react-dom": "^2.1.1", - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1", - "@liveblocks/react": "3.3.1", - "@liveblocks/react-ui": "3.3.1", - "@liveblocks/yjs": "3.3.1", + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2", + "@liveblocks/react": "3.3.2", + "@liveblocks/react-ui": "3.3.2", + "@liveblocks/yjs": "3.3.2", "@radix-ui/react-select": "^2.1.2", "@radix-ui/react-toggle": "^1.1.0", "yjs": "^13.6.18" diff --git a/packages/liveblocks-react-tiptap/package.json b/packages/liveblocks-react-tiptap/package.json index 96e6cdc7eb7..6e33204f070 100644 --- a/packages/liveblocks-react-tiptap/package.json +++ b/packages/liveblocks-react-tiptap/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/react-tiptap", - "version": "3.3.1", + "version": "3.3.2", "description": "An integration of TipTap + React to enable collaboration, comments, live cursors, and more with Liveblocks.", "license": "Apache-2.0", "type": "module", @@ -43,11 +43,11 @@ }, "dependencies": { "@floating-ui/react-dom": "^2.1.2", - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1", - "@liveblocks/react": "3.3.1", - "@liveblocks/react-ui": "3.3.1", - "@liveblocks/yjs": "3.3.1", + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2", + "@liveblocks/react": "3.3.2", + "@liveblocks/react-ui": "3.3.2", + "@liveblocks/yjs": "3.3.2", "@radix-ui/react-select": "^2.1.2", "@radix-ui/react-toggle": "^1.1.0", "@tiptap/core": "^2.7.2", diff --git a/packages/liveblocks-react-ui/package.json b/packages/liveblocks-react-ui/package.json index 702b57e25d6..910f6927a27 100644 --- a/packages/liveblocks-react-ui/package.json +++ b/packages/liveblocks-react-ui/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/react-ui", - "version": "3.3.1", + "version": "3.3.2", "description": "A set of React pre-built components for the Liveblocks products. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.", "license": "Apache-2.0", "type": "module", @@ -76,9 +76,9 @@ }, "dependencies": { "@floating-ui/react-dom": "^2.1.2", - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1", - "@liveblocks/react": "3.3.1", + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2", + "@liveblocks/react": "3.3.2", "@radix-ui/react-dropdown-menu": "^2.1.2", "@radix-ui/react-popover": "^1.1.2", "@radix-ui/react-slot": "^1.1.0", diff --git a/packages/liveblocks-react/package.json b/packages/liveblocks-react/package.json index cfc946f249d..0ca8f5a82b1 100644 --- a/packages/liveblocks-react/package.json +++ b/packages/liveblocks-react/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/react", - "version": "3.3.1", + "version": "3.3.2", "description": "A set of React hooks and providers to use Liveblocks declaratively. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.", "license": "Apache-2.0", "type": "module", @@ -61,8 +61,8 @@ "showdeps": "depcruise src --include-only '^src' --exclude='__tests__' --output-type dot | dot -T svg > /tmp/dependency-graph.svg && open /tmp/dependency-graph.svg" }, "dependencies": { - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1" + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2" }, "peerDependencies": { "@types/react": "*", diff --git a/packages/liveblocks-redux/package.json b/packages/liveblocks-redux/package.json index 2959ba60e7d..ec408ae690d 100644 --- a/packages/liveblocks-redux/package.json +++ b/packages/liveblocks-redux/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/redux", - "version": "3.3.1", + "version": "3.3.2", "description": "A store enhancer to integrate Liveblocks into Redux stores. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.", "license": "Apache-2.0", "type": "module", @@ -33,8 +33,8 @@ "test:watch": "jest --silent --verbose --color=always --watch" }, "dependencies": { - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1" + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2" }, "peerDependencies": { "redux": "^4 || ^5" diff --git a/packages/liveblocks-yjs/package.json b/packages/liveblocks-yjs/package.json index d7cfabf3efe..1e537bff3b8 100644 --- a/packages/liveblocks-yjs/package.json +++ b/packages/liveblocks-yjs/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/yjs", - "version": "3.3.1", + "version": "3.3.2", "description": "Integrate your existing or new Yjs documents with Liveblocks.", "icense": "Apache-2.0", "type": "module", @@ -33,8 +33,8 @@ "test:watch": "jest --silent --verbose --color=always --watch" }, "dependencies": { - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1", + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2", "@noble/hashes": "^1.8.0", "js-base64": "^3.7.7", "y-indexeddb": "^9.0.12" diff --git a/packages/liveblocks-zustand/package.json b/packages/liveblocks-zustand/package.json index 67bb3df5135..60dac75c667 100644 --- a/packages/liveblocks-zustand/package.json +++ b/packages/liveblocks-zustand/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/zustand", - "version": "3.3.1", + "version": "3.3.2", "description": "A middleware for Zustand to automatically synchronize your stores with Liveblocks. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.", "license": "Apache-2.0", "type": "module", @@ -34,8 +34,8 @@ "test:watch": "jest --silent --verbose --color=always --watch" }, "dependencies": { - "@liveblocks/client": "3.3.1", - "@liveblocks/core": "3.3.1" + "@liveblocks/client": "3.3.2", + "@liveblocks/core": "3.3.2" }, "peerDependencies": { "zustand": "^5.0.1" From d2cc004eace8420005ce3a4609ac2219619e0b25 Mon Sep 17 00:00:00 2001 From: Marc Bouchenoire Date: Tue, 12 Aug 2025 14:38:36 +0200 Subject: [PATCH 5/6] Revert release workflow changes (#2590) --- .github/scripts/publish.sh | 46 +++++++++++--------------- .github/scripts/validate-version.sh | 18 ++++------ .github/workflows/publish-packages.yml | 9 ++--- 3 files changed, 28 insertions(+), 45 deletions(-) diff --git a/.github/scripts/publish.sh b/.github/scripts/publish.sh index 81804cad379..ce3918a96f3 100755 --- a/.github/scripts/publish.sh +++ b/.github/scripts/publish.sh @@ -6,10 +6,8 @@ GITHUB_URL="https://github.com/liveblocks/liveblocks" usage () { err "publish.sh [-V ] [-t ] [...]" err "" - err " -V The version to publish to NPM." - err " -t The NPM tag to use." - err " When explicitly set to the empty string (-t ''), no tag will" - err " be assigned on NPM." + err " -V the version to publish to NPM" + err " -t the NPM tag to use" err "" } @@ -88,9 +86,7 @@ npm_pkgname () { } check_is_valid_version "$VERSION" -if [ -n "$TAG" ]; then - check_is_valid_tag "$TAG" -fi +check_is_valid_tag "$TAG" # Publish to NPM for pkgdir in "$@"; do @@ -99,26 +95,24 @@ for pkgdir in "$@"; do ( cd "$pkgdir" && publish_to_npm "$pkgname" ) done -if [ -n "$TAG" ]; then - # By now, all packages should be published under a "privaterollout" tag. - # We'll verify that now, and if indeed correct, we'll "assign" the intended tag - # instead. Afterwards, we'll remove the "privaterollout" tags again. - echo "" - echo "Assigning definitive NPM tags" - for pkgdir in "$@"; do - pkgname="$(npm_pkgname "$pkgdir")" - while true; do - if npm dist-tag ls "$pkgname" | grep -qEe ": $VERSION\$"; then - echo "==> Adding tag $TAG to $pkgname@$VERSION" - npm dist-tag add "$pkgname@$VERSION" "$TAG" - break - else - err "I can't find $pkgname@$VERSION on NPM yet..." - sleep 5 - fi - done +# By now, all packages should be published under a "privaterollout" tag. +# We'll verify that now, and if indeed correct, we'll "assign" the intended tag +# instead. Afterwards, we'll remove the "privaterollout" tags again. +echo "" +echo "Assigning definitive NPM tags" +for pkgdir in "$@"; do + pkgname="$(npm_pkgname "$pkgdir")" + while true; do + if npm dist-tag ls "$pkgname" | grep -qEe ": $VERSION\$"; then + echo "==> Adding tag $TAG to $pkgname@$VERSION" + npm dist-tag add "$pkgname@$VERSION" "$TAG" + break + else + err "I can't find $pkgname@$VERSION on NPM yet..." + sleep 5 + fi done -fi +done # Clean up those temporary "privaterollout" tags for pkgdir in "$@"; do diff --git a/.github/scripts/validate-version.sh b/.github/scripts/validate-version.sh index fd4aeffb9f5..8fda96a0b71 100755 --- a/.github/scripts/validate-version.sh +++ b/.github/scripts/validate-version.sh @@ -15,16 +15,10 @@ check_is_valid_github_tag () { } get_npm_tag () { - CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) - if [ "$CURRENT_BRANCH" = "main" ]; then - # Publishing from the main branch explicitly uses the `latest` tag explicitly. - echo "latest" - elif grep -q "-" <<< "$1"; then - # If the git tag uses a x.y.z-tagnameN convention, extract the tagname + if grep -q "-" <<< "$1"; then echo "${1##*-}" | sed 's/[0-9]//g' - else - # Return no tag for other branches - echo "" + else + echo "latest" fi } @@ -34,12 +28,12 @@ check_npm_tag_allowed_on_branch () { echo "Checking if npm tag $NPM_TAG is allowed on branch $CURRENT_BRANCH" if [ "$NPM_TAG" == "beta" ] && [ "$CURRENT_BRANCH" != "beta" ]; then - err "Error! You can only push a beta tag on the beta branch" + err "Error! Only the beta tag is allowed on beta branch" exit 2 fi if [ "$NPM_TAG" == "latest" ] && [ "$CURRENT_BRANCH" != "main" ]; then - err "Error! You can only push a latest tag on the main branch" + err "Error! You can only push a version without an npm tag on the main branch" exit 2 fi } @@ -55,4 +49,4 @@ check_git_tag_exists () { check_is_valid_github_tag "$1" check_npm_tag_allowed_on_branch "$1" -check_git_tag_exists "$1" \ No newline at end of file +check_git_tag_exists "$1" diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index abebbbc4f21..2384dd328fb 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -49,15 +49,10 @@ jobs: GIT_TAG: ${{ inputs.tag }} run: | get_npm_tag () { - if [ "$1" = "main" ]; then - # Publishing from the main branch explicitly uses the `latest` tag explicitly. - echo "latest" - elif grep -q "-" <<< "$1"; then - # If the git tag uses a x.y.z-tagnameN convention, extract the tagname + if grep -q "-" <<< "$1"; then echo "${1##*-}" | sed 's/[0-9]//g' else - # Return no tag for other branches - echo "" + echo "latest" fi } echo value=$(get_npm_tag "$GIT_TAG") >> $GITHUB_OUTPUT From c961e5836414f70a3984a8eae4bde98bad7cb96a Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot <> Date: Tue, 12 Aug 2025 12:44:55 +0000 Subject: [PATCH 6/6] Bump to 3.3.3 --- package-lock.json | 98 +++++++++---------- packages/liveblocks-client/package.json | 4 +- packages/liveblocks-core/package.json | 2 +- packages/liveblocks-emails/package.json | 6 +- packages/liveblocks-node-lexical/package.json | 6 +- .../liveblocks-node-prosemirror/package.json | 6 +- packages/liveblocks-node/package.json | 4 +- .../liveblocks-react-blocknote/package.json | 14 +-- .../liveblocks-react-lexical/package.json | 12 +-- packages/liveblocks-react-tiptap/package.json | 12 +-- packages/liveblocks-react-ui/package.json | 8 +- packages/liveblocks-react/package.json | 6 +- packages/liveblocks-redux/package.json | 6 +- packages/liveblocks-yjs/package.json | 6 +- packages/liveblocks-zustand/package.json | 6 +- 15 files changed, 98 insertions(+), 98 deletions(-) diff --git a/package-lock.json b/package-lock.json index f4153ba8e42..c26097e63bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37336,10 +37336,10 @@ }, "packages/liveblocks-client": { "name": "@liveblocks/client", - "version": "3.3.2", + "version": "3.3.3", "license": "Apache-2.0", "dependencies": { - "@liveblocks/core": "3.3.2" + "@liveblocks/core": "3.3.3" }, "devDependencies": { "@liveblocks/eslint-config": "*", @@ -37348,7 +37348,7 @@ }, "packages/liveblocks-core": { "name": "@liveblocks/core", - "version": "3.3.2", + "version": "3.3.3", "license": "Apache-2.0", "devDependencies": { "@liveblocks/eslint-config": "*", @@ -37366,11 +37366,11 @@ }, "packages/liveblocks-emails": { "name": "@liveblocks/emails", - "version": "3.3.2", + "version": "3.3.3", "license": "Apache-2.0", "dependencies": { - "@liveblocks/core": "3.3.2", - "@liveblocks/node": "3.3.2" + "@liveblocks/core": "3.3.3", + "@liveblocks/node": "3.3.3" }, "devDependencies": { "@liveblocks/eslint-config": "*", @@ -37484,10 +37484,10 @@ }, "packages/liveblocks-node": { "name": "@liveblocks/node", - "version": "3.3.2", + "version": "3.3.3", "license": "Apache-2.0", "dependencies": { - "@liveblocks/core": "3.3.2", + "@liveblocks/core": "3.3.3", "@stablelib/base64": "^1.0.1", "fast-sha256": "^1.3.0", "node-fetch": "^2.6.1" @@ -37502,11 +37502,11 @@ }, "packages/liveblocks-node-lexical": { "name": "@liveblocks/node-lexical", - "version": "3.3.2", + "version": "3.3.3", "license": "Apache-2.0", "dependencies": { - "@liveblocks/core": "3.3.2", - "@liveblocks/node": "3.3.2", + "@liveblocks/core": "3.3.3", + "@liveblocks/node": "3.3.3", "yjs": "^13.6.18" }, "devDependencies": { @@ -37523,11 +37523,11 @@ }, "packages/liveblocks-node-prosemirror": { "name": "@liveblocks/node-prosemirror", - "version": "3.3.2", + "version": "3.3.3", "license": "Apache-2.0", "dependencies": { - "@liveblocks/core": "3.3.2", - "@liveblocks/node": "3.3.2", + "@liveblocks/core": "3.3.3", + "@liveblocks/node": "3.3.3", "yjs": "^13.6.20" }, "devDependencies": { @@ -37737,11 +37737,11 @@ }, "packages/liveblocks-react": { "name": "@liveblocks/react", - "version": "3.3.2", + "version": "3.3.3", "license": "Apache-2.0", "dependencies": { - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2" + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3" }, "devDependencies": { "@liveblocks/eslint-config": "*", @@ -37771,15 +37771,15 @@ }, "packages/liveblocks-react-blocknote": { "name": "@liveblocks/react-blocknote", - "version": "3.3.2", + "version": "3.3.3", "license": "Apache-2.0", "dependencies": { - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2", - "@liveblocks/react": "3.3.2", - "@liveblocks/react-tiptap": "3.3.2", - "@liveblocks/react-ui": "3.3.2", - "@liveblocks/yjs": "3.3.2", + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3", + "@liveblocks/react": "3.3.3", + "@liveblocks/react-tiptap": "3.3.3", + "@liveblocks/react-ui": "3.3.3", + "@liveblocks/yjs": "3.3.3", "@tiptap/core": "^2.7.2", "vitest-tsconfig-paths": "^3.4.1" }, @@ -37816,15 +37816,15 @@ }, "packages/liveblocks-react-lexical": { "name": "@liveblocks/react-lexical", - "version": "3.3.2", + "version": "3.3.3", "license": "Apache-2.0", "dependencies": { "@floating-ui/react-dom": "^2.1.1", - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2", - "@liveblocks/react": "3.3.2", - "@liveblocks/react-ui": "3.3.2", - "@liveblocks/yjs": "3.3.2", + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3", + "@liveblocks/react": "3.3.3", + "@liveblocks/react-ui": "3.3.3", + "@liveblocks/yjs": "3.3.3", "@radix-ui/react-select": "^2.1.2", "@radix-ui/react-toggle": "^1.1.0", "yjs": "^13.6.18" @@ -38353,15 +38353,15 @@ }, "packages/liveblocks-react-tiptap": { "name": "@liveblocks/react-tiptap", - "version": "3.3.2", + "version": "3.3.3", "license": "Apache-2.0", "dependencies": { "@floating-ui/react-dom": "^2.1.2", - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2", - "@liveblocks/react": "3.3.2", - "@liveblocks/react-ui": "3.3.2", - "@liveblocks/yjs": "3.3.2", + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3", + "@liveblocks/react": "3.3.3", + "@liveblocks/react-ui": "3.3.3", + "@liveblocks/yjs": "3.3.3", "@radix-ui/react-select": "^2.1.2", "@radix-ui/react-toggle": "^1.1.0", "@tiptap/core": "^2.7.2", @@ -38886,13 +38886,13 @@ }, "packages/liveblocks-react-ui": { "name": "@liveblocks/react-ui", - "version": "3.3.2", + "version": "3.3.3", "license": "Apache-2.0", "dependencies": { "@floating-ui/react-dom": "^2.1.2", - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2", - "@liveblocks/react": "3.3.2", + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3", + "@liveblocks/react": "3.3.3", "@radix-ui/react-dropdown-menu": "^2.1.2", "@radix-ui/react-popover": "^1.1.2", "@radix-ui/react-slot": "^1.1.0", @@ -40067,11 +40067,11 @@ }, "packages/liveblocks-redux": { "name": "@liveblocks/redux", - "version": "3.3.2", + "version": "3.3.3", "license": "Apache-2.0", "dependencies": { - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2" + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3" }, "devDependencies": { "@liveblocks/eslint-config": "*", @@ -40198,10 +40198,10 @@ }, "packages/liveblocks-yjs": { "name": "@liveblocks/yjs", - "version": "3.3.2", + "version": "3.3.3", "dependencies": { - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2", + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3", "@noble/hashes": "^1.8.0", "js-base64": "^3.7.7", "y-indexeddb": "^9.0.12" @@ -40279,11 +40279,11 @@ }, "packages/liveblocks-zustand": { "name": "@liveblocks/zustand", - "version": "3.3.2", + "version": "3.3.3", "license": "Apache-2.0", "dependencies": { - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2" + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3" }, "devDependencies": { "@liveblocks/eslint-config": "*", diff --git a/packages/liveblocks-client/package.json b/packages/liveblocks-client/package.json index 29bf5769804..ca5bc6d74bf 100644 --- a/packages/liveblocks-client/package.json +++ b/packages/liveblocks-client/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/client", - "version": "3.3.2", + "version": "3.3.3", "description": "A client that lets you interact with Liveblocks servers. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.", "license": "Apache-2.0", "type": "module", @@ -34,7 +34,7 @@ "test:watch": "jest --silent --verbose --color=always --passWithNoTests --watch" }, "dependencies": { - "@liveblocks/core": "3.3.2" + "@liveblocks/core": "3.3.3" }, "devDependencies": { "@liveblocks/eslint-config": "*", diff --git a/packages/liveblocks-core/package.json b/packages/liveblocks-core/package.json index dc7b0c895be..bc18d740f57 100644 --- a/packages/liveblocks-core/package.json +++ b/packages/liveblocks-core/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/core", - "version": "3.3.2", + "version": "3.3.3", "description": "Private internals for Liveblocks. DO NOT import directly from this package!", "type": "module", "main": "./dist/index.cjs", diff --git a/packages/liveblocks-emails/package.json b/packages/liveblocks-emails/package.json index b17fbdfbf05..7866c5cfdd1 100644 --- a/packages/liveblocks-emails/package.json +++ b/packages/liveblocks-emails/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/emails", - "version": "3.3.2", + "version": "3.3.3", "description": "A set of functions and utilities to make sending emails based on Liveblocks notification events easy. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.", "license": "Apache-2.0", "type": "module", @@ -35,8 +35,8 @@ "test:watch": "jest --silent --verbose --color=always --watch" }, "dependencies": { - "@liveblocks/core": "3.3.2", - "@liveblocks/node": "3.3.2" + "@liveblocks/core": "3.3.3", + "@liveblocks/node": "3.3.3" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc" diff --git a/packages/liveblocks-node-lexical/package.json b/packages/liveblocks-node-lexical/package.json index caa25ebcede..43d572211b4 100644 --- a/packages/liveblocks-node-lexical/package.json +++ b/packages/liveblocks-node-lexical/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/node-lexical", - "version": "3.3.2", + "version": "3.3.3", "description": "A server-side utility that lets you modify lexical documents hosted in Liveblocks.", "license": "Apache-2.0", "type": "module", @@ -34,8 +34,8 @@ "test:watch": "jest --silent --verbose --color=always --watch" }, "dependencies": { - "@liveblocks/core": "3.3.2", - "@liveblocks/node": "3.3.2", + "@liveblocks/core": "3.3.3", + "@liveblocks/node": "3.3.3", "yjs": "^13.6.18" }, "peerDependencies": { diff --git a/packages/liveblocks-node-prosemirror/package.json b/packages/liveblocks-node-prosemirror/package.json index e080eec2435..24182a4e280 100644 --- a/packages/liveblocks-node-prosemirror/package.json +++ b/packages/liveblocks-node-prosemirror/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/node-prosemirror", - "version": "3.3.2", + "version": "3.3.3", "description": "A server-side utility that lets you modify prosemirror and tiptap documents hosted in Liveblocks.", "license": "Apache-2.0", "type": "module", @@ -34,8 +34,8 @@ "test:watch": "jest --silent --verbose --color=always --watch" }, "dependencies": { - "@liveblocks/core": "3.3.2", - "@liveblocks/node": "3.3.2", + "@liveblocks/core": "3.3.3", + "@liveblocks/node": "3.3.3", "yjs": "^13.6.20" }, "peerDependencies": { diff --git a/packages/liveblocks-node/package.json b/packages/liveblocks-node/package.json index 53ca0d70617..8409d779af8 100644 --- a/packages/liveblocks-node/package.json +++ b/packages/liveblocks-node/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/node", - "version": "3.3.2", + "version": "3.3.3", "description": "A server-side utility that lets you set up a Liveblocks authentication endpoint. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.", "license": "Apache-2.0", "type": "module", @@ -34,7 +34,7 @@ "test:watch": "jest --silent --verbose --color=always --watch" }, "dependencies": { - "@liveblocks/core": "3.3.2", + "@liveblocks/core": "3.3.3", "@stablelib/base64": "^1.0.1", "fast-sha256": "^1.3.0", "node-fetch": "^2.6.1" diff --git a/packages/liveblocks-react-blocknote/package.json b/packages/liveblocks-react-blocknote/package.json index 24716d4a511..96daa54b462 100644 --- a/packages/liveblocks-react-blocknote/package.json +++ b/packages/liveblocks-react-blocknote/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/react-blocknote", - "version": "3.3.2", + "version": "3.3.3", "description": "An integration of BlockNote + React to enable collaboration, comments, live cursors, and more with Liveblocks.", "license": "Apache-2.0", "type": "module", @@ -42,12 +42,12 @@ "test:watch": "vitest" }, "dependencies": { - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2", - "@liveblocks/react": "3.3.2", - "@liveblocks/react-tiptap": "3.3.2", - "@liveblocks/react-ui": "3.3.2", - "@liveblocks/yjs": "3.3.2", + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3", + "@liveblocks/react": "3.3.3", + "@liveblocks/react-tiptap": "3.3.3", + "@liveblocks/react-ui": "3.3.3", + "@liveblocks/yjs": "3.3.3", "@tiptap/core": "^2.7.2", "vitest-tsconfig-paths": "^3.4.1" }, diff --git a/packages/liveblocks-react-lexical/package.json b/packages/liveblocks-react-lexical/package.json index 9c320ee5fd6..177aed4048e 100644 --- a/packages/liveblocks-react-lexical/package.json +++ b/packages/liveblocks-react-lexical/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/react-lexical", - "version": "3.3.2", + "version": "3.3.3", "description": "An integration of Lexical + React to enable collaboration, comments, live cursors, and more with Liveblocks.", "license": "Apache-2.0", "type": "module", @@ -43,11 +43,11 @@ }, "dependencies": { "@floating-ui/react-dom": "^2.1.1", - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2", - "@liveblocks/react": "3.3.2", - "@liveblocks/react-ui": "3.3.2", - "@liveblocks/yjs": "3.3.2", + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3", + "@liveblocks/react": "3.3.3", + "@liveblocks/react-ui": "3.3.3", + "@liveblocks/yjs": "3.3.3", "@radix-ui/react-select": "^2.1.2", "@radix-ui/react-toggle": "^1.1.0", "yjs": "^13.6.18" diff --git a/packages/liveblocks-react-tiptap/package.json b/packages/liveblocks-react-tiptap/package.json index 6e33204f070..aa6927da65a 100644 --- a/packages/liveblocks-react-tiptap/package.json +++ b/packages/liveblocks-react-tiptap/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/react-tiptap", - "version": "3.3.2", + "version": "3.3.3", "description": "An integration of TipTap + React to enable collaboration, comments, live cursors, and more with Liveblocks.", "license": "Apache-2.0", "type": "module", @@ -43,11 +43,11 @@ }, "dependencies": { "@floating-ui/react-dom": "^2.1.2", - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2", - "@liveblocks/react": "3.3.2", - "@liveblocks/react-ui": "3.3.2", - "@liveblocks/yjs": "3.3.2", + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3", + "@liveblocks/react": "3.3.3", + "@liveblocks/react-ui": "3.3.3", + "@liveblocks/yjs": "3.3.3", "@radix-ui/react-select": "^2.1.2", "@radix-ui/react-toggle": "^1.1.0", "@tiptap/core": "^2.7.2", diff --git a/packages/liveblocks-react-ui/package.json b/packages/liveblocks-react-ui/package.json index 910f6927a27..ce5c64a0506 100644 --- a/packages/liveblocks-react-ui/package.json +++ b/packages/liveblocks-react-ui/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/react-ui", - "version": "3.3.2", + "version": "3.3.3", "description": "A set of React pre-built components for the Liveblocks products. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.", "license": "Apache-2.0", "type": "module", @@ -76,9 +76,9 @@ }, "dependencies": { "@floating-ui/react-dom": "^2.1.2", - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2", - "@liveblocks/react": "3.3.2", + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3", + "@liveblocks/react": "3.3.3", "@radix-ui/react-dropdown-menu": "^2.1.2", "@radix-ui/react-popover": "^1.1.2", "@radix-ui/react-slot": "^1.1.0", diff --git a/packages/liveblocks-react/package.json b/packages/liveblocks-react/package.json index 0ca8f5a82b1..20112f2c9fd 100644 --- a/packages/liveblocks-react/package.json +++ b/packages/liveblocks-react/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/react", - "version": "3.3.2", + "version": "3.3.3", "description": "A set of React hooks and providers to use Liveblocks declaratively. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.", "license": "Apache-2.0", "type": "module", @@ -61,8 +61,8 @@ "showdeps": "depcruise src --include-only '^src' --exclude='__tests__' --output-type dot | dot -T svg > /tmp/dependency-graph.svg && open /tmp/dependency-graph.svg" }, "dependencies": { - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2" + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3" }, "peerDependencies": { "@types/react": "*", diff --git a/packages/liveblocks-redux/package.json b/packages/liveblocks-redux/package.json index ec408ae690d..9d3ccaca24d 100644 --- a/packages/liveblocks-redux/package.json +++ b/packages/liveblocks-redux/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/redux", - "version": "3.3.2", + "version": "3.3.3", "description": "A store enhancer to integrate Liveblocks into Redux stores. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.", "license": "Apache-2.0", "type": "module", @@ -33,8 +33,8 @@ "test:watch": "jest --silent --verbose --color=always --watch" }, "dependencies": { - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2" + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3" }, "peerDependencies": { "redux": "^4 || ^5" diff --git a/packages/liveblocks-yjs/package.json b/packages/liveblocks-yjs/package.json index 1e537bff3b8..24887070daa 100644 --- a/packages/liveblocks-yjs/package.json +++ b/packages/liveblocks-yjs/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/yjs", - "version": "3.3.2", + "version": "3.3.3", "description": "Integrate your existing or new Yjs documents with Liveblocks.", "icense": "Apache-2.0", "type": "module", @@ -33,8 +33,8 @@ "test:watch": "jest --silent --verbose --color=always --watch" }, "dependencies": { - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2", + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3", "@noble/hashes": "^1.8.0", "js-base64": "^3.7.7", "y-indexeddb": "^9.0.12" diff --git a/packages/liveblocks-zustand/package.json b/packages/liveblocks-zustand/package.json index 60dac75c667..bcb4c9d3333 100644 --- a/packages/liveblocks-zustand/package.json +++ b/packages/liveblocks-zustand/package.json @@ -1,6 +1,6 @@ { "name": "@liveblocks/zustand", - "version": "3.3.2", + "version": "3.3.3", "description": "A middleware for Zustand to automatically synchronize your stores with Liveblocks. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.", "license": "Apache-2.0", "type": "module", @@ -34,8 +34,8 @@ "test:watch": "jest --silent --verbose --color=always --watch" }, "dependencies": { - "@liveblocks/client": "3.3.2", - "@liveblocks/core": "3.3.2" + "@liveblocks/client": "3.3.3", + "@liveblocks/core": "3.3.3" }, "peerDependencies": { "zustand": "^5.0.1"