github canvascoding/canvas-notebook v2026.11.6.3
Canvas Notebook 2026.11.6.3

2 hours ago

Fixed

  • Resume previously accepted rich-text migrations before native session admission, so reopening a document can recover the original operation instead of getting stuck behind its own reservation. Pending migrations retain a receipt without issuing an editor ticket.
  • Recover only the current authorized writer's matching operation, preserving document identity and byte-exact original Yjs backups. Explicit Source requests and another user's operation remain protected.
  • Open supported email-autolink and mixed task/plain-list Markdown through the existing guarded formatted-editing upgrade, preserving link targets, text and checkbox states.
  • Keep filesystem scans outside short authorization transactions in large MCP file previews. Each phase still checks current authority and execution requires matching complete source observations.
  • Publish typed nested edit/operation arguments through MCP schema adapters.
  • Request only the required OAuth scopes in the Python SDK read example.

Changed

  • Manage revocable, workspace-scoped API keys in Settings for programmatic access through the REST API and Python SDK.

  • Pin signed Debian package sources to a fixed official snapshot so changing live indexes cannot break release image builds.

  • Use full UTC cutoff addresses verified on both GitHub architectures, preserving the reviewed package-index hashes.

  • Fetch exact package bytes from official Debian pools with authenticated SHA-256 and size checks; retain bounded archival fallback. Reuse a signed frozen local build mirror across stages, retain expiry/signature/index checks, and restore canonical sources in the runtime image.

  • Retry transient Apple ticket transport failures against the same signed artifact and retain a source-bound, flat desktop artifact layout.

  • Co-read native session metadata and transport binding. At the measured transport-change product revision 9f109fe5e, the compiled session comparison used 274 SQL calls instead of the prior release's 322, at both ten and 200 uploaded documents. Later shared-source changes require separate final performance measurements.

Verification

  • The compiled runtime is commit 0c67bce200f45011f91432b2684b05ec910909e0. Final acceptance uses the test-only correction 5309898213218ad5c49427fd88eff3fae70170d5 from PR #222; its three changed test files do not alter runtime code or dependencies. The guarded check accepts a pending HTTP 503 only after prompt same-client, same-request, same-identity completion without an early ticket. All other errors remain failures.

  • Complete local release verification, strict license gate, production build and CLI update/rollback tests passed.

  • Both architecture builds and native API/installed SDK CI passed on the exact release commit, including Python 3.10 and 3.15.

  • Focused desktop/mobile mailto migration and reload acceptance passed without skips or retries. The final image also passed actual link-index completion and full native source coverage at ten and 200 uploaded documents.

  • The three previously stuck test-document migrations recovered through normal browser opens, using their original request IDs, with byte-exact old-state backups, preserved document/lineage identity and semantically identical rich content after reload.

  • Four API-key browser cases passed against the exact release image. The regular browser suite finished with 373 passed and 102 deliberate skips, including 40/40 required collaboration cases.

Don't miss a new canvas-notebook release

NewReleases is sending notifications on new releases.