Skip to content

Releases: sebastianmaute/aipm-cockpit

AI PM Cockpit 1.19.0 "Nesbø"

Choose a tag to compare

@github-actions github-actions released this 15 Oct 15:07
Immutable release. Only release title and notes can be modified.
54b2502

A feature release. Each project keeps its budget in its own currency, EUR, USD, GBP or INR, chosen when it is created and switchable later. An empty Budget view walks you through four setup steps, and Import forecast reads planned hours per person from a spreadsheet into a bucket. TimeLog months can be closed, with later changes to them flagged; the TimeLog connection works for any region and matches people on any of their email addresses. Help, a dashboard banner for the demo project, the Turso setup steps and the desktop start screen make the first steps easier. The dashboard's Budget burn tile no longer scrolls, and its chart labels are no longer covered by its lines. Fixes: a day-rate role keeps its hourly rate when the workday hours change, a new project's plan starts in the right month around midnight, and Ask Claude always names the page you asked from. The Monte Carlo schedule forecast is built but held back from this release. Update every device that shares a project before switching its currency; see the Notes below.

Added

  • A "Getting started: set up a budget" Help entry, and the install guide one click away. Help lists the new entry first under Workflows: turn on the functions, rate the roles, add the people with their Timelog email, add buckets, import the hours. The Help panel's footer and the About panel link the installation and setup guide, which now also covers the browser's download warning, the slow first start, that a Claude subscription does not include API credit, and setting up a first budget, with pictures. The README's gallery pictures were retaken. The guide's install steps now show the browser's two download warnings and Windows' protection box, too.
  • You can close TimeLog months, and a later change to a closed month is flagged. Settings → Integrations → TimeLog has a Closed months block. Closing the next month saves the daily hours of everyone who booked on the fetched TimeLog projects that month, whether or not they are linked to a resource, and negative day totals from TimeLog corrections are kept as fetched; Reopen steps back one month, after a confirmation. The block names the close's TimeLog projects. The close belongs to the set of TimeLog projects fetched when the first month was closed. To change that set, reopen every closed month; their saved hours are discarded. A sixth guardrail, timelogClosedMonth, compares the next fetch of the same projects with what was saved and raises one finding per person whose hours changed by 0.01 h or more on any day, with the net change; someone who booked in a closed month after it was closed is flagged for every booking there. A person deactivated in TimeLog after the close is still matched to their bookings, so they do not read as having deleted them. After reviewing a change you can accept a closed month's current hours, after a confirmation; later changes are then compared against them. Hours on other TimeLog projects are not checked. Nothing is blocked, and closing a month does not change budget actuals (hours of a TimeLog user deactivated after being pinned to a resource now count for that resource instead of showing as unattributed). A month cannot be closed or accepted while the fetched window does not cover all of it, while the fetch was partial, before TimeLog projects have been fetched, or when the last fetch covers different TimeLog projects than the closed months, and cannot be closed while it has not ended. A finding is not cleared by a fetch that covers only part of its month or other projects, and a partial fetch leaves existing findings as they are.
  • Settings → AI now shows how often the chat's view changes while its prompt cache is warm. Once you have sent a chat message in the week, the panel under the weekly usage bar lists the week's completed chat messages and their API requests, how many of them were view switches with a warm cache (1 in how many API requests), and the cache-write tokens per message on a switch against other warm messages. A hint gives the break-even: moving a view's guides out of the cached prompt pays off when switches happen more often than about one in 46 API requests. It only measures: how the chat sends its prompt does not change, and the counts are stored apart from the token limits, which they never affect. With operating guides off, the panel says no view guides are sent instead.
  • You can choose a project's functions without expert mode. Edit project now has a Functions choice with a short description of each function, and a note that data is kept when you switch one off. Settings → Functions points to it for the current project instead of hiding the choice behind expert mode.
  • Time bookings says what it needs. While Resources or Budget is off, the Time bookings view (also before Timelog is set up) and the Functions choice say so, and offer to turn them on.
  • The Budget view walks you through setting up a budget. An empty Budget shows four steps in order: give a role a rate, add the people, create a bucket, and record actual hours (for example by importing time bookings from Timelog). Each step ticks itself off and links to the right place; where the link's function is switched off for the project, it says so and offers to turn it on. It folds to "Budget setup: N of 4" once the first bucket exists, and the folded list can be hidden.
  • The Turso settings list the setup steps. Create the database, copy its URL, create a token without an expiry, then test the connection, with a link to the step-by-step guide.
  • The demo project is easier to find. A one-time banner on the dashboard and an entry in Help open the demo project. The banner goes away when you dismiss it or open the demo once on this device, and it is not shown where the demo cannot open (a project stored in this browser, with no Turso connected).
  • The desktop app says what it is doing while it starts. The start screen shows that the background service is starting and, after ten seconds, that the first start after installing or updating can take up to a minute.
  • A project can be kept in EUR, USD, GBP or INR (§476). The create-project wizard asks for the project's currency, EUR by default. Role rates are entered in it, and the Budget view, the Budget report, the dashboard, Trends and the assistant show money in it. A bucket in another currency is converted through the ECB rates, and a bucket card still shows its own currency. The Budget view can switch an existing project to another currency once the ECB rates have been refreshed in the same session: a confirmation lists every rate and cost impact before and after, converted once at that day's rate, and the switch is recorded in the activity log and cannot be undone (switch back instead); edits made before it can no longer be undone either, in any open window of the project. Restoring a saved version never changes the currency: rates and cost impacts it brings back are converted into the current currency. Role rates, a bucket's own hourly rates and change cost impacts are converted once; fixed-price amounts and a bucket's manual exchange rate are not changed. Past Trends snapshots and budget history are shown in the new currency at the rate of each switch. The switch is not offered in a pop-out window. A bucket or change editor that was open when the currency changed in another window does not save its old amounts, and an AI recommendation with a cost made before the switch is not applied; both say so and ask you to start again.

Changed

  • Dashboard polish: the tip card shows a lightbulb instead of the word "Tip". The icon sits in the vertical middle of the card, beside the tip and its buttons, and screen readers still hear "Tip". The status summary's "Updated" date now sits at the right of its box.

  • The dashboard's Budget burn tile no longer scrolls. The yellow bucket-chain warning is now a small chip beside the chart switches (for example "5 buckets to check") that shows the full text on hover or focus, and the notes under the legend sit behind an ⓘ next to the chart caption. A new "Open in Budget →" button in the same row opens the Budget view. Printing the dashboard still shows the full warning and notes, and the Budget view itself is unchanged.

  • The resource form puts what Timelog needs first. First name, last name and email come first in a "Needed" group, the rest sits under "More details", and a person now needs an email to be saved: it is how Timelog bookings reach them. People saved earlier without one are asked for it only when you edit them.

  • Import a budget forecast from a spreadsheet (§500). "Import forecast…" on a budget bucket's card reads planned hours per person from an .xlsx, .xlsm or .csv file (comma, semicolon or tab) into that bucket. Detect columns finds the person, period and hours columns of a wide sheet (a column per month or week) or a long one (a row per person and period), and you can adjust them; month columns beside a start-date column, with or without a year, are read as one column per month, and an ID, row-number or year column is never taken for the hours. When more than one column could hold the hours or the period (on a sheet of one row per month, any two columns holding numbers, however few, such as Plan | Ist, Stunden | Ist, Stunden | Kosten or Forecast | Iststunden, whatever their headers, a blank one included, as under an hours header merged over Ist | Plan or € | Std sub-columns, or Datum | Eintritt; on a sheet of month columns, a column of numbers with a blank header among or right after the month columns, as under a month header merged over Ist | Plan, Actual | Forecast or € | Std sub-columns, any date of the rows' own outside the month columns, such as a Start or a notes column, a year column beside months without a year, or a header run such as 01/2026 … 14/2026 that goes past 12), or more than one row could be the header row (stack...

Read more

AI PM Cockpit 1.18.0 "Larsson"

Choose a tag to compare

@github-actions github-actions released this 12 Oct 19:14
Immutable release. Only release title and notes can be modified.
bf2e758

A feature release. Optimize with AI in Open Points proposes splits, regroups, missing tasks, estimates and links, and you tick what to keep before anything changes. Operating guides now reach eleven AI actions as well as the chat, and eight built-in method guides ship for them. A fifth TimeLog guardrail flags time booked on a day the person was absent. Fixes: clicking a resize corner no longer saves a size, a Jira sync keeps the changes you make while it runs, dialogs that open on a text field keep the cursor there, names containing $ sequences or {1} show as typed, and planning allocations with AI reports skipped changes. While devices on an older version share the same Turso database, they ignore a guide's "Applies to" choice and can reset or drop it, so update every device; see the operating-guides entry below.

Added

  • Optimize with AI in Open Points proposes splits, regroups, missing tasks, estimates and links; you tick what to keep before anything changes. The AI assistant can open the same proposal when you ask it to. The proposal window can be moved and resized, and its reset button puts it back.

  • Operating guides now reach the AI actions, not only the chat. In Settings → Operating guides, each guide has an "Applies to" choice: the chat assistant, or any of eleven AI actions — Optimize with AI, Plan with AI, the steering committee report, new project with AI, Suggest RACI, the status digest narrative, insight recommendations, Analyze with AI, Deduplicate & unify, next-action weight suggestions and inline AI edit. An action sends the guides that name it, in priority order, so a team rule such as "split anything over 3 days" no longer has to be typed on every run. Eight built-in method guides ship for the actions where a method helps; each can be switched off, and its "Applies to" choice is kept. Existing guides keep applying to the chat only, and a guide never changes what an action is allowed to write. The status digest and scheduled jobs wait for the guides to load and then run straight away (scheduled jobs once their list has loaded); insight recommendations wait for them too. While devices on an older version share the same Turso database, those devices ignore "Applies to" and show every guide, action-only ones included, to their chat; each time one of them loads it resets "Applies to" on the built-in guides it knows (not the new action guides), and re-saving a guide there drops its "Applies to" choice. A guide too long for an AI action, or crowded out by higher-priority guides, now says on its row which actions it is not sent to.

  • A fifth TimeLog guardrail flags time booked while absent. Switch it on under the TimeLog booking guardrails, and a booking on a day the person has a vacation, sick or training absence surfaces as an insight naming the person, how many such days there were and the largest booking. Absences of type "other" are not counted. Like the other guardrails it is off by default and blocks nothing; it checks only people linked to a resource.

Fixed

  • Clicking a dialog's or pane's resize corner without dragging no longer saves its size. Every resizable dialog and pane saved its size on any press and release of that corner, so a click froze it at the size it had at that moment. Only a real resize is saved now.

  • A Jira sync no longer undoes changes you make while it runs. A sync that pushes local changes to Jira waits on Jira for each one, and anything you edited, added or deleted in the task list during that wait was overwritten when it finished: an edit reverted, a new task vanished, a deleted task came back. The sync now merges its results into the list as it is when it finishes, and keeps your changes.

  • A dialog that opens on a text field keeps the cursor there. Renaming a document or adding a linked task now leaves focus in the field, so you can type straight away; until now focus moved to the dialog's help button as it opened, so typing went nowhere until you clicked the field. Closing either dialog now also puts focus back on the button that opened it; it used to drop to the page.

  • A name containing $ sequences (such as $$ or $&) or {1} is now shown as typed in every message. A $ sequence in any value of any message was expanded, so "US$$5" showed as "US$5"; and a value containing {1} that came before a later value had that value inserted into it, so a board lane for a person named "Team {1}" was announced as "Team To Do – {1}". The "Add as resource" row of the person picker now reads the same way.

  • Planning resource allocations with AI now tells you how many changes it applied when some were skipped. When some of the chosen cells had changed since the proposal, the notice reported only the applied changes and hid that some were skipped. One notice now gives both counts.


The installer is not code-signed, so Windows SmartScreen shows a prompt on first run: More info → Run anyway. It installs for the current user and needs no admin rights. Installed copies from 1.14.0 on check this page for updates and ask before installing one. Verify a download with gh attestation verify <file> --repo sebastianmaute/aipm-cockpit.

AI PM Cockpit 1.17.0 "Mankell"

Choose a tag to compare

@github-actions github-actions released this 10 Oct 20:49
Immutable release. Only release title and notes can be modified.
80e8aea

A feature release. The start screen offers an "Explore the demo" card that opens a sample project with the guided tour; with Turso connected, the demo comes with a weekly Trends history that has no gaps, and Trends now labels only as many points as fit along the axis. The desktop app's update window shows formatted release notes, and installing and updating say up front that they take a while. Icon buttons, fields, menus and badges across the app follow the app standard, and the version-name field in History has an accessible name. The demo's week-aligned Trends history passed a live Turso check in CI, run on the pull request that adds the live-Turso workflow; that workflow is not part of this release.

Added

  • Explore a demo project from the start screen, the guided way. The start screen now has an "Explore the demo" card that opens a sample project with the guided tour. Without Turso it says that Trends needs Turso and offers a guided setup first, then offers the demo again once Turso is connected. The Projects panel has an "Explore a demo project" button as well; it never replaces a project kept in browser storage, and is disabled while one exists.
  • The demo project comes with a Trends history. When Turso is connected, the demo is created in your Turso database with weekly snapshots from March to September already in place, so the Trends view has something to show on the first visit. The history is an estimate: effort is not dated per task, so the early weeks are reconstructed, not recorded.

Changed

  • The desktop app's update window shows formatted release notes. Headings, bullet lists, bold text and code now appear as they do on the releases page, instead of one run of plain text. The window now shows notes up to 100,000 characters instead of 20,000; the 1.16.0 notes alone ran to about 34,000.
  • Installing and updating the desktop app now say that they take a while. The installer opens with a welcome page saying that installing takes a few minutes and the window may seem frozen, and the update window says the same before you choose to download, alongside the existing note in "Update ready".
  • Icon buttons and glyphs follow the app standard (§688, §689, §694). The settings, export, version and template buttons in the header, and the workspace collapse toggle, use the standard icon button: 32px instead of 36px, and the export, version and template icons are a shade lighter, like settings. In every dialog header the help, reset-size and close buttons share one standard size (28px). Close, remove, more-actions and move buttons, the Jira and snooze disclosure arrows and the ✓ and ⚠ status marks now draw icons instead of text characters. The Ask Claude edit window opens like every other dialog; Escape still closes only it when it sits over another dialog.
  • Buttons, fields, menus and badges follow the app standard (§684–§687, §690–§693, §695). Every checkbox and radio button uses the standard control and shows the green focus ring. Small form fields are 30px tall, the height of the small buttons beside them, so toolbar searches and buttons line up; read-only, over-allocated and override cells keep their grey, pink and purple through shared field states. The green buttons (Save as template, Apply template, Mode's Save, Add job, the integration acknowledgement and Send inquiries) share one style with dark-blue text, which is now readable in every dark scheme. Popover menus share one item size, clickable table cells share one hover outline, inline links share one look (Trends' Set as baseline is dark blue, not green), and the remaining near-size buttons, pills and counts use the standard sizes. Reports' "Add report" is a "+ Add report" button with a menu, like the other panes' Add buttons.

Fixed

  • The demo's Trends history has no gaps, and the start card quotes the weeks it really stores. The seeded weekly snapshots moved by whole months, so each one landed on a different weekday: some weeks were left empty and drawn as gaps, and others held two snapshots, one of which was dropped. They now move by whole weeks and end in the week before the demo is created, so the live snapshot follows on without a gap. The card now quotes the number of weeks the demo stores.
  • Trends charts label only as many points along the bottom axis as fit without overlapping. With more snapshots than that, every label was drawn and they overlapped into an unreadable band. That is five weekly labels, four daily ones and six monthly ones; the first and last points are always labelled.
  • The version-name field in History has an accessible name. The field that names a version after "Save version now" had only a placeholder, which screen readers are not required to read as its name. It now carries the same words as its name.

The installer is not code-signed, so Windows SmartScreen shows a prompt on first run: More info → Run anyway. It installs for the current user and needs no admin rights. Installed copies from 1.14.0 on check this page for updates and ask before installing one. Verify a download with gh attestation verify <file> --repo sebastianmaute/aipm-cockpit.

AI PM Cockpit 1.16.0 "Rankin"

Choose a tag to compare

@github-actions github-actions released this 09 Oct 19:22
Immutable release. Only release title and notes can be modified.
d848ef0

A feature release. Long task lists, Gantt charts, swimlanes, activity logs and Kanban boards stay responsive on large projects. Exports and documents gain the budget forecast, and Word files get the project branding, real lists and readable tables. The AI assistant can read RACI assignments and the budget forecast, and its proposed tasks carry an owner, priority and group. Screen readers tell same-named rows apart in 32 more places, most small buttons now use the app's standard button, and Next.js 16.3.8 closes six advisories. A large batch of defect fixes covers templates, Turso images, notes, Jira sync, Word export and the activity-log download.

Added

  • Long task lists stay responsive (§5). Above 200 visible rows, the Open Points table draws only the rows near the screen. At about 1000 tasks, opening the table went from 8.3 s to 1.8 s in our measurement; searching and changing a status got faster too, but less (about 2x and 1.6x). Printing still prints every row in the browser, a deep link still scrolls to its row and flashes it, and an edit you have open in a row is kept when you scroll that row out of view. One trade-off: the browser's own find (Ctrl+F) only sees the rows currently drawn, so use the table's search box to find a task in a long list. Up to 200 rows the table works exactly as before.

  • Branded Word files (§512). Exported Word files, both the project export and downloaded documents, now have a header with your logo and the project name and a footer with the page number ("Page 2 of 5"). A logo Word cannot show, such as an SVG, is left out and the name stays.

Changed

  • Large Gantt charts, swimlanes and activity logs stay responsive (§5). Above 200 rows the Gantt draws only the rows near the screen: at about 2000 tasks it now opens in about 7 s instead of over a minute, and a search keystroke takes under 2 s instead of 20. Dependency arrows to rows off screen still show, a row you are dragging stays put, and printing still prints every row. The Swimlanes view shows 100 cards per person and status, and the activity log 100 rows, each with a "Show more" button; printing shows everything, and the activity log's search, filters and sort still cover every entry. As with the task table, the browser's own find (Ctrl+F) only sees the rows and cards currently drawn, so use the view's search box to find something in a long list.

  • Two tasks are linked by at most one dependency type (§135). A second link between the same two tasks with a different type (for example both finish-to-start and start-to-start), which could arrive from an import, a hand-edited file or the AI assistant, was invisible in the task editor and could not be removed on its own. The first link is now kept and the other dropped when the project loads or is written to, and a load that drops one records it in Settings → Diagnostics. Picking a different type for an existing successor in the task editor changes its type and says so.

  • Five more buttons use the app's standard button (§102): the task editor's Delete, the Cancel in type-to-confirm dialogs, and the buttons in the Outlook calendar import summary.

  • The action buttons and small chips use the app's standard button (§102). On Next actions and the Dashboard, the top action's buttons are larger, and each row's buttons and chips are a little taller (30 instead of 26 pixels), with the standard border and fill instead of blue text; the AI suggestions' Open and Discuss match them. The same applies to the buttons inside the Reschedule, Escalate and Re-baseline pop-ups, Clear selection in the bulk-edit bar and in TimeLog, Clear in the Documents filter, the hidden-tiles toggle on the Dashboard, the learning pill, Edit, Resolve, Reopen, Cancel and Save in the blocker log, the SharePoint picker's Open, Use this folder and Select, and Create mitigation task in the RAID editor. Delete in the notes log, the blocker log and scheduled jobs, and Remove in TimeLog now use the pink delete style; Delete selected in Resources keeps it and grows to match the buttons beside it. Most of the app's other small buttons follow: the empty-state and coaching actions, the chat prompt chips (now square-cornered, without the blue tint), the Knowledge source button, the stakeholder map chips, the Dashboard's tip, delta and milestone chips, Edit and Cancel in the notes log, Add as resource in the workload, RACI's Clear filter, the RAID editor's "caused by this" chips (without the purple tint), Add email, the rollup toggle, TimeLog's Load my projects and Clear link, Accept on a weight suggestion, Show more on a scheduled job, a task row's ⋮ and its Send inquiry envelope (the Open Points actions column is a little wider to fit them), Restore this in version history, Add in the notes and blocker logs, Clear log in the activity log and Delete selected in Trends. The workload's hours buttons and absence chips, RACI's person-filter chips and the read-only chips on the stakeholder map and the milestone strip grow to the same height.

  • Eighteen more buttons use the app's standard button (§102): TimeLog's Fetch, Refresh, Refresh & re-apply and Apply to budget, which also gain a background and hover; Reset filters in the Gantt chart, the Change log and the RAID log; the Resources calendar's Outlook import; both Reset learned data buttons, the turn-on-learning suggestion and the Learning insights Back button; Cancel in confirmation dialogs and in the import wizard's loading window; the Simple and Advanced mode presets; the project switcher, which now looks like the app's other secondary buttons; and Delete on a saved template, which now uses the pink delete style. The "+ Add" row under the task list and the RAID log is now one shared control. The Learning insights view's Back and Reset learned data now show a focus outline when reached by keyboard.

  • The task editor's notes log opens in the floating window, as in the Change and RAID editors. The task editor showed the log inline; it now has a "Notes log (n)" button that opens the floating notes window beside the editor. As before, a note added there is saved at once and kept if you cancel the editor, and the button is disabled for a task that has not been saved yet.

  • Big Kanban boards open faster (§5). On the Open Points board, each status column now shows up to 100 cards, then a "Show more" button that names the column and how many cards are hidden. The count in the column header is still the full count. A link to a task further down a column opens the column far enough to show it, and printing the board still prints every card.

  • AI-proposed tasks can carry an owner, priority and group (§445). When the new-project wizard asks the AI to propose starter tasks, it can now give each one an assignee, a priority and a group. Before, the wizard was told to name owners but had nowhere to put them on a task.

  • Word lists are real Word lists (§154). Bulleted and numbered lists in exported Word files and in documents downloaded as Word now use Word's own list numbering, so they renumber when you edit them and take Word's list styles. Each numbered list starts at 1. Checklist items keep their box.

  • The AI assistant says where to change a RACI (§237). Chat cannot set RACI assignments. Asked to, it now points you to the RACI view, where you edit the grid or use Suggest RACI, instead of reporting a change it could not make.

  • Screen readers tell same-named rows apart in 14 more places (§316). Where two rows share a name, such as two untitled chat threads, a recurring committee meeting, two new scheduled jobs or two pasted image.png attachments, each row's buttons and fields now add a number, "(1)" and "(2)", so they no longer all sound the same. Some names also say more even when nothing repeats: TimeLog projects include their project number, a knowledge card's source button names the card's document, its link says it opens in a new tab, and the budget bucket's resource checkboxes say which allocation they belong to.

  • Screen readers tell same-named rows apart in 18 more places (§669). The same fix now covers the rarer cases: two projects, stakeholders, contacts, templates, colour schemes, AI guides or SharePoint sites with one name, two report versions saved at the same time, two rate-card roles on one discipline and grade, and more. Each day of an absence in the resource calendar now also says whose absence it is and which day it is.

  • More icon buttons show a tooltip (§109). The move and remove controls of document bullet lists, the remove-column and remove-row controls of document tables, the document block menu, the AI chat thread rename and delete buttons, and the clear button for an imported file in the new-project wizard now show their name when you hover over them.

  • Exports include the budget forecast (§545). PDF, Excel, PowerPoint and Word exports now have a Budget forecast section: budget, actuals and remaining, the forecast at current pace and at current efficiency (hours beside the euros) with their variance, the gap between the two forecasts, the average booked rate and, for fixed-price work, a note that the client price does not change. It is on by default and can be switched off in Settings → Export. It is left out when the budget module is off or there is no forecast yet. CSV and Markdown exports do not include it.

  • Documents can embed the budget forecast (§545). A document's data section can now be "Budget forecast", in the block editor and when the AI assistant writes a document. It shows the same figures as the exports, live in the preview and in every download format. It shows nothing when the budget module is off or there is no forecast yet. Open a project containing such a document only in this release or later: an older version drops the block when it loads the project, even if nobody opens that document, and saves the project without it.

  • **Export and document file names ...

Read more

AI PM Cockpit 1.15.0 "Cornwell"

Choose a tag to compare

@github-actions github-actions released this 03 Oct 14:37
Immutable release. Only release title and notes can be modified.
00c7184

A feature release. Indian rupee (INR) is now a supported budget and plan currency, a task's blockers become a dated log with a counting badge, the guided tour grows from a few tours to a full catalogue, and the AI assistant's list_allocations tool can be scoped to chosen resources and a period. Jira responses are now validated before they are used, and a large batch of defect fixes covers saving between windows, undo, exports, translations and documents. Projects that use INR or the end-to-end contract type should only be opened in this release or later; see Notes.

Added

  • INR budget currency (§477). Indian rupee is now a supported budget and plan currency alongside EUR, USD and GBP.
  • End-to-end contract type (§488). A budget bucket can be "end-to-end": a fixed-price contract under end-to-end responsibility. See Notes for older builds.
  • Blocker log. A task's blockers are no longer one free-text field. They are a dated list of entries, opened from a badge with a counter in Open Points (or from a "Blockers" button in the task editor) and edited in a floating window, the same way the note log works. Entries can be added, edited, resolved, reopened and deleted, and resolved blockers are kept as history. Text written elsewhere (the AI assistant, bulk edit, Clear blocker, templates) goes through the log, and older blocker text loads as one open entry. Blocker changes are not undoable, like notes. The log is saved on every storage backend; an older build drops it when it saves (see Notes).
  • Guided tour expansion. Five new tours (Working faster, Resources, Budget and changes, Documents, Help yourself) and fuller existing ones: Getting started points to the other tours, Planning opens the real Gantt view, Stakeholders gains RACI and map steps, and Reporting gains insights, learning, activity, trends and history. A tour now skips views the current storage backend cannot show, such as the Turso-only ones on a file project, and the spotlight follows the control after "Show me".
  • Scoped list_allocations in the AI assistant (§12). The tool takes optional resourceIds, periodFrom and periodTo filters, applied before the 200-cell cap, and echoes the scope it applied in its answer.
  • Linked-task search in the milestone editor. The list of tasks linked to a milestone can be filtered by #id name; a ticked task hidden by the search stays linked.
  • Calendar keyboard moves (§10). A keyboard move or resize now previews where it will land. In the day grid, a task or absence outlines its target cells and the announcement says which dates it lands on, and which person when the move reassigns it. In the meetings band, a meeting outlines its target day and the announcement says which day.
  • Contact persons (§537). A project's contact persons have ids and can be edited in place.
  • AI recommendations for resource insights (§360). An insight about a resource now gets an AI recommendation. It sees the person's job title, department, company, external flag and active flag; free-text notes about a person are not sent.
  • Scrolling update notes in the desktop app. "Update available" is now a small window with the release notes in a scrolling box, the same three choices, and a fallback to the native box.
  • Screenshots in the README. A gallery of sixteen screenshots of the demo project.

Changed

  • Jira responses are validated (§7 B4). Every response from Jira is checked with zod schemas. A malformed response envelope shows "Malformed Jira response". A malformed issue in a list is dropped and logged, so one bad issue cannot stop a sync or unlink any task.
  • Plural wording (§450, §415). Messages that said "1 tasks" or used "(s)" now use a proper singular in both languages, and the activity log and the view digest sent to the AI follow suit. A test keeps "(s)" plurals out of both dictionaries.
  • Undo labels (§132). An edit of several unnamed rows is labelled "Edit 3 tasks" rather than "Edited 3 items".
  • Dark-theme text (§40). Text colours that had a single mode now have dark companions.
  • Change decision maker (§446). A change's "Decided by" field is now labelled "Decision maker", and its hint and the AI assistant's tool description say it may be named at any status, before the decision is made.

Fixed

  • Saving between windows (§656, §666, §659, §28, §37, §211, §133). Two windows that derive the same content save it once instead of pausing. A change from another window that arrives while a save is queued or running is deferred, not ignored. A window's project switch compares against its own file binding. Rich fields are sanitised after a CSV, Markdown or Turso load, RAID text gets length caps, an older document_assets table in Turso is rebuilt, and a dependency left dangling by a redo is repaired.
  • Undo (§177, §299, §134). More whole-row edits now undo field by field, undo and redo rows carry the delivered state they reverse, a composite undo with an unflagged primary is refused, and a task delete's undo restores links to a re-numbered task correctly.
  • Notes and blocker windows (§662, §664). They close when their task, RAID item or project is gone, and legacy blocker text gets the same date on every load.
  • Block editor and rich text (§188, §186, §190, §158, §16, §38, §198). The refusal notice clears on a new edit, dictation into a rich field keeps its formatting, and a block delete confirms and checks against the block whose menu was opened, not one that slid into its place before the click, among other editor fixes.
  • Templates (§298, §228). A template keeps a long rich note rich, applying a template cleans every part of it the way a reload does, and a proposal saved as a template keeps its people.
  • Exports (§156, §157, §94, §153, §222, §155, §217). Lists keep their numbers and indentation around quotes, code blocks and headings, PowerPoint budgets slides by wrapped lines with compact summary and paginated detail slides, images scale to fit, Word tables no longer name an undeclared style, and an image used many times is stored once in Word and PowerPoint files.
  • Budget (§473, §665). Rates follow the plan currency, and the cumulative burn-down's join label no longer overprints the baseline label.
  • Column widths (§52). A stored width equal to the current default is no longer treated as a manual drag, so tables follow later default changes. A migrated Open Points name column stuck at 200 flexes again.
  • Deep links (§536). A link opened in classic layout is no longer honoured on a later switch to the modern layout, so the current view stays.
  • IndexedDB plans (§470). A stored plan with an out-of-range granularity or one unreadable date is coerced field by field on load.
  • AI assistant (§440, §350, §173, §174). Create cards list every field and say which were refused. An insight recommendation snapshots the items it is based on, so an edit made while the model answers is refused at confirm instead of being overwritten. After the chat history failed to load, the assistant is no longer pointed at earlier conversations it cannot search (§173). While the history is still loading, it is told it cannot look instead of being told that nothing was discussed (§174).
  • Accessibility (§331, §147). One-of-N groups have real radio semantics, and read-only checklist items read as "checked" or "not checked" ("abgehakt" / "nicht abgehakt") to screen readers, in the app and in the standalone HTML and PDF export.
  • Suggested actions. Chips that open nothing are no longer shown.
  • Note log beside an editor. The notes window stays usable next to an open editor, and a click on it no longer closes the editor.
  • Operating-guide warning. A fresh install no longer shows the size warning.
  • AI eval robustness (§455). The evaluation tooling tolerates unexpected block types and cuts error details without splitting a character.
  • Jira module download. A failed download of the Jira module no longer leaves Jira settings and sync broken until reload; it retries on the next use. Jira settings, a sync and resolving sync conflicts show a message that says the module could not be loaded (settings used to show the raw browser error; sync showed nothing), and a user-search response can no longer overwrite a newer search or refill the list after the search ended.
  • Double Jira sync. A second click on "Sync with Jira" while the Jira module is still downloading no longer starts a second sync, and a second click on "Apply choices" in the sync conflicts window no longer runs the resolution, and its pushes, twice.
  • Push to Jira. A failed download of the Jira module during "Push to Jira" no longer leaves that task stuck as pushing until reload; it shows a message and the next push tries again.

Security

  • Diagnostics redaction (§608). A long run can no longer backtrack quadratically, and a token cut at the scrub window is redacted whole.
  • Linear parsing (§578). HTML-to-text, narrative checks, RAID escalation text and the fenced-JSON reads in Markdown files no longer use patterns that can backtrack quadratically.

Development

  • Internal refactors, no behaviour change. The task and project forms share one Field (§7 A1); the three-way column-reset chains are one useResetAllColumnWidths (§7 A3); report sort callbacks use a typed sortValueGetter (§7 A4); the budget bucket card leaves BudgetPanel (§274); RAID handlers move out of useResourcePlanner (§61); and the Resources panel memos can now skip re-renders (§1). The three project-form tooltip triggers are named by their own hints.
  • Control characters (§201). jira-api.ts no longer contains a raw control byte: its delimiter is now written as an escape, with no behaviour change. A test now rejects any raw control byte in the tree.
  • Help deep link (§489). The floating help menu accepts a request to open at an entry, as the Help ...
Read more

AI PM Cockpit 1.14.3 "Deaver"

Choose a tag to compare

@github-actions github-actions released this 01 Oct 12:26
Immutable release. Only release title and notes can be modified.
eb55339

A maintenance release. Two tabs or windows saving the same project no longer overwrite each other: a save over a newer version now pauses and asks what to do. This is tested in the browser with browser storage; SharePoint and Turso projects are not yet verified on a live tenant or database, and the new banner's dark theme is not yet eye-checked. Also fixes to tab sync, the AI key, chat attachments, Turso saves and SharePoint file names, and a security update to Next.js.

Fixed

  • Two tabs saving the same project. When the stored project has changed since this tab loaded or last saved it, the save is now refused instead of overwriting the newer version, and the tab shows "Saving paused" with three choices:

    • Reload loads the stored version and drops your unsaved one;
    • Overwrite saves your version over it, and is refused if the other version changed again;
    • Download my version saves your version to a file and keeps the pause.

    This covers browser storage, local files, SharePoint and Turso. If the window closes while saving is paused, your unsaved version is kept in the browser and listed as "not saved (conflict)" with Download and Discard; it cannot yet be restored in the app. Switching project is refused when those edits cannot be kept, so you stay on the project behind the banner. Some cases still pause when nothing conflicts, though nothing is lost: after a failed or refused load (until Reload project), when you open a file that a registered project already uses, when two windows each pick the same file, and when two tabs start at the same moment.

  • One window per file. A window on a local project file keeps saving to the file it opened. Before, switching project in another tab could redirect this window's saves to a different file. Windows on the same file keep in step; windows on different files no longer do. Browser storage is still one store for the whole browser, so all its windows keep in step with each other.

  • Tabs on different projects. With one project open in one tab and another project in a second tab, an edit in the first could replace a list in the second, whose next save then wrote it into the wrong project. Tabs now take edits only from tabs that save to the same place. Pop-out windows follow the window that opened them, also after it switches project. Opening or reloading a project in one tab no longer replaces unsaved edits in another tab on the same project, including a load that empties a list. An edit typed while a load is still showing, or a load that clears the project header, can still reach other tabs as an edit. These fixes are covered by automated tests only and not yet tried with two tabs in a real browser.

  • A rejected AI key. When the saved Anthropic API key is refused or cannot be decrypted, a banner now says so and its "Open AI settings" button opens Settings → AI, which shows a notice beside the key field. Each AI feature's error names the refused key instead of a generic failure; weight suggestions no longer blame the network. The key is checked once at start-up and when you save it, only while AI is switched on. In the classic layout, the storage banner's "Open settings" button now works too.

  • Turso saves. A save to Turso is now all or nothing. Before, a save that failed partway could still write everything except the rejected rows while reporting a failure. Not yet verified against a live Turso database. On Turso projects, a chat thread rename or a template name or body typed just before the window closes is now kept and saved after the next load, chat saves stay in the database they started in after you switch databases, and two quick edits to one template no longer lose one of them.

  • SharePoint file names with # or %. A project file or folder on SharePoint whose name contains # or % is now opened and saved at the right address. Not yet verified on a live SharePoint tenant.

  • Chat attachments.

    • Several files dropped or picked at once are now limited as a batch, in the AI chat and in the import wizard. A file that would take the batch over the limit is skipped and named, never cut; the first file is always taken. Before, two large PDFs in the import wizard built a request the AI service refuses.
    • A very large spreadsheet sheet is cut off with a "sheet truncated" note instead of being read in full.
  • AI chat. Sending twice at the same moment, before the screen updates, now sends one message. On the calendar view, the assistant is now told it can read both calendar events and absences, and that it can add and change events.

  • Character counts. In rich text, named characters such as &mdash; now count as one character, so a length limit can no longer cut one in half.

  • Reduced motion. With "reduce motion" set in the operating system, the scrolls after saving a task and in Help now jump instead of animating. Not yet eye-checked with that setting on.

Changed

  • Dashboard. The Trends tile now starts two columns wide and two rows high on a new board, after Reset layout and when restored from the hidden tray. Boards you have arranged keep their sizes. In row 1, "Since you last looked" is as wide as the Next actions card below it, and the weekly digest fills the rest.
  • React 19.3.0. react and react-dom move to 19.3.0 together.

Security

  • Next.js 16.3.6. The version in use fell inside a critical advisory (GHSA-vcvr-r3jv-pc5j, remote code execution in the next/og image response); next and eslint-config-next move to 16.3.6.
  • moment 2.31.0, which fixes CVE-2026-17495.
  • Electron 44.4.5 for the desktop app, which carries upstream Chromium, V8 and PDFium security fixes.

Development

  • Dependencies. Development-only updates to undici and brace-expansion; the StrictMode test is updated for React 19.3.0.
  • New guards and tests. Tests now fail when a label carries a focus ring, when an animation bypasses the reduced-motion rule, when a replayed insight recommendation calls a tool outside its allow-list, and when two rows' Next actions popovers could be open at once. Branding fields and the Outlook enable toggles each follow one shared rule instead of several copies. Unused code is removed.
  • Flaky tests fixed. A document-editor race under load and a test-data generator that produced whitespace the Markdown format trims by design.
  • Docs. The README plays the product tour inline on GitHub and drops most em dashes in its prose. The follow-up list gains entries for the open SharePoint and Turso checks. The decision that the light-theme amber and green health-chip borders stay below 3:1 contrast is recorded, since the check mark still shows the state.
  • GitLab copy. The daily sync file is fixed so GitLab parses it again; the sync had stopped.

The installer is not code-signed, so Windows SmartScreen shows a prompt on first run: More info → Run anyway. It installs for the current user and needs no admin rights. Installed copies from 1.14.0 on check this page for updates and ask before installing one. Verify a download with gh attestation verify <file> --repo sebastianmaute/aipm-cockpit.

AI PM Cockpit 1.14.2 "Deaver"

Choose a tag to compare

@github-actions github-actions released this 28 Sep 19:44
Immutable release. Only release title and notes can be modified.
dd9c5db

A maintenance release. Typed text you had not yet clicked out of is kept when you close or reload the window, and data this version cannot read now pauses saving instead of being overwritten. The close-window recovery is so far tested in the browser with browser storage only; the desktop app and file, SharePoint and Turso projects are not yet verified. Also fixes to undo, AI chat plans, exports, documents, window layout, dialog sizes, bulk edit, Trends and the desktop app.

Fixed

  • Unsaved edits on close. Text you typed but had not yet clicked out of is now kept when you close, reload or navigate away from the window. This covers:

    • document headings, paragraphs, bullet lists and tables;
    • the dashboard status summary;
    • task table cells and the assignee;
    • discipline, grade and project-template names;
    • budget hours, actual hours and % complete.

    Switching tabs or minimising still saves nothing until you leave the field.

  • Changes lost because the save could not finish before the window closed. The app now keeps a copy of your latest unsaved changes in the browser when the window closes, and restores it the next time you open the project. If the project was changed elsewhere in the meantime, a notice lets you choose Restore anyway or Discard, so nothing is overwritten without asking. The copy is kept in this browser's local storage whatever the project's storage, and it never contains passwords or tokens. Copies left for other projects are listed in a notice with Download and Discard; those older than 30 days are removed after the page loads, and a second notice names them and still offers a download until it is closed. So far this is verified in the browser with browser storage; the desktop app and file, SharePoint and Turso projects are not yet verified.

  • Saves finishing out of order. When several edits were saved at once as the page closed, an older save could finish last and overwrite a newer one on file or SharePoint storage. Saves to one location now run one at a time, newest last; if the window closes before the newest one runs, the close-window recovery above restores it.

  • Reload while saving. Reloading a project while a save was still running could write the pre-reload data back over the saved project, so the screen and the saved project disagreed until the next edit. Reload now waits for pending saves to finish first.

  • Data this version cannot read. When a project holds data this version cannot use at all (for example project settings, documents or logs written by a newer version), the app now shows "Saving paused" instead of silently dropping it and overwriting it on the next save. "Save anyway" followed by "Discard the unopened data" saves over it, and that data is lost. This covers JSON, CSV and Markdown project files (on disk; JSON and CSV also on SharePoint), browser storage and Turso databases, and on all of them it also covers content that is all invalid, such as a feature list or project status. A JSON project file (on disk or on SharePoint) holding a document that cannot be safely read now opens and pauses saving the same way; before, the whole project failed to open. Opening such a file with "Open storage file", which keeps your current documents, does not pause saving.

  • Loading a file with nothing in it. A workspace file holding no records of its own (only the default disciplines and grades) no longer replaces an open project without asking. Opening it is refused and saving pauses, as for an empty read; Reload project asks before replacing.

  • Cleared secrets stay cleared. A secret you clear in Settings (the AI key, the dictation key, the Jira, TimeLog or Turso token) now stays cleared. Before, if the old value was still being encrypted when you cleared the field, it was written back afterwards, returned on the next reload, and the "stored" indicator came back on. The value you typed last now wins; before, an earlier keystroke could finish saving last and overwrite it. Emptying the AI key field now removes the stored key (a passphrase-protected key is still kept; use "Remove stored secret"), and emptying the dictation key field removes it even while it is still being saved.

  • Browser storage and documents. If a stored document could not be cleaned up on load, the next save used to delete the project's documents, document history, activity log, budget history and images from browser storage. That load now pauses saving instead, and the rest of the project still loads.

  • Undo after switching project. Undo no longer reaches back into the project you just left. Before, pressing Undo after switching could re-insert a row deleted in the previous project, or overwrite a row in the current project with the previous project's content. Undo history now belongs to the project it was made in, and is kept through Save As, Reload project and cancelled dialogs.

  • AI chat plans applied to the wrong project. A plan the assistant staged for review is no longer applied if the project changed since it was made, including when the new project has the same name (for example after opening another storage file). Such a plan is replaced in the chat by "This plan was made for a different project and was not applied." If the project changes partway through applying, applying stops there, and the rows not yet applied are unticked and show "Not applied — the project changed."

  • Exports.

    • Both Export buttons now include every section switched on in Settings → Export, including calendar events, knowledge items and insights, and both name the file after the project. Calendar events are switched on by default, so default exports now include each meeting's title, first date, repeat pattern and location; knowledge items and insights stay off unless switched on.
    • PDF, Word, PowerPoint and Excel exports show translated column headers (English and German) instead of internal field names, and the section titles Budget, Roles & rates, Absences, Shifts, Status report and Insights are translated. Columns holding an ID say so ("Role ID"). CSV and Markdown exports keep their field names.
    • German exports now also translate an insight's type, severity and status, and a meeting's repeat pattern, which read "Every 2 weeks · Mon, Wed" or "Monthly · 2nd Tue" (a meeting that does not repeat reads "Never").
    • An image whose file type is not allowed now reads "Image not shown — file type not allowed" instead of appearing as missing (HTML/PDF) or as left out for size (Word/PowerPoint), and the export no longer downloads it first.
  • Documents. While you edit a paragraph, a character counter appears near the 20,000-character limit. A paragraph over the limit is no longer silently flattened to plain text: saving is refused with a notice saying how much to remove, and your text and formatting stay in the editor. If the window is closed, reloaded or navigated away first, it is saved as plain text so nothing is lost; switching tabs keeps it as it is. Headings, lists and tables over their size limit are now refused the same way, with a notice naming the limit, instead of being cut off without a word; Add row, Add column and Add item are disabled at their limits, with the reason shown. If the window closes first, they are saved cut to the limit.

  • Image previews. The document preview, the version-history preview and the image preview window no longer download an image whose file type is not allowed; they show at once that its format is not supported.

  • Help for document images. The help buttons on the image library and the image preview now open the help about document images, rather than the general documents help. That help now also explains the image preview: how to open it, stepping with Previous image and Next image, the position counter, and what it shows when an image's data is missing or its format is not supported.

  • Meetings list. A repeating meeting reads "Every 2 weeks" rather than "Every 2 week(s)".

  • Window layout. In the classic layout the header no longer makes the page scroll sideways between 1024 and about 1390px wide: the search box narrows (to no less than 224px) instead.

  • Dialog sizes. The task form, the image preview, the notes window and the Help panel now remember a size you resize them to.

  • Bulk edit. Its controls have names of their own ("Change Status", "New Status") instead of repeating the column header, so screen readers and search-by-name no longer confuse them.

  • Trends. A snapshot taken while nothing is in scope (for example all tasks cancelled) no longer records 0% complete: it records no figure, the completion sparkline shows a gap, and such a snapshot never becomes the completion baseline. Existing snapshots are unchanged.

  • Desktop app after an update. If a copy of a different version is still running in the background (for example after a crash), the desktop app no longer shows that other copy. It stops with "Another version is still running" and explains how to end the other copy. This is not yet verified on an installed build.

Changed

  • SharePoint JSON files. A project stored as JSON on SharePoint is now written in exactly the same format as a local JSON file. Older files still open.
  • Data. New snapshots taken with nothing in scope store an empty completion figure (same Turso column, no schema change).
  • German wording. The change dialog's resolution field now reads "Lösung / Begründung" (it read "Begruendung"), and "Rollen & Raten" is now "Rollen & Sätze", which also renames the matching Settings → Export switch, the export section and the Excel sheet. Two messages now use the singular for one item ("1 Datensatz", "1 verknüpften Eintrag"), and in English no longer say "record(s)".

Development

  • The follow-up list's index is generated and checked. It is rebuilt from the entry headings by a script, and CI fails when it has drifted. The old hand-run recipe, whi...
Read more

AI PM Cockpit 1.14.1 "Deaver"

Choose a tag to compare

@github-actions github-actions released this 26 Sep 14:25
Immutable release. Only release title and notes can be modified.
b4d38c4

A maintenance release: defect fixes across the AI Assistant, storage, calendar sync, dashboard and exports, updated dependencies, and clearer update dialogs from the next release on.

Fixed

  • Updates. Release notes flow as paragraphs instead of breaking at every line. The "Update ready" dialog says that installing takes a few minutes and the app may look frozen, and that "On next quit" leaves the app closed. Both take effect from the update after this one: the dialog comes from the installed version, so the update to 1.14.1 still looks as before.
  • AI Assistant.
    • Long chats with several attachments no longer fail by exceeding the request size limit. Once a thread gets too large, the oldest earlier attachments are sent as a short placeholder; the saved chat keeps them.
    • The dashboard digest and the meeting-report AI draft can now be stopped. A Stop while an emailed digest is being written also stops the email.
    • A recommendation that could only be partly applied now says so and offers to generate the rest.
    • Suggest RACI shows how many proposed assignments are already in place. It names a change of Accountable as a handover to make by hand, rather than calling it a duplicate.
  • Storage.
    • Single-database Turso storage now saves the project details (name, dates and so on); before, those edits were lost on reload.
    • A deployment Turso token that is rejected is reported plainly, and the Settings token field appears so a working token can be used instead. Every 403 from Turso is treated as a rejected token.
    • "Load project from file" in Firefox and Safari explains that the browser cannot open files directly (use Chrome, Edge or Opera), and the Load-from-file buttons are disabled there, instead of pointing at Settings.
  • Outlook calendar sync. The task, RAID item, change, absence and milestone editors have a "Sync to Outlook" checkbox, shown when Outlook sync is set up. Unticking it, or pruning an item whose Outlook event was deleted, stops the app from re-creating, updating, pulling or deleting that event; ticking it again resumes sync. The pull summary says when items are now opted out.
  • Dashboard and reports.
    • Work that is out of scope is called "out of scope", not "cancelled".
    • The first visit after scope returns no longer shows a false "+N%" completion arrow.
  • Trends and Gantt. Only the first complete automatic snapshot becomes the baseline, and a baseline you delete is not silently replaced. A project without a budget keeps its Gantt milestone baseline overlay.
  • TimeLog. The panel explains why guardrail findings stay open after a fetch that covered no one.
  • Resources. A task whose email and name point at two different people is left unlinked instead of being linked to the email's owner.
  • Exports.
    • A long description no longer overflows its PowerPoint text box.
    • Desktop app: PDF export opens a "Save as" dialog and writes the file; before, nothing happened. The PDF is styled and fits the page: project exports are A4 landscape, wide tables shrink (to no less than 60%) and wrap instead of being cut off, and dates stay on one line. A document's text stays full size; only its wide tables shrink.
    • In the browser (production builds), PDF export now opens the print dialog and prints styled. The app's security policy had been blocking the print page's styles and its print script.
    • A whole-project export is named after the project instead of "aipm-cockpit-tasks-…".
  • Window layout. In a smaller window the header no longer truncates the page title and project name, the Projects page uses the available width, and the project's Export menu is no longer cut off.
  • Accessibility. Document preview images open through a real button.
  • Recovery page. "Turso configured" now reads Yes when a Turso token is stored; before, it always read No, because it looked for the token in the saved settings, where tokens are always blanked.

Security

  • Links in AI Assistant answers. A markdown link such as /\example.com or /./\example.com could leave the app while looking like an in-app link. Links must now start with a single / and stay on the app's own origin; https: and mailto: links work as before.
  • Boot theme script. The inline script's embedded data is escaped for a script context. Its only value is a fixed colour map, so nothing changes today.
  • Dependabot. Version updates now wait until a release has been public for 7 days (14 for a major version). Security updates are not delayed.
  • The code-scanning alerts that were not real risks were reviewed one by one and dismissed with their reasons.

Changed

  • Data.
    • The five calendar-syncing record types gain a calendarOptOut field in every storage format; existing Turso databases get the column on the next save.
    • Single-database Turso saves a project_meta row. An older app version saving to the same database drops that row again.
  • Undo. Undo in the RAID, change, absence and milestone editors no longer reverts a "Sync to Outlook" change.
  • Dependencies. Vitest 5, Testing Library jest-dom 7, Playwright 1.63 with its CI image, eslint-config-next 16.3.4 (equal to Next), and the grouped minor and patch updates. TypeScript 7 is deferred.

The installer is not code-signed, so Windows SmartScreen shows a prompt on first run: More info → Run anyway. It installs for the current user and needs no admin rights. Installed copies from 1.14.0 on check this page for updates and ask before installing one. Verify a download with gh attestation verify <file> --repo sebastianmaute/aipm-cockpit.

AI PM Cockpit 1.14.0 "Deaver"

Choose a tag to compare

@github-actions github-actions released this 25 Sep 15:15
Immutable release. Only release title and notes can be modified.
84ec396

The first release built and published on GitHub, and the first the desktop app can update to by
itself. It carries everything in 1.14.0-rc.1, which was a rehearsal and not for use.

Added

  • Desktop releases are built and published by GitHub Actions. A v* tag on a commit in
    main runs .github/workflows/release.yml, which checks the tag against the app version,
    builds the Windows installer on windows-latest, verifies it and, after a maintainer approves
    it, publishes a GitHub Release.
  • The desktop app can update itself. It checks GitHub Releases 10 seconds after start and from
    Help → "Check for updates…", asks before downloading and asks again before restarting. Skipping
    a version, prereleases and downgrades are off. An installed 1.13.x does not have the updater:
    install this release by hand once, and later releases arrive by themselves.
  • A "Sponsor on GitHub" link in the Version panel, and a Sponsor button on the repository.
  • SECURITY.md says how to report a vulnerability.

Removed

  • The GitLab release pipeline (.gitlab-ci.yml) and its publisher script.

The installer is not code-signed, so Windows SmartScreen shows a prompt on first run:
More info → Run anyway. It installs for the current user and needs no admin rights.
Installed copies from 1.14.0 on check this page for updates and ask before installing one.
Verify a download with gh attestation verify <file> --repo sebastianmaute/aipm-cockpit.

AI PM Cockpit 1.14.0-rc.1 "Deaver"

Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Sep 08:19
Immutable release. Only release title and notes can be modified.
9f44ab1

A release pipeline rehearsal. Not for use: this prerelease exists to prove the new GitHub release
workflow end to end, and the desktop auto-updater never offers a prerelease.

Added

  • Desktop releases are built and published by GitHub Actions. A v* tag on a commit in
    main runs .github/workflows/release.yml, which checks the tag against the app version,
    builds the Windows installer on windows-latest, verifies it and publishes a GitHub Release.
  • The desktop app can update itself. It checks GitHub Releases 10 seconds after start and from
    Help → "Check for updates…", asks before downloading and asks again before restarting. Skipping
    a version, prereleases and downgrades are off.
  • SECURITY.md says how to report a vulnerability.

Removed

  • The GitLab release pipeline (.gitlab-ci.yml) and its publisher script.

The installer is not code-signed, so Windows SmartScreen shows a prompt on first run:
More info → Run anyway. It installs for the current user and needs no admin rights.
Installed copies from 1.14.0 on check this page for updates and ask before installing one.
Verify a download with gh attestation verify <file> --repo sebastianmaute/aipm-cockpit.