Skip to content

Blog

Version v0.1.71

This release introduces the ability to render images directly within the git repository node drawer. It supports a variety of image formats, including PNG, JPG, GIF, WebP, BMP, ICO, and SVG, enhancing the visual representation of image files in the file tree and output panels.

New Features

  • Render images in the git repo node drawer with support for multiple image formats, including resizing and sanitization for safe display (6542f0) (Eric Ma)

Bug Fixes

  • None

Deprecations

  • None

Version v0.1.70

This release introduces progressive TypeScript migration for the codebase, starting with converting tests and utility modules to TypeScript. The test runner now supports running both JavaScript and TypeScript test files seamlessly. Additionally, the event-driven tag system was improved to auto-apply tags to selected nodes and ensure proper re-rendering on tag changes. Documentation was updated to guide contributors on TypeScript usage and type checking requirements.

New Features

  • Converted tests to TypeScript with full type annotations and updated test runner to support .ts files using tsx, enabling incremental migration and better type safety (f69ae3) (Eric Ma)
  • Added TypeScript support for model-utils.ts with type-safe function signatures and updated test imports accordingly (e49a95) (Eric Ma)
  • Enhanced tag system to auto-apply new tags to selected nodes, preserve selection during tag operations, and trigger proper re-rendering on tag changes using an event-driven pattern (06f2c4) (Eric Ma)
  • Documented TypeScript type checking requirements for new .ts files in contributor guidelines (86d47a) (Eric Ma)

Bug Fixes

  • Reverted premature TypeScript conversion of model-utils.js to maintain test compatibility until test infrastructure supports .ts imports (0c3d5f) (Eric Ma)

Deprecations

  • None

Version v0.1.69

This release introduces comprehensive TypeScript type checking to the JavaScript codebase, improving code quality and developer experience. It includes tooling, documentation, and incremental migration guidance to facilitate a smooth transition towards stronger typing.

New Features

  • Added TypeScript as a development dependency and enabled strict type checking on JavaScript files using the checkJs option in tsconfig.json. This ensures better type safety without fully converting files to TypeScript. (26cfcb) (github-actions)
  • Introduced npm and pixi scripts (npm run typecheck, pixi run typecheck) to run the type checking process easily from the command line. (26cfcb) (github-actions)
  • Documented the type checking workflow, annotation patterns, and recommended migration order in AGENTS.md to guide contributors on incrementally migrating JavaScript files to TypeScript. (296fa9) (Eric Ma)
  • Added JSDoc type annotations to layout.js to improve type safety and IDE support while maintaining JavaScript syntax. (26cfcb) (github-actions)
  • Updated tests to use node objects with id fields, aligning with the new type definitions for consistency. (26cfcb) (github-actions)

Bug Fixes

  • None in this release.

Deprecations

  • None in this release.

Version v0.1.68

This release introduces a new feature flag to control GitHub Copilot integration in the chat, enhancing security and configurability. It also improves environment variable management by using secrets, adds documentation to prevent direct deployment to Modal, and fixes a test related to model loading.

New Features

  • Add a feature flag CANVAS_CHAT_ENABLE_GITHUB_COPILOT to enable or disable GitHub Copilot in the chat, including backend checks, frontend UI updates, and API support for feature flags (7e573f) (Eric Ma)
  • Use modal.Secret for managing the CANVAS_CHAT_ENABLE_GITHUB_COPILOT environment variable to improve security and manageability over .env() usage (d59e45) (Eric Ma)
  • Add a rule in documentation to never deploy directly to Modal, improving deployment safety (e83b9c) (Eric Ma)

Bug Fixes

  • Fix test setup by correctly setting copilotEnabled to ensure the loadModels test passes (40d1b7) (Eric Ma)

Deprecations

  • None

Version v0.1.67

This release introduces significant improvements to plugin architecture, user experience enhancements like auto-zoom on node creation, and better modularization of features and endpoints. It also includes numerous bug fixes, enhanced testing coverage, and documentation updates to support these changes.

New Features

  • Plugins now automatically trigger auto-zoom when adding nodes by wrapping graph.addNode, simplifying plugin development and improving UX (3d4c0a) (Eric Ma)
  • Added addUserNode() helper and _userNodeCreation flag to track user-initiated node creation and trigger auto-zoom in various node creation flows (6feab6) (Eric Ma)
  • CodeFeature is now fully self-contained, registering its modal and event handlers internally with support for Shift+A shortcut for AI code generation (e31c67) (Eric Ma)
  • CSV nodes implement an analyze() method to create linked Code nodes directly, moving CSV→Code coupling into the node protocol (dad055) (Eric Ma)
  • Feature plugins (Matrix, Committee, Factcheck, Flashcard) now register their modal event handlers internally, removing tight coupling with App.js (97de39) (Eric Ma)
  • ModalManager adds setupCanvasEventListeners() to handle modal-related canvas events, further modularizing event handling (944f85) (Eric Ma)
  • FeatureRegistry gains getAllFeatures() method to return all registered features for bulk operations (7311fc) (Eric Ma)
  • Extracted model utilities (getApiKeyForModel, getBaseUrlForModel) into model-utils.js for better plugin reusability and separation of concerns (48191a) (Eric Ma)
  • Added Clear All button to matrix evaluation UI to reset all cells, with guards to prevent double-generation bugs (cd861a) (Eric Ma)
  • Extracted /api/generate-code and /api/parse-two-lists endpoints into dedicated Python plugins for cleaner app.py and better modularity (3fcf74, 1158ba) (Eric Ma)
  • Added regression and unit tests for auto-zoom, canvas event handler registration, and SSE stream parsing to improve test coverage and prevent regressions (405f78, 36bdc6, e75678, 89fd63) (Eric Ma)

Bug Fixes

  • Fixed Generate button and Enter key event handlers in Code node AI modal to correctly trigger code generation (d99078, 7b4b86, 7b4b86, 7b4b86) (Eric Ma)
  • Fixed duplicate canvas event handler registrations causing duplicate flashcard generation and double matrix fills by removing redundant calls (b9546d, 8b5708) (Eric Ma)
  • Fixed handleSend to generate AI responses when sending messages in chat, matching reply behavior (25c0e6) (Eric Ma)
  • Fixed lazy initialization of graph.addNode wrapper to avoid errors when app.graph is not yet initialized (02c860) (Eric Ma)
  • Fixed chat.sendMessage() to properly call onChunk, onDone, and onError callbacks to unblock callers (05a31e) (Eric Ma)
  • Fixed missing /api/matrix/fill endpoint registration with SSE streaming support and removed duplicate MatrixFillRequest class (c135b0) (Eric Ma)
  • Fixed normalizeText bug in SSE parsing that mishandled spaces after apostrophes (e.g., "don ' t" → "don't") (89fd63) (Eric Ma)
  • Fixed import aliasing and NodeType references, restored missing onLoad method in SimpleTestPlugin, and added JSDoc @returns annotations to improve code quality (1d3ac7) (Eric Ma)
  • Fixed factcheck.js to use chat.sendMessage() instead of non-existent sendMessageNonStreaming (732e8a) (Eric Ma)
  • Fixed committee persona suggestions to add cancel button with AbortController and proper spinner UI (cdea19) (Eric Ma)

Deprecations

  • Removed typed feature getters from App class in favor of accessing features via FeatureRegistry to ensure single-instance usage and eliminate dual-instance bugs (a2111d) (Eric Ma)
  • Removed registerFeatureCanvasHandlers() method and its calls to prevent redundant event handler registrations (b9546d, 8b5708) (Eric Ma)

Version v0.1.66

This release focuses on improving the plugin architecture by refactoring model-related utilities into a dedicated module. This change enhances code modularity and separation of concerns, making it easier for plugins to reuse model utilities without depending on the chat module. Additionally, some cleanup was performed by removing an obsolete test file.

New Features

  • Extracted model utility functions (getApiKeyForModel and getBaseUrlForModel) into a new module model-utils.js to improve plugin reusability and separation of concerns (5945cd) (Eric Ma)

Bug Fixes

  • Removed leftover test file test-expire-auth.js that was no longer needed after debugging (5945cd) (Eric Ma)

Deprecations

  • None

Version v0.1.64

This version introduces a new AI-powered image generation feature accessible via the /image command, enhancing the user experience with creative visual content generation.

New Features

  • Added AI image generation capability using the /image command (b9eee3) (Eric Ma)

Bug Fixes

  • None

Deprecations

  • None

Version v0.1.65

This release introduces a new feature that improves user experience by prompting for reauthentication when Copilot sessions expire.

New Features

  • Prompt users to reauthenticate when their Copilot sessions have expired (b766d0) (Eric Ma)

Bug Fixes

  • No bug fixes in this release.

Deprecations

  • No deprecations in this release.

Version v0.1.63

This release focuses on improving request routing for Copilot and fixing an issue with duplicate summarize nodes to enhance stability and performance.

New Features

  • Route Copilot requests through an OpenAI-compatible API to improve integration and compatibility (e8a5a0) (Eric Ma)

Bug Fixes

  • Prevent duplicate summarize nodes to avoid redundant processing and potential errors (09a12c) (Eric Ma)

Deprecations

  • None

Version v0.1.62

This release introduces a new authentication flow for Copilot along with comprehensive tests to ensure reliability. Additionally, the plugin development documentation has been extensively rewritten and expanded to provide a complete guide with examples, covering all plugin levels, configuration formats, and file loading mechanisms.

New Features

  • Added a Copilot authentication flow with accompanying tests to improve security and user experience (0c2157) (Eric Ma)
  • Published a comprehensive plugin development guide, including architecture overview, detailed explanations of plugin types, configuration formats, and practical examples with AI prompts (171b22) (Eric Ma)

Bug Fixes

  • None

Deprecations

  • None