Added
- Rename your organization. You can now rename your organization (your account name, shown in the dashboard sidebar) from the Settings page. This is separate from your Linear workspaces, which keep their own names and aliases. New organizations now default to your name rather than "(your name)'s workspace", to avoid the workspace confusion.
Added
- Set your epic order, and the roadmap follows it. You can now reorder a session's epics ("put authentication first", "move billing to the end") and Parley rewrites the order that drives both the outline and the roadmap. When roadmap dates are on, reordering re-derives the per-epic milestone target dates in place on the existing delivery project (keyed by the stored milestone, so no duplicate milestones), keeping your start date and pace unchanged. You can reorder anytime, including after the shape is approved, without reopening it. You can also set the order up front when you turn the roadmap on. As before, re-deriving (re-running the roadmap or reordering) is the only thing that overwrites dates you dragged in Linear.
Added
- Roadmap dates (opt-in). Parley can now lay a session onto a Linear timeline so its output renders as an executive roadmap, not just a backlog. Say yes to "Want a rough roadmap timeline?" (at session start or later via the assistant), give light direction (a start date plus either "about N weeks per epic" or a "done by" date), and Parley creates one dated delivery project for the session (the roadmap bar) with one dated milestone per epic (the phase diamonds), laying the epics out sequentially. Each feature's engineering issue is attached to its epic's milestone so the bar shows real progress. Dates are deliberately rough; drag the bars and diamonds in Linear to refine. Re-running is the only thing that overwrites dates you dragged, and already-graduated sessions can be back-filled.
- Roadmap grouping, initiative or label. When your Linear plan supports initiatives, roadmap projects are grouped under one (its Timeline view is the roadmap). When it does not, Parley groups them with a short workspace project label derived from the session title (e.g. "Context Management Foundation" becomes
CMF); the roadmap is then a Projects view filtered to that label in Timeline layout.
Changed
- Free plan now enforces its 1 Linear workspace limit. Connecting a workspace (via the dashboard "Connect Linear" OAuth flow or the legacy add-workspace form) checks your plan first: free is capped at 1 workspace and Pro at 3. Free users at the cap get a clear "upgrade to connect more" message instead of silently adding extra workspaces. Reconnecting an existing workspace is always allowed. This brings the app in line with what the pricing page advertises.
Fixed
- Pricing copy now says "per 30 days" instead of "per month." The free plan's session and Linear-push limits are enforced over a rolling 30-day window (matching the in-app messages); the marketing copy and docs now use the same wording.
0.9.1, 2026-06-01
Fixed
- Design-axis questions no longer attach to unrelated features. During the Grill phase, Parley asks a small set of cross-cutting design questions (auth model, billing, tenancy, permissions, persistence, real-time) and applies your answer across all features the axis covers. The matcher used to scan feature bullets for short keywords ("session", "save", "plan", "team"), which produced false positives: e.g., on a long-range shooting app, the auth-model question's answer would overwrite "trigger" and "happy path" on eight unrelated range-session features. The matcher now uses whole-word phrase matching plus epic-name signals, and
apply_design_decision re-validates every target feature and skips any that don't match the axis. If a feature is reported as skipped with a does not apply reason, that's the new safety net working.
0.9.0, 2026-05-20
Added
- Connect Linear via OAuth. Workspaces are now connected through a one-click OAuth flow at
/dashboard/workspaces (and step 1 of first-run onboarding) instead of pasting a Linear API key. You're redirected to Linear's consent screen, you authorize Parley with read + write scopes, and you bounce back with the workspace registered. Issues stay attributed to the human user who authorized (Parley does NOT use Actor mode, by design). Standard OAuth2 with PKCE.
- Auth-method pill on the workspaces list. Each row shows
OAuth (new) or API key (legacy) so you can see at a glance which workspaces use which auth.
Changed
- Existing API-key workspaces keep working. No re-auth required; the adapter loader routes on auth method (PAT rows use
credential_encrypted, OAuth rows use the new encrypted token columns with automatic refresh).
- "Reconnect" CTA on the workspaces list for upgrading a legacy API-key workspace to OAuth in place (same alias, same Linear org binding, same sessions, just upgraded credentials).
- MCP
register_workspace tool deprecated. Now returns an error envelope pointing the LLM to direct users to the dashboard. The tool will be removed entirely in a follow-up.
0.8.0, 2026-05-20
Changed
- Planning-effort point estimate is now flat 1 point per feature (was Fibonacci by complexity: 1/2/3/5/8). Per-feature planning time is roughly constant regardless of the eventual dev complexity, so the old weighting overshot. A 30-feature parley landed at ~100 cycle points, dwarfing typical dev velocity. Flat-1 makes a 30-feature parley read as "30 things planned this cycle," which lines up with how teams think about it. Bump individual planning issues manually in Linear if a particular feature deserves more credit. Affects new planning issues only; existing issues keep their current estimates until you re-estimate.
0.7.0, 2026-05-19
Added
enable_planning_tracking MCP tool. Retroactively turns on E3 planning-effort tracking for a session that's already past approveShape. Provisions the Linear initiative / project / milestones / issues and backfills state transitions to match each feature's current state (graduated features → done, grilled features → in_progress, untouched features → todo). Team plan and above. For new sessions, keep using start_session with track_planning_effort=true; this tool exists for the mid-stream case where you decide to enable tracking on an in-flight parley.
0.6.0, 2026-05-19
Added
- Planning-effort tracking (Team plan and above). Optional per-parley: when enabled at session start, Parley mirrors each feature's planning work as a Linear issue in your team's active cycle so cycle/velocity reports reflect the planning weight alongside dev work. Structure: a persistent
Parley planning Initiative, one Project per parley (Plan: <session title>), one Project Milestone per epic, one Issue per feature with estimate derived from the feature's complexity tag (Fibonacci: trivial=1, small=2, medium=3, large=5, xl=8). Issues transition Todo → In Progress on first grill answer and to Done when the feature graduates to a real dev issue. Dropping a feature after grilling closes its planning issue as Done + dropped label (effort credited). Reset and account deletion delete the planning project from Linear.
0.5.0, 2026-05-19
Added
- Per-PAT client IP tracking. The Tokens page now shows the client IP for each Personal Access Token's recent usage, in addition to client identity and location.
- Four-step interactive onboarding flow. First-run users are walked through workspace registration, Linear key entry, chat-client wiring, and the first session in a guided UI.
- Account deletion and data export. Settings now exposes a self-serve account deletion path and a full-data JSON export.
Changed
- Settings → Delete org now revokes pending WorkOS invitations first so deleting an organization no longer leaves dangling invites in WorkOS.
0.4.0, 2026-05-12
Added
- shadcn-based UI foundation. Tailwind v4 and shadcn/ui adopted across the dashboard. Workspaces, Tokens, Team, Billing, and Settings pages refactored to the new design system.
- Dashboard overview refactor. New landing surface inside the dashboard, with consumer-facing copy and clearer next-step CTAs.
Changed
- Technical jargon scrubbed from user-facing copy across dashboard pages.
0.3.0, 2026-05-05
Added
- Billing chunk 2: upgrade and downgrade CTAs. Self-serve plan changes from the Billing page, with consumer-facing plan copy.
- Billing chunk 1: new plan limits. Free tier now has a hard cap on graduated issues per month; service-account guidance documented inline.
- Per-PAT usage visibility. Tokens page surfaces location and client breakdown for each PAT's recent activity.
- Team invitations end-to-end. Invite, accept, and manage org members from the /team page.
- Structured Tokens results. Tokens page now consumes the structured-result MCP variant.
Fixed
- Three dashboard bugs. Billing upgrade no longer 500s; dates now display in the org's timezone (not UTC); the "last used" column reflects real activity, not stale cache.
- Timezone dropdown reverting on save. Settings → Timezone now persists the selected value.
/settings client-side TypeError on COMMON_TIMEZONES.some(). Hardened the timezone picker against missing options.
0.2.0, 2026-04-28
Added
- Client-aware UI hints in the hosted MCP endpoint. Tools that accept user input now surface
AskUserQuestion-ready prompts when the connected client supports them.
- Real WorkOS organizations on first signup. Sign-up now provisions a backing WorkOS org so SSO, team invites, and billing all share one identity.
Changed
- Rate-limit token column corrected.
mcp_rate_buckets.tokens is now a Drizzle numeric, not text, matching the actual values written by the rate limiter.
Reverted
- Client-aware UI hints (E4) were rolled back after Claude Desktop was observed not invoking
ask_user_input_v0. The host-picker tool name was corrected to ask_user_input_v0 and re-shipped in the next release.
0.1.0, 2026-03-01
Added
- Initial hosted-product milestone (M1). pnpm workspace monorepo:
@vyntric/parley-core library, @vyntric/parley-mcp stdio binary, Next.js dashboard app, and sync-worker scaffolding.
- Phase 1 stdio mode. Local MCP server with SQLite storage, Linear sync, conventions repo loading, and the four-phase Shape → Grill → Flesh → Graduate workflow.
- 257 unit and integration tests under
packages/core/test/, all using in-memory SQLite and a mock Linear adapter (no network required).