Skip to content

Blog

Version 0.1.16

This release introduces a major refactor implementing a Node Protocol Pattern to centralize node-type-specific behaviors, improving code maintainability and extensibility. It also adds comprehensive automated UI testing using jsdom, enhances CI workflows to use a new environment setup tool called pixi, and cleans up test code to use real implementations and eliminate duplication. Several bug fixes improve ES module compatibility and test reliability.

New Features

  • Implement Node Protocol Pattern to centralize type-specific node behaviors, replacing scattered type checks with protocol classes and improving extensibility (135f08) (Eric Ma)
  • Add comprehensive automated UI testing using jsdom, covering error formatting, message building, zoom classes, node creation, BM25 search algorithm, and DOM manipulation (2e2924) (Eric Ma)
  • Use pixi as the single source of truth for test commands and migrate CI workflows to use prefix-dev/setup-pixi for environment setup and test execution (f92edc, 10baff) (Eric Ma)
  • Extract and export pure utility functions for testing, eliminating ~200 lines of duplicated test code and ensuring tests use real implementations (4230f3) (Eric Ma)
  • Add documentation explaining pixi as the canonical source for test commands and update related files accordingly (13fa37) (Eric Ma)

Bug Fixes

  • Fix ES module compatibility issues in test_utils.js by converting require() to ES module imports and correcting mocks and test expectations (b7f0c5) (Eric Ma)
  • Fix duplicate test scripts and ensure tests use real implementations instead of stale copies to catch production bugs (e9dda2) (Eric Ma)
  • Reorder imports in test_utils.js to improve code organization (bc7a0d) (Eric Ma)
  • Remove unused SCROLLABLE_NODE_TYPES array from tests as it is no longer needed (7d2635) (Eric Ma)
  • Address various PR review comments including adding null checks, improving guards, caching, and removing unused variables (d1dd17) (Eric Ma)

Deprecations

  • Remove scripts/test-js.sh as test commands are now unified under pixi and pyproject.toml (390905) (Eric Ma)

Version 0.1.15

This release introduces comprehensive automated UI testing using jsdom, enhancing test coverage for UI logic without relying on external APIs or browsers. Additionally, the continuous integration workflow has been improved to install npm dependencies and run tests via npm, streamlining the testing process.

New Features

  • Added extensive automated UI tests covering error formatting, message building, zoom classes, node creation, BM25 search algorithm, and DOM manipulation using jsdom simulation. This enables reliable UI testing without external dependencies or browsers. (adf119) (Eric Ma)
  • Updated CI workflow to install npm dependencies and run tests through npm commands, improving test automation and dependency management. (8772c0) (Eric Ma)

Bug Fixes

  • None

Deprecations

  • None

Version 0.1.14

This release improves the node resizing behavior by fixing several bugs related to height and width adjustments. It also introduces a reset button to restore nodes to their default size and adds keyboard shortcut hints for better usability. Additionally, text wrapping and scrollbars now respond correctly to width changes.

New Features

  • Added a reset-to-default-size button (↺) in the node header to quickly restore node size (8a9f98) (Eric Ma)
  • Added keyboard shortcut hints (r) and (c) to the Reply and Copy buttons for easier access (8a9f98) (Eric Ma)

Bug Fixes

  • Fixed bug where dragging the bottom border upward made nodes taller instead of shorter (8a9f98) (Eric Ma)
  • Fixed bug where resizing width caused height to grow unexpectedly (8a9f98) (Eric Ma)
  • Allowed height to shrink freely with scrollable content when manually resized (8a9f98) (Eric Ma)
  • Width changes now cause text wrapping with scrollbars for overflow (8a9f98) (Eric Ma)

Deprecations

  • None

Version 0.1.13

This release improves the math rendering capabilities in markdown by switching to a more robust approach using KaTeX directly. It fixes issues with math delimiters being altered during markdown processing and enhances debugging and configuration for consistent math display across all node types. Documentation has also been updated to reflect these improvements.

New Features

  • Add LaTeX math rendering support with KaTeX, supporting multiple math delimiters and automatic rendering in all node types (7f8fc6) (Eric Ma)
  • Add documentation for math rendering support in README and PDF import docs (b357cf) (Eric Ma)
  • Add debug logging to help diagnose math rendering issues (3d822c) (Eric Ma)

Bug Fixes

  • Fix math rendering by using HTML comment placeholders instead of underscores to prevent markdown formatting issues (ecf402) (Eric Ma)
  • Fix math rendering by protecting math delimiters from markdown backslash escaping (743912) (Eric Ma)
  • Fix math rendering by configuring marked.js once at initialization to ensure KaTeX extension is properly applied (01093c) (Eric Ma)
  • Fix math rendering by replacing marked-katex-extension with direct KaTeX rendering to avoid backslash processing issues (db67b6) (Eric Ma)
  • Fix markdownlint errors by adjusting heading levels in release notes (9ea73a) (Eric Ma)

Deprecations

  • None

Version 0.1.12

This release focuses on significant improvements to documentation coverage, enhanced linting and code quality enforcement, and updates to the CI/CD workflow. It also includes important fixes to markdown formatting and pre-commit hook usage policies to ensure consistent code quality and developer experience.

New Features

  • Added comprehensive how-to guides for key features such as web search, deep research, multi-LLM consultation, and conversation branching, following the Diataxis documentation framework (1aad9d) (Claude)
  • Introduced detailed reference and explanation documentation covering keyboard shortcuts and committee architecture design decisions (1aad9d) (Claude)
  • Added a documentation audit report analyzing coverage and identifying gaps, with prioritized recommendations for missing content (874c25) (Claude)
  • Created new image analysis documentation and expanded README with new commands and configuration details (67ac08) (Eric Ma)
  • Added linting checks to the CI/CD workflow with automated runs on pull requests and main branch, including Python linting and formatting via ruff (37bff4) (Eric Ma)
  • Added markdownlint-cli2 pre-commit hook with auto-fix capabilities and simplified markdownlint configuration to improve documentation quality (274374) (Eric Ma)
  • Added a clear rule in AGENTS.md forbidding the use of --no-verify flag to ensure pre-commit hooks always run (7b076f) (Eric Ma)

Bug Fixes

  • Fixed markdownlint issues across all documentation including table formatting, URL links, heading levels, and emphasis styles (3f1b58) (Eric Ma)
  • Resolved all linting issues in codebase, including line length, unused variables, exception handling, and formatting, ensuring all pre-commit hooks pass (16bd86, 567bd3) (Eric Ma)
  • Updated canvas-chat package hash in pixi.lock to maintain dependency integrity (e9ff80) (Eric Ma)
  • Corrected stale line number references and added production URLs in AGENTS.md (67ac08) (Eric Ma)

Deprecations

  • None in this release

Version 0.1.11

This release improves the continuous integration (CI) workflow by enhancing security and reliability when commenting on pull requests, adds health checks for Ollama readiness, and introduces a new CLI based on Typer. It also updates dependencies and improves reporting of deployment URLs.

New Features

  • Added health checks including Ollama readiness endpoint at /health (a882ec) (Eric Ma)
  • Switched CLI to use Typer and added a CLI entrypoint for better command-line experience (63c615) (Eric Ma)
  • Report Modal deployment URL to GitHub Actions summary and pull request comments for easier access (63c615) (Eric Ma)
  • Added permissions for Issues and Pull Requests in CI to allow the bot to comment safely (aef258) (Eric Ma)
  • Moved pull request comment job to use pull_request_target event for safer commenting (a882ec) (Eric Ma)

Bug Fixes

  • Fixed CI to use pull_request_target event name in conditionals and correctly check out the pull request head (b270a9) (Eric Ma)
  • Reverted change to use pull_request trigger instead of pull_request_target to maintain security (253452) (Eric Ma)

Deprecations

  • None

Version 0.1.10

This release introduces support for image nodes, enabling users to upload, drag & drop, and paste images directly into the application. It also adds multimodal message capabilities for vision-enabled language models, along with helpful canvas hints to guide users. Several bugs related to image node copying, note linking, and summary generation have been fixed to improve overall stability and user experience.

New Features

  • Added IMAGE node type with upload, drag & drop, and paste support (06f8cb) (Eric Ma)
  • Enabled multimodal message support for vision-capable language models (06f8cb) (Eric Ma)
  • Added image extraction from node content via click tooltip (06f8cb) (Eric Ma)
  • Added canvas hint notifications to guide users (06f8cb) (Eric Ma)

Bug Fixes

  • Fixed image node copy operation which was previously a no-op due to empty content (06f8cb) (Eric Ma)
  • Fixed /note command to correctly link to selected parent nodes (06f8cb) (Eric Ma)
  • Fixed empty summary fallback when the language model returns blank content (06f8cb) (Eric Ma)

Deprecations

  • None

Version 0.1.9

This release introduces improvements to the Modal environment setup for better compatibility and usability, along with a new prompt to help new users set up their API keys.

New Features

  • Show an API key setup prompt in the empty state to assist new users in getting started (934472) (Eric Ma)
  • Add a new 'modal' environment using pixi with Python 3.11 to improve Modal compatibility (57418f) (Eric Ma)
  • Include a README.md file in the Modal image to support hatchling builds (dd561c) (Eric Ma)

Bug Fixes

  • Fix Modal build process by installing curl and using copy=True for local files to ensure proper setup (37795f) (Eric Ma)

Deprecations

  • Revert from manual pip_install to using pixi for the Modal environment, streamlining dependency management (7d03da, 0528c0) (Eric Ma)

Version 0.1.8

This version introduces the ability to upload and import PDF files with text extraction, along with improvements to touch interactions on nodes. It also includes new tests and documentation to support these features.

New Features

  • Added PDF upload and text extraction support with a 25MB size limit, allowing import via URL, paperclip upload, and drag & drop. Introduced a new PDF node type with distinct styling and a warning banner. (af9ff7) (Eric Ma)
  • Added Python tests for PDF-related models and JavaScript tests for PDF URL detection. (af9ff7) (Eric Ma)
  • Added documentation explaining how to import PDFs. (af9ff7) (Eric Ma)

Bug Fixes

  • Fixed pinch-to-zoom not working when zooming out over nodes. (af9ff7) (Eric Ma)
  • Fixed two-finger scroll on nodes causing unintended canvas panning. (af9ff7) (Eric Ma)
  • Prevented scroll chaining by adding overscroll-behavior containment. (af9ff7) (Eric Ma)

Deprecations

  • None

Version 0.1.7

This version introduces enhanced testing for graph and matrix functionalities, new UI improvements including a matrix stop button and in-app modals, and several bug fixes to improve user experience and session handling.

New Features

  • Added comprehensive tests for Graph.isEmpty() and matrix cell tracking to ensure robustness and prevent regressions (24c719) (Eric Ma)
  • Introduced a stop button for matrix cell fill operations, improved streaming cell tracking, and replaced browser dialogs with in-app modals for better user interaction (3a4aeb) (Eric Ma)
  • Added an Edit Title modal for node title editing and CSS tooltips on node summaries for better information disclosure (3a4aeb) (Eric Ma)

Bug Fixes

  • Fixed welcome message not hiding when loading an existing session and removed blocking confirm() calls when browser dialogs are disabled (3a4aeb) (Eric Ma)

Deprecations

  • None