Skip to content

Releases: SawyerHan-AI/TideMind

v0.2.88

Choose a tag to compare

@github-actions github-actions released this 29 Jul 12:33

What's new

Use your signed-in Claude Code or Codex subscription

TideMind can now run text-model tasks through the Claude Code and Codex CLIs already signed in on your Mac. This gives you another option alongside API connections and Ollama, without configuring a separate API key for these providers.

  • Add Claude Code or Codex under Settings → Models → New Connection → Local Subscriptions.
  • Test Connection validates every supported model before it becomes selectable.
  • Model selection now separates Connection and Model, while preserving existing task-depth controls.
  • Light, standard, and deep tasks are supported. Embeddings continue to use an API or local-model connection.
  • AI Service Status shows the resolved CLI path, version, login state, latest test result, and actionable error details.
  • Usage statistics now break calls down by connection and source. Subscription calls use API-equivalent token pricing for cost estimates only.

Safer background execution

Local subscription calls run with tools disabled, a restricted environment, isolated runtime directories, bounded concurrency, and explicit shutdown draining. Ambiguous interrupted calls are never automatically replayed, avoiding duplicate remote work.

Reliability and security

  • Improved shutdown coordination across model calls, background memory work, and note-source synchronization.
  • Updated the desktop, cloud, website, and build dependency chains for newly disclosed security advisories.

v0.2.87

Choose a tag to compare

@github-actions github-actions released this 24 Jun 07:23

What's fixed

Logseq sync: no more duplicate version nodes

Repeatedly editing the same Logseq note used to leave many stale old-version nodes "active" in your brain, cluttering the browse list. This release makes old versions correctly retire (heat decays to the floor) so only the current version stays prominent.

Root causes addressed:

  • Old versions that fell out of the current note state are now reliably retired (set-difference reconciliation instead of brittle positional matching).
  • Emptying or trimming a note now retires its old nodes instead of orphaning them — while files that are merely offline (iCloud "optimize storage") are left untouched.
  • Concurrent saves of the same file are serialized, so a slow digest can't lose the newer save.
  • Pure-separator / empty-bullet blocks no longer create zero-information nodes.
  • Date-named pages outside journals/ are now treated consistently as journals (correct created date + age-based heat).
  • Shutdown now waits for in-flight note processing to finish before closing the database, preventing orphaned nodes when you quit.

No action needed — old duplicate versions decay on their own after upgrading.

v0.2.86

Choose a tag to compare

@github-actions github-actions released this 22 Jun 07:46

What's new in 0.2.86

This release fixes older note versions lingering at high prominence, plus a dependency security update.

Fixes

  • Older note versions now fade correctly — when you repeatedly rewrite a note, its earlier versions are meant to cool down and recede into the background, leaving only the latest version prominent. A cloud-sync round-trip was dropping that cool-down, so retired versions stayed "hot" and appeared large and bright in the graph. They now correctly settle to a minimal, dim state and stay that way across devices.

Security

  • Upgraded undici to patch high-severity advisories.

v0.2.85

Choose a tag to compare

@github-actions github-actions released this 18 Jun 08:37

What's new in 0.2.85

This release rebuilds multi-device sync and restores full memory context for connected agents, alongside a broad round of stability and security fixes.

Cross-device sync, rebuilt

  • Faster, more reliable sync — local changes now reach the cloud within seconds instead of waiting for the next cycle.
  • Deletes and restores propagate correctly — deleting or restoring a memory on one device now reliably reflects on your others, with no more "deleted note coming back to life."
  • Your edits win over stale updates — a causal version stamp keeps a manual edit from being overwritten by an in-flight background update.
  • Recall stays consistent across devices — memories synced from another device get their embeddings backfilled, closing gaps in semantic recall.

Memory context for connected agents

  • Full profile restored in Claude Code and other external agents — the session-start context had grown past the host's injection limit, so agents were seeing a truncated or missing profile. It now fits within budget again, so agents see your complete profile, memory index, and guidance.
  • Fixed an issue where a malformed profile could be stored as raw data; affected profiles now self-heal on read.

Fixes & security

  • A wide range of stability fixes across recall filters, memory metabolism, search, and the app UI, from a full cross-system audit.
  • Upgraded several dependencies to patch known security advisories.

v0.2.83

Choose a tag to compare

@github-actions github-actions released this 29 May 13:08

What's new in 0.2.83

A bug-fix and stability release.

Fixes

  • Memory recall filters — Tag, type, and source-agent filters were being ignored on some recall/browse paths. They now apply consistently, so filtered recalls return the results you actually asked for.
  • Subscription status — Fixed the client not refreshing your plan right after an upgrade (it could keep showing Free until restart).

Security

  • Patched a path-traversal vulnerability in a transitive dependency (tmp, GHSA-ph9p-34f9-6g65).

v0.2.82

Choose a tag to compare

@github-actions github-actions released this 25 May 09:23

What's new in v0.2.82

Two server-only bug fixes found while exercising brain_recall after the
v0.2.77 → v0.2.81 redesign series. Both are contract violations rather than
crashes — agents could call brain_recall and get answers, but the answers
diverged from the design spec in subtle ways.

Fixed: sort=recent default ignored on the browse path

When brain_recall is called with no query (e.g. "list my recent
notes", or "give me anything tagged project:alpha"), the design spec says
the default sort should be recent — order by created DESC. The browse
path in src/tools/recall.ts and pro/cloud-server/src/tools/recall.ts
instead hardcoded orderBy: 'heat DESC'. Result: "show me the latest" was
silently returning the hottest nodes regardless of recency.

The fix reads input.sort and respects the design contract:

  • No query + no explicit sort, or sort='recent'created DESC
  • No query + sort='relevance'heat DESC (nothing to compute
    relevance against, heat is the closest proxy)

If you were getting "stale" results when asking your agent to list recent
activity, this is why.

Fixed: only-context calls were silently running an empty pipeline

The handler precheck used hasSearchDim = query !== undefined || context !== undefined to decide whether to reject empty-input calls. But per design
§5.2, context alone is not a search dimension — it's metadata that
tells the recall pipeline why a query was issued, not what to embed.

So a call like brain_recall({ context: "..." }) with no query, no
filters, and no override would pass the precheck, fall through to the
browse path, and return random recent nodes — confusingly attributed to the
context string the agent provided.

The fix:

  • context removed from hasSearchDim.
  • Error message updated to explicitly say "context 单独传无效,需要配合
    query".
  • Symmetric change in both local and cloud handlers.

What you need to do

  1. Update TideMind to v0.2.82 (automatic).
  2. Restart any external agents (Claude Desktop / Claude Code / Cursor /
    Codex CLI) once so their MCP server subprocess picks up the new
    build.
  3. No Skill regeneration needed — the agent prompt is unchanged. Only the
    server's interpretation of two existing behaviors moved closer to the
    design contract.

Apology

That's six releases in 36 hours covering the same redesign (v0.2.77 → 78 →
79 → 80 → 81 → 82). The pattern is real: server-only contract drift slips
past the existing release verifier because it only exercises the cloud
endpoint and the update API, not the local recall pipeline against the
design spec. Adding a "run brain_recall through a fixture of design-spec
calls and diff against expected output shape" gate is now in the backlog.

v0.2.81

Choose a tag to compare

@github-actions github-actions released this 25 May 08:42

What's new in v0.2.81

A follow-up to v0.2.77 / v0.2.80 fixing a Skill sync gap.

Fixed: per-agent Skill files were not updated to the v0.2.77 schema

When v0.2.77 redesigned brain_recall, I updated data/skill/base-skill.md
to describe the new parameters (multi-dimensional stacking, match: any/all,
exact_matches / related_matches, etc.) — but forgot to mirror the
change into the 7 agent-specific Skill files
that agents actually load:

  • claude-code-skill.md
  • codex-skill.md
  • cowork-skill.md
  • cursor-skill.md
  • windsurf-skill.md
  • openclaw-skill.md
  • gemini-skill.md

So even after users regenerated their Skill in TideMind, the agent prompt
still taught the old intent / include_surprise parameters. Every recall
call then triggered the deprecation hint, leaving agents confused and users
seeing repeated upgrade prompts.

This release:

  • Synchronizes the parameter reference section across all 7 agent Skill
    files to the v0.2.77 schema (search dimensions + filter dimensions +
    return controls + override entries + canonical examples).
  • Also updates gemini-commands/brain-recall.toml to teach the new idiom
    (multi-dimensional stacking + never-empty results) instead of the older
    "first list with mode=index" workflow.

What you need to do

  1. Update TideMind to v0.2.81 (automatic).
  2. Open Settings → External Integration.
  3. Click "Regenerate Skill" for each configured agent so the new prompt
    text lands in the agent's plugin directory.
  4. Restart the external agent (Claude Desktop / Claude Code / Cursor / etc.)
    so it picks up the regenerated Skill.

If you skipped this step before, recall calls were silently triggering the
deprecation hint instead of doing real work. After updating you'll see
agents using match, time, tags, etc. naturally.

Apology

This is the fifth release in a 24-hour window covering the same redesign
(v0.2.77 → 78 → 79 → 80 → 81). Each one fixed a gap revealed only after
real-world testing:

  • v0.2.78: heat clamp shouldn't be a manual runbook
  • v0.2.79: Codex agent card UI still asked to copy AGENTS.md
  • v0.2.80: schema version constant not bumped, migration silently never ran
  • v0.2.81: per-agent Skill files not synced

Each of these should have been caught at design time. Backlog: tighten the
release verification to actually exercise the full client → skill → MCP
agent loop in CI before stamping a version.

v0.2.80

Choose a tag to compare

@github-actions github-actions released this 25 May 07:59

What's new in v0.2.80

A critical hotfix for users running v0.2.78 or v0.2.79.

Fixed: brain_recall could fail with "no such column" SQL error

v0.2.78 added 4 new diagnostic columns to the operation_log table
(exact_count, related_count, fallback_chain, vector_unavailable) via
migration v28. However, I forgot to bump the CURRENT_SCHEMA_VERSION
constant from 27 to 28 at the same time.

The migration trigger condition currentVersion < CURRENT_SCHEMA_VERSION
evaluates to 27 < 27 = false, so the migration silently never runs.
Meanwhile, logOperation was upgraded to write 12 columns including the new
4 — against a database that still only has the old 8 columns. Every recall
call hits SQLite error: no such column: exact_count.

If you were on v0.2.78 or v0.2.79 and brain_recall was failing for you,
that's what was happening.

This release:

  • Bumps CURRENT_SCHEMA_VERSION to 28 so the migration runs on startup.
  • No other code changes.

Impact

  • Fresh installs on v0.2.80: clean (the schema baseline already includes the
    4 columns).
  • Upgrades from v0.2.77 → v0.2.80: migration runs once, columns get added.
  • Upgrades from v0.2.78 or v0.2.79 → v0.2.80: migration runs once (it was
    blocked before), columns get added.

After updating, restart any external agents (Claude Desktop / Claude Code /
Cursor / etc.) once more to make their MCP server subprocess reconnect to
the now-migrated database.

Apology

Sorry for the noise across three back-to-back releases (v0.2.77 / v0.2.78 /
v0.2.79). The release verifier checks that the cloud reports the new version
and the update API returns it, but it does not exercise the local database
migration path. That gap is now in the backlog.

v0.2.79

Choose a tag to compare

@github-actions github-actions released this 25 May 07:46

What's new in v0.2.79

A tiny UI cleanup on top of v0.2.78.

Codex agent card no longer asks you to copy AGENTS.md

The Settings → External Integration page used to tell Codex users:

AGENTS.md guide needs to be copied to project root or ~/.codex/AGENTS.md.

That instruction was a leftover from the v1 Codex integration. v2 (Codex CLI
0.121+) auto-installs the Skill to ~/.codex/skills/tidemind-<agentId>/SKILL.md
and Codex loads it on startup — no manual copying needed.

This release:

  • Updates the hint text across all 12 supported languages to reflect the v2
    behavior.
  • Hides the legacy ~/Downloads/tidemind-codex-<id>.md path from the agent
    card when the v2 native install is present, so users no longer see two
    paths and wonder which one to copy.

If you're on Codex CLI < 0.121, the wizard still surfaces an upgrade hint as
before — that path is unchanged.

No other changes

No code behavior changes from v0.2.78. MCP server, cloud server, and database
schema are identical to v0.2.78.

v0.2.78

Choose a tag to compare

@github-actions github-actions released this 25 May 07:17

What's new in v0.2.78

A small hotfix on top of v0.2.77.

Cloud upgrade is now fully automatic for Pro users

v0.2.77 introduced a one-time heat-counter clamp that Pro users were asked
to run manually by opening the Railway dashboard and pasting a SQL
runbook. That was a mistake — the operation is idempotent, the data volume
is small, and Pre-Deploy has no concurrent users, so it should have been
shipped as a migration from day one.

v0.2.78 moves the clamp into migrations/023-heat-cap-clamp.sql. Railway
runs it automatically as part of Pre-Deploy when this version is pushed.
Pro users don't need to touch the dashboard.

If you already ran the v0.2.77 runbook by hand: re-running is harmless
(the migration is idempotent — zero rows changed on the second run).

No other changes

This release is a pure migration relocation. No code behavior changes from
v0.2.77.