Skip to content

Blog

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

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.