Skip to content

Releases: lrivallain/precursor

v2026.9.2

Choose a tag to compare

@github-actions github-actions released this 25 Sep 06:12
8fdfcd8

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

Choose a tag to compare

@github-actions github-actions released this 24 Sep 06:13
2d95728

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)

Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Sep 08:46
8fdfcd8

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 | sh

An existing install updates itself with precursor service update.

v2026.9.0

Choose a tag to compare

@github-actions github-actions released this 21 Sep 05:45
cf5561d

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 path on MCP topic payloads by @lrivallain in #257
  • Use the WorkIQ refresh token, and trace the sign...
Read more

v2026.7.0

Choose a tag to compare

@github-actions github-actions released this 19 Jul 13:32
e60f5ae

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...
Read more