Skip to content

TensorPM v1.21.0

Choose a tag to compare

@Neo552 Neo552 released this 12 Jul 22:43
· 75 commits to main since this release

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