Skip to content

Blog

Version v0.1.81

This release focuses on improving caching and performance in CI workflows, fixing permission and duplication issues with Ollama model caching, enhancing test coverage for the Generate UI workflow, and resolving several bugs related to the CodeFeature plugin and Cypress tests.

New Features

  • Added tests for the interactive Generate UI on code nodes, including showing, canceling via button or Escape key, and generating code with mocked responses (50705f) (Eric Ma)
  • Enabled npm dependency caching in Cypress workflows to speed up CI by avoiding repeated npm installs (404267) (Eric Ma)

Bug Fixes

  • Fixed permission errors by caching only the Ollama models directory instead of the entire .ollama directory, preventing access issues with sensitive files (39837b) (Eric Ma)
  • Prevented duplicate Ollama model pulls in CI by checking if a model already exists before pulling, reducing redundant downloads (2413c3) (Eric Ma)
  • Improved Ollama cache setup with explicit directory creation and enhanced logging for cache hits/misses and directory sizes (161910) (Eric Ma)
  • Updated test_app_init to reflect CodeFeature migration by removing methods moved to the CodeFeature plugin, fixing CI test failures (07f71d) (Eric Ma)
  • Fixed multiple CodeFeature issues including syntax errors, command registration, API usage, null checks, micropip loading, and Cypress test selectors to ensure stability and correctness (32332d) (Eric Ma)

Deprecations

  • Removed duplicated /code command from BUILTIN_SLASH_COMMANDS as it is now managed by the CodeFeature plugin (32332d) (Eric Ma)

Version v0.1.80

This release focuses on improving the matrix plugin by fully encapsulating undo/redo logic within the plugin architecture, enhancing test coverage with new end-to-end tests, and refactoring clipboard copy functionality to be self-contained. Additionally, it introduces better plugin support for custom undo/redo handlers and improves test reliability and documentation.

New Features

  • Added plugin action handler registration to the undo manager, allowing plugins to own their undo/redo logic and handlers, with full integration in the matrix plugin (0be33c) (Eric Ma)
  • Added Cypress end-to-end tests for the matrix copy-to-clipboard keyboard shortcut, verifying copy functionality and guard conditions (2544a6) (Eric Ma)
  • Documented Cypress E2E test files and running patterns for UI and keyboard interaction testing in AGENTS.md (19ced7) (Eric Ma)
  • Refactored matrix undo/redo Cypress tests for improved determinism and reliability by mocking APIs and simplifying test cases (7c16e0) (Eric Ma)

Bug Fixes

  • Added Ollama health check step in the Cypress AI workflow to prevent test timeouts caused by service unavailability (0be33c7) (Eric Ma)

Deprecations

  • Removed matrix undo/redo logic from the core app.js, fully migrating it to the matrix plugin to follow plugin architecture principles (d643a1) (Eric Ma)
  • Removed legacy streamingMatrixCells state and external clipboard formatting utilities, replacing them with self-contained methods in the MatrixNode class (eaf6a8) (Eric Ma)

Version v0.1.79

This release focuses on improving the matrix plugin's undo/redo functionality by fully encapsulating its logic within the plugin architecture. It introduces a new plugin action handler registration mechanism in the UndoManager, refactors matrix undo/redo handling to use this mechanism, and enhances test reliability and determinism. Additionally, a fix was made to the Cypress AI workflow to ensure Ollama service readiness and prevent test timeouts.

New Features

  • Added plugin action handler registration to the UndoManager, allowing plugins to register and manage their own undo/redo handlers, and updated the MatrixFeature to use this mechanism directly for undo actions (760968) (Eric Ma)
  • Refactored matrix undo/redo logic by moving it from app.js into the matrix plugin, including new undo/redo handlers, removal of matrix-specific cases from core app code, added unit and Cypress tests, and updated documentation to reflect the plugin-based undo/redo pattern (73c30e) (Eric Ma)

Bug Fixes

  • Fixed Cypress AI workflow by adding an explicit health check for Ollama before pulling the model, preventing test timeouts due to Ollama service unavailability (eb952c) (Eric Ma)

Deprecations

  • Removed matrix undo/redo handling from app.js, delegating all related logic to the matrix plugin to follow the plugin architecture principle (73c30e) (Eric Ma)

Version v0.1.78

This release introduces comprehensive end-to-end testing for matrix creation and AI chat features using Cypress, along with significant improvements to the Cypress CI workflow and test infrastructure. The matrix functionality code has been refactored for better modularity and maintainability by moving it into a dedicated plugin. Several fixes enhance the reliability of the CI environment, including improved server readiness checks and streamlined dev server management. Additionally, numerous new Cypress test suites have been added to cover UI interactions such as undo/redo, settings modal, help modal, auto-layout, keyboard shortcuts, and canvas clearing, achieving full test coverage for core features.

New Features

  • Added comprehensive Cypress end-to-end tests for matrix creation, including UI interactions and semantic zoom behavior, using Ollama LLM calls tagged with @ai (c8d8ef) (Eric Ma)
  • Added Cypress E2E tests for AI chat interactions with Ollama gemma3n:e4b model, including multi-turn conversations and streaming (d3cb61) (Eric Ma)
  • Added Cypress test suites for undo/redo functionality, settings modal, help modal, auto-layout button, keyboard interactions (Enter and Shift+Enter), and new canvas clearing (f49be1, d81072, ea15bf, a2ced4, a842dc4, 388d18a) (Eric Ma)
  • Established Cypress E2E testing infrastructure with GitHub Actions workflow, localStorage and IndexedDB clearing, and basic canvas interaction tests (cba03a) (Eric Ma)

Bug Fixes

  • Refactored matrix-specific code from app.js into MatrixFeature plugin to eliminate duplication and improve separation of concerns (c14869) (Eric Ma)
  • Fixed Cypress CI failures by replacing fixed sleep with dynamic server health check, ensuring server readiness before tests run (f49be1) (Eric Ma)
  • Fixed Cypress CI by letting Cypress action manage dev server lifecycle, preventing premature server termination (b5e76e) (Eric Ma)
  • Fixed pixi installation in CI by switching to official GitHub Action, improving reliability (2af8344) (Eric Ma)
  • Fixed Cypress test selectors and interaction issues for stable test execution (6294ef2) (Eric Ma)
  • Updated Cypress workflow to specify explicit test spec files instead of config patterns, ensuring correct test execution (e77555) (Eric Ma)
  • Updated Cypress tests to use new Ollama model gemma3n:e4b for CI consistency (0694c6) (Eric Ma)
  • Improved Cypress workflow Docker setup by mounting Ollama volume and switching model pull to HTTP API (244f49) (Eric Ma)

Deprecations

  • Removed duplicate and unnecessary matrix formatting code from app.js and canvas.js in favor of utility imports (c14869) (Eric Ma)

Version v0.1.77

This release introduces support for Ollama image generation with local models, enhanced test coverage, improved documentation and JSDoc usage, and various code style and import fixes. It also refines the pre-commit hooks and clarifies type checking practices in the project.

New Features

  • Add support for generating images using local Ollama models via the /image slash command, including direct API calls, streaming JSON response parsing, and frontend model selector integration (b9ed67) (Eric Ma)
  • Add property-based unit tests and integration tests for Ollama image generation feature, including reusable fixtures and API contract validation (0d999a) (Eric Ma)
  • Add .jsdoc.json configuration file for JSDoc linter to enable new pre-commit hook (09a72b) (Eric Ma)

Bug Fixes

  • Fix incorrect import path for AppContext in image-generation plugin (e2f576) (Eric Ma)
  • Resolve multiple TypeScript errors in image-generation.js by fixing imports, removing incompatible type assertions, and cleaning up JSDoc comments (17e591) (Eric Ma)

Deprecations

  • Remove TypeScript type checking and JSDoc linter from pre-commit hooks and pixi tasks, leaving only JSDoc documentation generation (fc48a9) (Eric Ma)

Version v0.1.76

This release introduces improved image generation features, including better visibility of prompts and models used, along with enhanced testing for the image generation plugin. Additionally, the continuous integration workflow has been made more robust by adding a PyPI version check to prevent duplicate publishing errors and switching to the httpx library for HTTP requests.

New Features

  • Added a HUMAN node to the /image command that displays the user's prompt and the model used for image generation, improving traceability and consistency with other features (c349fc) (Eric Ma)
  • Added comprehensive tests for the image generation plugin, covering plugin loading, command routing, lifecycle hooks, node creation, and edge connections (771151) (Eric Ma)
  • Added a PyPI version check step in the auto-release workflow to prevent publishing duplicate versions and avoid workflow failures due to partial previous runs (c788fe) (Eric Ma)

Bug Fixes

  • Fixed the PyPI version check script to use the httpx library instead of requests, resolving a ModuleNotFoundError in the auto-release workflow (bd674f) (Eric Ma)
  • Fixed the CI command to include the --with httpx option in the uvx command for the PyPI version check (334c7a) (Eric Ma)

Deprecations

  • None

Version 0.1.74

This release focuses on improving the reliability of event handling in collaborative graph sessions and clarifies the project's merge strategy for better development practices.

New Features

  • Added documentation specifying that pull requests should be merged using the default merge strategy (not --squash) to preserve commit history for debugging and attribution. (c4dacf, Eric Ma)

Bug Fixes

  • Fixed an issue where graph event listeners were not re-attached when creating new sessions, which previously caused the "New Canvas" bug. Refactored event listener setup into a dedicated method and added both static and runtime regression tests to prevent this bug from recurring. (aeeec2, Eric Ma)

Deprecations

  • None in this release.

Version v0.1.75

This release prepares the groundwork for version v0.1.75, following the improvements made in v0.1.74. It includes version bumps and updates to lock files to ensure consistency and reliability in dependencies.

New Features

  • No new features were added in this release.

Bug Fixes

  • No bug fixes were included in this release.

Deprecations

  • No deprecations were introduced in this release.

Version v0.1.73

This release introduces a new API endpoint to generate concise and descriptive session titles based on conversation content. It also includes updates to dependencies and adds tests to ensure the robustness of the new feature.

New Features

  • Added a new /api/generate-title endpoint that creates short, relevant, and well-formatted session titles from conversation data (e58911) (github-actions)

Bug Fixes

  • No bug fixes in this release.

Deprecations

  • No deprecations in this release.

Version v0.1.72

This release improves the text highlighting functionality by introducing a dedicated plugin to better manage highlight features and fixes a regression that broke the highlight and reply workflow.

New Features

  • Created a HighlightFeature plugin to encapsulate and manage text highlighting functionality (953006) (Eric Ma)

Bug Fixes

  • Fixed a regression where the highlight and reply workflow was broken due to a missing function error by moving highlightSourceTextInParent into the new plugin and properly registering event handlers (953006) (Eric Ma)

Deprecations

  • None