Releases: ParkviewLab/pensa-grex
Release list
v3.5.0
[v3.5.0] - 2026-07-27
Highlights
Branch and merge junctions are now draggable objects on the trunk: a card dropped among them carries those below it into its new position, and a junction diamond can be dragged along the trunk to move a branch point or merge point, with illegal targets showing no drop hint. A new "Move branch point here" menu item mirrors the existing "Merge a branch here". This release also fixes two drag-path bugs where a moved node could silently rewrite another branch's return address, and where a caret appeared above a plan's close offering a drop the app would then refuse.
Bug fixes
- A spliced-out node abandons its return address, and no caret above a plan's close (#86) (17ab9bb)
- What the fresh-eyes review of the junction work found (#88) (87c6cfa)
Features
v3.4.0
[v3.4.0] - 2026-07-27
Highlights
The download page now stamps the release version into the page at deploy time rather than relying on an unauthenticated GitHub API call that was failing and displaying "latest" in its place, and its version badge is enlarged to 22px while the screenshot now switches between the light and dark grounds along with the rest of the page. Opening the About window checks GitHub for the latest release and reports either that this copy is up-to-date or that a newer version is available, with a link to the download page; the check runs only when About is opened, times out after five seconds, and stays quiet on any failure.
Bug fixes
Features
v3.3.0
[v3.3.0] - 2026-07-27
Highlights
This release reworks the MCP tool surface around the model's own vocabulary: reads are now strict about node kind (read_domain, read_project, read_task), writes use one id parameter name (node_id) across a shared id namespace, and several tools are renamed to match what they actually act on (delete_node, move_task, move_project, detach_project, reorder_project, open_branch below a node). The app gains two actions the tools already had, wrapping a run as a sub-project and deleting a note, and the note interface (glyph, menu items, editor, collapse/expand) is now the same on a project's close as on its opening. Two writes that could silently misshape a plan are now refused — moving a close, and splice-deleting a plan's base — and every write reports the title it ended with, so a collision-driven rename is visible to the caller.
Bug fixes
- Close two writes an agent could make in good faith (#78) (a4b0f88)
- Repair the work_flagged prompt for the strict reads (#81) (409a1be)
Docs
Features
- One vocabulary across the tools and the app (#76) (ff6deca)
- The tool contract, and the last of the trees (#79) (f46fad8)
Refactor
v3.2.2
[v3.2.2] - 2026-07-26
Highlights
Operations on a node are now bounded by the scope containing it, so moving, copying, exporting or deleting a sub-project no longer pulls in the work that follows its close, and pasted sub-projects can no longer remain wired to the record they came from. The MCP delete_task tool now refuses to delete a scope's close on its own, since with the new bound that would silently remove the whole scope. Documentation is updated to describe the extent rule in place of the older unbounded reading.
Bug fixes
v3.2.1
[v3.2.1] - 2026-07-26
Highlights
The map's two status colours are swapped, so teal now marks a project node and its close while violet marks a completed task, with scope panels tinted to match; project cards also gain vertical padding and a capped hull curve so a project's own name no longer collides with its outline at any line count, and a folded pair's close no longer clips its label. The download page carries a fresh screenshot from the current schema with a new caption, and the third feature card now describes the built-in MCP server rather than a list of things the app does not do.
Features
v3.2.0
[v3.2.0] - 2026-07-26
Highlights
Folding a project node now hides only what lies between it and its own close, leaving the trunk above intact, and the remaining pair is drawn shut with the close overlapping the project's card by 22 pixels, tinted in project violet, with the shadow retired and "Add task above", "Add branch above" and the merge submenu withheld until the scope is expanded. The terminus hull is rotated a half turn rather than mirrored horizontally, so a scope's two ends read as one shape and its point reflection. Two layout defects are fixed: a folded pair could be pried open by the repair pass and now stays shut, and the repair no longer inflates the drawing over passes that clear no conflicts, keeping the best placement it has seen instead of the last.
Bug fixes
Features
v3.1.0
[v3.1.0] - 2026-07-26
Highlights
Domain trees are now drawn by a pixel solve rather than a row grid: every lateral leaves its spine at exactly twelve degrees, each pair of cards packs by its own heights, and where one line crosses another the crossed line runs unbroken while the other breaks with a short cap on each side in place of the old hop. A rendering bug is also fixed where toggling "Show only flagged" could leave revealed cards with a label but no hull or background until the next repaint, and the changelog no longer carries a spurious "docs" entry for the previous release's own closing commit. The section 15 documentation is corrected to note that the v3 bookmark shape is only half shipped, so migrated bookmarks still report their location as gone.
Bug fixes
- Keep a hidden card's silhouette instead of painting a zero box (d8f9d8e)
Docs
- Say plainly that the v3 bookmark shape is only half shipped (baab775)
Features
v3.0.0
[v3.0.0] - 2026-07-26
Highlights
This release replaces the tree-of-forks model with a plan-of-projects model in which every branch rejoins the trunk it left, and every scope is closed by a terminus node drawn as an inverted project hull. The on-disk layout changes accordingly: each domain is now a directory of plain JSON under a domains/ root, with notes in their own subdirectory and ids that are chronologically sortable, and a one-shot startup migration moves an existing schema-2 library across, fabricating a merge point for each branch. The MCP tool surface is renamed to match (create_plan, paste_as_plan, detach_to_plan, reorder_plan) and gains open_branch, wrap_run, unwrap_project, and set_merge_point, while add_task loses its mode and now always names an edge; the menu's "New tree" and "Paste as new tree" become "New plan" and "Paste as new plan", and the drawing retires the 12-degree tilt and per-line lift in favour of row-aligned cards with lateral runs that hop verticals.
Docs
- V2.1.0 [skip ci] (8da2835)
- Add rust_port_ideas notebook (off-Electron / 100% Rust study) (#60) (ad08485)
- Add Migration and repo strategy to rust_port_ideas (#61) (6aeecc9)
- Record the model v3 design (domains, termini, merging branches) (#62) (1784403)
- Amend the northstar to model v3 (single entry, every fork returns) (#63) (8b17e9b)
Features
- The domain library on disk, and the id scheme (#65) (c6519e3)
- The schema-3 record, and the migration that brings a library across (#66) (ae438ff)
- Termini close every scope, and the verbs that open and shut them (#67) (4b3cb80)
- Every branch rejoins the trunk it left, and the drawing that shows it (#68) (d4bcdf5)
- The tool surface and the outline in the vocabulary of model v3 (#69) (af050b8)
Refactor
v2.1.0
[v2.1.0] - 2026-07-21
Highlights
This release adds a themed GitHub Pages download page at parkviewlab.github.io/pensa-grex, with self-updating links to the latest release installers and a Light/Dark toggle, plus a Connect Claude Code walkthrough covering the claude mcp add registration step. On the MCP side, the server now instructs connected clients that the task store is live and reads may be stale, telling them to re-read before acting and especially before writes; find_flagged, set_status, delete_task, and delete_domain carry matching cautions, and a new work_flagged prompt bakes the re-read-first order into the flagged-task workflow.
Docs
- V2.0.0 [skip ci] (7e385d6)
- Add a themed GitHub Pages download page (#57) (25d42cf)
- Add Connect Claude Code section to the download page (#59) (b3acc27)
Features
v2.0.0
[v2.0.0] - 2026-07-21
Highlights
The app now hosts an MCP server on loopback (127.0.0.1:35899, enabled by default, toggleable from a header status indicator that shows the endpoint URL), letting a local agent read and write tasks through the same authority the GUI uses, across read-only, read-write, and destructive scope tiers. When an agent edits the open domain, the view re-renders in place while preserving pan, zoom, and collapse, and the note editor reconciles external changes by reloading when clean, warning when dirty, and closing with a notice if the underlying task is deleted. Under the hood, task writes are now owned by the main process on a single write path, and a single-instance lock ensures one process binds the port.