Skip to content

Releases: shumer/DevDeck

DevDeck 0.22

Choose a tag to compare

@shumer shumer released this 13 Oct 08:43

Agents (MCP)

  • what_changed: what is new since the agent last looked in this session: rows that appeared, rows that went because they were dealt with, and projects whose state changed. The memory is the server's, one per agent session.
  • open: a page in the browser of the account whose host it is, so a GitHub, GitLab or Azure DevOps address opens signed in as the right person; or a project's card, folder, terminal or site. Needs Read and control.
  • wait_for: waits until a project is running, stopped or changed, or until a pull request's checks are no longer running, instead of polling.
  • project_time: how long each project ran today and over the last seven days.
  • Who pressed. A start or stop that came through the MCP server is written down as the agent's: a Good to know row in the menu, "started by Claude Code" on the card while it runs, and the same above the log.
  • Registers itself. Turning the setting on puts the server on the lists of Claude Code and Codex on this computer, including Codex inside the ChatGPT application on the Mac, and turning it off removes it. The page shows one row per agent instead of a line to paste.

Projects

  • A run log kept across launches says how long each project ran today, as one Good to know row with the projects that ran, and this week through project_time.
  • Opening DevDeck again while it runs, from Spotlight, the Dock or Finder on the Mac or a second launch on Windows, opens Settings instead of doing nothing. A launch at login opens nothing.

Accounts

  • Removing the last GitLab instance or Azure DevOps organization takes its card off the deck, the way adding the first one put it there.

Installing

Unzip it, drag DevDeck.app into Applications and open it. The build is signed with a Developer ID and notarised by Apple, so macOS opens it as it is. From here on the app updates itself: when a newer release exists, the menu-bar menu opens with Update to … as its first line.

Windows

Download DevDeck-0.22-371-windows-setup.exe and open it on Windows 11 22H2 or newer. DevDeck installs for your user without administrator rights. If .NET 10 Desktop Runtime is missing, setup downloads it from Microsoft and asks for UAC approval once for the runtime. The beta is unsigned, so SmartScreen shows a warning. Choose More info, then Run anyway.

On Windows 11 ARM64, download the native DevDeck-0.22-371-windows-arm64-setup.exe installer.

DevDeck 0.21

Choose a tag to compare

@shumer shumer released this 12 Oct 13:55

Azure DevOps pull requests

A third card of the same shape as the GitHub and GitLab ones: the pull requests you opened in an organization on dev.azure.com and the ones waiting on your vote, worst first, with the same status codes. Add an organization under Accounts in Settings with a personal access token that has the Code (Read) scope; the card appears with the first organization and leaves with the last one. A row leaves the card the moment you vote. Health comes from the merge check and the votes; build results and policies are not read.

Agents (MCP) registers itself

Turning the setting on puts the DevDeck MCP server on the lists of Claude Code and Codex on this computer, through their own command-line tools, and turning it off takes it off again. A launch with the setting on repairs a missing entry. Codex is found on the path and inside the ChatGPT application on the Mac. The page shows one row per agent with how it went, and the line to run by hand for an agent that is not installed, instead of a command to paste.

Also

  • Removing the last GitLab instance now takes its card off the deck, like removing the last Azure DevOps organization does.
  • The missing-token row reads "Add a token for GitHub" rather than "Add a GitHub token", so it reads right for every service.
  • Projects have their own section with switches on the Cards page, so a card taken off the deck from the menu can be put back.

Installing

Unzip it, drag DevDeck.app into Applications and open it. The build is signed with a Developer ID and notarised by Apple, so macOS opens it as it is. From here on the app updates itself: when a newer release exists, the menu-bar menu opens with Update to … as its first line.

Windows

Download DevDeck-0.21-365-windows-setup.exe and open it on Windows 11 22H2 or newer. DevDeck installs for your user without administrator rights. If .NET 10 Desktop Runtime is missing, setup downloads it from Microsoft and asks for UAC approval once for the runtime. The beta is unsigned, so SmartScreen shows a warning. Choose More info, then Run anyway.

On Windows 11 ARM64, download the native DevDeck-0.21-365-windows-arm64-setup.exe installer.

DevDeck 0.20

Choose a tag to compare

@shumer shumer released this 11 Oct 21:45

What's new

DevDeck runs on Windows 11, in beta. The same engine, built natively on Windows and driven by a thin WPF shell: cards, menus, settings, notifications, log windows, start at login, summon, projects in WSL distributions and in Windows folders, Arc and DDEV stacks, and updates. The Windows build is unsigned for now, so SmartScreen warns on first run.

On the Mac, fixes that came out of the port:

  • Stop insists: TERM first, then KILL for whatever is left, and the process record is forgotten only once the tree is gone, so a stop that did not take leaves a project DevDeck can still stop.
  • An Arc card keeps its branch row while a command runs; a DDEV start that failed says why on the card, without the terminal's colour codes, and keeps its links.
  • The phone button is offered only for an address this computer answers on, and a DDEV project gets it once its checkout is set up for a phone.
  • A thread marked read stays off the inbox while GitHub still lists it.
  • A column pushed below the display comes back up as a whole.

The install notes below are written by the release workflow for the files it built.


Installing

Unzip it, drag DevDeck.app into Applications and open it. The build is signed with a Developer ID and notarised by Apple, so macOS opens it as it is. From here on the app updates itself: when a newer release exists, the menu-bar menu opens with Update to … as its first line.

Windows

Download DevDeck-0.20-336-windows-setup.exe and open it on Windows 11 22H2 or newer. DevDeck installs for your user without administrator rights. If .NET 10 Desktop Runtime is missing, setup downloads it from Microsoft and asks for UAC approval once for the runtime. The beta is unsigned, so SmartScreen shows a warning. Choose More info, then Run anyway.

v0.19.2

Choose a tag to compare

@shumer shumer released this 08 Oct 14:38

A housekeeping release. The sample name suggested in the arrangement name field is a neutral one now, and the repository has a contributing guide for people sending pull requests: the checks every change passes, the invariants the code keeps and the style it is written in. Nothing else changes in how the app behaves.


Installing

Unzip it, drag DevDeck.app into Applications and open it. The build is signed with a Developer ID and notarised by Apple, so macOS opens it as it is. From here on the app updates itself: when a newer release exists, the menu-bar menu opens with Update to … as its first line.

v0.19.1

Choose a tag to compare

@shumer shumer released this 07 Oct 10:43

A long start command no longer breaks a project card. The card shows the last command of the start chain, dotnet run --launch-profile http rather than the source and cd that lead up to it, and the line truncates in the middle instead of pushing the card out of its panel. The command stored in Settings is unchanged.


The archive for this version has been removed. Install the latest release instead: it is signed and notarised, and it updates itself from there.

v0.19

Choose a tag to compare

@shumer shumer released this 25 Sep 13:42

The deck parks folded. Unplug the monitor the deck lives on and the cards fold to one row each and stack in a single column at the side the deck stood on; plug it back in and every card goes home and stands up again, exactly where it was.

Positions are no longer overwritten by the move macOS gives windows when a display disappears: the deck waits for the screens to settle before it believes a move was yours. Nothing is saved while a card is parked, neither its position nor its folded height. Two hidden cards remembered at the same spot open beside each other.


The archive for this version has been removed. Install the latest release instead: it is signed and notarised, and it updates itself from there.

0.18.2

Choose a tag to compare

@shumer shumer released this 24 Sep 17:30

A long note no longer pushes a card out of its panel. The message about a port held by another checkout, new in 0.18.1, was longer than the line it sits on, and that line refused to shrink: the card slid sideways out of its own panel. The state keeps its width now and the note gives way, truncated in the middle, with the whole sentence in the tooltip. This holds for every card, not only that message.

The message is shorter, too. When the checkout holding the port is also on the deck, it is named the way its own card is: port 80 taken by Metro. A checkout the deck knows nothing about is still named by its folder.


The archive for this version has been removed. Install the latest release instead: it is signed and notarised, and it updates itself from there.

0.18.1

Choose a tag to compare

@shumer shumer released this 24 Sep 16:42

An Arc card no longer calls another checkout's stack its own. Fusion writes the same container names in every checkout, so only one Arc stack can run on a machine, and two checkouts serving on the same port out of their own .env answer each other's health checks: one card sat green over a project that had never been started. A card that gets an answer while Docker shows none of its own containers now says stopped and names the checkout holding the port. A stack started by hand in a terminal, with no containers at all, still counts as running.

Worth doing alongside this: give each Arc checkout its own PORT in its .env. Two of them cannot be up at once whatever the ports say, but distinct ports keep the links on each card pointing at the site that card is about.

scripts/check-arc-stack.sh in the repository prints what every configured Arc card checks - the address, the answer, who is listening on the port, and which containers belong to the checkout - for a card that still disagrees with the person looking at it.


The archive for this version has been removed. Install the latest release instead: it is signed and notarised, and it updates itself from there.

0.18

Choose a tag to compare

@shumer shumer released this 22 Sep 12:06

The GitHub inbox can be cleared from its card. The footer offers to mark notifications as read, and so does the card's right-click menu. With a mix in the box it says Mark as read, except the 2 for you: comments, CI, subscriptions and your own pull requests are marked read, and mentions, review requests and assignments stay; hold ⌥ for all of them. When only one kind is left it offers Mark all 33 as read straight away. It reaches the whole box, not just the 50 the card loads, marks six at a time, and shows its progress in the footer, then the outcome, or GitHub's reason when it refuses. A second press waits until the first is done. GitHub has no way to mark a notification unread again, and no delete: a read notification simply leaves the card. Marking read needs the notifications permission with write access on the token.

The count is honest. When a whole page came back it says 50+ rather than presenting the page size as the size of the box. The reason chips on inbox rows are in the interface's language.

The Actions card says why it is quiet. Empty, it says there are no open pull requests to follow and links straight to the field in Settings for a list of your own, instead of a "no repos" that looked like a card nobody had set up. With repositories but no runs it says "No runs in the last 7 days" and names what it looked at, instead of "n/a". Its footer says where the repositories came from: your pull requests or your list.


The archive for this version has been removed. Install the latest release instead: it is signed and notarised, and it updates itself from there.

0.17.1

Choose a tag to compare

@shumer shumer released this 22 Sep 08:01

Cards can be dragged again. 0.17 shipped with panels that would not move, whether Lock positions was on or off. Nothing in the deck had changed; the build had. 0.17 was the first release stamped with the SDK it was built against, and with it macOS gives SwiftUI a click on a card before the window gets to start dragging it, so the drag never began. The card now asks for the drag itself once the mouse has travelled a few points, the way a title bar does. Lock positions still keeps every panel where it is, and clicks, double clicks and the buttons on a card behave as before.


The archive for this version has been removed. Install the latest release instead: it is signed and notarised, and it updates itself from there.