TensorPM v1.27.0
Changelog - v1.27.0
π New Features
Projects Are Created in Your Language
When you describe a project in the onboarding, the brief that TensorPM hands to the
project generator is now written in your language instead of being translated to
English first.
- β
Describe your project in German and get a German project back β goals, scope,
deliverables, and risks included - β
Project titles keep their original wording; "Hausbau" stays "Hausbau" instead of
arriving as "Construction"
π Bug Fixes
Project Fields No Longer Arrive Full of Escape Sequences
Some AI models returned their answers packed into a second layer of JSON. Project
descriptions, goals, scope, success criteria, and dependencies then landed in your
project with literal \n sequences, a stray ", "language": "en"} fragment at the
end, or the whole value wrapped in quotation marks.
- β Affected fields are cleaned up before they reach your project
- β
Project names no longer arrive as
"My Project", quotation marks and all - β
Text that legitimately contains backslashes or ends with a JSON example β a
Windows path, a formatting instruction β is left exactly as written
The Selected AI Provider Stays Selected
Opening the AI settings could silently switch your provider. API key checks run in
the background, and while one was still pending the app briefly treated a perfectly
good provider as unavailable and moved you to a Claude Code or Codex login instead.
- β
A stored key counts as usable until a check actually fails β in the settings,
the model list, and the chat provider picker - β
A key check that fails because you are offline or rate-limited no longer counts
against the provider - β
A temporary provider outage no longer disables that provider for the rest of the
session; the check stays retryable - β Periodic subscription refreshes stop re-testing keys that are already confirmed
The Distiller Works With Claude Code and Codex Logins
The Distiller's relevance pre-check ran on a timeout sized for a web request, while
a subscription runtime has to start a local process first. Every single pre-check
timed out on a Claude Code login, and the failure was logged as if you had cancelled it.
- β Subscription runtimes get a timeout that matches how they actually work
- β A pre-check timeout is reported as a timeout, not as "cancelled by user"
- β
When the pre-check fails for technical reasons, the Distiller can no longer reject
the signal on its own β it shows you what it found or leaves the signal pending for
a later review
The Material Agent Finishes Its Work
The material agent could spend all its turns re-reading the same item list and end
without submitting a result, so completed work was not reported back.
- β On its last turn the agent can only submit, so finished work always gets reported
- β Repeatedly re-reading an unchanged item list is refused with a nudge to finish
ποΈ Improvements
Cloud Sync
This release upgrades the PowerSync SDK to v2 and fixes three sync issues that caused
unnecessary upload traffic:
- β
End-to-end encrypted records are compared as plaintext, not as ciphertext. Because
every encryption produces a different ciphertext, identical records were previously
re-uploaded on every save - β
Deletions of budget, effort, and timer tracking now carry their workspace, so
local-only workspaces stop leaking deletions into the sync queue - β
A sync restart triggered by changed bucket parameters waits for an upload that is
already running instead of interrupting it
π§ͺ Reliability
- Added coverage for the tool-argument repair, including the cases it must not touch:
Windows paths, escaped-quote instructions, and values ending in a JSON example - Added real-SQL coverage for encrypted change detection: identical re-saves, changed
sensitive fields, key rotation, and both decryption failure modes - Added real-SQL coverage for the workspace on deletion records
- Added coverage for the provider auto-switch, including the pending, failed, offline,
and no-entitlement cases - Added coverage for the pre-check timeout path and for abort reasons that must not be
relabelled as cancellations
π Notes
- No database migration is required for this release.
- The onboarding fixes also apply to the guest onboarding, which runs through the
TensorPM API β that deployment ships separately. - This release was cut without the Playwright end-to-end suite.
π Release Info
- Version: 1.27.0
- Release Date: July 26, 2026
- Previous Version: 1.26.0
- Type: Minor Release