Releases: lrivallain/precursor
Releases · lrivallain/precursor
Release list
v2026.9.2
What's Changed
- fix(frontend): Home "New …" cards and fired reminders add one history entry by @lrivallain in #367
- Stop opening the mic when a Live session is merely viewed by @lrivallain in #368
- Separate an agent's result from its activity by @lrivallain in #369
- Fix agent-event retention failing on large archives by @lrivallain in #370
Full Changelog: v2026.9.1...v2026.9.2
v2026.9.1
What's Changed
- chore(deps): bump the frontend-minor-patch group across 1 directory with 9 updates by @dependabot[bot] in #318
- build(deps): Update mcp requirement from <2,>=1.28 to >=1.28,<3 by @dependabot[bot] in #277
- Install the Copilot CLI directly from Agents by @lrivallain in #326
- Pick an assistant role when creating a chat or an agent by @lrivallain in #327
- Put the assistant-role picker in every composer, remove it from the header by @lrivallain in #329
- feat(live): pick which Teams transcription session to summarise by @lrivallain in #331
- refactor(llm): route every one-shot LLM call through complete_once by @lrivallain in #339
- Route topic, chat, scheduled and workspace turns through one shared turn service by @lrivallain in #342
- refactor(agents): move pure helpers out of manager.py (Phase 1 of #334) by @lrivallain in #338
- refactor(agents): split AgentManager into collaborators (Phase 2 of #334) by @lrivallain in #346
- refactor(chat): shared conversation controller for topic, chat and workspace chat by @lrivallain in #341
- refactor(chat): conversation dedup follow-ups (dead SSE client, detached notes, dictation) by @lrivallain in #348
- refactor(frontend): move routing into lib/routes.ts with a navigate() wrapper by @lrivallain in #340
- refactor(frontend): agents controller (App.tsx decomposition 2/9) by @lrivallain in #349
- refactor(frontend): workflows controller (App.tsx decomposition 3/9) by @lrivallain in #350
- fix(mcp)!: migrate to MCP 2 and drop MCP 1 support by @lrivallain in #345
- Cap live summary's suggested attendees in a scrollable strip by @lrivallain in #351
- refactor(frontend): live sessions controller (App.tsx decomposition 4/9) by @lrivallain in #352
- refactor(frontend): workspaces controller (App.tsx decomposition 5/9) by @lrivallain in #353
- fix(mcp): name the real cause when an MCP connect fails by @lrivallain in #354
- refactor(frontend): useGlobalShortcuts (App.tsx decomposition 8/9) by @lrivallain in #355
- refactor(frontend): chats controller (App.tsx decomposition 6/9) by @lrivallain in #356
- refactor(frontend): topics controller (App.tsx decomposition 7/9) by @lrivallain in #357
- Name the open item and section in the browser tab title by @lrivallain in #358
- refactor(frontend): Sidebar interface trim and composition shell (App.tsx decomposition 9/9) by @lrivallain in #359
- fix(settings): System panel no longer claims its values come from .env by @lrivallain in #360
- fix(chat): unify delete, clear and stop across chat surfaces by @lrivallain in #361
- fix(frontend): stop Back/Forward/reload from rewriting browser history by @lrivallain in #362
- Plugin manager: GitHub installs, release lookups, independent upgrades by @lrivallain in #364
- fix(frontend): a ⌘K search hit adds exactly one history entry by @lrivallain in #365
Full Changelog: v2026.9.0...v2026.9.1
Nightly (2026.9.2.dev9+g8fdfcd83c)
Rolling build of main (8fdfcd8).
Warning
This is an unstable prerelease rebuilt on every push. Use a tagged
release if you want stability.
Install (or update) in one command:
curl -fsSL https://raw.githubusercontent.com/lrivallain/precursor/main/scripts/install.sh | shAn existing install updates itself with precursor service update.
v2026.9.0
What's Changed
- Reorderable sidebar sections via drag and drop by @lrivallain in #168
- Fix in-app version resolving stale build after precursor-ai rename by @lrivallain in #169
- Serve the docs website in-app at /docs/ (with dev HMR) by @lrivallain in #170
- docs(website): refine landing + guide copy by @lrivallain in #171
- Show the vertical nav rail on the home launcher by @lrivallain in #175
- Live: transient "Starting…" state and guard against losing a recording by @lrivallain in #176
- Add hands-free silent auto re-auth for WorkIQ preview by @lrivallain in #177
- fix(frontend): override uuid to ^14 to drop deprecated uuid@9 by @lrivallain in #178
- Fix duplicate docs/website links in About modal by @lrivallain in #179
- Fix opaque WorkIQ sign-in 502 by unwrapping anyio task-group errors by @lrivallain in #180
- fix(workiq): return auth code from OAuth loopback callback by @lrivallain in #181
- build(deps): Bump the actions group with 6 updates by @dependabot[bot] in #172
- style: ruff-format two untracked-format test files by @lrivallain in #182
- build(deps): Bump the frontend-minor-patch group across 1 directory with 2 updates by @dependabot[bot] in #173
- build(deps-dev): Bump typescript from 6.0.3 to 7.0.2 in /frontend by @dependabot[bot] in #174
- fix(workiq): ignore stray loopback probes during OAuth sign-in by @lrivallain in #183
- Auto-scroll the sidebar to the active item by @lrivallain in #184
- Live sessions: Teams transcript summaries + past-meeting agenda by @lrivallain in #185
- Auto-cleanup Live session transcripts after N days by @lrivallain in #186
- fix(workiq): quiet OAuth traceback on silent sign-in timeout by @lrivallain in #187
- fix(workiq): stop sign-in getting stuck on "Signing in…" across windows by @lrivallain in #188
- feat(live): edit transcript phrases inline with a double-click by @lrivallain in #189
- feat(attachments): accept text & code files as message attachments by @lrivallain in #190
- fix(live): enforce a single recording at a time (app-wide lock) by @lrivallain in #191
- Fix Live session default tab and stuck microphone indicator by @lrivallain in #192
- fix(workiq): self-trigger hands-free re-auth, drop the double sign-in by @lrivallain in #193
- Add built-in Playwright MCP server for authenticated scraping by @lrivallain in #194
- Fix spurious WorkIQ sign-in prompt when preview mode is off by @lrivallain in #195
- fix(workiq): broadcast auth renewal so other windows clear the banner by @lrivallain in #200
- Expose full cross-entity search + chats/agents/live accessors over MCP by @lrivallain in #196
- Expose full cross-entity search + chats/agents/live accessors over MCP by @lrivallain in #197
- Expose full cross-entity search + chats/agents/live accessors over MCP by @lrivallain in #198
- fix(workiq): broadcast auth renewal so other windows clear the banner by @lrivallain in #199
- fix(chat): dedupe first message when a new chat streams before mount by @lrivallain in #204
- fix(chat): dedupe first message when a new chat streams before mount by @lrivallain in #202
- fix(chat): dedupe first message when a new chat streams before mount by @lrivallain in #203
- fix(workiq): handle interactive sign-in timeout as a benign, typed error by @lrivallain in #205
- Add installable PWA support (manifest, icons, service worker) by @lrivallain in #206
- fix(workiq): drive manual sign-in via OS browser in standalone PWA by @lrivallain in #207
- style(workiq): fix ruff format check breaking Backend CI on main by @lrivallain in #208
- feat(mcp): add the Agent 365 workiq-teams and workiq-user servers by @lrivallain in #210
- Close hands-free WorkIQ sign-in windows immediately by @lrivallain in #211
- Add contextual menus to sidebar items by @lrivallain in #212
- Collapse WorkIQ + Agent 365 sign-ins into one prompt by @lrivallain in #213
- feat(frontend): open the search palette with a bare "/" by @lrivallain in #214
- feat: split topics into collections by @lrivallain in #216
- fix(deps): clear postcss advisory and make CI the only authority on lockfiles by @lrivallain in #215
- fix(reminders): return 200/null instead of 404 when no reminder is set by @lrivallain in #218
- MCP: trace the WorkIQ sign-in legs to the browser console by @lrivallain in #220
- Fix the model picker: stale catalogue, dead provider, and models that couldn't be called by @lrivallain in #219
- Show collection accent on app-wide topic pickers by @lrivallain in #221
- Add Markdown formatting toolbar and shortcuts to Markdown composers by @lrivallain in #222
- Show posted date+time on kanban issue comments by @lrivallain in #223
- Auto-detect Playwright --browser support; add browser selector by @lrivallain in #224
- Add Copilot AI-credit usage to the persona menu by @lrivallain in #225
- Fix WorkIQ stale sign-in lock stranding retries behind a 409 by @lrivallain in #227
- Add per-collection default assistant role by @lrivallain in #228
- Surface lapsed idle MCP sign-ins proactively by @lrivallain in #229
- Add autonomous agent runtime and Workflows by @lrivallain in #230
- Create a reusable agent from the workflow step editor by @lrivallain in #231
- Add YAML import/export and make stopped workflow steps recoverable by @lrivallain in #232
- Stop the workflow coordinator double-running a step by @lrivallain in #235
- Scope MCP servers per workflow step by @lrivallain in #237
- Replay a single workflow step by @lrivallain in #238
- Add durable state for agents and workflows by @lrivallain in #239
- Show the holographic frame on a running workflow card by @lrivallain in #241
- fix(mcp): request offline_access so WorkIQ tokens renew unattended by @lrivallain in #246
- Keep an inline vessel when a step references it without a task by @lrivallain in #245
- Split agent execution state into AgentRun by @lrivallain in #247
- Make Settings the single source of truth for user-facing config by @lrivallain in #248
- Expand skill references mid-prompt, in chat descriptions, and in roles by @lrivallain in #249
- Show turn errors as errors, and let a failed prompt be retried by @lrivallain in #251
- Add a built-in drawio MCP server with Azure icons and nested layout by @lrivallain in #250
- docs: audit the site, split the workflows guide, and make screenshots reproducible by @lrivallain in #253
- Edit .drawio files in the workspace, and link to files from a conversation by @lrivallain in #254
- Add an MCP tool to file a note without running a turn by @lrivallain in #256
- Return a resolved slug
pathon MCP topic payloads by @lrivallain in #257 - Use the WorkIQ refresh token, and trace the sign...
v2026.7.0
What's Changed
- chore: shipping foundations — CalVer, CI/CD, packaging, docs by @lrivallain in #1
- fix(scheduler): start scheduler and register schedules router on startup by @lrivallain in #5
- fix(scheduler): start scheduler and register schedules router on startup by @lrivallain in #6
- chore(deps): bump the actions group with 4 updates by @dependabot[bot] in #3
- chore(deps): bump the python-deps group across 1 directory with 18 updates by @dependabot[bot] in #2
- chore(deps): upgrade frontend deps (excl. Tailwind v4); split Dependabot majors by @lrivallain in #8
- chore(frontend): migrate to Tailwind CSS v4 by @lrivallain in #12
- fix(logging): unify backend log formatting by @lrivallain in #13
- feat(ui): resizable, persisted editing area for command panels by @lrivallain in #15
- feat(stt): speech-to-text dictation via Azure AI Speech by @lrivallain in #19
- feat(chat): /clear, /archive, /rename slash commands by @lrivallain in #20
- feat(llm): multi-provider LLM support with runtime config (Azure Foundry, OpenAI, …) by @lrivallain in #21
- feat(notifications): browser notifications + unread tab-title count (#22) by @lrivallain in #23
- fix(stt): release the microphone when dictation stops by @lrivallain in #24
- feat: Chats — flat conversation sessions alongside topics by @lrivallain in #27
- Add /reminder command for topics and chats by @lrivallain in #28
- feat: add global token usage statistics by @lrivallain in #29
- feat(cli): one-knob ports + auto-bump, startup banner, and prod favicon fix by @lrivallain in #30
- Add Assistant Roles: per-discussion selectable personas by @lrivallain in #33
- Use chat description as context or enforced system prompt (#32) by @lrivallain in #34
- refactor(db): single Alembic baseline + autogenerate migration workflow by @lrivallain in #35
- Add /notes draft persistence and in-app confirmations by @lrivallain in #38
- Replace remaining native confirm dialogs with in-app modal by @lrivallain in #39
- Add note image support and preserve images in chat for GH updates by @lrivallain in #41
- Fix test isolation in usage stats: clear ledger before seeding by @lrivallain with @Copilot in #43
- Support PDF/DOCX/PPTX attachments for chat submissions by @lrivallain in #44
- chore(deps): bump actions/checkout from 6 to 7 in the actions group by @dependabot[bot] in #45
- chore(deps): bump lucide-react from 1.18.0 to 1.21.0 in /frontend in the frontend-minor-patch group by @dependabot[bot] in #46
- chore(deps): update fastapi requirement from >=0.137.1 to >=0.138.0 by @dependabot[bot] in #47
- chore(deps): update pydantic-settings requirement from >=2.14.1 to >=2.14.2 by @dependabot[bot] in #48
- chore(deps-dev): update pytest requirement from >=9.1.0 to >=9.1.1 by @dependabot[bot] in #49
- chore(deps): update openai requirement from >=2.41.1 to >=2.43.0 by @dependabot[bot] in #50
- chore(deps-dev): update ruff requirement from >=0.15.17 to >=0.15.18 by @dependabot[bot] in #52
- chore(deps): update mcp requirement from >=1.27.2 to >=1.28.0 by @dependabot[bot] in #51
- chore(deps): update sse-starlette requirement from >=3.4.4 to >=3.4.5 by @dependabot[bot] in #53
- Frontend auto-build and documentation for upgrade process (closes #54) by @lrivallain in #55
- perf(mcp): keep MCP sessions warm and scope GitHub toolsets by @lrivallain in #56
- Add opt-in Agents mode backed by the Copilot SDK by @lrivallain in #57
- Attach MCP servers to agent sessions and intercept agent slash commands by @lrivallain in #59
- Loosen dependency floors and clarify Agents opt-in by @lrivallain in #60
- Render SVG output inline in chat, topics, and agents by @lrivallain in #62
- Run slash commands in scheduled prompts by @lrivallain in #63
- Add WorkIQ preview toggle for hosted HTTP writes by @lrivallain in #64
- Add suggested follow-up reply chips across all chat surfaces by @lrivallain in #65
- feat(frontend): detach Notes / GitHub draft panel into its own window by @lrivallain in #66
- Manage WorkIQ OAuth expiry without blocking background connects by @lrivallain in #67
- Render structuredContent in MCP tool results by @lrivallain in #68
- feat: memory management commands across chat, agents, and MCP by @lrivallain in #69
- Pause chat turns for WorkIQ sign-in instead of hallucinating by @lrivallain in #70
- Silence SDK ERROR traceback for expected WorkIQ sign-in by @lrivallain in #71
- feat(agents): make agent task instructions editable by @lrivallain in #72
- Authenticate WorkIQ (and OAuth MCP servers) for agents by @lrivallain in #73
- fix(settings): JSON-encode WorkIQ OAuth issued_at stamp by @lrivallain in #74
- Redesign composer with model/effort/context controls and live states by @lrivallain in #75
- Workspace file management UX and agent usage metrics panel by @lrivallain in #76
- Move skill persistence to shared ~/.copilot/skills SKILL.md files by @lrivallain in #77
- Add prompt timestamps, answer model, and elapsed time to messages by @lrivallain in #78
- Add reload tools button for enabled MCP servers by @lrivallain in #79
- Lazy-load conversation history with scroll-up pagination by @lrivallain in #80
- Free port promptly on shutdown and make --port consistent across modes by @lrivallain in #81
- Free the dev UI port on Ctrl-C by killing the whole Vite process group by @lrivallain in #82
- Bound token use on recurring scheduled agents with /clear and /run directives by @lrivallain in #83
- Add /guard directive to skip empty scheduled runs by @lrivallain in #84
- Surface WorkIQ sign-in prompt on the Agents runtime path by @lrivallain in #85
- Prompt sign-in when a scheduled /guard server needs auth by @lrivallain in #86
- Fix truncated agent answer reposted to linked topic by @lrivallain in #88
- Style WorkIQ OAuth callback page and auto-close the tab by @lrivallain in #89
- Add recurring schedules to agents and any topic by @lrivallain in #90
- Add copy and copy-raw actions to user messages by @lrivallain in #91
- Add WorkIQ preview token keep-alive ticker by @lrivallain in #92
- Show loading state and parallelize MCP server probing by @lrivallain in #93
- Defer MCP server status loading in Settings by @lrivallain in #94
- Show timestamp, model, and duration in the agent timeline by @lrivallain in #95
- Add unread + notifications for Agents; make read status reliable across tabs by @lrivallain in #96
- Make agents reliably use enabled MCP servers and surface tool failures by @lrivallain in #97
- Persist tool result and error to the agent timeline by @lrivallain in #98
- Refresh notes draft banner live from detached scratchpad by @lrivallain in #99
- Make ag...