Changelog
Track all updates, new features, and improvements to TensorPM. Stay informed about what's new in each release.
v1.42.2
LatestTensorPM v1.42.2
October 6, 2026
Changelog - v1.42.2
This update makes the timeline smooth again, stops sync conflicts that appeared and vanished on their own after almost every save, and tidies up how menus look.
🗓️ Timeline
- Moving a bar no longer stutters: dragging or resizing a bar, giving an undated task or work package a span, applying a schedule fix or removing a span now saves only the changed dates. Before, every change saved the whole project and the timeline paused for one to three seconds.
- If such a change can't be saved, the bar returns to its saved dates, even after several quick moves in a row.
🔄 Sync
- No more phantom conflicts: after a conflict on a task, work package or other record had been settled once, every later change to that record showed up as a new conflict and then resolved itself a moment later. Changes are now sent normally. Real conflicts, where someone else changed the same record in the meantime, are still shown as before.
🎨 Cleaner Menus
- Menus highlight whole rows: in context menus and dropdowns (tasks, people, files, the account menu, assignee and model pickers), the entry under the pointer is now highlighted as a clean, full-width row instead of a rounded pill or a half-rounded shape. All other buttons look as before.
- The back link in the account menu (for example "‹ Workspaces") is now a plain title with an arrow instead of a framed button.
📅 Release Info
- Version: 1.42.2
- Release Date: 2026-10-05
- Previous Version: 1.42.1
- Type: Patch Release
v1.42.1
TensorPM v1.42.1
October 5, 2026
Changelog - v1.42.1
This update is all about reliability. It fixes a long list of bugs and rough edges found in a full review of TensorPM: your edits, files and dates stay the way you made them, messages say what happened and what to do next, and connected coding agents can wait for long agent replies.
🛡️ Your Work Stays Safe
- No silent overwrites: renaming, moving, pasting or uploading onto a name that is taken asks first: Keep both or, for a file you can see, Replace. Cancel skips only that item. This also holds for a file that synced from another device but isn't downloaded here yet: its name, record and attachments stay, and a report a coding agent writes under such a name gets the next free name instead of being lost.
- Edits stay: a change is no longer rolled back when the project reloads in the background while you save, and the task panel never overwrites a status or attachment that changed meanwhile. Changes you make while the AI generates categories or re-evaluates tasks are kept as well.
- The same protection now covers refreshes after file changes, AI-generated tasks and switching projects. Settings you change while the AI generates tasks are no longer overwritten, and edits to other tasks survive an AI split.
- Changes made elsewhere show up in text fields and task details once your own typing is saved, and context tables keep your last keystrokes when you close them.
- AI edits of the milestone table no longer erase dates you entered there, and a date the AI cannot read is reported instead of being changed silently.
- Sync: when two people edit different paragraphs of one text, both edits are kept, and switching a project's file folder on one computer is no longer sent to your other devices.
- Renaming or deleting a file in one project no longer changes the same file in your other projects.
- Backups no longer close the database the app is working with and include your latest changes, and every backup listed in Settings → General can be restored directly.
- Closing the window saves open documents first, and a window that stopped responding can no longer block closing or quitting.
- Deleting a project removes its chat images and mail-draft attachments too, even when it was deleted on another device.
🗓️ Dates and Recurring Tasks
- No more one-day shifts: due dates, start dates and milestones keep their day in every time zone, whether you pick them yourself or the AI or an external agent writes them, and Gantt drags across a daylight-saving change land on the right day.
- "Overdue" starts the day after the due date, not on the due day itself.
- Expense rows on the Budget tab and the timeline's date tooltips and picked range show the right day west of UTC.
- Recurring tasks are created on the right days: the start date is the first occurrence, monthly series keep their day (31 Jan → 28 Feb → 31 Mar), and a series with an invalid interval no longer freezes TensorPM at startup. The form shows the next occurrence with its weekday. If you use several devices or share a workspace, please read the Notes.
- Schedules use your local time: reminders and runs the project agent schedules keep the right hour across daylight-saving changes.
- Relative dates count calendar days ("Modified" in the file explorer, "Yesterday" in the git story, no more "-1 days"), and "in NaN months" and "NaN %" are gone.
🤖 AI, Chat and Distiller
- TensorPM says why AI isn't available and offers the fix right in the chat: sign in, add an API key or open the AI settings. Enter and Send take you there instead of doing nothing.
- Clear offline and credit messages: offline, the chat says it can't reach the TensorPM service and offers Retry. With credits used up, you get the way out that fits your plan (sign in, upgrade, reset date, Business, local AI).
- Retry (↻) resends exactly the message that failed, including Distiller decisions and mail or calendar approvals, and is offered again after a restart. A Distiller decision is never applied twice.
- Long AI requests end with a final answer or a clear step-limit notice when the agent reaches its step limit, and chats running at the same time in different projects no longer mix up their project.
- Drafts are kept: what you typed in Pulse or the AI panel stays per project and conversation, and Distiller decisions made card by card survive questions, closing the panel or switching view. A project field you edited during onboarding whose save failed stays on screen until it is saved, even when the project reloads meanwhile.
- Safer AI edits: an AI edit that leaves out or garbles the "completed"/"achieved" flag no longer reopens a completed milestone or an achieved success criterion, and a change that went through despite Stop is recorded in the Trail as done.
- Project location: the Distiller can now propose a new project location (earlier versions dropped such proposals), and a location changed in the chat appears in the Trail.
- Handover offers are clear: when the AI suggests continuing in a document or the project chat, it says so and the chat shows "Handover offered"; nothing starts until you ask, and prepared handovers nobody starts expire after 24 hours. Earlier versions could announce one that never ran.
- Pulse follows your fixes: a suggestion disappears once you fix the field, also after a teammate's synced change, and fields the AI left empty no longer count as filled.
- When your TensorPM sign-in expires during a streamed chat answer, the chat offers Sign in instead of showing a raw error.
🔌 Connectors, Mail and Agent Integrations
-
Trusting an MCP server applies to what you saw: if a server is switched to another account, command or address while its approval card waits, Trust server runs the approved call once but does not unlock the changed server; it asks again.
-
Microsoft 365: signing in with a different account than the connected one says so and names both; a withheld calendar permission gets its own message, and a partial mail sync is shown as such. Private Outlook.com accounts are told plainly that they can't be connected.
-
Local AI: Auto-Detect Servers says when nothing was found, and an empty endpoint uses the Ollama default.
-
Apple Mail: the local mail connector starts checking at launch and catches up on what arrived while TensorPM was closed.
-
The MCP server reports clearly when the TensorPM app is not running.
-
Mail logins are checked before saving, with a clear reason for wrong credentials, an unreachable server or a timeout. Work and school Outlook accounts are pointed to the Microsoft 365 connector, and removing a mail or calendar connector asks first.
-
Skip for now while editing a mail or calendar connector keeps its project assignments.
-
Sync problems are visible: a connector whose last sync failed shows an error badge and the reason. A deleted project no longer stops the whole mail sync, late Apple Mail messages are no longer missed, and Microsoft 365 moves on only after a successful import.
-
Agent integrations never damage a client's settings: installing into Zed's settings or a VS Code
mcp.jsonwith comments keeps the rest of the file, and a file TensorPM can't read is left untouched while TensorPM shows the entry to paste by hand. -
Long agent replies: the Codex, Claude Code and Cline integrations wait up to 30 minutes for a TensorPM agent reply. Zed waits at most 10 minutes, and a longer reply still finishes in TensorPM. Older installs need an update, see Notes.
-
Codex and Claude Code are found more reliably, including the CLI inside the ChatGPT/Codex desktop app on macOS and Claude Code installed with NVM. "Not installed" says what to install. On Windows, Claude Code gets its task text unchanged, and Stop ends all of an agent's processes.
-
GitHub Copilot is now installed where VS Code really reads it (see Notes), and parallel Copilot queries no longer receive each other's answers.
-
Approvals for MCP tools: Stop withdraws a waiting approval, so the tool never runs after a late "Allow"; an unanswered request ends after 5 minutes without counting as a denial. Cards show all arguments and the asking project and chat, and a header indicator leads to them.
✅ Tasks, Lists, Search and People
-
Moving a task with the keyboard while a filter is active keeps the hidden tasks in their place; clearing a date in the task panel works again, and quick-add on the board and timeline asks for an AI+ priority like the list does.
-
The running-timer indicator jumps to the timed task, closing a background tab keeps the AI panel of the open project, and an expanded Pulse check-in stays open.
-
In the work breakdown, planned and actual effort and the progress weighting add up correctly.
-
Deleting tasks always asks first, and "Delete Selected" says how many of the selected tasks are hidden by filters.
-
Boards: Backspace, Delete and the arrow keys are no longer swallowed in text fields, cards open with a double-click or Enter/Space, and quick-add gets an AI+ priority like the list.
-
Visible list filters: a chip shows how many filters are active and resets them, and a new task hidden by a filter offers "Reset filters". "Assigned to" finds people and agents by name.
-
Search leads somewhere: people, folders and categories open where they live, and a task hidden by filters offers "Show". Ctrl/⌘+K also works from the chat box and other text fields.
-
Add people while assigning: the assignee picker offers "Create “Name” as a person", and a new person needs only a name. Deleting a person asks in the same dialog as other deletions (Escape, keyboard focus), and a double click deletes only once.
-
Dependencies follow one rule: the app, the AI, MCP and A2A refuse self-links, duplicates, contradicting types and cycles with a translated reason, and cycles saved earlier no longer block unrelated saves.
-
Uploads in the task panel work file by file: saved files are attached, failed ones (for example over 50 MB) are listed with the reason in your language, and the upload buttons stay hidden until the upload is done.
-
Column widths you set by dragging in the task list are now kept.
💶 Budget and Currency
- Thousands separators are read correctly: "1.500", "12.000", "2.500.000" and "1.500,50" are saved as typed in budget cells, expenses, materials and the wizard. See Notes.
- One budget rule everywhere: the Budget tab, Resources, the wizard and Pulse show the same totals, including tasks without a bucket and direct expenses. A budget of 0 or none reads "Not set" instead of a red "OVERSPENT", and the Budget tab has a "Set project budget" button.
- Pulse shows real budget figures even before you open the Budget tab (no more 0.00), and its spending curve includes expenses, also those the AI records. The Budget tab refreshes after changes made elsewhere.
- Several receipts can be uploaded at once, failed budget saves and uploads say so, clearing the budget through the project agent really clears it, and the priority sliders no longer reset the display currency to EUR. Budget labels appear in your language, and the task list's budget column fits narrower windows ("0,00 EUR" is no longer cut off).
🧙 New Projects and Onboarding
-
Upgrading while signed out or with an expired session opens the sign-in, and a failed workspace switch says why.
-
Your new-project draft is kept when you visit other tabs.
-
AI project creation can be cancelled with Cancel or Escape, and your input comes back. If it finishes while you work elsewhere, it opens as a background tab with a notice.
-
Archive or reactivate the open project from its settings, with a confirmation.
-
Honest reviews: a failed AI review of a field shows an error with Retry instead of being stored as feedback, and a double-click on "Review" no longer starts two paid reviews.
-
Wizard tables no longer save empty rows, and without usable AI the wizard opens the sign-in, setup or credits dialog instead of a generic error.
📁 File Explorer and Skills
- Uploads: one upload runs at a time, files over 50 MB are refused before they are read, and every failure is listed by name with the reason, in your language like the other explorer messages.
- A rename stays in its folder, and after switching projects the explorer shows the right files and again notices changes made outside TensorPM.
- With a file selected, Ctrl+C on other text (for example a chat answer) copies that text again. The delete dialog works with the keyboard and Escape, a git story summary or title typed while the previous one saves is kept, and skill compatibility notes appear in your language.
- Summarizing a file says why it failed, for example no connection, an expired sign-in or an invalid API key.
- Skills: uninstalling asks first and moves the folder to the trash; if that fails, a second confirmation offers to delete it permanently. The skill catalog is translated. Skill approval covers all of a skill's code, a skill can no longer load code from the internet or from places it isn't allowed to read, and a permission change you declined stays untrusted after an update. The PowerPoint example in the skills README now works in the sandbox.
🔒 Privacy and Security
- Support bundles and bug reports leave out personal details: your user name in file paths, API keys, tokens, e-mail addresses and IDs are removed, and default bundles no longer contain AI conversations, as the bundle dialog promises.
- Logs keep less content: profile saves, the Distiller, mail intake, the Trail and AI tools log ids and counts instead of mail subjects, senders, file names, people's names or phone numbers, and the MCP server masks secrets.
- The same holds when something fails, for example an AI reply, a tool call or a mail search, and support bundles also strip AI replies and tool data as a safety net.
- Web pages in your browser can no longer use TensorPM's local agent interface (A2A), and the browser agent's debugging port is opened only when the browser agent is enabled.
- With several TensorPM accounts on one computer, saving can no longer overwrite another account's file, and a malformed path can no longer make a delete or move hit another file.
- On macOS and Windows, another account's file also stays out of reach under its name in another letter case or Unicode spelling, and on Windows under its short (8.3) name.
- Windows: TensorPM again trusts the root certificates Windows trusts (for example your company's), except those Windows has blocked.
🐛 Bug Fixes
- Every saved tab comes back after a restart, in order and with the right active tab, and tab names follow a rename.
- Updates reach the main window: once TensorPM had opened a hidden helper window (for example to render a PDF, Word or PowerPoint document), refreshes after AI changes, scheduled prompts, chat progress and Trail entries could get lost. They now always arrive.
- Activity in another project, for example an external agent's A2A conversation, no longer replaces the chat list or closes the chat you have open.
- On Windows and Linux, closing the last window quits TensorPM again, and the tray (or the macOS Dock) brings back a closed main window. On macOS, Preferences… (⌘,) also opens the settings while a detached card has focus, and uninstalling no longer resets your Dock and Launchpad.
- A stuck update download shows the real error instead of "update not available", and Escape no longer throws away what you typed in a connector setup.
- A file that can't be opened from a chat answer now says why, and after you leave a project interview, the project agent in other projects no longer acts as if the interview were open.
🏗️ Improvements
-
Word exports are reproducible: exporting an unchanged document twice gives byte-identical files, and SVG images keep their intended size.
-
Less background work: saving without changes no longer uploads budget, effort and timer rows, Pulse polls every second only while a handover runs, and file updates keep arriving reliably after you switch projects.
-
Accessibility: confirmation dialogs open above drawers, start on Cancel, close with Escape and return the focus, and board cards and the task overlay work with keyboard and screen reader.
-
More texts in your language: many chat, Distiller, account and approval messages that were still English in the German interface are now translated.
-
Deleting or renaming a folder with many files, and listing the project's files to attach to a task, are faster.
-
A project file list that fails to load is no longer requested again and again.
📝 Notes
-
Version 1.42.0 was never published; this release replaces it with the same changes.
-
Update every device, and ask your team to update. While an older version still runs on a device that shares a workspace, a recurring task can be created twice or a daily one can be missing, mainly east of UTC (for example in Germany). This stops once all devices are updated. Occurrences created by earlier versions keep their dates, even where they landed a day off.
-
Update agent integrations from earlier versions: open Connectors on the + tab; under MCP Server, Codex, Claude Code, Cline and Zed entries that need it are marked UPDATE. Click Update and restart the client. Until then the client stops waiting after its default (Codex: 60 seconds), and most clients then cancel the reply (in Zed it keeps running in TensorPM). Agents TensorPM starts for a task are updated automatically. Clients without such a setting, such as Claude Desktop and Cursor, stop at their own limit (often 60 s).
-
GitHub Copilot: earlier versions wrote the TensorPM entry to
~/mcp.json, which VS Code never reads, so Copilot now shows as not installed. Install it again in Connectors; the old entry does no harm. -
A2A answers only requests addressed to
localhost,127.0.0.1or[::1]on its own port. Others, for example through Docker'shost.docker.internal, a port forward to another port or a reverse proxy that passes on a non-loopback host name, get HTTP 403; tools callinghttp://localhost:37850are unaffected.message/sendcan now be cancelled: closing the connection ortasks/cancelstops the agent turn; changes already applied are kept. -
MCP debug logs are written only when
LOG_LEVEL=debugis set for the TensorPM MCP server. -
API keys set through MCP: earlier versions wrote the key given to
set_api_keyin plain text to the MCP server's log, which clients keep (for example Claude Desktop'smcp-server-tensorpm.login~/Library/Logs/Claudeor%APPDATA%\Claude\logs). If you used it, delete those logs or replace the key. -
Amounts: in amount fields, a single dot after one to three digits and before exactly three more (as in "12.500") now groups thousands, as a comma already did, so "12.500" typed into a USD field is now 12,500 (it was 12.50). Re-saving a material row or an edited expense rounds to the cent. German material inputs show a decimal comma.
-
Storage currency: while you belong to a cloud workspace, it can't be changed in Settings → General, because synced amounts carry no currency.
-
Replacing a file keeps its attachments: tasks, recurring tasks and expenses that linked the old version link the new one, and open tasks show it right away. Where an earlier version left two entries for one file, the newest one is used.
-
Mixed versions: older versions show Distiller proposals for the project location as a project-description change. This affects only how they are displayed.
-
Browser agent: if you use it, restart TensorPM once more after this update. Until then, Settings → AI → Browser Use says it will be available after a restart.
-
Shortcut: on the boards, Ctrl/⌘+K now opens search and no longer switches the view.
-
Local coding agents: restart TensorPM after installing the Codex or Claude Code CLI while it runs. Agents it starts now look in NVM folders before fnm, asdf and Volta.
How a few things work in this version
- Support bundles leave out account names, secrets and AI conversations, but keep the names and project paths of the files you worked with, because they are often what explains a problem. Look through a bundle before you share it if file names are confidential.
- Creating a project with AI: pressing Escape while the project is being created cancels it right away, without asking first.
- Recurring tasks: the end date of a series is the first day without an occurrence; a series ending on 31 October creates its last occurrence before that day. A start date in the past creates every occurrence missed since then at once.
- Resizing list columns: in narrow lists, the first drag of a date, effort or budget column can jump by a few pixels before it follows the pointer.
- Handovers: when the AI suggests continuing in the document or in the project chat, it says so in its reply and marks it as "Handover offered". Nothing moves until you ask for it.
- A project deleted on another device frees its chat images, mail attachments and file watchers here, but its project folder stays on this device, because it can hold files that exist only here.
- macOS with the main window closed: scheduled prompts and browser-agent runs started through A2A or MCP need the main window. Keep it open while you rely on them; with it closed, scheduled prompts use up their retries and expire.
- AI replies that don't fit: when the AI answers in prose where TensorPM expects a structured result, the error message quotes the first words of that answer so you can see what went wrong.
📅 Release Info
- Version: 1.42.1
- Release Date: 2026-10-05
- Previous Version: 1.41.5
- Type: Minor Release
v1.41.5
TensorPM v1.41.5
October 5, 2026
Changelog - v1.41.5
This update fixes a crash on the first start on Windows.
🐛 Bug Fixes
- Windows: TensorPM starts again on a new installation: on the first start, while the welcome and sign-in steps were shown, TensorPM could stop with "Something went wrong" right away, and restarting or "Try again" led to the same message. The first start now works as expected.
🏗️ Improvements
- Updated components: several built-in libraries (AI provider connections, document import and export, sync) were updated to their latest minor versions.
📝 Notes
- Version 1.41.4 was never published; this release replaces it.
📅 Release Info
- Version: 1.41.5
- Release Date: 2026-10-05
- Previous Version: 1.41.3
- Type: Patch Release (Hotfix)
v1.41.3
TensorPM v1.41.3
October 3, 2026
Changelog - v1.41.3
This update gives the welcome screen a new background film.
🎉 New Features
- A new welcome film: the first screen you see after installing TensorPM now shows seven complex projects from very different worlds: a module docking at a space station, a rotor blade lifted onto an offshore wind turbine at sunrise, the final assembly of a wide-body aircraft, a robot welding line, the inside of a fusion reactor, an underwater robot working on the seabed, and a giant telescope under the Milky Way. The film is sharper than before (1080p) and loops without a visible seam.
🏗️ Improvements
- Readable text on every scene: the film is slightly darker behind the logo, the title and the start button, so the white text stays easy to read.
- Respects "Reduce motion": if your system is set to reduce motion, the welcome screen shows a still image instead of the moving film.
- Faster first paint: a still image is shown while the film loads, so the welcome screen never starts on an empty background.
📅 Release Info
- Version: 1.41.3
- Release Date: 2026-10-03
- Previous Version: 1.41.2
- Type: Patch Release
v1.41.2
TensorPM v1.41.2
September 30, 2026
Changelog - v1.41.2
This update brings web search to every plan, fits the project metrics card to every column width, and shows the general category under its proper name.
🎉 New Features
- Web search on every plan: you can now store your own Brave Search API key on Trial and Pro too, not only on Business. Open Settings → AI → Web Search, paste the key, and the project agent can search the web for you. Your own keys for AI providers remain a Business feature.
- Project metrics that fit any width: the metrics card in Pulse (status, budget, effort) now picks its layout from the space it actually has. Wide cards show three columns with a summary above each chart. Medium cards show three compact columns with the headline figure on top. Narrow columns show one metric per row, with the ring next to its figures. All rings in a card have the same size, and legends are no longer cut off.
- Short budget figures in compact tiles: large amounts read "736K EUR" instead of "736,000.00 EUR", so they fit the tile. Hover over the tile to see the full amounts.
- The project agent names the missing setup step: when web search, a mailbox or a calendar is not set up for a project, the project agent now tells you what to set up and where (a Brave Search API key or Browser Use under Settings → AI, a mailbox or calendar assigned to the project under Connectors) instead of saying it has no internet access.
🐛 Bug Fixes
- The general category has a readable name: every project keeps a general category for items without a category. It was shown under its internal name "general", also in German. It now reads "General" in English and "Allgemein" in German: in the list, on Kanban and priority cards, in the category picker, the context menu, recurring items and the action item picker.
- No empty "general" group above your own categories: after the first save of a project that brings its own categories, an empty "general" group appeared at the top of the list. The list now leaves it out while it holds no items and no subcategories. It shows up again as soon as it holds something, in edit mode, and whenever it is the only category.
- Pie/Bar switch stays inside narrow metric cards: in a narrow card the switch moves to its own line instead of running past the card edge.
🏗️ Improvements
- Tooltips in the narrowest metrics layout use their full width, so words are no longer broken in the middle.
- Budget figures in compact tiles that are too small to abbreviate show whole units (in German "74.213 EUR" instead of "74.213,4 EUR").
- Dependency maintenance updates.
📅 Release Info
- Version: 1.41.2
- Release Date: 2026-10-01
- Previous Version: 1.41.1
- Type: Patch Release
v1.41.1
TensorPM v1.41.1
September 28, 2026
Changelog - v1.41.1
This update fixes a slow start for accounts whose personal files were synchronized before personal encryption keys existed, and a broken desktop shortcut after updates on Windows.
🐛 Bug Fixes
- Start no longer stalls on older personal files: on some accounts, TensorPM checked every personal file entry against a copy the server still held from before personal keys, and each check failed. With many files this kept the app busy for minutes after starting, and the sync status showed thousands of "upload failed" entries. Such entries are now replaced once by your own, encrypted version in the background, and the start stays responsive.
- Fewer, clearer sync messages: when the same problem hits many entries of a table, it is reported once with a count instead of once per entry. Messages from earlier attempts disappear on their own after the next successful upload.
- Windows: desktop shortcut keeps working after updates: on Windows the desktop shortcut could stop working after TensorPM installed an update on quit ("The item … is no longer available"). Updates now leave the installed app intact if a file is still in use, and installations already damaged this way are repaired by the next update.
🏗️ Improvements
- Checking personal file entries before an upload uses a new database index and no longer reads whole tables, which makes starting and synchronizing faster on large accounts.
- Long uploads pause briefly and regularly, so the app stays usable while they run.
📝 Notes
- The first start after the update may upload your personal file entries once in the background. This happens only once and does not change their content.
📅 Release Info
- Version: 1.41.1
- Release Date: 2026-09-28
- Previous Version: 1.41.0
- Type: Patch Release
v1.41.0
TensorPM v1.41.0
September 28, 2026
Changelog - v1.41.0
This update reworks the first start of TensorPM and adds a "Next steps" card to the project dashboard that helps you sync a project and connect a mailbox.
🚀 A calmer first start
- Onboarding now uses the whole window, without the sidebar. The sidebar appears once your first project is open.
- "I already have an account" opens a centered sign-in. Afterwards TensorPM opens your cloud workspace. If you joined a team through an invitation, you land in the team's workspace; further workspaces and pending invitations wait in the account menu.
- The sign-in card never creates an account by accident: an unknown email address gets a short hint and the option to start with a first project instead.
- The account form asks for your password once and offers one clear "Continue with Google or Apple" button, which opens tensorpm.com.
- Generating the first project is more robust: it may take up to four minutes, you can cancel it, and a project that was already generated is picked up again instead of being generated twice. If generation fails or you cancel, your free first project is not used up.
- Errors say what happened and offer the next step, such as signing in or sending a report.
- After you confirm the generated project, "Confirm and plan first tasks" lets the project agent propose the first tasks right away.
- Keyboard and screen readers: one "Back" per step, the focus stays where you put it, and status lines are announced once they are complete.
🧭 Next steps on the dashboard
- A new "Next steps" card at the top of the status column:
- Sync this project moves a project that lives only on this computer into your own cloud workspace, end-to-end encrypted, with one click, and opens it there again. TensorPM offers this only when it is safe: nobody else belongs to that workspace (checked again right before the move), your plan has room for another active project, and no other move is pending.
- Connect a mailbox opens the connector setup for this project, so new mail reaches the Distiller as proposals you confirm.
- "Not now" hides a step for that project.
- The connector dialog can now be opened from within a project. Escape closes it and returns you where you were.
📐 More room in Pulse
- Chat history and "New chat" moved into the Pulse header, next to the agent switch. The row they took up above the briefing is gone, and the duplicate re-analysis button with it: the header's "Go through the project again" chip does the same.
- On smaller windows the briefing starts higher: "Today's Focus" is no longer cut off at the message box, and the check-in below it is visible right away.
- Scrolling works without a scroll wheel or trackpad: the briefing and the status column show a slim scrollbar while you point at them or move through them with the keyboard, and you can drag it. At rest it stays out of sight.
🏗️ Improvements
- The account menu shows a dot and the number of pending workspace invitations.
- On macOS, TensorPM › Preferences… (⌘,) opens the settings, also during onboarding.
- Kanban cards: a long category name no longer pushes the ID and priority icon down. It is shortened with "…", and the tooltip shows the full name.
- The app runtime is updated to Electron 43.7.5.
- Browser agent: when you take over the embedded browser, the page keeps its desktop layout right away instead of briefly showing the size it had before.
🐛 Bug Fixes
- Personal file conflicts: when two of your devices index the same folder, the same file entry no longer turns into a conflict you have to decide. If both versions have the same content, TensorPM keeps the synchronized one on its own, and conflicts of this kind that piled up earlier are cleared in the background.
- The conflict list in the sync indicator no longer flickers while it refreshes.
- For personal file conflicts that really differ, "Use the synced version everywhere (N)" at the bottom of the list settles all of them in one step.
- Pulse: the daily check-in stays first in the briefing. The daily project analysis follows after it instead of pushing it to second place.
📅 Release Info
- Version: 1.41.0
- Release Date: 2026-09-28
- Previous Version: 1.40.2
- Type: Minor Release
v1.40.2
TensorPM v1.40.2
September 27, 2026
Changelog - v1.40.2
This update stops saving a project from producing sync conflicts, makes the sync panel readable, and fixes a set of problems in documents (Artifact Mode).
🔄 Synchronization
- Saving a project no longer deletes its effort, budget, time, dependency and assignment entries on the server, and no longer raises "deleted while you were editing it" for each of them. Entries this device had already sent that way are restored automatically, including those removed with "Keep deleted", as long as nobody changed them since.
- Conflicts left over from the switch to the new sync protocol, where your device and the server hold the same content, are resolved automatically.
- Conflicts are named after the task or person they belong to ("Effort: Pour foundation") instead of an internal id, and several at once are announced in one notice instead of one each.
- The sync panel counts conflicts as conflicts, and says when they are in another workspace instead of showing "no open conflicts".
- Resolving a conflict takes effect visibly: the entry leaves the list with a confirmation, "Restore all" handles every deleted entry at once, and "Keep deleted" asks once more.
📄 Documents
- The document chat is kept after handing a project conversation over to a document; chats an earlier version had set aside come back.
- Pictures can be inserted from the toolbar, by pasting or by dropping them onto the page.
- Exported documents no longer appear in the Distiller as new signals.
- Questions the document agent asks the project agent no longer appear in the project chat.
- Links in documents open with Cmd/Ctrl+click; only web, mail and phone links are accepted.
- Ctrl+Y redoes, as on Windows and Linux.
- The header says "not saved" while the document cannot be written to disk.
- The agent can no longer remove table rows by accident, replace a header or footer it has not read, place a text box where the Word export cannot follow, or change a very large number of matches without confirming the count.
- "Retry" after an interrupted agent turn continues from what was already saved instead of repeating it.
📅 Release Info
- Version: 1.40.2
- Release Date: 2026-09-27
- Previous Version: 1.40.1
- Type: Patch Release
v1.40.1
TensorPM v1.40.1
September 27, 2026
Changelog - v1.40.1
This update lowers the background load of synchronization on devices with many waiting changes.
🔄 Synchronization
- Signing in again or switching accounts no longer adds another copy of every personal file to the list of changes waiting to be uploaded. Copies that already piled up are uploaded once instead of once per copy.
- A large backlog no longer holds back other uploads: preparing waiting changes pauses after a short time and continues with the next synchronization round, and other work in the app keeps running in between.
- Checking for waiting changes and open conflicts every few seconds reads far less data while nothing has changed.
📅 Release Info
- Version: 1.40.1
- Release Date: 2026-09-27
- Previous Version: 1.40.0
- Type: Patch Release
v1.40.0
TensorPM v1.40.0
September 27, 2026
Changelog - v1.40.0
This update explains your schedule in the Gantt, lets you choose how deeply each AI model thinks, and reworks how the Distiller presents and applies its proposals.
📅 Timeline and Gantt
- The Gantt shows the critical path: which tasks drive the project end, how much float the others have, and where dependencies conflict with the planned dates. All figures are in working days.
- Conflicts can be resolved in place, with a preview of the moves and of the shift of the project end. A block reason can be edited right in the chart.
- Snapshots ("Stände") record the plan: manually, once a week automatically, and one baseline per project. Comparing a snapshot with today shows what moved, by how many working days, and what was pushed along by dependencies.
- Moves are explained by their causes: changes from the chat or the Distiller and linked decisions. You can document a reason as a decision or ask the agent about the differences.
- Canvas labels (months, weekdays, calendar weeks) follow the app language. Keyboard shortcut hints on the chart are now hidden by default and can be turned on in the view settings.
🧠 AI
- Settings › AI has a reasoning level ("Denktiefe") per model, with exactly the levels that model supports. Existing installs keep their previous behaviour; the former Anthropic thinking switch is carried over.
- Claude Fable 5.1 and Claude Opus 5.5 replace Fable 5 and Opus 5. Saved model choices move to the successor.
🔍 Distiller
- Proposal cards show the change on the object it affects: old and new values side by side, dates and amounts with their difference, table rows as records.
- With two or more proposals, nothing is written on the last click: a commit step lists exactly what will be written before you apply it. A short input lock after every card switch prevents a double click from deciding a card you have not seen.
- After sending, the signal shows what actually happened: applying, applied, partially confirmed or not finished, read from the trail. "View in trail" opens the trail filtered to that signal.
- No more layout jumps while reviewing.
🌐 Language
- People, trail, budget, intake and connector texts appear in the app language; amounts use the separators of the app language, and message times read "Today at 3:45 PM" / "Heute um 15:45".
📅 Release Info
- Version: 1.40.0
- Release Date: 2026-09-27
- Previous Version: 1.39.4
- Type: Minor Release
v1.39.4
TensorPM v1.39.4
September 27, 2026
Changelog - v1.39.4
This update removes the remaining freezes after updating to 1.39.3.
🔄 Synchronization
- The app no longer freezes for minutes after start or while opening a cloud project on devices with many changes waiting to be synchronized. Looking up waiting changes read the whole list for every single record; it now uses an index.
- A burst of new sync conflicts no longer makes the app reload the conflict list hundreds of times.
- Accepting the server's copy of a workspace no longer fails with a database error.
- A record the server cannot take yet (for example because its parent has not arrived) no longer holds back the changes behind it, and an expired sign-in in the middle of an upload no longer marks a change as rejected.
📚 Documentation
- The synchronization documentation describes the current protocol.
📅 Release Info
- Version: 1.39.4
- Release Date: 2026-09-27
- Previous Version: 1.39.3
- Type: Patch Release
v1.39.3
TensorPM v1.39.3
September 27, 2026
Changelog - v1.39.3
This update fixes the slowdowns and sync stalls some devices showed after updating to 1.39.1.
🔄 Synchronization
- The app stays responsive while cloud data is checked. After 1.39.1, every incoming checkpoint made the app re-examine all synchronized records, several times a minute, which could freeze the window for seconds at a time.
- Records that have not changed since the last check are no longer examined again.
- Changes to your workspaces are uploaded again on devices that are still waiting for your personal encryption key. Before, a single personal file that could not be prepared yet held back every other change of the device.
- A workspace whose encryption key has not reached this device yet no longer blocks uploads to your other workspaces.
- Personal files upload as soon as the key reaches this device (open another signed-in device or recover your encryption keys). Until then they stay safely on this device.
- Far fewer repeated entries in the sync log.
🐛 Bug Fixes
- Project file paths that were stored in an older, double-encoded format are readable again, in the file explorer and in the Distiller.
- Diagrams in chats and artifacts keep their font, curve style and labels consistently after the first diagram.
📅 Release Info
- Version: 1.39.3
- Release Date: 2026-09-27
- Previous Version: 1.39.1
- Type: Patch Release (1.39.2 was not published)
v1.39.1
TensorPM v1.39.1
September 26, 2026
Changelog - v1.39.1
This update introduces a new synchronization protocol for cloud workspaces. Changes made at the same time on several devices are merged instead of overwritten, every automatic decision can be reviewed and undone, and personal intake stays private until you share it.
🔄 Synchronization
- Every record carries a server revision. A change made on an outdated version is detected instead of silently replacing a newer one.
- Concurrent edits are merged automatically when they touch different fields. In long texts, edits to different paragraphs are both kept. Related fields such as start and due date, status and block reason, or the priority settings are always taken together.
- When both sides changed the same field, the newer change wins. Small clock differences between devices do not decide the outcome.
- Automatic decisions are listed in the sync panel. Values that were replaced can be restored with one click, as long as nobody changed them again since.
- Deleted records are no longer brought back by an offline device. An edit to a record that was deleted elsewhere is kept and can be restored explicitly.
- Changes wait safely on the device while offline or when the server is briefly unavailable, and a single failing record no longer holds back the rest.
- Project moves between workspaces are transferred as one unit.
- New intake entries are private to you until you share them with the workspace.
- On computers shared by several accounts, files you save or the app creates for you (exports, documents, handovers, browser results) stay yours; project folders keep detecting new files.
- Logging out now tells you how many changes are still waiting to be sent and how many need a decision; both stay on this device for your next sign-in.
🔐 Sign-In Improvements
- A temporarily unavailable or rate-limited server no longer signs you out. Only an account that no longer exists ends the session.
⚠️ Compatibility
- Older versions keep synchronizing with updated devices. Intake entries created on an older version stay on that device.
- The first start after the update prepares the local sync state once; this can take a moment on large databases.
🏗️ Improvements
- Updated the editor, AI-provider and application libraries to their current versions.
📅 Release Info
- Version: 1.39.1
- Release Date: 2026-09-26
- Previous Version: 1.38.2
- Type: Minor Release (1.39.0 was not published)
v1.38.2
TensorPM v1.38.2
September 15, 2026
Changelog - v1.38.2
This update improves sign-in reliability, keeps timeline progress visible while scrolling, and includes the document and project-chat improvements added since v1.38.1.
🐛 Bug Fixes
- Email verification and password resets now retain their confirmation details for the current session even if the system keyring refuses a write. Requesting a replacement code replaces the previous details, and expired codes are not restored from an older saved entry.
- The account menu keeps its warning visible when sign-in could not be saved, including after closing and reopening the menu. A successful save clears the warning.
- Category progress in the Gantt view remains visible during fast vertical scrolling.
- Closing the app no longer reports an artifact save failure when no document sessions need saving.
🔐 Sign-In Improvements
- Browser sign-in through passkeys, Google, and Apple is tied to the request started by the desktop app. Unexpected or duplicate callbacks cannot complete another sign-in request.
- Saved sign-in credentials require the system's secure storage. When secure storage is unavailable, you can still sign in for the current app session and see a clear explanation.
- Refresh retries retain their request identity, and email confirmation flows use the updated account-security protocol.
📝 Document and Project-Chat Improvements
- Continue work between a project conversation and a document conversation with the task and relevant context attached to the handover. Documents can accompany the return to project chat.
- The document agent can inspect rendered pages to check layout, including diagrams and page furniture, against the current document revision.
- Project-file references can be used in chat and code execution with checks that the referenced file still belongs to the project.
- Email drafts support project-file attachments. Approval retains the exact attachment snapshot that was reviewed before sending.
- OpenAI conversations handle follow-up instructions and parallel read operations more reliably.
- Updated AI-provider, synchronization, and email libraries; kept editor packages aligned.
📅 Release Info
- Version: 1.38.2
- Release Date: 2026-09-15
- Previous Version: 1.38.1
- Type: Patch Release
v1.38.1
TensorPM v1.38.1
September 11, 2026
Changelog - v1.38.1
This update expands browser-assisted project work, improves document editing and AI change review, and makes incoming project information easier to inspect. It includes all changes since v1.38.0.
🎉 New Features
Browse Websites Directly Inside TensorPM
A new integrated browser brings websites into the project workspace. Open pages yourself, keep multiple tabs, and assign a task on an existing page to the Browser Agent.
- Work with the browser beside your project conversation, resize its dock or expand it to full width.
- Minimize the browser to a Pulse card and reopen it without losing the current page.
- Use familiar navigation controls, an address bar, browsing history, page search and zoom.
- Access page printing, screenshots and device-width previews from the browser controls.
- Keep browser tabs available after an agent task ends, including pages you opened yourself.
- View desktop layouts even in a narrow dock; the display scales with the available space.
The Browser Agent now uses TensorPM's integrated browser. Setup no longer requires a separate Chromium download; Browser-Use and its Python requirements remain managed through Settings.
Share Browser Control with the Agent
Watch the agent's progress, take control to complete a login or another manual step, and return control when you are ready. The same page and its entered values remain available across handovers.
- Give follow-up instructions or stop the task from its browser controls.
- Respond to the agent's requests for information or manual assistance within the browser workspace.
- Enable individual approvals for browser actions when you want to review them before execution.
- Give the task specific success criteria, allowed websites and selected project files.
- Keep independent browser tasks and tabs isolated so one task cannot take over another task's page.
More Useful Browser Results and Downloads
Browser tasks now distinguish completed work from partial, blocked, failed or cancelled outcomes. The agent checks the requested outcome and retains the findings and uncertainties collected along the way.
- A short completion notice is followed by a consolidated Project Agent answer based on the full results.
- Long results can be read in pages without losing the continuation information.
- Downloaded and generated files are registered with the project and linked to the task's results.
- Task results and pending completion notices survive an application restart.
- Interrupted tasks are retained for inspection and require an explicit new start before continuing work.
GPT-6 Astra in the Model Selector
GPT-6 Astra is available in the OpenAI model selector, including image input support and its configured context and output limits. The selected model is preserved when you reload the application.
Read Source Previews Before Distilling
Hover over an incoming email, document, supported local file or Telegram message to read a longer preview before deciding what to distill.
- Email previews show the available message body instead of only the short queue excerpt.
- Supported local files include text, Markdown, CSV, spreadsheets, Word documents, presentations and PDFs.
- Previews clearly indicate when long content has been shortened.
- Private-source previews respect the source's project and viewer access.
- Opening a preview leaves the source's intake status unchanged and does not start an AI request.
- File extraction runs separately from the main application, with time and size limits to keep the interface responsive.
📝 Artifact Mode Improvements
Keep or Undo Individual AI Changes
Review one AI change at a time, or keep or undo the remaining changes from the same turn together. This works for text, formatting, diagrams and text boxes, with visible notices for deleted text blocks.
- Accepting one change leaves the other changes available for review.
- Pending review marks, deletion positions and undo/redo history survive closing and reopening a document.
- Undoing remaining changes preserves changes you already accepted.
- Deleted text boxes are restored by the combined undo action, including after reopening the document.
- Selective undo restores neighboring deleted blocks in their correct order and respects retained moves.
Easier Diagram and Text-Box Editing
- Select diagrams directly on the page, move them with a drag handle or remove them with the delete control.
- Backspace and Delete operate on the selected diagram; selection receives keyboard focus immediately.
- Moving a diagram preserves its identity, source, width and alignment, including across undo and redo.
- Enter text boxes by mouse or keyboard and apply formatting through the shared document toolbar.
- Text-box toolbar changes save reliably, even when focus temporarily moves to a formatting control.
- Delayed save acknowledgements preserve newer typing, and undo/redo updates the focused text box correctly.
More Reliable Document-Agent Work
- The ChatGPT/Codex subscription provider can access TensorPM's document tools through its app-server integration.
- Long reading sessions can summarize earlier reading progress and continue within the same request.
- After reading history is summarized, the agent must read content again before editing it or quoting it exactly.
- Completed edits retain their tool receipts when Stop is pressed during a layout update.
- Cancellation and revision checks protect against applying stale results after asynchronous work.
More Accurate Layout Updates
AI changes to heading and paragraph spacing appear immediately on the page. Review markers no longer interfere with pagination measurements, and diagram controls remain hidden in printed output. Text-box formatting menus preserve the active editing context.
🔎 Clearer Distiller and Trail Views
Long text changes now open in a clean reading view. Expand the full text, show the previous version or turn on change highlighting when you need a detailed comparison.
- Text previews prefer complete paragraphs or sentences where possible.
- Collapsed descriptions stay within their cards and no longer overlap the expansion control or reasoning.
- Table comparisons use thin, aligned cell borders with consistent old/new rows.
- Narrow cards keep action labels and controls inside the available width.
- Requirement priority charts use consistent colors across supported priority labels and legends.
💬 Project-Agent and Workflow Improvements
- Direct chat replies follow the language of the current user message, while new or edited project content follows the configured application language.
- German project-management instructions use consistent terminology, including Aufgaben, Aufwand, Projektstrukturplan and kritischer Pfad, and distinguish estimates from confirmed commitments.
- Completed browser tasks no longer inject their old task instructions into unrelated later messages.
- Tool guidance for sandbox document generation stays aligned with the bundled libraries and their versions.
- Project navigation retains the selected sidebar tab during rapid tab changes.
🐛 Additional Fixes and Security
- Wizard table edits and row removal use stable row identities. Sorting, filtering or deleting a row no longer redirects a delayed edit into another row.
- Embedded browser content stays beneath dialogs and disappears when its host is hidden or clipped.
- Background browser views are genuinely hidden. Preview capture, viewport updates and control handovers are coordinated so stale rendering work cannot flash a browser surface over the app.
- Browser control transitions preserve keyboard input and page state, and late updates cannot revive a finished task.
- Browser startup and stop handling clean up failed or interrupted processes more reliably.
- HTML in chat messages cannot inject page metadata that redirects or repeatedly reloads the app.
- Malformed image containers are rejected promptly instead of potentially leaving image processing stuck.
🛠️ Maintenance and Quality Checks
- Windows release signing now covers the application, bundled executables, native DLLs and addons, elevation helper and uninstaller, as well as the final Setup and AppX packages.
- Windows release checks verify signatures and timestamps, compare installed binaries with the verified payload, and scan release files with Microsoft Defender before publication. Signing and scan reports are retained with the build. AppX and updater publisher identities use the certificate's full subject name.
- Updated OpenAI/Codex, Anthropic, Google, PowerSync and email dependencies.
- Aligned TipTap editor packages for reproducible clean installations and grouped future updates across runtime and development dependencies to avoid incompatible partial upgrades.
- Expanded real Electron coverage for document review, diagram editing, browser handovers, source previews, responsive layouts and project navigation.
- Added browser-task checks for approvals, outcomes, process lifecycle, restart recovery and downloaded files.
- Isolated Electron test data per run and worker, and made renderer exceptions and unhandled rejections visible as test failures.
- Kept live-provider tests separate from the deterministic unit and integration suites.
v1.38.0
TensorPM v1.38.0
September 1, 2026
Changelog - v1.38.0
🎉 New Features
Artifact Mode: Create Finished Documents Beside Your Project
TensorPM now includes a document workspace directly in Pulse. Create structured documents without leaving the project, keep the source material and project context beside the page, and move between the Project Agent, Distiller and document work in one place.
Artifact Mode supports:
- Rich text with headings, lists, quotes, links, colors, fonts, spacing and alignment
- Tables whose column widths can be adjusted directly on the page
- Images, Mermaid diagrams and page-fixed text boxes
- Editable headers and footers, including page numbers and first-page variants
- Portrait and landscape page formats with live pagination
- Search and replace across the document
- Undo and redo for both human and AI changes
The page always fits the available workspace, while a full-width view provides more room for focused document work.
A Dedicated AI Document Agent
Every artifact has its own TensorPM conversation. The document agent can read the current document, search it, insert or update content, transform multiple blocks and work with page furniture and text boxes. It uses the same familiar chat experience as the Project Agent, but its tools are restricted to the open document.
AI changes appear live on the page. Changed, inserted and deleted content remains traceable by turn, with explicit Keep all and Undo all actions. Block-level locks prevent a person and the agent from silently overwriting each other.
Export to Word, PDF and Markdown
Artifacts can be exported as:
- Word (
.docx) with document styles, page geometry, tables, images, diagrams, headers, footers and positioned text boxes - PDF using the same rendered document surface and page furniture shown in TensorPM
- Markdown with self-contained local assets
Exports use deterministic filenames and atomic writes so an existing unrelated file is never silently overwritten.
Better Diagram Layout
Diagrams can now use an explicit width and left, center or right alignment. When no width is set, they fill the available text column—including landscape pages. Captions stay associated with their diagram in Word exports, and invalid diagrams remain visible with their original source instead of disappearing.
🐛 Bug Fixes
Pending Document Edits Are Preserved
Switching from Artifact Mode to the Distiller, closing a document, navigating to another artifact, or using undo and redo now flushes pending text first. Even an edit made inside the final debounce window survives the transition.
Safer Concurrent Editing
Artifact updates are now revision-aware from read through write. Stale AI reads, delayed window messages and old background callbacks can no longer authorize changes against a newer document or a different artifact.
Table identities and widths survive editor round trips without phantom updates. Multiple inserts keep their intended order, and foreign window broadcasts no longer release unsent local edits.
More Reliable Document Rendering and Export
- Headers and footers survive loading, editing and export.
- Large documents and oversized tables stay within bounded AI read results without producing broken JSON or losing continuation information.
- Unicode-aware search and replace preserves the correct source offsets.
- Missing image assets retain their reserved page space and show a clear placeholder.
- PDF extraction loads its worker, character maps, standard fonts and WASM assets correctly from the packaged application.
- Word exports use the selected document font and preserve table, list, image and section metadata.
Improved App and Agent Reliability
- Artifact conversations restore their local history without leaking document-only messages into the normal project chat.
- Agent stop, steering and restart behavior is consistent with the main chat.
- Browser-agent startup and shutdown handle slow compatibility probes and child-process cleanup more reliably.
- Local Codex and Claude Code integrations use validated CLI arguments across supported versions.
- Automated Electron release tests no longer pull TensorPM in front of the application currently being used on macOS.
🏗️ Improvements
- Artifact data is stored atomically inside the project and flushed during normal application shutdown.
- Document repairs preserve unknown content and create recoverable backups instead of silently dropping unsupported data.
- AI read budgets now favor useful first responses while retaining precise continuation controls for very large documents.
- Document chat remains local to the artifact; it is not written into cloud-synced project chat history.
- Dependency updates include Electron, TipTap, Mermaid, AI provider SDKs and supporting build tools.
📝 Notes
- Artifact files and their document-agent conversation remain local to the project in this release.
- PowerPoint is not part of Artifact Mode export; TensorPM's existing presentation authoring tools remain available separately.
📅 Release Info
- Version: 1.38.0
- Release Date: 2026-09-01
- Previous Version: 1.37.2
- Type: Minor Release
v1.37.2
TensorPM v1.37.2
August 23, 2026
Changelog - v1.37.2
🐛 Bug Fixes
One Scrollbar in Pulse Instead of Two
Pulse no longer scrolls as a whole. Everything that can overflow scrolls inside the view — the working surface, and the status column beside it on a wide window — while the header with the title, the project state and the agent switch stays where it is.
Pulse fills the content area, but it was still sitting inside the scroller that every view gets by default. Whenever the surface asked for a few pixels more than the window had, a second scrollbar appeared next to the one Pulse already had, and dragging it took the header along.
Pulse Cards Keep Their Own Row
Two cards side by side now end at the same line, and a card left without a partner takes the whole row instead of leaving half a row empty next to it. Both only apply where the cards sit below the conversation — beside it the column is one card wide and unchanged.
Chart Legends Are No Longer Cut Off
The legend under a metrics donut takes the room it actually needs. It used to be given a fixed height, and a label that wrapped to a third line — "Abgeschlossen" and "Blockiert" under the same donut — was cut off at the card edge.
Status and Progress Are Written in the App Language
The status and progress evaluations now say which language they are for, the same way the welcome box, the chat, the Distiller and the suggestions already did. Their text goes straight into the Pulse cards, so an English sentence in a German app — or the reverse — was visible immediately.
Both evaluations also read the project data and the previous evaluation, and without an anchor they simply continued in the language they found there. The instruction is now explicit: take the app language, translate what you quote from the project, and never mix two languages in one sentence. An English UI gets the same anchor, which it did not have at all before.
Note: Stored evaluations keep the language they were written in until the project is evaluated again — use Projekt neu durchsehen / Review project to refresh them.
📅 Release Info
- Version: 1.37.2
- Previous Version: 1.37.1
- Type: Patch Release
v1.37.1
TensorPM v1.37.1
August 22, 2026
Changelog - v1.37.1
🐛 Bug Fixes
Pulse Cards Come Back Filled After a Restart
Project health and progress are loaded again when the app reopens the project it had open, instead of only when a project is opened or a tab is switched.
Since v1.37.0 the first Pulse column after every start showed No data yet on the health and progress cards, even for a project whose evaluations were already stored — and a card reporting no data collapses, which kept the very component that would have loaded them from ever running. The column recovered as soon as the project was reopened or another tab was visited, and stayed correct once a card had been expanded by hand, but a fresh start always began empty.
A Finished Evaluation Is No Longer Overwritten by an Older One
A stored status or progress row can no longer replace a newer evaluation that has just arrived. A read started before an evaluation finished used to resolve afterwards and write the pre-run state back over the fresh result, so a refreshed project could visibly renew its status and then snap back moments later.
Location and Address Details
- A project country is never stored without the address it belongs to
- A postal address consisting only of spaces is treated as no address instead of an empty block
📅 Release Info
- Version: 1.37.1
- Previous Version: 1.37.0
- Type: Patch Release
v1.37.0
TensorPM v1.37.0
August 22, 2026
Changelog - v1.37.0
🎉 New Features
Project Pulse
The project view now opens on Pulse: one status column that answers "what is going on in this project and what needs me?" instead of spreading the answer across separate tabs.
What Changed:
- ✅ Cards are ordered by what the project is actually signalling, not by a fixed layout
- ✅ Pin, reorder, collapse or hide any card — your own arrangement is remembered per device
- ✅ A card that moved on its own says why ("Pinned", "Moved up"), and a newer arrangement is offered as an explicit "Apply" rather than shifting under your cursor
- ✅ "Changed since your last visit" marks what is genuinely different from the last time you looked, measured once the project has finished loading
- ✅ Cards without data stay collapsed instead of taking up the column with an empty frame
User Benefit: The first screen of a project is a briefing, not a navigation problem.
Suggestions in One List
The Guidance tab's four-tab taxonomy is gone. Every open suggestion — context, strategic, coverage and execution — now lives in one ranked list on the Pulse column, where the generator type is a filter rather than a destination.
- ✅ Ranked by severity, whether the suggestion can be applied in one click, its link to a goal or criterion, and its age
- ✅ New suggestions since your last visit are marked, with a count in the header
- ✅ Answered suggestions stay reachable underneath, most recently answered first, so a mis-click is undone immediately
- ✅ Dismissing asks for a second click instead of a modal
Tracked Changes in the Trail
Trail entries are rendered as tracked changes: one stream of text with insertions and deletions marked in place, instead of an old block above a new block.
- ✅ Word-level marking, so a changed date in a long paragraph is a changed date, not a changed paragraph
- ✅ Unchanged passages are shortened so the change itself stays on screen
- ✅ Tables, action items and completion states each get the shape that fits them
PDF Reports With Real Pagination
Generated PDF reports now use a dedicated print pipeline.
- ✅ A print baseline stylesheet gives every report the same page-break behaviour — no headings stranded at the bottom, no single lines left behind
- ✅ Optional running footer with page numbers
- ✅ Pages are checked after rendering for content clipped at a page edge
- ✅ Page format, orientation and margins follow what was asked for
Addresses and Project Location
People can now carry a postal address, and a project records where it physically happens — site, venue, office — together with its country.
- ✅ The country is a typed value, because it decides the legal regime and how an address is written
- ✅ Both are picked up from your documents during extraction and onboarding
- ✅ Existing projects and people are untouched: an unknown address simply stays empty
🏗️ Improvements
Trail Timeline on Synced Projects
Trail entries are ordered and grouped by when they actually happened. On a synced project the sort key used to mix two timestamp formats, which put a decided proposal above genuinely newer entries and changed the visible order every time more entries were loaded. Pagination, cursor and view now share one normalized axis.
Active-Project Limit Before It Bites
The active-project badge now appears on every plan, Trial included. It previously stayed empty for Trial accounts, so the limit was first discovered when saving the second project failed.
Analysis Without Stale Work
Refreshing a project whose status, progress and guidance are all current now recomposes the project overview instead of returning an error.
🐛 Bug Fixes
- New-suggestion badge: the "new since your last visit" mark could never appear, because the first look never recorded a reference point. It does now.
- Suggestion history order: the answered list sorted by when the analysis ran rather than when you answered, so a just-dismissed suggestion could fall outside the undo window.
- Live suggestion updates: suggestions generated in the background now reach the open card and the sidebar count without leaving the project first.
- Goal-linked suggestions: suggestions tied to a project goal are ranked accordingly again.
- PDF margins: a report without page numbers keeps the bottom margin it asked for; the 14 mm footer reserve applies only when a footer is actually printed.
- PDF page format: reports using the print baseline follow the requested page format and orientation instead of being forced to A4 portrait.
- "Changed since your last visit": the mark was compared against not-yet-loaded data, so nearly every card carried it on the first visit to a project after starting the app.
- Workspace conversion: an expired session now produces a localized message instead of an English one, and the cloud-workspace hints no longer state a limit that does not exist.
v1.36.0
TensorPM v1.36.0
August 18, 2026
Changelog - v1.36.0
🎉 New Features
Clear Four-Level Priorities
Action-item priorities now use four explicit levels — Low, Medium, High, and Urgent — plus None for items that have not been prioritized yet.
What Changed:
- ✅ Pick a named level instead of estimating a number on a 1–100 scale
- ✅ Use the same levels in list, board, priority, filter, sorting, AI, MCP, and sync workflows
- ✅ Keep unprioritized work separate from genuinely low-priority work
- ✅ Preserve existing priorities by converting their former numeric bands automatically
User Benefit: Priorities are faster to set, easier to discuss, and consistent wherever an action item appears.
🏗️ Improvements
Transparent AI Usage and Billing
The AI Activity view now explains model usage and billing independently instead of hiding token counts behind a subscription or TensorPM tier label.
- Token counts remain visible for TensorPM AI, subscriptions, your own API keys, and failed calls that already consumed tokens
- Each activity shows whether it used TensorPM credits, a provider subscription, your own key, or a local model
- Cached input and reasoning usage are identified more clearly
- Tool calls use readable, localized names and distinguish active work from completed work
- Multi-model operations select the primary user-facing model more reliably
Gemini 3.7 Flash
Google AI connections and the TensorPM AI fallback now use Gemini 3.7 Flash in place of Gemini 3.6 Flash. Existing unsupported saved model selections fall back to the current provider catalog.
More Reliable Briefing Refreshes
Overlapping manual project-briefing requests now remain coordinated until every request has finished. A scheduled check-in can no longer start in the gap created when an older cancelled request settles before the newer request, preventing duplicate AI cost and stale content from overwriting the requested briefing.
🐛 Bug Fixes
Priority Sync and Migration Safety
- Invalid or future priority levels received from a synced workspace are safely cleared instead of causing the complete action item to be rejected
- Older clients continue to receive the preserved numeric priority representation
- Priority migrations keep sync timestamps and existing orphan diagnostics intact
- The migrated schema is validated against a fresh installation using real SQLite transactions
Priority Interaction Coverage
The Electron regression suite now exercises the actual priority level picker, its lock state, and level-based sorting instead of the retired numeric input.
🔒 Security
Document parsing now resolves to the patched PDF.js runtime used by TensorPM. Production dependencies have no known high-severity audit findings at release time.
📝 Notes
- Existing action-item priorities are migrated automatically; no manual cleanup is required.
- Shared workspaces remain compatible with clients that still use the previous priority format.
- The first request after updating an AI provider may rebuild its prompt cache once.
📅 Release Info
- Version: 1.36.0
- Release Date: 2026-08-17
- Previous Version: 1.35.7
- Type: Minor Release
v1.35.7
TensorPM v1.35.7
August 15, 2026
Changelog - v1.35.7
🐛 Bug Fixes
First Launch No Longer Fails With "AI Unavailable"
A brand-new installation started on a provider that requires your own API key. Since own-API-key access is a Business feature, every background AI call on first launch failed with an entitlement error — before you had picked a provider at all.
What Changed:
- ✅ Fresh installs now start on the TensorPM AI service, which is what Trial and Pro accounts use
- ✅ The same default applies whenever the stored preference cannot be read
- ✅ If you are not signed in yet, you now see the sign-in path instead of an error about a provider you never chose
User Benefit: The first thing a new user sees is an invitation to sign in, not a confusing entitlement error.
macOS App Icon Loaded Correctly
The packaged macOS app tried to hand a .icns file to a routine that only accepts PNG and JPEG,
so every start logged an image-loading failure. The Dock and Finder icon always looked right
(macOS paints those from the app bundle), which is why nobody noticed — but the error is gone now.
🏗️ Improvements
Consistent Internal Tool Naming
All of the AI agent's internal tools now follow one naming scheme. Your existing history is unaffected: conversations, trail entries, decision cards and connector permissions recorded under the previous names keep resolving to the correct labels and detail views, including the decision cards and people diffs in the project trail.
User Benefit: Nothing changes in what you see — the change removes a class of inconsistency that had started to produce mislabeled entries.
📝 Notes
- No database migration is included in this release.
- The first AI request after updating is slightly more expensive than usual, because the changed tool definitions invalidate the provider-side prompt cache once. Subsequent requests are back to normal.
📅 Release Info
- Version: 1.35.7
- Release Date: 2026-08-15
- Previous Version: 1.35.6
- Type: Patch Release
v1.35.6
TensorPM v1.35.6
August 13, 2026
Changelog - v1.35.6
🐛 Bug Fixes
- A second launch can no longer touch the installation state of the running app. Opening TensorPM again while it was already running — by double-click, by a link, or through the installer — let the second process run the version check against the same data directory, in rare cases entering the uninstall path. Only the instance that actually starts does this now.
- The project agent no longer receives its instructions twice. Relevance checks, wizard feedback and document analysis prepended their instructions to the request while the app also sent its general ones, which cost tokens and blurred the task. Each request now carries exactly one set of instructions.
- Claude- and Codex-subscription accounts get the right instructions again. On these two connection types the task-specific instructions for relevance checks, wizard feedback and document analysis were not applied.
- The daily automatic analysis no longer starts twice. Right after startup, while sign-in and entitlements were still settling, a second run could begin in parallel with the first.
- Updates download once instead of twice. Every update first attempted a partial download that could not succeed with our packages, logged an error, and then downloaded the full package anyway.
🏗️ Improvements
- Changing many work packages at once is now a single step. Shifting all due dates by a week previously produced one request per item — eighteen for a mid-sized project, each one repeated in every following round of the conversation. The agent now sends one request covering all items, including items that need different values. This is noticeably faster and consumes fewer AI credits.
- A single bad value no longer discards a whole batch. Valid changes are applied and the problematic ones are reported back, instead of throwing everything away and retrying.
- Wizard feedback prompts are shorter. The field under review was sent twice — once as the value to review and once as project context. On long descriptions this alone cost about 2,000 tokens per review.
📝 Notes
- No database migration is introduced by this release.
- Existing projects require no manual changes.
- No changes to sync, subscriptions or billing.
📅 Release Info
- Version: 1.35.6
- Release Date: 2026-08-13
- Previous Version: 1.35.5
- Type: Patch Release
v1.35.5
TensorPM v1.35.5
August 13, 2026
Changelog - v1.35.5
🐛 Bug Fixes
- Rewriting a bullet list no longer breaks follow-up edits. When the project agent rewrote a list, table, or other container, every item inside it silently lost its internal identity. A follow-up edit on one of those items then failed and triggered repeated repair attempts. Items now keep their identity across a rewrite.
- Adding content to a list produces a proper list item. Inserting next to a bullet point could place a plain paragraph inside the list, which turned into a bullet with a changed block type the next time the field was opened. Content is now placed as a real list item.
- Turning a paragraph into a bullet point keeps it editable by the agent. Using the bullet button on a paragraph the agent was working with no longer detaches it from the conversation.
- Replacing a heading with several paragraphs no longer corrupts the heading. The replacement paragraphs previously ended up nested inside the heading. They are now placed as proper sibling blocks, and the heading's position keeps its identity.
- Edits that cannot be applied are reported instead of silently emptying a field. Replacement content that could not be interpreted used to clear the section while reporting success; the field is now left untouched and the agent is told.
- Repeated edits in one request can no longer target the wrong block. When a single request inserted two blocks under the same temporary name, a later edit in that request could hit the wrong one. Ambiguous and already-deleted references are now rejected.
🏗️ Improvements
- Identifiers assigned to newly inserted blocks are now derived from the block itself, so they can be recovered if they are ever stripped — newly created sections stay addressable for the rest of the conversation.
- Section identity is now resolved consistently in the editor and in the backend, using the same rule about which blocks can carry an identity.
📝 Notes
- No database migration is introduced by this release.
- Existing projects and work-package descriptions require no manual changes.
- Completes the section-identity work started in v1.35.3 and v1.35.4.
📅 Release Info
- Version: 1.35.5
- Release Date: 2026-08-13
- Previous Version: 1.35.4
- Type: Patch Release
v1.35.4
TensorPM v1.35.4
August 13, 2026
Changelog - v1.35.4
🐛 Bug Fixes
- Editing a rich-text field by hand no longer confuses the project agent. Pressing Enter in the middle of a paragraph, or pasting a copy of a block, could give two blocks the same internal section identifier. A later AI edit then quietly changed only the first of them while reporting success. The editor now assigns the duplicate a new identity immediately, so manual edits and AI edits stay in agreement in the project description, goal, scope, dependencies, and work-package descriptions.
- Existing fields with duplicated identifiers repair themselves. Fields that already carry a duplicated section identifier — from an earlier version or from previous manual editing — are now cleaned up the next time they are read or saved, instead of staying ambiguous until an AI edit happened to touch them.
🏗️ Improvements
- Section identities are now guaranteed unique on every path that shows them to the project agent or writes them to disk, rather than only during AI-driven edits.
📝 Notes
- No database migration is introduced by this release.
- Existing projects and work-package descriptions require no manual changes. Affected fields are repaired automatically on first access; the repair is invisible and does not change any text.
- Follow-up to the section-identity work in v1.35.3.
📅 Release Info
- Version: 1.35.4
- Release Date: 2026-08-13
- Previous Version: 1.35.3
- Type: Patch Release
v1.35.3
TensorPM v1.35.3
August 13, 2026
Changelog - v1.35.3
🐛 Bug Fixes
- Reliable follow-up edits in rich-text project fields. Section identifiers now remain stable when content is inserted or removed, so the TensorPM agent can continue editing the same project description, goal, scope, dependency, or work-package section without losing its target.
- Safe handling of repeated AI edits. TensorPM now removes duplicated or model-supplied section identifiers before saving rich-text changes, preventing repeated repair attempts from duplicating headings or degrading field content.
- Correct line breaks in AI-authored content. Invalid closing tags for HTML line breaks are normalized so one requested line break no longer appears as an extra blank line.
🏗️ Improvements
- Newly inserted rich-text blocks return their authoritative identifiers to the project agent, allowing immediate follow-up updates in the same conversation.
- TipTap editors now preserve backend-assigned section identifiers during normal user edits while keeping those identifiers invisible and non-editable in the interface.
📝 Notes
- No database migration is introduced by this release.
- Existing projects and work-package descriptions require no manual changes.
📅 Release Info
- Version: 1.35.3
- Release Date: 2026-08-13
- Previous Version: 1.35.2
- Type: Patch Release
v1.35.2
TensorPM v1.35.2
August 13, 2026
Changelog - v1.35.2
🐛 Bug Fixes
- Reliable onboarding recovery. Failed background project generation no longer lets late profile responses reopen an inactive questionnaire or leave the onboarding screen without a usable retry action.
- Readable attached documents in onboarding chat. TensorPM now extracts attached document content and includes it in project-discovery conversations instead of sending only the file name.
- Cleaner display names. Quoted names returned by an AI provider are normalized before they appear in greetings or saved settings.
🏗️ Improvements
- Increased managed onboarding document capacity to the active model's context budget: up to 966,656 document tokens for text-only requests and 180,224 when images require the vision model.
- Increased managed onboarding completion capacity to 65,536 tokens so reasoning-heavy, document-based project generation can finish all structured project fields.
- Added drag-and-drop file attachment support to the onboarding project conversation.
- Updated the Microsoft 365 administrator guide to reflect TensorPM's verified publisher status.
📝 Notes
- No database migration is introduced by this release.
- Existing projects, connectors, and AI configurations require no manual changes.
📅 Release Info
- Version: 1.35.2
- Release Date: 2026-08-13
- Previous Version: 1.35.1
- Type: Patch Release
v1.35.1
TensorPM v1.35.1
August 9, 2026
Changelog - v1.35.1
🐛 Bug Fixes
- Localized chat welcome. The initial TensorPM greeting and subtitle now follow the selected application language in both English and German.
- More compact project status. Context, analysis, and guidance indicators use shorter labels and counts while preserving the complete status in their accessible descriptions and detail tooltips.
- Cleaner connector setup. Email, Microsoft 365, local mail, and local calendar forms now identify the selected connector clearly, stay readable on wide and narrow windows, and display numbered instructions correctly.
- Consistent local-AI selector styling. Local models now use the same clean selector chrome as other providers while retaining their icon accent.
🏗️ Improvements
- Added a portable documentation screenshot workflow for the desktop app and website documentation.
- Updated the construction demo seed path to the current demo workspace structure.
📝 Notes
- No database migration is introduced by this release.
- Existing projects, connectors, and local AI configurations require no manual changes.
📅 Release Info
- Version: 1.35.1
- Release Date: 2026-08-09
- Previous Version: 1.35.0
- Type: Patch Release
v1.35.0
TensorPM v1.35.0
August 9, 2026
Changelog - v1.35.0
✨ New Features
Local macOS calendars
TensorPM can now connect directly to a local macOS calendar through EventKit. Calendar events can be reviewed, created, updated, or discarded through the existing approval flow without storing OAuth credentials. Calendar access is optional, permission-gated, and limited to the signed main application.
More reliable Distiller reviews
Distiller now keeps analysis, review, feedback, and completion phases clearly separated. Project-routing decisions, deferred signals, repeated tool calls, and restored review sessions are handled more deterministically so an update does not repeat completed work or lose its current review context.
🐛 Bug Fixes
- Reliable onboarding transitions. Skipping project setup while the opening message is still streaming now stops the old reveal and streams the project tour question correctly.
- Current project-creation tutorial. Removed obsolete creation-mode steps, prevented stale tutorial highlights, and aligned the walkthrough with the unified project-creation flow.
- Readable document lists. Long attachment names are truncated with a tooltip while token and action columns remain visible without horizontal scrolling.
- Correct timeline cursors. Drag, resize, create, collapse, and pan cursors are now applied to the interaction layer that receives pointer events.
- Safer calendar proposals. Calendar proposals can be discarded explicitly, and recurring-event identities remain scoped to the selected occurrence.
🏗️ Improvements
- Simplified and refined the English and German onboarding copy and spacing.
- Consolidated shared context-menu, status, animation, AI-button, column-view, and guidance coverage styles with regression contracts for their consumers.
- Improved Mistral reasoning-response handling and kept thinking chunks out of visible assistant answers.
- Hardened the packaged MCP runtime configuration and installer behavior.
- Updated DOMPurify to 3.4.13.
📝 Notes
- No database migration is introduced by this release.
- Local calendar integration is available on macOS and requires explicit Calendar permission from the user.
- Existing projects and connector configurations require no manual changes.
📅 Release Info
- Version: 1.35.0
- Release Date: 2026-08-09
- Previous Version: 1.34.0
- Type: Minor Release
v1.34.0
TensorPM v1.34.0
August 8, 2026
Changelog - v1.34.0
✨ New Features
Review the complete email before sending
Mail approval cards now include an expandable preview of the exact message body that will be sent, together with To, CC, and BCC recipients and localized status labels. Approving or retrying a draft stays in the same card without exposing internal programmatic chat messages in the visible conversation.
More usable project views in narrow layouts
Action-item and Trail view controls now switch to compact, accessible icons when the AI panel reduces the available width. Material controls, strategic guidance cards, and budget metrics also adapt to narrow panels without clipping important content or controls.
🐛 Bug Fixes
- Mail approval matches delivery. When HTML and plain-text alternatives differ, the approval preview and SMTP fallback are derived from the HTML body that the mail transport prioritizes.
- Concise strategic action titles. AI-generated strategic action titles are limited to six words and 60 characters, while details remain in the action description.
- Cleaner approval conversations. Durable mail and calendar approval events remain available for model context and audit history but no longer appear as duplicate user-authored messages.
- Responsive budget overview. Budget metrics stack predictably at compact widths instead of crowding or overflowing their container.
🏗️ Improvements
- Localized mail-agent activity and approval states in English and German.
- Added responsive coverage for Action Items, Trail decisions, Guidance cards, Material controls, and Budget layouts.
- Added regression coverage for mail-body consistency and strategic title enforcement at the model-response boundary.
📝 Notes
- No database migration is introduced by this release.
- Existing projects, mail drafts, and synchronized workspaces require no manual changes.
📅 Release Info
- Version: 1.34.0
- Release Date: 2026-08-07
- Previous Version: 1.33.2
- Type: Minor Release
v1.33.2
TensorPM v1.33.2
August 6, 2026
Changelog - v1.33.2
🐛 Bug Fixes
Chat scrolling now respects where you are reading
The AI panel no longer pulls the conversation back to the bottom after you scroll up, including while Distiller is showing its processing placeholder. Automatic following resumes only after you deliberately return to the end of the conversation.
Resizing the AI panel keeps the visible card in place
When a narrower panel makes messages or Distiller cards taller, TensorPM now preserves the top visible card and its exact on-screen offset. Layout changes, collapsed content, and browser scroll adjustments no longer count as user scrolling or silently disable bottom following.
🏗️ Improvements
- Consistent chat restoration. Returning to a chat restores an intentionally detached reading position instead of treating a nearby position as the end.
- Smoother long conversations. Visible-card tracking is limited to one pass per animation frame and stops scanning once cards are below the viewport.
- Broader regression coverage. Tests cover Distiller placeholders, panel resizing, content shrinking, chat switching, exact-bottom reattachment, and anchor-tracking performance.
📝 Notes
- No database migration is introduced by this release.
- Existing projects and synchronized workspaces require no manual changes.
📅 Release Info
- Version: 1.33.2
- Release Date: 2026-08-06
- Previous Version: 1.33.1
- Type: Patch Release
v1.33.1
TensorPM v1.33.1
August 6, 2026
Changelog - v1.33.1
🐛 Bug Fixes
System emails now follow the desktop app language
Account verification, welcome, password-reset, and invitation emails triggered from the desktop app now use the selected TensorPM language. When the app is set to follow the system language, the operating-system locale is forwarded instead.
Distiller cards stay usable in narrow AI panels
Long German action labels could crowd or overflow relevance and proposal cards when the AI panel was narrow. The action row now switches to centered, icon-only controls when needed while preserving accessible labels and readable text in the secondary menu.
🏗️ Improvements
- Review the complete signal before deciding. Project-relevance cards can expand the original source content before a signal is accepted, rejected, or skipped.
- Stable proposal headers. Long source names remain clipped inside their header area instead of painting over the source action or field label.
- Responsive regression coverage. Electron tests now verify label modes, icon geometry, menu readability, and zero horizontal overflow across wide and narrow Distiller cards.
📝 Notes
- No database migration is introduced by this release.
- Existing projects and synchronized workspaces require no manual changes.
📅 Release Info
- Version: 1.33.1
- Release Date: 2026-08-06
- Previous Version: 1.33.0
- Type: Patch Release
v1.32.0
TensorPM v1.32.0
August 3, 2026
Changelog - v1.32.0
🎉 New Features
Choose a project folder per project
Each project can now use its own local folder instead of being tied to the default TensorPM project directory. The selected folder is visible and changeable both in Settings and at the end of the Wizard Overview.
What changed:
- ✅ Open, change, or reset the effective folder for the active project
- ✅ Keep custom project roots device-local, including paths with Unicode characters
- ✅ Rebind file watching, project skills, and uninstall metadata when the root changes
- ✅ Refresh file identities against the new root without moving or deleting user files
User benefit: Existing repositories and established folder structures can be used directly without copying them into TensorPM's default storage hierarchy.
🐛 Bug Fixes
- Safe multi-device folder changes. Selecting a local root no longer synchronizes local path invalidations to the user's other devices.
- Reliable watcher handover. A folder change now replaces watchers that are still starting, and an older failed start cannot clear the newer watcher's lifecycle state.
- Guaranteed root refresh. Project-root change events bypass short-window event deduplication so the renderer always rebuilds its file cache.
🏗️ Improvements
- Clearer AI operation results. Tool result labels now use localized, action-specific singular and plural wording instead of ambiguous generic counts.
- Safer project-folder recovery. Folder changes restore the previous root, watcher, skill registry, and uninstall metadata together if a lifecycle step fails.
📝 Notes
- No database migration is introduced by this release.
- A custom project folder is a device-local preference and does not relocate or delete existing files.
- Existing projects continue to use their conventional TensorPM folder until a custom folder is selected.
📅 Release Info
- Version: 1.32.0
- Release Date: 2026-08-03
- Previous Version: 1.31.1
- Type: Minor Release
v1.31.1
TensorPM v1.31.1
August 1, 2026
Changelog - v1.31.1
🐛 Bug Fixes
Project check-ins no longer disappear when a check cannot run
A skipped check (for example while no AI provider is available) could vanish from the dashboard completely. A failed check could also be hidden behind a newer analysis, leaving no visible retry action.
What changed:
- ✅ Skipped and failed checks stay visible with their actual status
- ✅ A retry remains available even when a newer dashboard analysis is shown
- ✅ A suggested next step is displayed when it is the check-in's only actionable content
Empty AI updates can no longer report success
Some model providers may send an update tool call with an empty operation list, even though the tool schema requires at least one operation. TensorPM now rejects that call before persistence instead of reporting a successful no-op.
🏗️ Improvements
- Stronger release checks. Formatting and renderer IPC boundaries now run in the normal release path, with explicit skip options still available for exceptional cases.
- Real package startup tests. Release builds now start the app directly from the macOS DMG and Linux AppImage, not only from the Windows installer.
- Safer database upgrades. Packaged macOS and Linux builds are started against a disposable, sync-shaped schema-49 database and must preserve its data while migrating to the current schema.
- Non-blocking security reporting. A scheduled report now covers root and E2E dependencies, secrets, and static security findings without turning advisory results into an automatic release block.
📝 Notes
- No new database migration is introduced by this release. The migration smoke test validates the existing upgrade path and never touches a real user database.
- Existing projects require no manual changes.
📅 Release Info
- Version: 1.31.1
- Release Date: 2026-08-01
- Previous Version: 1.31.0
- Type: Patch Release
v1.31.0
TensorPM v1.31.0
August 1, 2026
Changelog - v1.31.0
🎉 New Features
One place for "what happened while I was away"
Your project check-ins and the AI's own analysis now share a single slot at the top of the dashboard, ordered strictly newest-first — instead of a separate card competing with the briefing for your attention.
What changed:
- ✅ A check-in moves back automatically as soon as the analysis produces something newer
- ✅ Page back and forth through everything that happened, in one place
- ✅ The entry you are reading stays put when new results arrive in the background
- ✅ Dismissing an entry takes you to the neighbouring one, not back to the top
User benefit: The dashboard tells you one coherent story in time order, so you can catch up by reading downwards instead of comparing two panels.
The analysis stops repeating your check-ins
Recent check-ins are now part of what the AI sees when it writes the welcome analysis, with the explicit instruction to cover what they do not.
User benefit: Less duplication between the two halves of the dashboard, and the analysis spends its space on something you have not already read.
🐛 Bug Fixes
The AI no longer invents duplicates of entries it just created
Reported as TPM-0022. After adding a risk, the assistant could announce that it had "accidentally created a duplicate" and then spend several steps hunting for a second entry that never existed.
What was wrong: When a table was updated, the assistant got the full updated table back with no indication of which rows were new. Reading that as "here is the state of the project", it found its own freshly added row and concluded the entry must have been there all along.
What changed:
- ✅ Tool results now name exactly which rows or criteria a step created, changed, or removed
- ✅ The updated table is explicitly labelled as the state after the change
"Applied" now means applied
An update that could not be carried out — a reference to a row or cell that no longer exists, for instance — was logged internally and dropped, while the assistant was still told the operation had succeeded.
What changed:
- ✅ Only changes that actually landed are counted
- ✅ Anything skipped is reported back with the reason, so the assistant can correct itself instead of building on a change that never happened
- ✅ A step where nothing at all could be applied now fails openly
"Discuss with AI" no longer drops the suggested next step
A check-in whose only actionable content was its suggested next step arrived in the chat without it.
🏗️ Improvements
- Sandbox code guidance. The assistant is now told that your project data is already available to it and is kept current, so it stops running code just to re-read information it already has. When it does run code, it has the exact function signatures instead of guessing — previously a wrong guess could silently report "0 risks" for a project full of them.
- Cheaper test runs. Internal smoke tests now use each provider's most economical model tier.
📝 Notes
- No database migration in this release; upgrading does not touch your project data.
- Behaviour for existing projects is unchanged apart from the fixes above. The dashboard's top slot looks different, but nothing needs to be re-created or re-configured.
📅 Release Info
- Version: 1.31.0
- Release Date: 2026-08-01
- Previous Version: 1.30.0
- Type: Minor Release
v1.30.0
TensorPM v1.30.0
July 31, 2026
Changelog - v1.30.0
🎉 New Features
Local Email Connector
TensorPM can now read the email your mail app already stores on this device — no password, no IMAP server, no account credentials.
What Changed:
- ✅ New Local email connector, starting with Apple Mail on macOS
- ✅ Three-step setup: detected account → folder selection → project assignment
- ✅ Folder-level control — only the folders you pick are read, and you can change the selection at any time
- ✅ Guided macOS permission flow: if the mail folder is blocked, TensorPM shows exactly which "Full Disk Access" toggle to switch on
- ✅ Deduplication by email address, so the same message is not imported twice if you later also connect the mailbox via IMAP or Microsoft 365
User Benefit: If your mail already lives in a desktop mail app, you can feed it into the Distiller without handing TensorPM a mailbox password or opening a server connection. Nothing leaves your machine.
🏗️ Improvements
Consistent Settings Icons
Every gear icon in the app now uses the same glyph, the same stroke weight, and the same muted grey — previously the app mixed three different icon sets, and one gear rendered bright white in dark mode while its neighbours were grey.
Clearer Audit Trail Sources
Trail entries now name their real source instead of a generic "Chat" label. Clicking a source opens a popover with the person and the exact message behind the change, plus a direct "open in chat" jump.
Connector Overview
The connector setup screens got a reworked overview panel and clearer logos, so it is easier to see at a glance which connectors are configured and which still need attention.
Smoother Intake List
Row heights in the pending-signals list are now derived exactly from the stylesheet instead of estimated. Long lists no longer flicker or overlap while scrolling.
Polished Toggles
Sliding tab and mode switchers animate consistently across the app.
🐛 Bug Fixes
- Fixed the action-list settings gear rendering in near-white in dark mode instead of the muted grey used everywhere else
- Fixed pending intake rows briefly overlapping while the list measured itself
📝 Notes
- No database schema change in this release — upgrading requires no migration
- The local email connector currently supports Apple Mail on macOS. The connector only appears on platforms where a supported mail store exists, so it is not offered on Windows or Linux yet. Outlook (Windows) and Thunderbird are planned for a later release.
📅 Release Info
- Version: 1.30.0
- Release Date: 2026-07-31
- Previous Version: 1.29.2
- Type: Minor Release
v1.29.2
TensorPM v1.29.2
July 31, 2026
Changelog - v1.29.2
🐛 Bug Fixes
Local AI models are no longer slowed down artificially
TensorPM applied its own request throttling to local AI endpoints (Ollama, llama.cpp, LM Studio). Because a local server manages its own capacity anyway, this only added forced waits — in the worst case a turn stalled for almost a minute in the middle of a response.
What Changed:
- ✅ Local AI providers are fully exempt from client-side rate limiting
- ✅ Cloud providers keep their existing protection unchanged
User Benefit: Local models now run as fast as your machine allows — no artificial pauses mid-conversation.
Invalid AI edit instructions can no longer report false success
When an AI model sent a malformed instruction for table, criteria, or reordering updates, the app could silently ignore it and still report the change as applied. The project looked updated, but nothing had happened.
What Changed:
- ✅ Every decoded edit instruction is now checked against the tool's allowed operations before it runs
- ✅ Invalid instructions fail immediately with a precise error the AI can correct itself from
- ✅ Category and task reordering rejects malformed ID lists instead of producing broken references
User Benefit: "Updated successfully" now always means the update really happened — and models recover from their own formatting mistakes instead of leaving silent gaps.
📅 Release Info
- Version: 1.29.2
- Release Date: 2026-07-31
- Previous Version: 1.29.1
- Type: Patch Release
v1.29.1
TensorPM v1.29.1
July 28, 2026
Changelog - v1.29.1
🐛 Bug Fixes
Every distiller proposal reaches your review again
When the AI prepared several proposals for the same project field — for example ten action items from one email — some of them could silently disappear before you ever saw them. Up to nine of ten proposals were dropped from the review, without any error message.
What Changed:
- ✅ Every presented proposal now gets its own review card, even when the AI numbers them inconsistently
- ✅ Proposals for different fields with the same number no longer overwrite each other
User Benefit: What the AI proposes is what you get to decide on. Nothing is dropped on the way to the review.
Approving some proposals and rejecting others now works as expected
Reviewing a batch is rarely all-or-nothing: you approve two action items, reject a third, and append a fourth. Previously that mix was treated as a contradiction — the whole field was skipped, nothing was applied, and the AI re-presented the entire batch.
What Changed:
- ✅ Mixed decisions on one field are applied per card, exactly as you decided
- ✅ Approve and append work side by side on the same field
- ✅ Genuinely ambiguous input (the same card decided twice, in opposite ways) is still flagged for a fresh look
User Benefit: Your review sticks the first time. No more repeated batches asking you to decide the same thing again.
Completing a distiller update no longer fails at the last step
The final step of a distiller run could end in a "Missing local tool results" error — after all the work was already done. The successful turn was killed right at the finish line.
User Benefit: Updates complete reliably, including with local and subscription-based AI models.
Presentation and document creation recovers from malformed AI output
When an AI model returned a slide plan in a slightly wrong format, deck and document creation failed after several expensive, identical retries — the model was never told what was actually wrong.
What Changed:
- ✅ Recoverable format errors are corrected automatically
- ✅ Otherwise the model gets one focused retry that names the exact problem and shows what it sent
- ✅ Never more than one retry, so a failure stays cheap and fast
User Benefit: Fewer failed deck and document runs, and noticeably less waiting (and fewer AI credits) when a model slips up.
Project creation keeps all the details it extracted
When creating a project from a prompt, success criteria, people, timeframe, and budget could be lost if the AI packed them in an unexpected format. The project was created — just emptier than it should have been.
User Benefit: Projects generated from a prompt or a document arrive complete.
🏗️ Improvements
Better bug reports without sharing your content
Support bundles now include a technical fingerprint of recent tool calls: which tools ran, and what data type each argument had. No argument values are included, and all identifiers are hashed.
User Benefit: A whole class of AI formatting bugs can now be diagnosed from your report alone — without you having to share project content or reproduce the problem.
📝 Notes
No migration or configuration is required. Existing projects, reviews, and settings are unaffected.
📅 Release Info
- Version: 1.29.1
- Release Date: 2026-07-28
- Previous Version: 1.29.0
- Type: Patch Release
v1.29.0
TensorPM v1.29.0
July 27, 2026
Changelog - v1.29.0
🎉 New Features
See Exactly Which Chat Message Changed Your Project
Every entry in the Trail that came from a chat now carries a source chip instead of the generic "Chat" label. Click it and you see who wrote the message and what it said — the change and its cause side by side.
- ✅ The popover shows the person behind the change and the original wording
- ✅ Open in chat jumps straight to that message and highlights it, so you land in the full conversation instead of a snippet
- ✅ Older Trail entries keep working — entries written before this release still resolve to their chat where the information exists
🐛 Bug Fixes
Cloud Sync No Longer Gets Stuck Until You Restart the App
If the connection to the sync server hung — a slow network, a server that did not answer — sync could freeze in a state where stopping, starting, and restarting it all did nothing. The only way out was quitting and reopening TensorPM.
- ✅ A connection attempt that does not answer is given up on instead of blocking everything behind it; the sync client keeps reconnecting in the background
- ✅ Stop, start, restart, and switching cloud workspaces work again while a connection is still hanging
- ✅ The status no longer claims "Live" when there is no confirmed connection, and a connection that fails after the fact is reported instead of failing silently
- ✅ Switching workspaces shows "connecting" for the transition rather than the "sync off" icon
- ✅ The status indicator stops spinning forever: after a minute in a stalled state it falls back to the normal offline view, where the restart action is available
Trail Details
- ✅ The chat highlight from Open in chat stays visible for its full duration instead of disappearing immediately
- ✅ Pressing Enter or Space on the source chip no longer collapses the Trail entry behind it
🏗️ Improvements
- The task list's status column uses the shared color token again, so it matches the rest of the list in both light and dark mode.
- Dependency updates:
officeparserand three development dependencies.
📝 Notes
- No database migration ships with this release.
📅 Release Info
- Version: 1.29.0
- Release Date: 2026-07-27
- Previous Version: 1.28.0
- Type: Minor Release
v1.28.0
TensorPM v1.28.0
July 26, 2026
Changelog - v1.28.0
🎉 New Features
Keep Typing While the AI Is Still Answering
You no longer have to wait for a response to finish before writing your next message. Anything you send during a running response is collected in a queue above the input field and sent automatically once the current answer is done.
- ✅ Queued messages are listed above the composer, in the order they will be sent
- ✅ Edit or remove a queued message as long as it hasn't gone out yet
- ✅ Interrupting a response, or a response that fails, pauses the queue instead of firing your follow-ups into a broken turn — one click resumes it
- ✅ Switching projects while a response is running no longer loses the follow-ups you queued for it
Steer a Running Response
Some follow-ups shouldn't wait. Next to every queued message there is now a Steer action that hands your message to the response that is already running, at the next point where it can safely take it.
- ✅ Redirect the AI mid-answer — "actually, focus on the budget instead" — without cancelling and starting over
- ✅ Messages with attachments are always sent after the current response finishes, and say so
One "+" Menu for Everything You Give the AI
The controls below the chat input have been consolidated into a single + menu: upload a file from your computer, search and attach a project file, and reach the quick actions.
- ✅ Project file search opens as a page inside the same menu, with a back button
- ✅ The browser agent appears only when it is actually available to you, instead of showing an entry that cannot be used
- ✅ The composer is now the same card everywhere — project dashboard and chat panel alike
Task IDs Are Visible Without Edit Mode
Task IDs used to appear only while the list was in edit mode. They are now shown permanently, stacked above the status bubble.
- ✅ Read the ID of any task straight from the list — useful for emails, calls, and handing a task reference to someone else
- ✅ The ID stays in the same place when you switch between edit mode and normal view
🐛 Bug Fixes
Dropdowns No Longer Swallow Key Presses
Dropdown menus stopped responding to the keyboard whenever the surrounding screen refreshed in the background. Pressing Escape on an open provider dropdown in the AI settings did nothing, because that tab refreshes while it checks your AI connections.
- ✅ Escape, arrow keys, and Enter now work reliably in every dropdown, no matter what is refreshing behind it
🏗️ Improvements
- The disabled send button now looks the same across the project dashboard and the chat panel; it was too pale to read in dark mode on the dashboard.
- The task list's status column is slightly wider to make room for the task ID.
📝 Notes
- No database migration ships with this release.
- The chat tutorial's three separate steps for attaching files, searching files, and quick actions are now a single step covering the new + menu.
📅 Release Info
- Version: 1.28.0
- Release Date: 2026-07-26
- Previous Version: 1.27.0
- Type: Minor Release
v1.27.0
TensorPM v1.27.0
July 25, 2026
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
v1.26.0
TensorPM v1.26.0
July 24, 2026
Changelog - v1.26.0
🎉 New Features
Work the File Explorer Without a Mouse
The file explorer is now fully operable from the keyboard, in both grid and list view.
- ✅ Move between files and folders with the arrow keys, Home, and End
- ✅ Open a file or enter a folder with Enter, select with Space, go up with Backspace
- ✅ Open the context menu with Shift+F10 or the context-menu key, right where the item is
- ✅ Rename with F2, and step through menu entries with the arrow keys, Home, End, and Escape
- ✅ Sort by column from the keyboard — the column headers are now real buttons and announce the active sort direction to screen readers
Focus stays where you expect it: after entering a folder or closing a menu it returns to the list instead of dropping you back to the start of the page.
Find Decisions in Search — and Land on Them
Global search now includes the decisions of the active project, matching their text, rationale, and source.
- ✅ See decisions in the result list with their status and date
- ✅ Jump straight to the decision: TensorPM switches to Trail → Decisions, scrolls to it, and highlights it briefly
- ✅ Reach decisions that your saved status or source filter would otherwise hide — the filter is widened for you instead of leaving you on an empty list
Compact Trail Entries Say What They Changed
The compact trail view used to show only a field name, a status, and a time. Each row now carries a one-line summary that identifies the actual change.
- ✅ Recognize entries at a glance: the affected task, person, or decision by name
- ✅ See concrete value changes, for example a budget going from one figure to another
- ✅ Spot entries with several changes at once through a "+N more" marker
Guidance in Your Language
Smart action cards were previously stored in English and shown in English, whatever the interface language.
- ✅ Read observations, impacts, and suggestions in German or English
- ✅ Get correct singular and plural forms, including the number of affected tasks
- ✅ Keep existing cards working — entries created before this release are translated too
Smart Action Cards as an Accordion
The stacked card pile has been replaced by a plain list in which one card is open at a time.
- ✅ See every card in the stack instead of only the top of the pile
- ✅ Open and close cards by keyboard, with proper expanded/collapsed state
- ✅ Read cards without them overlapping each other
A Distinct Mark for Local AI Models
- ✅ Recognize local models by a crisp vector mark that no longer depends on a system font
- ✅ Tell your local models apart through a stable per-model color accent
- ✅ See the mark correctly in dark mode
Smaller Additions
- ✅ Completed tasks on the board show their completion date instead of a due-date warning
- ✅ Failed project check-ins can be retried directly from the dashboard card
- ✅ Browser-use setup explains in plain language what is missing, with the technical diagnostics moved behind a "Details" toggle
🐛 Bug Fixes
Project Structure Generation with a ChatGPT Subscription
Generating a project structure through a ChatGPT subscription stopped after the first field, because the turn ended while waiting for a tool result.
- ✅ Every submitted field of a generated project structure is captured
- ✅ The turn completes normally instead of ending early
Dates and Times in the Interface Language
- ✅ Relative times ("3 days ago") now follow the interface language instead of always being English
- ✅ Chat history groups and scheduled times are translated
- ✅ A timestamp between roughly eleven and twelve months old is no longer reported as belonging to the current year — this also affected the age of the previous evaluation passed to the AI
People
- ✅ People without an email address no longer show a dead email action
- ✅ Person actions are reachable by keyboard and visible on touch devices instead of appearing only on mouse hover
- ✅ The person context menu can be operated with the keyboard and returns focus where it came from when closed
Smaller Fixes
- ✅ Refreshing guidance now picks up changed rule data instead of keeping a stale card
- ✅ Skill entries in the file context menu are translated in the German interface
- ✅ A failed check shown above an older project check-in report no longer reads as if that report had failed
🏗️ Improvements
Accessibility
This release brings the file explorer, the people area, and the guidance cards closer to keyboard and screen-reader parity with the rest of the app: a single tab stop per list, announced selection and sort state, real menus with real menu entries, and visible focus rings that no longer get distorted by global button styling.
🧪 Reliability
- Added regression coverage for keyboard navigation, menu focus handling, and roving tab order in the file explorer
- Added coverage for the person context menu when its entries change with the person's data
- Added coverage for the decision deep link, including the case where the target is hidden by a saved filter
- Added coverage for the compact trail summary across its different change sources
- Added a boundary test for relative dates that guards every unit handover, not just the one that broke
📝 Notes
- No database migration and no server-side deployment are required for this release.
- Existing guidance cards are translated when displayed; the stored text is unchanged, so nothing is lost if you switch languages.
📅 Release Info
- Version: 1.26.0
- Release Date: July 25, 2026
- Previous Version: 1.25.7
- Type: Minor Release
v1.25.7
TensorPM v1.25.7
July 24, 2026
Changelog - v1.25.7
🎉 New Features
Gemini 3.6 Flash Support
TensorPM now uses Gemini 3.6 Flash as the default Google model and Gemini 3.5 Flash-Lite for lightweight tasks.
- ✅ Use the latest Gemini Flash generation for Google BYOK and the managed fallback
- ✅ Preserve tool calls, reasoning signatures, and images returned from tools
- ✅ Keep model limits and selectable model names consistent across the app
Clearer Project Steering at a Glance
The project welcome area now distinguishes current, stale, missing, blocked, and loading information more accurately.
- ✅ See whether status, progress, context, and guidance are ready or need attention
- ✅ Refresh newly available guidance in the same operation after project context improves
- ✅ Receive remotely synced status, progress, guidance, and intake updates without reopening the project
🐛 Bug Fixes
More Reliable Local AI Tool Calls
OpenAI-compatible local endpoints that silently end a stream can now retry once without streaming when no visible response was produced.
- ✅ Recover tool-call responses from endpoints with incomplete streaming support
- ✅ Avoid duplicate retries after visible text has already been streamed
- ✅ Account for both attempts in rate limiting and usage reporting
Accurate Dashboard Loading States
Generating guidance no longer makes the project status row appear to be loading. Status indicators now react only to status and progress generation.
Stable Settings and Responsive Controls
- ✅ Prevent external-agent toggles from animating through an incorrect startup state
- ✅ Keep localized guidance buttons and header controls readable at their natural width
- ✅ Improve compact-sidebar footer spacing without changing the normal sidebar
🏗️ Improvements
Smoother Onboarding
The guided onboarding conversation now reveals text at a more comfortable reading pace and presents account setup choices more cleanly.
Clearer Managed-AI Privacy Information
Documentation now distinguishes TensorPM's Germany/EU-hosted account and sync services from the global processing paths used by managed AI providers.
🧪 Reliability
- Added regression coverage for Gemini tool-result images and wire-format compatibility
- Added refresh dependency tests for context, strategy, coverage, and execution guidance
- Added checks for local-endpoint fallback accounting and project status loading behavior
- Added CSS contract tests for compact-sidebar spacing and localized guidance controls
📝 Notes
- Existing Google API keys continue to work; the default model changes to Gemini 3.6 Flash.
- Managed AI remains optional. BYOK providers and fully local Ollama models remain available.
- Vertex AI Gemini 3.6 Flash uses Google's global location and does not provide an EU ML-processing-location or data-residency guarantee.
📅 Release Info
- Version: 1.25.7
- Release Date: July 24, 2026
- Previous Version: 1.25.6
- Type: Patch Release
v1.25.6
TensorPM v1.25.6
July 23, 2026
Changelog - v1.25.6
🐛 Bug Fixes
Reliable ChatGPT Subscription Startup with NVM
TensorPM can now start a Codex installation managed by NVM even when the desktop
app was launched with a minimal system PATH.
- ✅ Prevent the ChatGPT app server from failing because its Node.js runtime could not be found
- ✅ Apply the corrected runtime environment to model discovery and browser sign-in
- ✅ Keep API-key variables isolated from subscription-based Codex sessions
Login Actions Only When the Required Tool Is Available
Claude and ChatGPT subscription sign-in is now offered only when Claude Code or Codex is actually installed on the device.
- ✅ Hide unusable sign-in buttons when the matching local tool is missing
- ✅ Show a subtle Not installed status with a concise explanation
- ✅ Keep installed, signed-in, and model-discovery states separate and accurate
🏗️ Improvements
Clearer Subscription and Agent Controls
The combined Subscriptions & Agents settings are more compact and easier to scan.
- ✅ Group each coding agent's runtime options into a clear compact card
- ✅ Label headless and permission controls explicitly
- ✅ Keep connected and unavailable states aligned consistently
Refined Control Shapes
Dropdowns and project search controls now use shapes that better match their purpose.
- ✅ Keep dropdowns lightly rounded instead of pill-shaped
- ✅ Use a circular collapsed project-search button
- ✅ Use a rounded expanded search field for a smoother transition
📝 Notes
- Claude subscription sign-in requires Claude Code to be installed locally.
- ChatGPT subscription sign-in requires Codex to be installed locally.
- Existing local provider credentials remain unchanged.
📅 Release Info
- Version: 1.25.6
- Release Date: July 24, 2026
- Previous Version: 1.25.5
- Type: Patch Release
v1.25.5
TensorPM v1.25.5
July 22, 2026
Changelog - v1.25.5
🐛 Bug Fixes
Reliable Codex Detection after App Updates
TensorPM now finds Codex installations managed by NVM even when the desktop app
is launched from Finder or restarted by the updater without the user's terminal
PATH.
- ✅ Recognize an existing ChatGPT subscription login again after an app restart
- ✅ Discover the models available through the locally installed Codex runtime
- ✅ Support both
NVM_BINand Codex installations in the NVM version store - ✅ Keep the TensorPM download small by continuing to use the user's local Codex installation
🏗️ Improvements
Cleaner Subscription and Agent Settings
Subscription connections and external coding-agent controls are now grouped in one compact Subscriptions & Agents section.
- ✅ Find Claude, ChatGPT, Claude Code, and Codex connections in one place
- ✅ Open concise explanations through accessible information tooltips
- ✅ Hide redundant login actions for accounts that are already connected
- ✅ Use a more compact layout for agent runtime and permission controls
📝 Notes
- ChatGPT subscription support still requires Codex to be installed locally.
- This release does not bundle the Codex binary or change existing credentials.
📅 Release Info
- Version: 1.25.5
- Release Date: July 22, 2026
- Previous Version: 1.25.4
- Type: Patch Release
v1.25.4
TensorPM v1.25.4
July 21, 2026
Changelog - v1.25.4
🎉 New Features
Connect Claude and ChatGPT Subscriptions from Settings
TensorPM can now start the official browser sign-in flow for locally installed Claude Code and Codex runtimes directly from the AI provider settings.
- ✅ Connect or reconnect Claude and ChatGPT subscription accounts without using a terminal
- ✅ Automatically refresh the available account models after successful sign-in
- ✅ See clear, localized guidance when a runtime is missing, sign-in is cancelled, or authentication cannot be detected
- ✅ Keep credentials in the providers' official local credential stores
🐛 Bug Fixes
Reliable Distiller Signal Completion
Fixed a case where an email could immediately reappear in the Distiller queue after review when an AI provider reported the signal with the wrong source type.
- ✅ Signal identity and source now come from TensorPM's active intake record
- ✅ Completion is verified against the actual backing email, document, or file
- ✅ Distiller trail entries retain the correct source information
Stable Project-Relevance Review
Improved the Distiller flow when an incoming signal may belong to another project.
- ✅ Unclear assignments always show an actionable relevance card
- ✅ Free-text clarifications are evaluated again instead of reusing a stale result
- ✅ Signals assigned to another project are removed from the current review queue
- ✅ Ambiguous replies no longer leave the Distiller in a repeated text-only loop
🏗️ Reliability Improvements
- Added real-database regression coverage for incorrectly labelled email signals
- Added safeguards against concurrent subscription sign-in attempts
- Added focused coverage for relevance-card retries and subscription connection states
📝 Notes
- Subscription sign-in requires the corresponding Claude Code or Codex runtime to be installed locally.
- No project data is changed until the user confirms the Distiller proposal or relevance decision.
📅 Release Info
- Version: 1.25.4
- Release Date: July 21, 2026
- Previous Version: 1.25.3
- Type: Patch Release
v1.25.3
TensorPM v1.25.3
July 21, 2026
Changelog - v1.25.3
🐛 Critical Bug Fix
Reliable Startup After Updating
Fixed a database migration that could prevent TensorPM from opening after an update when older synchronized AI activity records referenced projects, workspaces, or chats that were no longer present locally.
- ✅ Preserves all historical AI activity and token-usage data during migration
- ✅ Safely removes only invalid parent references while retaining their records
- ✅ Handles long-lived synchronized databases with incomplete legacy references
- ✅ Adds production-shaped SQLite regression coverage for future migrations
🏗️ Reliability Improvements
- Database migration tests now execute in the same transaction shape as the packaged application
- Migration rules now require orphan-reference coverage and validation against a disposable copy of a long-lived synchronized database before release
📝 Notes
- No project, activity, or token-usage records are deleted by this fix.
- This hotfix is intended for users whose database remained on schema version 49 after the failed v1.25.1 or v1.25.2 startup migration.
📅 Release Info
- Version: 1.25.3
- Release Date: July 21, 2026
- Previous Version: 1.25.2
- Type: Critical Hotfix Release
v1.25.2
TensorPM v1.25.2
July 21, 2026
Changelog - v1.25.2
🔒 Security
Dependency Hardening
- ✅ Updated
brace-expansionto 5.0.7 to prevent exponential-time denial of service - ✅ Updated
shell-quoteto 1.9.0 to prevent quadratic-complexity denial of service - ✅ Updated
protobufjsto 7.6.5 to prevent an infinite loop while parsing malformed.protooptions
📝 Notes
- This patch contains dependency security updates only; no application behavior or data schema changed.
- The AI activity ledger, Claude health validation, guidance timeout fix, and Sync migration shipped in v1.25.1 remain unchanged.
📅 Release Info
- Version: 1.25.2
- Release Date: July 21, 2026
- Previous Version: 1.25.1
- Type: Security Patch Release
v1.25.1
TensorPM v1.25.1
July 21, 2026
Changelog - v1.25.1
🎉 New Features
Auditable AI Activity and Token Usage
TensorPM now provides a complete activity history for AI-assisted work and records individual model requests separately from the user-facing operation.
- ✅ Review AI operations, status changes, providers, models, and token usage in one history
- ✅ Track input, output, cached, and reasoning tokens without double-counting subset values
- ✅ Correlate chat, onboarding, guidance, background, and retry activity with the underlying model calls
- ✅ Preserve completed, failed, cancelled, and recovered calls for reliable accounting
🐛 Bug Fixes
Reliable Claude Health and Guidance Workflows
- ✅ Reject malformed structured tool arguments and let Claude correct them within the same request
- ✅ Require complete, non-empty project-health reasoning before accepting an evaluation
- ✅ End forced-tool single-shot requests immediately after the valid result instead of waiting for a redundant follow-up turn
- ✅ Prevent execution guidance from running into the fixed 180-second limit after its result is already available
Complete Failure Accounting
- ✅ Record failed provider requests even when the provider did not start its own request log entry
- ✅ Preserve partial token usage for timed-out or failed requests when the runtime reported it
- ✅ Recover stale processing entries on startup so interrupted calls no longer remain permanently active
- ✅ Keep cancellation terminal across provider and retry boundaries
Sync and Provider Reliability
- ✅ Sync the new per-request AI ledger across workspaces
- ✅ Normalize provider errors and quota messages consistently across API-key and subscription runtimes
- ✅ Improve OpenAI prompt-cache compatibility and provider usage metadata
- ✅ Preserve operation correlation for background, onboarding, guidance, and chat-title generation
🏗️ Improvements
Clearer AI Activity History
- ✅ Improved filtering, grouping, status presentation, and usage details
- ✅ Unified activity totals from persisted model-call records
- ✅ Added live updates for processing, completed, failed, and cancelled operations
- ✅ Expanded database, provider, IPC, frontend, and real-runtime regression coverage
📝 Notes
- The activity history distinguishes a logical AI operation from its individual provider requests and retries.
- Cache and reasoning token values are included as usage details and are not added a second time to total tokens.
- Claude and ChatGPT subscription runtimes continue to use the locally signed-in account without API-key fallback.
📅 Release Info
- Version: 1.25.1
- Release Date: July 21, 2026
- Previous Version: 1.25.0
- Type: Patch Release
v1.25.0
TensorPM v1.25.0
July 20, 2026
Changelog - v1.25.0
🎉 New Features
Use Your Claude or ChatGPT Subscription Directly
TensorPM can now use locally authenticated Claude Code and Codex runtimes as full AI providers.
- ✅ Choose Claude Subscription or ChatGPT Subscription in AI settings
- ✅ Use your existing local Claude or ChatGPT login without adding an API key
- ✅ Keep TensorPM's project tools, approvals, and execution boundaries in control
- ✅ Stream answers, reasoning updates, tool calls, images, and token usage through the same chat experience as other providers
Dynamic Subscription Model Selection
Available subscription models are discovered from the signed-in runtime instead of being maintained as a fixed list.
- ✅ Claude models show clear versioned names such as Claude Sonnet 5 and Claude Haiku 4.5
- ✅ ChatGPT exposes the supported GPT-5.6 Sol, Terra, and Luna choices
- ✅ Model availability automatically reflects the active subscription account
- ✅ The same model choices appear consistently in Settings and chat model selectors
🐛 Bug Fixes
Reliable Multi-Step AI Tool Workflows
- ✅ Removed the artificial Claude turn limit that could interrupt tool-based tasks
- ✅ Fixed category generation for subscription-backed providers
- ✅ Improved continuation handling for multi-step tool calls and tool results
- ✅ Preserved images through chat and tool-result continuations
- ✅ Surface incomplete or failed responses as errors instead of silently accepting truncated output
More Reliable Local and OpenAI Responses
- ✅ Fixed token reservation for long multi-tool continuations to reduce mid-turn rate-limit failures
- ✅ Preserved encrypted reasoning state when using private, non-stored response flows
- ✅ Added safer handling for incomplete and malformed response payloads
- ✅ Improved Local AI image analysis and Responses-compatible tool execution
Development Runtime Stability
- ✅ Prevented corrupted Chromium shared-dictionary cache data from repeatedly breaking development startup
- ✅ Isolated subscription runtime caches and configuration from TensorPM provider sessions
🏗️ Improvements
Unified Responses Architecture
OpenAI and modern Local AI endpoints now use the Responses-style conversation structure throughout TensorPM.
- ✅ Consistent streaming, reasoning, tool calls, images, and continuation history
- ✅ Private requests remain non-stored where supported
- ✅ Cleaner provider behavior with fewer legacy compatibility branches
- ✅ Expanded provider contract tests and real-runtime integration coverage
Complete Provider Capability Parity
Claude and ChatGPT subscription providers now support TensorPM's core AI workflows, including:
- Project chat and project-aware tools
- Action item and category generation
- Guidance, project health, and progress evaluation
- Action item re-evaluation and splitting
- Image analysis and image-aware project generation
- Document-to-project and prompt-to-project workflows
- TensorPM Skills through
describe_skilland sandboxedexecute_code
Application Reliability
- ✅ Improved post-login synchronization through deep links
- ✅ Refreshed application and tray menus when runtime state changes
- ✅ Strengthened circular-dependency checks and release validation
- ✅ Updated production and development dependencies
📝 Notes
- Claude and ChatGPT subscription providers require their respective local runtimes to be installed and signed in.
- Subscription runtime sessions do not silently fall back to API-key providers.
- TensorPM Skills continue to run inside TensorPM's permission-controlled local sandbox.
- Full Playwright E2E tests were intentionally skipped for this release; type checking, linting, dependency-cycle checks, unit tests, import validation, and the release AI smoke test remain enabled.
📅 Release Info
- Version: 1.25.0
- Release Date: July 20, 2026
- Previous Version: 1.24.0
- Type: Minor Release
v1.24.0
TensorPM v1.24.0
July 18, 2026
Changelog - v1.24.0
TensorPM 1.24.0 introduces proactive project check-ins, gives the onboarding flow richer document and image context, and makes AI-driven action-item updates more dependable.
🎉 New Features
Proactive Project Check-ins
TensorPM can now review active projects on a schedule and notify you when something deserves your attention.
- Enable check-ins for Pro or Business from General Settings and choose twice daily, daily, every two days, or weekly scheduling at the times that suit you.
- Run a manual check-in at any time without changing the schedule.
- Relevant guidance arrives through native system notifications and appears on the project dashboard with its severity, suggested next step, and related action items.
- Open a referenced action item directly, dismiss individual observations, or continue the report in AI chat with Discuss with AI.
- Quiet checks remain visible as a simple status instead of interrupting you unnecessarily.
Richer project setup from documents and images
The first-run project setup is more visual and gives the AI better source material from the start.
- Attach both documents and images while creating a project. Images are sent as vision input when the selected model supports them, while documents keep their normal preview and token handling.
- Clear document, image, and token limits prevent oversized setup requests before generation starts.
- Improved progress and error states make it easier to understand what TensorPM is processing and recover when an attachment cannot be read.
🏗️ Improvements
- Vision-capable AI providers can now consider images embedded in project fields across more chat, guidance, planning, and publication workflows.
- AI-created action items now preserve validated planning effort and budget fields instead of dropping them during intake processing.
- Budget amounts without an explicit currency follow the project's display currency before being converted for storage, keeping AI updates consistent with manual edits.
- AI prompts now describe only the tools that are actually available in the current context, avoiding references to unavailable mail actions and keeping token estimates accurate.
- Skipped timer-managed action-item fields are reported as warnings instead of being silently ignored.
🐛 Bug Fixes
- AI action-item updates no longer claim that requested values already matched when an update was skipped or had no effect.
- Onboarding attachment limits are enforced before project generation, preventing excess files from being silently omitted downstream.
- Image payloads are resized and capped consistently so supported project images stay aligned with their references in AI prompts.
📝 Notes
- Proactive Project Check-ins are disabled by default and are available with Pro and Business.
- Each scheduled check-in makes one AI request per active project and sends project context to the selected AI provider.
- Check-in settings and history are stored on the current device. Native notification delivery depends on the operating system's notification permissions.
- This is a desktop release. No server, sync, or account migration is required.
📅 Release Info
- Version: 1.24.0
- Release Date: 2026-07-18
- Previous Version: 1.23.0
- Type: Minor Release
v1.23.0
TensorPM v1.23.0
July 17, 2026
Changelog - v1.23.0
TensorPM 1.23.0 lets you pick any model your local AI endpoint offers, keeps the row table visible while you work in WBS mode on the Timeline, and refreshes the connector setup screen.
🎉 New Features
Choose any model from your local AI endpoint
If your local or self-hosted endpoint (Ollama, LM Studio, vLLM, or a compatible server) serves more than one model, you can now switch between all of them right from the model picker — no more editing a single model name by hand.
- Every model reported by the endpoint appears in the model selector next to the chat input, in the message toolbar, in the header selector, and in the Settings AI tab.
- The list is remembered per endpoint, so your models stay selectable after a restart. Testing the connection or auto-detecting a server refreshes the list; changing the endpoint clears the models that belonged to the old one.
- The model you had configured always stays selectable, even when the endpoint lists it under a
slightly different name (for example
llama3versusllama3:latest). - Switching models refreshes that model's context and output limits from the endpoint, so long prompts are sized against the model you are actually using.
Row table stays visible in WBS mode on the Timeline
Working with your Work Breakdown Structure on the Timeline is clearer:
- The left-hand row table now stays visible in WBS mode instead of disappearing.
- Undated work packages are listed in that table rather than as floating labels on the canvas, keeping the Gantt surface uncluttered while still showing every item.
Refreshed connector setup
- The connector list and overview panel have a cleaner, more consistent look.
- Success messages now clear themselves after a moment, while errors stay on screen until your next action so you don't miss them.
🏗️ Improvements
- The active local model now stays in sync across every model selector and the Settings AI tab, so what you pick in one place is reflected everywhere.
- Stale token limits from a previous model or endpoint are cleared immediately on a switch, so the very next request is never sized against the wrong model.
📝 Notes
- This release is desktop-only. Local AI settings are stored on your device; there are no server, sync, or account changes, and no action is required for existing projects.
- Multiple local models from a single endpoint are supported; configuring several separate local endpoints at once is not part of this release.
📅 Release Info
- Version: 1.23.0
- Release Date: 2026-07-17
- Previous Version: 1.22.0
- Type: Minor Release
v1.22.0
TensorPM v1.22.0
July 16, 2026
Changelog - v1.22.0
TensorPM 1.22.0 brings the Work Breakdown Structure into the Timeline, makes it easier to rearrange visually, gives local AI models a clearer identity, and removes a duplicate AI setup detour from the project explorer.
🎉 New Features
WBS hierarchy in the Timeline
The Timeline now mirrors the real Work Breakdown Structure instead of flattening every task into a single list.
- Structure nodes, work packages, categories, and tasks appear in their canonical parent-child order with WBS codes and clear indentation.
- Expand or collapse a branch directly in the Timeline. The state is shared with the List and WBS views, so the hierarchy stays consistent as you move between views.
- Structure bars roll up the planned date range and progress of their descendants, giving you a compact overview of an entire branch.
- Work-package bars can be created, moved, and resized directly on the Timeline to update their planned start and end dates. Rollup bars update with the live drag preview.
Drag-and-drop in the WBS chart
The graphical Work Breakdown Structure (the top-down org-chart view) is now fully interactive in edit mode, matching the table view.
- Drag any node to reorder it among its siblings or to move it under a different parent.
- Drop onto the center of a structure node to nest a node inside it; drop near the left or right edge to place it before or after.
- While you drag near the left or right edge of a wide chart, the view now scrolls automatically so you can reach off-screen branches without letting go.
- Invalid drops (for example, into a work package, or a move that would create a loop) are shown as blocked before you release.
Model colors for local AI
Each local or self-hosted model now carries its own subtle, consistent accent color across the model picker, chat input, and messages.
- The color is derived from the model name, so the same model always looks the same and different models are easy to tell apart at a glance.
- Accents apply only to your own local models and never change the established colors of the hosted provider logos.
Clearer local AI setup
Configuring a local or self-hosted endpoint is smoother in both Settings and the onboarding wizard.
- Press Enter in the API key field to validate and save in one step.
- The connection is checked before an API key is stored, with a clear Validating / Valid / Invalid status.
- When an endpoint is reachable but reports no models, you are prompted to add a model name instead of being left without guidance.
🐛 Bug Fixes
- The AI sees every work package under a structure node. After you reorganized work packages under a structure node in the WBS, the AI project agent could sometimes recognize only one of them. It now reliably sees all of them when reading or updating your work breakdown structure.
- Your uncategorized inbox stays put. In the WBS chart, the "General" inbox can be reordered among the top-level nodes but can no longer be accidentally dropped inside a structure node, which previously would have folded all of your uncategorized items into that structure's progress.
- Your chosen model is respected. Testing or saving a local endpoint no longer silently swaps
the model you configured for a different one, even when the endpoint lists the model under a
slightly different name (for example
llama3versusllama3:latest). - No more misleading "success". In onboarding, saving a key for an endpoint that returns no models no longer reports a plain success and then fails later — it now guides you to add a model.
- Accurate connection status. A green "Valid" badge no longer lingers next to the API key after a later connection test fails.
- Steadier key saving. Pressing Enter can no longer start a second connection check while one is already running.
- Correct model coloring. The model accent no longer appears for a disabled local-AI configuration or an empty model name.
- More reliable spreadsheet artifacts. XLSX generation now accepts compatible typed-array views when packaging workbook data instead of misreading them as nested paths.
🏗️ Improvements
- Dragging in the WBS chart is smoother on large projects, with no per-move rendering cost.
- Edge auto-scroll stops immediately when the pointer leaves the window instead of scrolling on its own.
- Internal cleanups to how local model lists and accents are handled, keeping Settings and onboarding consistent.
- The project explorer no longer contains a second AI login/API-key setup screen. Account access remains in the header, while provider keys and local AI remain in Settings. Workspace and Connectors are now grouped together on the right without the old gap.
📝 Notes
- The "General" / uncategorized inbox is intentionally kept at the top level of the WBS. You can reorder it among the top-level nodes, but it cannot be nested inside another node.
- This release is desktop-only. There are no server, sync, or account changes, and no action is required for existing projects.
📅 Release Info
- Version: 1.22.0
- Release Date: 2026-07-16
- Previous Version: 1.21.1
- Type: Minor Release
v1.21.1
TensorPM v1.21.1
July 13, 2026
Changelog - v1.21.1
TensorPM 1.21.1 improves connectivity in managed enterprise networks and adds secure, optional authentication for local or self-hosted AI endpoints.
🎉 New Features
Enterprise certificate support
TensorPM backend connections now honor trusted enterprise root certificates installed by the operating system, including certificates used for TLS inspection and company-internal PKI.
- Corporate root certificates installed on Windows or macOS are recognized by TensorPM.
- HTTPS inspection environments, including deployments using Zscaler, can connect without disabling certificate validation.
- Windows trusts certificates from both the current-user and local-machine root stores while continuing to reject certificates placed in the Windows Disallowed stores.
- Public certificate authorities and explicitly configured additional certificates remain available, preserving existing connectivity.
- Support packages report certificate trust sources and counts without exporting certificate contents.
Optional API keys for local AI endpoints
Local and self-hosted OpenAI-compatible endpoints can now be configured with just a URL, model, and optional API key. No provider selection is required.
- API keys are sent as Bearer authentication to the configured endpoint.
- Keys are encrypted with the operating system's secure credential storage and are never displayed again after saving.
- Each key is bound to its endpoint and can be replaced or removed from Settings.
- API keys are allowed over HTTPS and over HTTP only for loopback addresses such as
localhost. - Existing Ollama and other no-key configurations continue to work without changes.
🔒 Security Improvements
- API keys are encrypted using operating-system-backed secure storage and bound to their configured endpoint.
- Stored keys are never returned to the interface after saving.
- Credentials are sent only over HTTPS, with HTTP permitted only for loopback addresses such as
localhost. - TensorPM refuses to persist a key when secure operating-system encryption is unavailable.
- Windows certificates that are explicitly distrusted remain rejected.
- Explicit per-request certificate policies remain restrictive and are not widened by the new operating-system trust integration.
- Support packages now redact a wider range of API-key, authorization, token, password, and credential formats.
📝 Notes
- Install the company or Zscaler root certificate as a trusted operating-system root and restart TensorPM after adding, removing, trusting, or distrusting it.
- The enterprise certificate support covers server trust and HTTPS inspection. Client certificates and mutual TLS are not introduced in this release.
- No database migration or configuration change is required for existing users.
📅 Release Info
- Version: 1.21.1
- Release Date: July 13, 2026
- Previous Version: 1.21.0
- Type: Patch Release
v1.21.0
TensorPM v1.21.0
July 12, 2026
Changelog - v1.21.0
TensorPM 1.21.0 streamlines project creation, shows the state of project context and guidance more clearly, and strengthens the local-first save, AI, and integration paths throughout the app.
🎉 New Features
Streamlined project creation uploads
The existing combined description-and-attachment workflow is now visible directly on the new-project screen.
- Use one surface for the project description and optional documents or images.
- Drag documents and images directly onto the creation screen or choose them with the native file picker.
- Review the attachment list and document token details before starting generation.
- The empty-project path is described more clearly when every input is left blank.
TensorPM now keeps compatible selections when files are added in quick succession, ignores duplicates, and explains when a file is unsupported, unreadable, still being analyzed, or exceeds the document limit.
Daily reference exchange-rate updates with explicit opt-in
General Settings now includes Update Exchange Rates Automatically.
- When enabled, TensorPM requests daily reference rates from the free Frankfurter service and caches them locally for 24 hours.
- No account or API key is required, and only the selected currency codes are sent.
- The option is off by default; the existing built-in reference rates remain available for offline use or when external updates are disabled.
- A manual refresh reports failures without discarding the last usable rates.
Clear Context → Analysis → Guidance status
The project dashboard now shows three separate, inspectable stages instead of combining them into one synthetic context-quality score.
- Context shows whether the current project state is confirmed or still has incoming signals waiting for review.
- Analysis shows the freshness of project status, progress, context analysis, and goal-coverage analysis.
- Guidance shows the freshness of strategic and execution recommendations.
- Detailed tooltips explain every stage and mark analyses that are not yet applicable instead of presenting them as missing or stale.
This makes it easier to distinguish unconfirmed signals from confirmed context, and analysis from the guidance derived from it.
More readable before-and-after changes
Trail entries and Distiller proposals now use a shared change-row design.
- Changed values are displayed consistently as before → after.
- Text changes include word-level highlighting.
- Long values can be expanded without overwhelming the review surface.
- Status and change-type labels are normalized across the affected views.
Compact project history
The Trail now offers a compact history mode that is remembered per project.
- Entries can be expanded only when their details are needed.
- Changes are grouped by Today, Yesterday, or the appropriate local date.
- The compact and detailed views share the same readable change-row presentation.
🐛 Bug Fixes
Rapid project edits no longer overwrite one another
Project, project-profile, and wizard saves now reconcile responses against edits made while a request was in flight.
- An older save response can no longer roll back a newer local edit to lists, tables, priorities, goals, or other project fields.
- The renderer that made a save no longer processes a redundant copy of its own update, while genuine changes from other sources still propagate normally.
- File-system refreshes wait for pending local saves instead of replacing optimistic edits with an older committed snapshot.
- Failed debounced wizard saves stay queued for retry, with newer field edits taking precedence.
Safer document and image handling during project creation
- Unsupported file types are rejected before they enter generation state.
- A failed document preview removes only the affected file and shows a clear warning.
- Late preview responses cannot restore files that were removed or overwrite a newer preview.
- Concurrent picker and drag-and-drop actions preserve all valid selections while still enforcing the image cap.
- Document generation waits until every preview is ready.
- The document token limit now applies only to documents; the prompt estimate is shown separately.
- File paths from drag-and-drop are resolved through the approved Electron preload API boundary.
More reliable account and AI-provider state
- Subscription monitoring now stays active for the application lifetime instead of depending on a model-label component being mounted.
- Business API-key availability is revalidated after Business authentication and subscription state are restored, avoiding both stale invalid states and duplicate startup checks.
- The onboarding connectivity check now completes reliably under React lifecycle replay instead of leaving the first-project flow stuck on Checking your connection….
- The managed TensorPM model is labeled consistently as TensorPM AI, avoiding misleading Lite/Pro model names.
- Gemini forced-tool flows now retain the correct provider identity in activity and error output.
Stronger integration and data boundaries
- MCP mutation responses are validated without turning an already-successful write into a failed tool call merely because optional response metadata changed, avoiding unsafe retries and duplicate mutations.
- Malformed MCP and A2A payloads are rejected at their boundaries with clearer errors.
- Action-item batches submitted through MCP are deduplicated within the batch, and MCP/A2A now share dependency parsing and canonical action-item serialization.
- Project settings use the same validation contract in the frontend and backend.
- Action-item database, sync, backup, and project-setting boundaries now preserve their real nullable and structured data contracts instead of relying on unsafe assumptions.
- User-scoped server file aliases now converge on the canonical local file row, including related references, remote tombstones, and hard-delete reconciliation.
- Local sync diagnostics are isolated per account, and an in-flight sync operation retains the account scope with which it started even if the signed-in account changes.
- Malformed backup metadata, update metadata, and cached payloads are rejected instead of being accepted as trusted application data.
- Shared timeout, SQL, workspace lookup, and PowerSync helpers reduce inconsistent edge-case handling across repositories and services.
🏗️ Improvements
Clearer project-agent language
The interface now uses concrete project-management terms in place of the former “Dreaming” metaphor.
- Project review describes the daily reassessment of status, progress, and risks.
- Incoming signals, proposed changes, and confirmed changes clarify the human review boundary in the Distiller and Trail.
- Onboarding now explains the three activity levels as on-request review, daily status review, or daily review plus automatic AI prioritization.
- Context analysis, coverage analysis, strategic guidance, and execution guidance are named consistently throughout the app.
Better visibility and accessibility
- Presentation, Word, PDF, and calendar tool activity now uses readable localized progress labels.
- Tooltips open from keyboard focus and expose their relationship to assistive technologies.
- The managed-model, Business API-key, onboarding, account, and connector descriptions now explain behavior and privacy more precisely.
- Random pop-culture onboarding greetings were replaced by one clear introduction to TensorPM as an AI project agent.
Broad reliability and maintainability work
- AI-provider request, tool-flow, validation, and error-handling logic is more consistent across OpenAI, Anthropic, Gemini, Mistral, local AI, and TensorPM-managed AI.
- Runtime type guards and response schemas now protect more MCP, database, sync, backup, and project-data boundaries.
- Repository, validation, and integration utilities were consolidated to remove duplicate behavior and make future fixes apply consistently.
- Regression coverage was expanded for exchange rates, change rendering, subscription lifecycle, project saves, file selection, token limits, preload boundaries, and Electron wizard flows.
📝 Notes
- The new exchange-rate preference is added through an automatic local database migration; no manual action is required.
- Sync diagnostics are upgraded automatically to account-scoped storage; ambiguous legacy diagnostics are closed safely and will be recreated under the correct account if they recur.
- Existing projects and locally cached exchange rates remain compatible.
- External exchange-rate requests remain disabled unless the user explicitly enables them.
📅 Release Info
- Version: 1.21.0
- Release Date: July 12, 2026
- Previous Version: 1.20.3
- Type: Minor Release
v1.20.3
TensorPM v1.20.3
July 10, 2026
Changelog - v1.20.3
TensorPM 1.20.3 refreshes the OpenAI model lineup and improves release reliability on macOS.
🤖 Updated OpenAI models
- GPT-5.6 Terra is now the balanced default for everyday project work.
- GPT-5.6 Sol is available for the most demanding analysis and reasoning tasks.
- GPT-5.6 Luna provides a faster, more cost-efficient option and powers lightweight AI tasks.
- All three models support images, PDF inputs, tools, and streaming with the same large context and output limits, so existing TensorPM workflows continue to work without provider changes.
- Saved preferences that still reference a retired OpenAI model now fall back safely to GPT-5.6 Terra instead of sending an unsupported model ID to the API.
🛠️ Release reliability
- macOS packaging now reuses the signing keychain prepared by the release workflow instead of creating a second temporary keychain.
- The signing identity is unlocked and verified immediately before packaging, producing an early, clear failure if the certificate is unavailable and avoiding intermittent keychain-passphrase errors during release builds.
📅 Release Info
- Version: 1.20.3
- Release Date: July 11, 2026
- Type: Patch Release
v1.19.0
TensorPM v1.19.0
July 6, 2026
Changelog - v1.19.0
🎉 New Features
Presentation Deck Authoring
TensorPM can now generate and revise PowerPoint presentations directly from the current project.
What Changed:
- Added the new
deck_authortool for creating project-based PowerPoint decks. - Added
deck_author_editso decks created by TensorPM can be updated later with natural-language instructions. - Added a planner, design director, layout authoring, sandbox rendering, automatic repair, and PPTX integrity checks.
- Decks are exported into the project under
exports/presentation-deck/.
User Benefit: Users can ask TensorPM for status decks, steering committee decks, proposals, reviews, and project overviews without manually orchestrating code execution or PowerPoint layout steps.
🏗️ Improvements
Skill-Based Deck Tool Access
Deck authoring is unlocked by the presentation-deck project skill. TensorPM only exposes the deck tools when that skill is installed and trusted for the active project.
Safer Tool Availability Checks
TensorPM now re-checks tool availability at execution time, not only when the tool list is shown to the AI. This prevents stale or direct tool calls from bypassing project-specific availability gates.
PowerPoint Skill Catalog Cleanup
The legacy manual PowerPoint guide has been replaced by the new presentation-deck skill flow in the desktop skill catalog.
📝 Notes
- The release intentionally skips the full Playwright E2E suite.
- The standard typecheck, lint, unit test, ESM import verification, and release smoke gates remain part of the release process unless explicitly skipped by the release command.
📅 Release Info
- Version: 1.19.0
- Release Date: 2026-07-06
- Previous Version: 1.18.2
- Type: Minor Release
v1.18.2
TensorPM v1.18.2
July 4, 2026
Changelog - v1.18.2
New Features
Better guidance for generated Office documents
TensorPM's AI can now load detailed skill reference material only when it is needed for a document task.
What Changed:
- PowerPoint, Excel, Word, PDF, and artifact review skills can expose focused reference guides without bloating normal chats
- The AI can load one specific guide, such as a design contract or spreadsheet quality gate, when a polished deliverable needs it
- Skill authors can keep core instructions short while keeping heavier document-generation guidance in separate reference files
User Benefit: Generated decks, workbooks, reports, and PDFs can follow stronger document quality rules while everyday project chats stay fast and focused.
Bug Fixes
Skill references respect approval state immediately
TensorPM now revalidates a skill's approved content before exposing bundled reference files to the AI.
What Changed:
- If a skill is edited after approval, TensorPM blocks reference reads until the skill is approved again
- This closes the short timing window between a local file edit and the FileExplorer trust badge refresh
User Benefit: The AI only sees reference material from the exact skill contents you approved.
Multi-day milestone dates are clearer
When a milestone date range is entered into the single-date column, TensorPM still normalizes the date cell to the first day, but now returns an explicit warning.
What Changed:
- ISO date ranges such as
2026-10-08 bis 2026-10-09normalize to2026-10-08 - TensorPM now tells the AI to preserve the full range in the milestone description when it represents a multi-day event
User Benefit: Milestone tables stay compatible with single-date timelines without silently losing the end date.
Improvements
- Cleaner skill authoring docs: the generated
skills/README.mdnow explains how to use deferred reference files for heavier guidance - Office artifact eval fixtures: the desktop skill catalog now includes trigger and quality rubrics for document-generation skills
Notes
This is a patch release focused on skill reference loading, document-generation quality guidance, and safer milestone date normalization. No migration or manual user action is required.
📅 Release Info
- Version: 1.18.2
- Release Date: 2026-07-04
- Previous Version: 1.18.1
- Type: Patch Release
v1.18.1
TensorPM v1.18.1
July 3, 2026
Changelog - v1.18.1
Bug Fixes
Trail updates are easier to read
TensorPM now shows more precise Trail entries when project context or action items are updated.
What Changed:
- Similar text edits now highlight the changed words instead of marking the whole sentence as removed and re-added
- Action item updates that do not actually change anything are shown as "No effective changes" instead of looking like a real edit
- If a long action item update trace is shortened internally, TensorPM still shows the requested field changes wherever possible
User Benefit: You can review AI-assisted updates faster and see what really changed without being distracted by noisy red/green blocks.
Improvements
- Cleaner action item history: edited action items use a calmer visual style, so important changes stand out more clearly
- Better change badges: unchanged action item updates now get their own neutral status instead of being grouped with edits
Notes
This is a focused patch release for Trail readability and action item update history. No migration or manual user action is required.
📅 Release Info
- Version: 1.18.1
- Release Date: 2026-07-04
- Previous Version: 1.18.0
- Type: Patch Release
v1.18.0
TensorPM v1.18.0
July 3, 2026
Changelog - v1.18.0
New Features
Redeem Pro vouchers right in the app
If you received a TensorPM Pro voucher, you can now redeem it without leaving the desktop app.
What Changed:
- New "Redeem voucher" option in your account settings (visible on the free Trial plan)
- Enter your code and your Pro plan activates immediately — the app shows your new plan and expiry date right away, no restart needed
- Clear messages if a code is mistyped, expired, or already used
User Benefit: From voucher code to active Pro in seconds — no website detour, no waiting.
The AI can work with your project files in code runs
When the AI runs code for you (reports, exports, calculations), it can now bring selected project files into the run.
What Changed:
- The AI can stage files from your project into a code run and read them there — for example a spreadsheet it should analyze or a document it should convert
- Files are copied read-only into the run's workspace; the run still can't touch anything outside its sandbox
- Sensible limits on file count and size keep runs fast and safe
User Benefit: "Analyze this file and build me a report" now works end to end — the AI no longer has to work around missing file access in code runs.
Bug Fixes
Stopping a response no longer duplicates it
Aborting an AI response could occasionally leave the answer in the chat twice after a reload. Stopped responses are now stored exactly once.
Edited messages are no longer lost
Editing and resending a chat message while a response was still running could lose your edit. The edited message is now saved before the new response starts, so your wording always survives.
Long multi-step AI tasks stay on track
On long turns with many tool steps, the AI's working history could swell with repeated content, degrading answers and burning credits. The history each step sees is now tightly bounded, and the AI keeps its focus — and your original question — all the way to the final answer.
Improvements
- More reliable AI sessions: new internal consistency checks watch every chat turn and surface problems early, backed by replay tests built from real-world sessions
- Better support diagnostics: support bundles now include anonymous chat health counters, helping us resolve reports faster — no chat content is added
📅 Release Info
- Version: 1.18.0
- Release Date: 2026-07-03
- Previous Version: 1.17.3
- Type: Minor Release
v1.17.3
TensorPM v1.17.3
July 3, 2026
Changelog - v1.17.3
🏗️ Improvements
More Reliable Releases
This maintenance release hardens the TensorPM build pipeline so that packaging problems are caught before an installer is ever produced.
What Changed:
- ✅ Every release build now verifies that the packaged app contains all modules it needs to run — a missing module now stops the build within seconds instead of surfacing as a startup crash
- ✅ A new automated test guards the packaging configuration itself, so future size optimizations can never accidentally remove files the app depends on
- ✅ Build infrastructure improvements for faster, more consistent macOS releases
User Benefit: Updates arrive with an extra layer of safety checks — the class of packaging error that delayed recent updates can no longer reach your machine.
📝 Notes
- This release contains no functional or visual changes. If you are on v1.17.2, updating is optional; auto-update will pick it up as usual.
📅 Release Info
- Version: 1.17.3
- Release Date: 2026-07-03
- Previous Version: 1.17.2
- Type: Patch Release
v1.17.2
TensorPM v1.17.2
July 3, 2026
Changelog - v1.17.2
🎉 New Features
Run Skills Directly from a File's Context Menu
Skills can now offer one-click actions on matching project files. Right-click a file in the File Explorer and run the skill on it — deterministically, without involving the AI.
What Changed:
- ✅ Skills declare which file types they handle; TensorPM shows their action in the context menu of matching files
- ✅ The skill runs instantly in the secure sandbox and its results land in the project's
exports/folder - ✅ Only skills you have explicitly trusted can offer context-menu actions
User Benefit: Process files with a single click and get exact, reproducible results — the same file always produces the same output.
Ready for GAEB Bills of Quantities (Leistungsverzeichnisse)
Construction professionals can now bring German GAEB tender data (.x81/.x83/.x84) into TensorPM.
What Changed:
- ✅ Material items support an external position reference (GAEB OZ, e.g. "03.02.0040") and a unit price
- ✅ The new gaeb-import skill parses GAEB DA XML 3.1–3.3 files exactly — positions, quantities, unit prices, and totals are read from the file, never retyped by the AI
- ✅ Bid files (X84) are merged onto the original tender (X83) automatically by position number
- ✅ Right-click any GAEB file in the
gaeb/folder to get an instant overview: structure, position counts, totals, and anomalies - ✅ The TensorPM agent can stage parsed positions as material items for your review
User Benefit: Import a complete Leistungsverzeichnis in seconds with every number exactly as tendered — no manual transcription, no AI transcription errors.
🏗️ Improvements
Code-Execution Runtime Ships with the App Again
The sandbox runtime used by Skills is bundled and code-signed with every installer again.
What Changed:
- ✅ Skills work immediately after installation — no first-run download required
- ✅ The runtime binary is signed together with the app on macOS and Windows
- ✅ Works fully offline from the first minute
User Benefit: Skills are available instantly and verifiably signed, even on machines without internet access or behind strict firewalls.
🐛 Bug Fixes
- Fixed material items losing their position reference and unit price when the AI assistant updated another field on the same item
- Negative unit prices from GAEB discount positions (Nachlässe) are preserved in the item notes instead of being silently zeroed
📝 Notes
- The gaeb-import skill will be published to the in-app skill catalog separately; the platform support in this release works with any skill that declares file triggers
- Database schema migration 042 runs automatically on first start
📅 Release Info
- Version: 1.17.2
- Release Date: 2026-07-03
- Previous Version: 1.16.0 (v1.17.0/v1.17.1 were tagged but never published)
- Type: Minor Release (published as patch tag)
v1.15.1
TensorPM v1.15.1
July 2, 2026
Changelog - v1.15.1
This patch release tightens AI prompt context handling after v1.15.0 and fixes quoted display names in greetings and settings.
Bug Fixes
Cleaner AI Context for Action Item Generation
Action item generation and re-evaluation now avoid sending the same project data multiple times in one prompt. Existing action items, people, and budget details are kept in their dedicated prompt sections instead of being duplicated inside the project JSON.
This reduces prompt size and helps the AI focus on the current planning task.
Correct Categories and Assignees in Already Prepared Project Context
Some AI paths received project data that had already been prepared for AI use.
Preparing it a second time could degrade existing action items to an
Unknown category and drop assignee context. Prepared projects are now detected
and passed through safely.
Agent assignees are also preserved as readable labels in AI context instead of being silently omitted.
More Accurate Token Counting
Internal generation metadata is now stripped before token counting, matching what is actually sent to the model. This prevents the app from overestimating context size because of hidden internal snapshots and reduces unnecessary compression or truncation.
Display Names No Longer Keep Wrapping Quotes
Names stored as "Thomas" or similar quoted variants are normalized before
they reach greetings, chat, settings, and local storage updates. Apostrophes in
names such as O'Brien are preserved.
Notes
- No database migration.
- No sync protocol change.
- Release quality gates still run, except the Playwright E2E suite is skipped for this release by request.
Release Info
- Version: 1.15.1
- Release Date: 2026-07-02
- Previous Version: 1.15.0
- Type: Patch Release
v1.15.0
TensorPM v1.15.0
July 2, 2026
Changelog - v1.15.0
This release adds a faster way to bring project files into the AI chat, makes AI guidance respond in your language, fixes several long-standing data-accuracy bugs, and significantly speeds up sync recovery after large incidents. Under the hood, the database layer is now covered by hundreds of tests that run real SQL — the same queries the app runs in production.
🎉 New Features
Attach Files to the Chat Straight from the File Explorer
You can now right-click any project file in the File Explorer and choose "Attach to Chat".
What Changed:
- New context menu entry attaches the file to the AI side panel chat and opens the panel so you immediately see the attachment chip.
- The same rules as in the chat itself apply: up to 5 attachments, duplicates are detected, and clear notifications tell you what happened.
User Benefit: No more switching to the chat, hunting for the file picker, and navigating to the file again — discuss any document with the AI in two clicks.
🐛 Bug Fixes
AI Guidance Now Answers in Your Language
Guidance cards, coverage analysis, and smart action suggestions previously came back in English regardless of your language preference. They now follow the same language setting as the rest of the AI features.
Agent Assignees No Longer Lose Their Identity During Sync
Removing an agent assignee (e.g. a Codex or Claude Code agent) from an action item could sync an incomplete identifier, leaving stale assignment data on other devices. Agent identifiers are now handled correctly end to end.
Correct Timer History in List Views
Action item timer data loaded through the batch path was mapped twice, which could show empty or wrong start/end times in list views. Timer history is now mapped exactly once, the same way everywhere.
Accurate Status and Budget History
Status history and budget history queries returned raw database column names in some paths, which silently broke the "changes since last evaluation" summary the AI uses and dropped the budget type from budget history entries. Both now return consistent, fully populated records.
Original Creation Dates Preserved in Cloud Sync
Editing an action item no longer overwrites its original creation date on the server — the creation timestamp now travels with every sync update.
Material Hierarchy Integrity on Upgraded Installations
Installations upgraded from older versions were missing a database-level guarantee for the material item hierarchy (fresh installations already had it). A one-time migration rebuilds the material list storage so parent/child links behave identically on every installation, including cleanup when a parent item is deleted.
🏗️ Improvements
Much Faster Sync Recovery After Incidents
After a large sync incident, the app previously re-checked its issue list once per record during recovery — on big projects this could freeze the app for minutes at startup.
What Changed:
- A new database index makes per-record issue lookups instant.
- Recovery now checks the open-issue list once per table instead of once per record.
- Old resolved issues are cleaned up automatically when sync starts, so the issue list can't grow into a slowdown again.
User Benefit: Startup after a sync incident takes seconds instead of minutes, with no UI freeze.
Sturdier Foundations: Real-SQL Test Coverage
The database layer is now verified by hundreds of tests that execute the app's actual SQL against a real database engine, plus a migration parity test that replays every upgrade path and compares it to a fresh installation. This class of testing already caught the bugs fixed in this release before they could reach more users.
📝 Notes
- This release includes two automatic database migrations (schema version 39 → 41). They run on first launch after the update; no action is required.
- No changes to the sync protocol or server — all changes are client-side.
📅 Release Info
- Version: 1.15.0
- Release Date: 2026-07-02
- Previous Version: 1.14.3
- Type: Minor Release
v1.14.3
TensorPM v1.14.3
July 1, 2026
Changelog - v1.14.3
This stable patch release makes cloud sync recovery more robust, fixes a confusing situation with files added on another device, and polishes the Distiller and macOS fullscreen experience.
🐛 Bug Fixes
Files Added on Another Device No Longer Block the Distiller
File contents intentionally stay on the device where you added them — only the project metadata syncs. Previously, a file added on your other device still showed up in this device's intake queue, and asking the Distiller to review it produced empty or misleading results.
What Changed:
- The Distiller only queues files that actually exist on the current device.
- In the intake list, such files are greyed out with a hint that they live on another device — review them there, or ignore them here (ignoring syncs and clears the signal everywhere).
- The pending-updates badge now counts only what you can actually review on this device.
User Benefit: No more empty AI reviews or stuck-looking intake items when you work across multiple devices.
More Reliable Recovery for Quarantined Sync Records
Retrying a quarantined encrypted record from the sync issues list is now properly coordinated with background sync activity.
What Changed:
- A manual retry can no longer run at the same time as a background download, which previously could make both fail with confusing errors.
- If the retry fails, it now reports the actual error instead of showing success.
- Records that were already up to date locally now clear their quarantine entry correctly, instead of staying stuck in the issues list forever.
- A harmless nightly server maintenance job no longer floods the logs with thousands of false "potential replay" security warnings.
User Benefit: Sync issues you retry now either resolve for real or tell you clearly what went wrong.
macOS: Fullscreen Header Spacing
In fullscreen mode, macOS hides the window traffic-light buttons — but the header still reserved space for them, leaving an odd gap next to the logo.
What Changed:
- The header margins now collapse while in fullscreen and come back when you leave it.
User Benefit: A cleaner, better-aligned header in fullscreen on macOS.
🏗️ Improvements
Smoother Distiller Card Transitions
The Distiller proposal carousel now follows the height of the card you are looking at, instead of staying as tall as the biggest card you have seen.
What Changed:
- Switching to a shorter proposal card no longer leaves an empty gap below it.
- After you finish reviewing a batch, the chat smoothly reflows upward instead of jumping.
User Benefit: Reviewing AI proposals feels calmer and wastes less screen space.
📝 Notes
- The matching sync-backend update (stricter batch rate limiting and faster failure handling for expired sessions) was deployed ahead of this release.
- Local-first behavior is unchanged: your work is never blocked by connectivity.
📅 Release Info
- Version: 1.14.3
- Release Date: 2026-07-02
- Previous Version: 1.14.2
- Type: Patch Release (Stable)
v1.14.2
TensorPM v1.14.2
June 30, 2026
Changelog - v1.14.2
This stable patch release makes cloud sync faster and lighter, with no changes to how your projects look or behave.
🏗️ Improvements
Faster, More Efficient Cloud Sync
Cloud workspaces now upload local changes in batches and avoid re-sending data that hasn't actually changed.
What Changed:
- Pending changes are grouped and uploaded together instead of one request per change, reducing round-trips on busy edits.
- Unchanged rows no longer trigger a redundant server write, which keeps the sync history smaller and initial sync fast for new devices.
- Server-side database indexes were added so sync queries stay quick as workspaces grow.
- If batched upload isn't available for any reason, sync automatically falls back to the previous per-change path, so reliability is unaffected.
User Benefit: Cloud sync uses less bandwidth and feels snappier, especially when making many edits at once or setting up TensorPM on a new device.
📝 Notes
- These changes are internal to the cloud sync engine; local-first behavior is unchanged and your work is never blocked by connectivity.
- The matching sync-backend update (batch endpoint + performance indexes) was deployed ahead of this release.
- Full Playwright E2E tests were intentionally skipped for this focused patch. TypeScript checks, ESLint, the full unit suite, and the PowerSync sync integration tests all passed.
📅 Release Info
- Version: 1.14.2
- Release Date: 2026-07-01
- Previous Version: 1.14.1
- Type: Patch Release (Stable)
v1.14.1
TensorPM v1.14.1
June 30, 2026
Changelog - v1.14.1
This stable patch release fixes a startup crash that could affect users upgrading to v1.14.0 with older local file-reference data.
🐛 Bug Fixes
Startup Migration Recovery
TensorPM now handles orphaned legacy file-reference rows during the v39 file-ID convergence migration.
What Changed:
- Local orphaned file-link rows are removed before the migration rewrites dashed file IDs to canonical 32-hex IDs.
- The cleanup is local-only and does not create pending server deletes.
- Valid file metadata and physical project files are left untouched.
User Benefit: Users with older local databases can launch TensorPM normally after upgrading, instead of hitting a foreign-key migration crash on startup.
📝 Notes
- This is a focused hotfix for the v1.14.0 stable release.
- Full Playwright E2E tests were intentionally skipped for this patch release.
- Unit migration coverage, TypeScript checks, and local production-app startup validation were completed.
📅 Release Info
- Version: 1.14.1
- Release Date: 2026-06-30
- Previous Version: 1.14.0
- Type: Patch Release (Stable)
v1.13.2
TensorPM v1.13.2
June 29, 2026
Changelog - v1.13.2
This stable patch release improves file reliability in cloud workspaces and makes the Intake and File Explorer surfaces more consistent after sync.
🐛 Bug Fixes
Reliable File References After Sync
TensorPM now repairs legacy file references that used older dashed identifiers.
What Changed:
- File links in project files, action item attachments, recurring item files, and expense attachments are normalized to the canonical file ID, and are resolved reliably everywhere they are read.
- Existing duplicate project-file links are merged so paths and AI evaluation state are preserved while only one active file entry remains visible.
- Download sync now rewrites incoming legacy dashed file references before generating local synthetic IDs.
User Benefit: Files no longer appear as duplicates or lose their attachment relationship after syncing older workspace data.
Accurate File Status Indicators
File Explorer status badges now match file activity by stable file ID while remaining compatible with legacy history entries.
What Changed:
- Summarization and distillation status now prefer file IDs instead of only file names.
- Legacy activity history rows with dashed file IDs are normalized during migration and matched defensively in the UI.
User Benefit: Files with the same name show the correct processing or summary status, and old history entries keep working after the file-ID cleanup.
Idempotent Intake Ignores
Ignoring the same intake source more than once no longer creates sync conflicts.
What Changed:
- Repeated ignore actions for the same project, source, visibility scope, and owner now update the existing ignore row instead of inserting a duplicate.
User Benefit: Dismissed files, emails, and updates stay dismissed without noisy duplicate-row errors.
🏗️ Improvements
Safer File Path Reactivation
Re-adding a file path now reactivates the existing project-file row when one is available.
User Benefit: Files that were previously hidden or removed can return to the File Explorer cleanly when they are detected again.
📝 Notes
- This is a stable patch release for the 1.13.x line.
- The database schema version is updated to 38 to run the file reference cleanup.
- E2E tests were not part of this focused patch validation.
📅 Release Info
- Version: 1.13.2
- Release Date: 2026-06-30
- Previous Version: 1.13.0
- Type: Patch Release (Stable)
v1.13.0
TensorPM v1.13.0
June 29, 2026
Changelog - v1.13.0
The first stable release on the 1.13.0 line. It brings the new subscription model to everyone on the stable channel, adds an in-app update-channel switch, makes chat file attachments more transparent and reliable, and rolls up the stability and dependency work from the 1.13.0 beta.
🎉 New Features
New Subscription Plans: Trial, Pro & Business
TensorPM moves to a simpler, clearer plan lineup that matches the pricing live on tensorpm.com.
What Changed:
- Free is now Trial — the same local-first power, with a one-time allowance of 2,000,000 AI credits and no time limit. Trial never expires; you use the credits at your own pace.
- Pro — cloud sync plus 10,000,000 AI credits every month, €99/month or €990/year. Pro keeps 1 active project open, with unlimited archived projects.
- Business — for teams: a shared credit pool, cloud sync, and the option to use your own AI provider keys (BYOK).
User Benefit: Fewer choices to make, a clearer upgrade path, and a free Trial that is never blocked by a countdown — only by how much hosted AI you use.
Bring-Your-Own-Key Is Now a Business Feature
Using your own provider API keys (OpenAI, Anthropic, …) is now part of the Business plan.
What Changed:
- API-key entry is available on Business only; Trial and Pro use TensorPM's hosted AI.
- The AI settings clearly reflect which providers are available for your plan.
User Benefit: A more predictable, supported AI experience on Trial and Pro, with full BYOK flexibility reserved for Business teams.
Choose Your Update Channel
You can now pick how TensorPM updates itself, directly in Settings → General.
What Changed:
- A new Update Channel option lets you stay on Stable (production-ready releases only) or opt into Beta (early features, may include rough edges).
- An inline tooltip explains exactly what each channel delivers.
User Benefit: Stay rock-solid on Stable, or jump to Beta when you want to try new features early — your choice, no reinstall required.
See What Happens to Your Chat Attachments
Files you attach to a chat now show their processing state inline.
What Changed:
- Chat attachments display a clear processing / summarized / failed status while TensorPM reads and summarizes them.
User Benefit: You can tell at a glance whether an attached document or image has been understood by the assistant before you rely on it.
🐛 Bug Fixes
Attached images are reliably seen by the assistant
In some cases an image attached in chat was not delivered to the AI — the assistant replied that it could not see any image, even though the file was clearly attached (TPM-0012).
What was happening:
- When an image's local file record had no resolvable path for the current project (for example after content-deduplication on a cloud workspace), the attachment was silently dropped from the request, so no provider — hosted or your own — ever received the picture.
What's fixed:
- ✅ The image is now loaded from its actual location in the project folder as a fallback, so it reaches every vision-capable provider.
- ✅ If a file genuinely is not on disk, it is skipped cleanly instead of producing a misleading "no image" answer.
User Benefit: Drop an image into the chat and the assistant actually sees it.
🏗️ Improvements
Clearer Pro Project Limit
Pro now shows "1 of 1 active project" the same way Business shows its limit. Archive a project to free up the slot — archived projects stay unlimited, and reactivating one is only possible when it keeps you within the limit.
Simpler In-App Billing
Credit top-ups, auto-top-up, and paid seat purchases have been removed from in-app billing. Pro is the single self-service subscription (monthly or yearly).
Cloud Sync Reconnects Cleanly When Switching Workspaces
Switching between cloud workspaces now restarts PowerSync and refreshes the sync status, so your sync state is always accurate after a switch.
Stability, accuracy & dependencies
- More accurate update-status handling behind the new channel switch.
- Internal install/identity and sync-entitlement handling hardened for the new plan model (legacy plan values continue to be treated safely as Trial).
- Refreshed production and development dependencies for security and stability.
📝 Notes
- This is a stable minor release that promotes the 1.13.0 line — including the new subscription model — to the stable channel, in sync with the updated pricing and account area on tensorpm.com.
- Pro vouchers (for redeeming pre-paid Pro time) are entered in your account area on the website.
- Unknown or legacy plan values are treated safely as Trial until your account token refreshes.
📅 Release Info
- Version: 1.13.0
- Release Date: 2026-06-29
- Previous Version: 1.12.7
- Type: Minor Release (Stable)
v1.12.7
TensorPM v1.12.7
June 27, 2026
Changelog - v1.12.7
🐛 Bug Fixes
Cloud Sync no longer gets stuck after moving a project between workspaces
Moving a project into a different workspace (or renaming a project's folder) could silently break Cloud sync. Once that happened, all pending changes — across every workspace, including file uploads and chat — stopped syncing and the queue kept growing in the background, even though the app showed no obvious error.
What was happening:
- A project move was rejected by the server and quietly dropped, leaving the project in its old workspace on the server.
- Every later change to that project was then refused, and because uploads are processed in order, that one blocked change held up the entire upload queue indefinitely.
What's fixed:
- ✅ Project moves and folder renames now sync correctly.
- ✅ A single rejected change can no longer block everything else — the app recognizes it, sets it aside, and keeps the rest of your data flowing.
- ✅ Genuine "a project with this folder already exists" conflicts now surface as a clear, specific message instead of a generic failure.
User Benefit: Your Cloud workspaces stay reliably in sync, even after reorganizing projects across workspaces.
🏗️ Improvements
Better sync diagnostics
- The built-in sync health check now correctly recognizes a stalled upload queue based on how long changes have actually been waiting, instead of under-reporting it.
- Support bundles now report accurate per-table breakdowns of the pending upload queue, making future sync issues much faster to diagnose.
📝 Notes
This is the first stable release on the 1.12.x line. The sync server fix is already live; this app update completes the fix on the client side.
📅 Release Info
- Version: 1.12.7
- Release Date: 2026-06-27
- Previous Version: 1.12.7-beta.1
- Type: Patch Release (Stable)