Skip to content

v0.18.2

Choose a tag to compare

@github-actions github-actions released this 21 Aug 10:23
· 235 commits to main since this release
6c925b5

Open Science v0.18.2

Russian localization, turn selection for conversation exports, and pre-registered OAuth clients for custom connectors — alongside narrowed agent list summaries, bounded incremental event admission that keeps the renderer responsive during high-volume streams, streamed Project Artifact ZIP exports, MCP progress heartbeats with UTF-8 notebook source decoding, preserved attachments on message edits, opaque Codex resume recovery, idempotent Task API creates, and a broad set of workspace, notebook, update, and persistence fixes.

Open Science is an open-source, local-first AI research workbench for scientists and researchers. It enables reproducible, inspectable research across models with scientific AI agents, Python and R execution, scientific data connectors, and cross-platform support for macOS, Windows, and Linux.

v0.18.2 is a patch release. Russian joins the interface languages with a complete catalog, native plural forms, and a matching translated README. Conversation export gains turn selection: one Export conversation dialog replaces the nested format menu, letting users pick exactly the prompt-owned turns to share — with tri-state select-all, response previews, timestamps, and attachment counts — in Markdown or PDF. Custom MCP connectors support pre-registered OAuth clients: optional client ID and write-only client secret fields use the existing authorization-code flow, with the secret persisted only as an OS-encrypted reference and the issuer pinned so changing it invalidates bound credentials. The Host agent list is narrowed to five summary fields so discovery calls no longer place every specialist prompt into notebook or model context; full records remain available from get. On the performance side, incremental event admission is bounded so high-volume agent streams no longer freeze the renderer — a production log recorded multi-minute unresponsive periods before this fix — and Project Artifact ZIP exports stream instead of buffering gigabytes in the main process. Notebook execution sends MCP progress heartbeats for long-running tools and decodes Python source as UTF-8 so Windows ANSI code pages cannot corrupt non-ASCII input. Attachments survive message edits, opaque Codex resume failures recover, Task API creates and runs honor idempotency keys, and stale session caches, conda package caches, tag updates, scroll anchoring, and update subscriptions are all corrected.

✨ Highlights

  • Russian localization. A complete Russian catalog with native one/few/many/other plural forms joins Chinese (Simplified and Traditional), Japanese, Korean, and French across the interface, native messages, date formatting, and persisted language selection, with a matching translated README and contribution guide. (#1443)
  • Turn selection for conversation exports. A single Export conversation dialog replaces the nested format menu: pick Markdown or PDF, then select exactly the prompt-owned turns to share with tri-state select-all, response previews, timestamps, and attachment counts; the selection survives a canceled Save As and export failures surface inline. (#1526)
  • Pre-registered OAuth clients. Custom connectors accept optional client ID and write-only client secret fields for authorization servers that disable dynamic registration; the secret persists only as an OS-encrypted reference with hasClientSecret exposed to the renderer; the authorization-server issuer is pinned, and changing issuer or client ID invalidates bound state until sign-in succeeds again. (#1505)
  • Bounded event admission. High-volume agent streams — tens of thousands of fine-grained thought, tool, and message events — no longer freeze the renderer: incremental IPC event admission is bounded and the workspace event processor no longer performs quadratic rescans per arrival. (#1515)

⚠️ Breaking Changes

  • Narrowed agent list summaries. host.agents.list() now returns only id, name, displayName, description, and enabled. Full editable records — system prompts, appearance, capability configuration, and revisions — remain available from host.agents.get(name) and from mutation read-backs. (#1534)

    Migration: any notebook code or skill script reading detail fields from host.agents.list() must select a summary and call host.agents.get(summary.name) for the complete record.

🚀 New Features

  • Russian localization — a complete renderer catalog with native plural forms, locale detection, persisted selection, native messages, date formatting, and direct English fallback; translated README and contribution guide. (#1443)
  • Turn selection for conversation exports — one Export conversation dialog for format and content scope with PDF and entire-conversation defaults; prompt-owned turn selection with tri-state select-all, response previews, timestamps, and attachment counts; selection preserved across Save As cancellation; inline export failures. (#1526)
  • Pre-registered OAuth clients — optional client ID and write-only client secret on the interactive authorization-code flow; OS-encrypted secret storage with renderer-visible hasClientSecret only; SDK-side client authentication method selection (client_secret_basic, client_secret_post, none); pinned issuer with invalidation on change; explicit secret edit semantics. (#1505)

🔧 Improvements

  • Incremental event admission work is bounded, keeping the renderer responsive during very high-volume agent streams. (#1515)
  • Project Artifact ZIP exports stream entries instead of buffering everything in the main process, eliminating multi-second freezes and memory spikes on large exports. (#1500)
  • Notebook execution sends 30-second MCP progress heartbeats while tools run and stops them at completion; Python source is decoded as UTF-8 so Windows ANSI code pages cannot corrupt non-ASCII input. (#1521)
  • Settings navigation route state is collapsed into a simpler model. (#1510)

🐛 Bug Fixes

  • Attachments preserved on message edits. Editing a message no longer drops its uploaded attachments, and edited attachments are inlined on resend. (#1511, #1523)
  • Opaque Codex resume failures recovered. Resume failures that returned no structured reason now recover instead of stalling the session. (#1513)
  • Task API idempotency honored. Creates and runs honor idempotency keys so retries do not duplicate work. (#1507)
  • Conda package cache reclaimed. Unused conda package cache space is reclaimed. (#1502)
  • Stale session caches released. (#1499)
  • Run indicator kept after tool rounds. The running indicator no longer disappears between tool rounds. (#1498)
  • Edit mention popup no longer clips. (#1503)
  • Scroll anchor preserved under blocking panels. The conversation keeps its scroll position when approval or permission panels appear. (#1508)
  • Stale tag updates rejected. Concurrent tag edits that lose a revision race are rejected cleanly. (#1506)
  • Duplicate renderer update subscriptions prevented. (#1509)
  • Turn completion placed after activities. The completion footer appears after its tool activities, not before. (#1512)
  • No space reserved before tool calls. Streaming no longer reserves blank space ahead of arriving tool cards. (#1527)
  • Export message labels aligned / overflow prevented. (#1531)
  • Deletion failure phases logged. Session-deletion failures log their phase for diagnosis. (#1528)

📦 Install

Requirements: macOS 12+ (Apple Silicon or Intel), Linux x64, or Windows 10/11 x64. On first run, the onboarding wizard checks the environment and can install and configure an app-managed agent runtime. Once installed, the app can update itself in place.

Download the appropriate package from the Assets section below:

Platform Package
macOS (Apple Silicon) DMG for ARM64
macOS (Intel) DMG for x64
Linux AppImage or Debian package for x64
Windows Installer for x64

macOS — first launch. Official release builds are Developer ID signed and notarized by Apple, so they open like other trusted applications. A locally built copy is not notarized and may require approval through macOS Privacy & Security.

Windows — first launch (unsigned build). No Authenticode certificate yet, so SmartScreen shows a bypassable "unrecognized app" prompt (More info → Run anyway). Verify that the package came from the official release page before continuing.

Build from source instead:

npm install
npm run build:mac   # or: build:linux / build:win

🧭 What's in this release (maturity)

  • Implemented: a local-first desktop, localhost-web, headless, CLI, and task-SDK surface over persistent projects and sessions with selectable message branches, branching into a new session from user messages or completed agent messages with persisted source lineage, reversible archiving, project pinning, collapsed long user messages, and persistent side conversations; selectable Claude Code, OpenCode, and Codex agent frameworks behind a shared provider turn-adapter interface; production subagent delegation with durable messaging, restart recovery, structured output, artifact and review evidence, and camelCase delegation APIs; review-gated session plans with CLI plan controls; a unified composer lane with a session-scoped message queue and active-specialist emphasis; hot-switching of compatible models and providers; multi-provider model configuration with a dedicated Vision model selector and persistent evidence relay; a configurable reviewer model policy with an isolated review runtime, durable assessment snapshots, and empty initial checks; a token usage dashboard; context-window composition insights; persistent Python/R/REPL kernels with bounded run-history payloads, separated approval and execution state, session-scoped remote SSH execution with key or password authentication, harvest ceilings, and a host viewImage capability; frame-scoped Host JavaScript artifact queries with five-field agent summaries, session diagnostics, and model introspection with camelCase Host LLM results; immutable artifact versions with artifact lineage access and connector artifact provenance; multi-format previews with view-in-context navigation and plan-artifact rendering; file-based skills with conversational creation, save-as-skill turns, direct user folder support, a redesigned management experience, an imported group menu, and confirmed bulk deletion; cross-resource catalog tags with favorites and drag ordering; permissioned scientific connectors with immutable invocation identities, generated local IDs, pre-registered OAuth clients, and aligned catalog interactions; opt-in review and bounded correction; personal specialist agent profiles with a scoped signed marketplace, instant cached browsing, capability icons, quick appearance editing, and capability-row navigation; scoped permission management; local folder access with cross-drive browsing; Chinese (Simplified and Traditional), Japanese, Korean, French, and Russian interfaces with multilingual README and contribution guides; turn-scoped conversation export as Markdown and PDF; global proxy settings with connectivity diagnostics; prominent update reminders with CLI-driven updates; a run-marks navigation rail; message-center alerts with project and task context; notifications with attention reasons; empty-conversation placeholder banners; a redesigned startup error notice; contextual GitHub star prompts; a project-scoped command palette; CLI Codex device login and project agent-context management; smooth live response rendering with bounded event admission; collapsible side panels; split-view file preview; desktop notifications; a cross-surface notification message center; structured agent clarification cards; live session status; and session keyboard shortcuts.
  • 🚧 Partial: R remains managed-only; provider choice remains constrained by the active framework's endpoint compatibility; remote compute is SSH-only; skills remain local (no hosted public discovery commons); and review is opt-in and record-scoped.
  • 🗺️ Roadmap: a unified model gateway, a hosted public skills and specialist discovery commons, Slurm/cloud-GPU execution, stronger sandboxing and credential isolation, and collaborative research workflows.

🐢 Known Limitations

  • R is managed-only. A bring-your-own R interpreter path is not built yet.
  • Remote compute is SSH-only. Slurm and cloud GPU submission are not built yet.
  • Provider choice is per framework, not one unified gateway. The available protocol depends on the selected agent backend.
  • Hot-switching applies only to registered compatible targets. Framework, auth-lane, wire-route, or unsafe capability changes still require a reconnect.
  • Code reconstruction is LLM-generated. It does not replace deterministic reproduction; portable environment locks and full-fidelity session replay remain open.
  • No hosted public specialist discovery commons. Specialist packages are portable across machines via import/export and the signed marketplace; what is not built yet is a hosted public discovery and forking hub.
  • The task SDK is a first-generation surface. Task creation, polling, artifact retrieval, run progress, and cancellation work; broader orchestration remains open.
  • Switching agent backends cannot transfer in-flight tool state. Existing conversation history can replay, but a running action is not migrated.
  • Skills are local only. There is no shared public commons, cross-machine forking, or user-facing version pinning yet.
  • The reviewer is opt-in and record-scoped. It does not replace domain-specific validation of citations, units, statistics, or methods.
  • Scoped permissions cover allow-grants only. Network sandboxing, directory-level file access control, and a credential vault are not built yet.
  • Windows builds are unsigned. SmartScreen may warn on first launch; official macOS builds are notarized.
  • No local GPU compute backend.
  • No multi-user real-time collaboration.

🙏 Acknowledgements

Thanks to @ewen-poch, @wen2zhou, @roxi3906, @daanveer-tech, @justemu, @FaintFlower, and everyone in Discord, X, and Discussions.