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
37 changes: 28 additions & 9 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -188,10 +188,19 @@ jobs:
echo "::notice::NPM_TOKEN not set — skipping npm publish."
exit 0
fi
VERSION="${GITHUB_REF_NAME#v}"
# Idempotent re-run guard: skip ONLY if this exact version is already live.
if [ "$(npm view "surrealmemory@$VERSION" version 2>/dev/null)" = "$VERSION" ]; then
echo "::notice::surrealmemory@$VERSION already on npm — nothing to do."
exit 0
fi
npm ci || npm install
# Sync the package version to the release tag (package.json drift was the
# root cause of releases 2.11.0/2.12.0 silently re-publishing 2.10.5).
npm version "$VERSION" --no-git-tag-version --allow-same-version
npm run build
npm publish --access public \
|| echo "::warning::npm publish failed (already published or name/permissions) — skipping"
# No fallback mask: a real publish failure must fail the job loudly.
npm publish --access public

# ── Publish TypeScript SDK ─────────────────────────────────────
publish-sdk:
Expand All @@ -216,11 +225,19 @@ jobs:
echo "::notice::NPM_TOKEN not set — skipping SDK publish."
exit 0
fi
VERSION="${GITHUB_REF_NAME#v}"
# Idempotent re-run guard: skip ONLY if this exact version is already live.
if [ "$(npm view "@acidkill/surreal-memory-client@$VERSION" version 2>/dev/null)" = "$VERSION" ]; then
echo "::notice::@acidkill/surreal-memory-client@$VERSION already on npm — nothing to do."
exit 0
fi
npm ci || npm install
# Sync the package version to the release tag (same drift class as publish-npm).
npm version "$VERSION" --no-git-tag-version --allow-same-version
npm run typecheck
npm run build
npm publish --access public \
|| echo "::warning::SDK publish failed (already published or name/permissions) — skipping"
# No fallback mask: a real publish failure must fail the job loudly.
npm publish --access public

# ── Publish to ClawHub ─────────────────────────────────────────
publish-clawhub:
Expand Down Expand Up @@ -267,20 +284,22 @@ jobs:
OVSX_PAT: ${{ secrets.OVSX_PAT }}
run: |
npm ci || npm install
# Sync the extension version to the release tag (same drift class as publish-npm).
VERSION="${GITHUB_REF_NAME#v}"
npm version "$VERSION" --no-git-tag-version --allow-same-version
npm run compile 2>/dev/null || npm run build 2>/dev/null || true

# VS Code Marketplace
# VS Code Marketplace — no fallback mask: with a PAT set, a publish
# failure must fail the job loudly instead of reporting green.
if [ -n "$VSCE_PAT" ]; then
npx @vscode/vsce publish --pat "$VSCE_PAT" \
|| echo "::warning::VS Code Marketplace publish failed"
npx @vscode/vsce publish --pat "$VSCE_PAT"
else
echo "::warning::VSCE_PAT not set — skipping VS Code Marketplace"
fi

# Open VSX Registry
if [ -n "$OVSX_PAT" ]; then
npx ovsx publish --pat "$OVSX_PAT" \
|| echo "::warning::Open VSX publish failed"
npx ovsx publish --pat "$OVSX_PAT"
else
echo "::warning::OVSX_PAT not set — skipping Open VSX"
fi
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [2.12.1] — Release pipeline: npm packages actually ship again

Patch release. No runtime changes — it exists to fix the release pipeline and
re-align every published package on one version. npm packages had been silently
stuck at 2.10.5: versions 2.11.0 and 2.12.0 were never published to npm (the
registry rejected the re-upload of 2.10.5 with E403 and the workflow masked the
failure as a warning). Those npm versions are intentionally skipped — npm jumps
2.10.5 → 2.12.1.

### Fixed

- **Release workflow syncs npm package versions to the tag** — `publish-npm`
(`surrealmemory`), `publish-sdk` (`@acidkill/surreal-memory-client`) and
`publish-vscode` now run `npm version <tag> --no-git-tag-version` before
building, so a release can never re-publish a stale `package.json` version
again (the root cause: the pipeline bumped `pyproject.toml`/`__init__.py`
but never the npm manifests).
- **Publish failures are no longer masked** — the `|| echo "::warning::…"`
fallbacks are gone; with a token set, a failed `npm publish`/`vsce publish`
now fails the job loudly. A graceful skip remains only for a missing token
and for an idempotent re-run (this exact version already live).

### Changed

- `integrations/surrealmemory`, `integrations/surreal-memory-client` and
`vscode-extension` manifests bumped to 2.12.1 so the repo matches the
published artifacts.

## [2.12.0] — Reasoning training: learn how models think

An opt-in pipeline that mines a model's `thinking` blocks from `~/.claude`
Expand Down
4 changes: 2 additions & 2 deletions integrations/surreal-memory-client/package-lock.json

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

2 changes: 1 addition & 1 deletion integrations/surreal-memory-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@acidkill/surreal-memory-client",
"version": "2.10.5",
"version": "2.12.1",
"description": "TypeScript client for the Surreal-Memory REST API — typed access to brains, neurons, synapses, fibers, recall, and sync.",
"type": "module",
"main": "dist/index.cjs",
Expand Down
4 changes: 2 additions & 2 deletions integrations/surrealmemory/package-lock.json

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

2 changes: 1 addition & 1 deletion integrations/surrealmemory/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "surrealmemory",
"version": "2.10.5",
"version": "2.12.1",
"description": "Surreal-Memory plugin for OpenClaw — graph-based persistent memory for AI agents with SurrealDB backend",
"type": "module",
"main": "dist/index.js",
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "hatchling.build"

[project]
name = "surreal-memory"
version = "2.12.0"
version = "2.12.1"
description = "Reflex-based memory system for AI agents with SurrealDB backend — retrieval through activation, not search"
readme = "README.md"
license = "MIT"
Expand Down
2 changes: 1 addition & 1 deletion src/surreal_memory/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from surreal_memory.engine.reflex_activation import CoActivation, ReflexActivation
from surreal_memory.engine.retrieval import DepthLevel, ReflexPipeline, RetrievalResult

__version__ = "2.12.0"
__version__ = "2.12.1"

__all__ = [
"__version__",
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/test_health_fixes.py
Original file line number Diff line number Diff line change
Expand Up @@ -485,7 +485,7 @@ class TestVersionBump:
def test_version_is_current(self) -> None:
import surreal_memory

assert surreal_memory.__version__ == "2.12.0"
assert surreal_memory.__version__ == "2.12.1"


class TestPackageIntegrity:
Expand Down
4 changes: 2 additions & 2 deletions vscode-extension/package-lock.json

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

2 changes: 1 addition & 1 deletion vscode-extension/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "surrealmemory",
"displayName": "Surreal-Memory",
"description": "Visual brain explorer, inline recall, and memory management for Surreal-Memory",
"version": "2.10.5",
"version": "2.12.1",
"publisher": "ai-flow-nowak",
"license": "MIT",
"preview": true,
Expand Down
Loading