{
  "schema_version": 1,
  "product": "Open Brain Device Capture",
  "current_version": "2026.05.01.8",
  "current_label": "Device Capture Package 2026.05.01.8",
  "channel": "production",
  "published_at": "2026-05-03",
  "manifest_url": "/device-package-manifest.json",
  "downloads": {
    "full_package": "/device-capture-package.zip",
    "windows_installer": "/install-device-capture.ps1",
    "linux_android_installer": "/install-device-capture.sh",
    "chrome_extension": "/open-brain-chrome-extension.zip"
  },
  "components": [
    {
      "name": "device-capture-package",
      "version": "2026.05.01.8",
      "platforms": ["windows", "linux", "macos", "android-termux"],
      "status": "current"
    },
    {
      "name": "windows-installer",
      "version": "2026.05.01.8",
      "file": "install-device-capture.ps1",
      "status": "current"
    },
    {
      "name": "linux-macos-android-installer",
      "version": "2026.05.01.8",
      "file": "install-device-capture.sh",
      "status": "current"
    },
    {
      "name": "device-agent",
      "version": "2026.05.01.8",
      "files": ["device-agent.ps1", "device-agent.sh"],
      "status": "current"
    },
    {
      "name": "node-local-agent",
      "version": "1.0.0",
      "path": "local-agent/",
      "status": "current"
    },
    {
      "name": "chrome-extension",
      "version": "2.2.3",
      "file": "open-brain-chrome-extension.zip",
      "status": "current",
      "notes": "UX fix: toolbar icon click now opens the popup (1-click capture) instead of the side panel. Side panel reachable via Ctrl+Shift+L or new 'Side panel' button in the popup header. Restores the v1.x capture muscle memory."
    },
    {
      "name": "android-native-scaffold",
      "version": "0.3.0",
      "path": "android-capture-app/",
      "status": "scaffold"
    },
    {
      "name": "macos-package",
      "version": "2026.05.01.8",
      "file": "install-device-capture.sh",
      "status": "launchagent-beta"
    },
    {
      "name": "ios-ipados-package",
      "version": "not-shipped",
      "status": "planned"
    }
  ],
  "release_history": [
    {
      "version": "2026.05.01.8",
      "date": "2026-05-03",
      "status": "current",
      "summary": "Three things in one release. (1) Hotfix for v0.6: replaces em-dashes (U+2014) in API-key validation error messages with ASCII double-hyphens, because BOM-less UTF-8 scripts are read by Windows PowerShell 5.1 as Windows-1252 and the em-dash decoded to garbage that broke parsing on every Windows v0.6 install. (2) PowerShell window no longer flashes on each scheduled run -- a wscript.exe-launched device-agent-launcher.vbs shim invokes the agent with hidden window style. (3) Helper now writes a rolling local log at %LOCALAPPDATA%\\OpenBrain\\device-agent.log (1MB cap, one rotation) and any uncaught error gets POSTed to /devices/:id/error-report, which sends a Telegram alert (deduped per error signature per 24h). The server also runs a 30-min stale-heartbeat sweep that alerts if a device hasn't checked in for 30+ minutes. Re-run the installer to pick up the new scheduled-task action and VBS shim."
    },
    {
      "version": "2026.05.01.6",
      "date": "2026-05-03",
      "status": "superseded",
      "summary": "Helper hardening -- installer + runtime now reject API keys with non-printable bytes or under 32 chars. Fixes the silent corrupt-key install caused by a stray Ctrl+V at the SecureString prompt. Note: the v0.6 PowerShell files contained em-dashes that broke parsing on Windows PowerShell 5.1 -- superseded by v0.8."
    },
    {
      "version": "2026.05.01.5",
      "date": "2026-05-01",
      "status": "superseded",
      "summary": "Windows command wrappers ob.cmd and ob-access.cmd run installed helpers with ExecutionPolicy Bypass, add the install directory to the user PATH and make ob/ob-access usable immediately after install."
    },
    {
      "version": "2026.05.01.4",
      "date": "2026-05-01",
      "status": "superseded",
      "summary": "Windows installer falls back to a per-user Startup loop when Task Scheduler registration is denied, while keeping heartbeat and hourly capture active after login."
    },
    {
      "version": "2026.05.01.3",
      "date": "2026-05-01",
      "status": "superseded",
      "summary": "Adds Device Hub package drift warnings, per-device collector visibility, active app/window snapshots and Git/project summaries as consent-based metadata collectors."
    },
    {
      "version": "2026.05.01.2",
      "date": "2026-05-01",
      "status": "superseded",
      "summary": "Adds visible package version manifest, installer/agent version stamping, website version backlog, uninstall/reinstall guidance and Apple package direction."
    },
    {
      "version": "2026.05.01.1",
      "date": "2026-05-01",
      "status": "superseded",
      "summary": "Enhanced consent-based device capture, distributed cadence, helper access commands, Chrome extension metadata and package README updates."
    },
    {
      "version": "2026.04.30.1",
      "date": "2026-04-30",
      "status": "superseded",
      "summary": "Initial one-click Windows, Linux and Android Termux device capture package with heartbeat, quick notes and basic auto-start."
    }
  ],
  "debug_queries": [
    "Open /device-package-manifest.json to confirm the website package version.",
    "Check Device Hub agent_version for installed device-agent package versions.",
    "Run ob-access status on an installed device to inspect local capture settings.",
    "Inspect ~/.config/openbrain/device.env or %LOCALAPPDATA%\\OpenBrain\\capture-consent.json for local package metadata."
  ]
}
