Windshift 0.8.3
Minor improvements and new integration surface
Integrations
- File uploads on public forms. Off by default: an admin enables file
storage and switches them on per form. Type, size, and count limits apply.
(WI-737, WI-749) - AI clients connect by signing in. Windshift's MCP endpoint now speaks
standard OAuth discovery and dynamic client registration, so a client can
authenticate itself instead of needing a hand-provisioned token. AI tools can
also create milestones and iterations. (WI-728, WI-738) - Diagrams in Pages. Agents and the API can create editable Excalidraw
diagrams on a page, and thewsCLI can manage them.
(WI-752, WI-756, WI-758) - Workspace-aware
wsCLI. Statuses, priorities, and transitions are
resolved against the workspace you are working in. (WI-735, WI-736)
Customer portal
The portal got a thorough visual cleanup — consistent spacing, type, and layout
across navigation, dashboard, request flows, forms, item detail, and the empty,
loading, error, and success screens, with decorative gradients and glows
dropped. Behaviour is unchanged. (WI-734)
Fixes
- Portal and public boards: request-type lists and forms now agree on what
is visible, public boards page through all items instead of stopping at 500,
inaccessible drafts can be removed, public comment attachments point at the
public URL, form field types and options are validated server-side, and
public cards only show permitted fields. (WI-662–WI-670) - Asset automation: links are cleaned up when a set is deleted, automations
stay within their category set, notify-a-user and direct delivery work, and
stale values are pruned when an asset type's fields change.
(WI-647, WI-649, WI-657, WI-658) - Login tokens: OAuth refresh rotation is now atomic — one winner under
concurrency, no reuse of the old token, replay detected, no half-finished
logins. (WI-740) - Boards: status changes are no longer greyed out right after load, and the
inline quick-add card matches board cards and stays in its workspace.
(WI-733, WI-761) - Approvals: comment decisions require a body instead of posting empty
comments. (WI-762) - Milestone and iteration validation behaves the same across every surface, and
optional iteration fields can be cleared. (WI-683, WI-686) - Archived pages no longer collide with live pages when reordering.
Under the hood
Browser sessions and API tokens now share one implementation of recurring
items, test management, and item and page edits, removing a large amount of
duplicated code with no behaviour change (WI-742). Automated browser coverage
grew considerably: first-install setup, global search, item and board editing,
offline recovery, the full test-management journey, and public request and
approval flows now run in Chrome, Firefox, and Safari, including unusual
deployment layouts. (WI-694–WI-702)