Skip to content

Blog

Version v0.1.56

This release improves the code node scrolling behavior and execution state visualization, enhances the auto-release workflow reliability, and refines the UI styling for running and self-healing code nodes. It also fixes issues with the release notes generation process and output panel positioning in viewport-fitted mode.

New Features

  • Extracted a utility function to find the actual scrollable container in code nodes, improving scrolling accuracy and robustness with comprehensive tests (1d2807) (Eric Ma)
  • Changed running code indicator to a pulsing border animation for a more subtle and distinctive visual effect (c135f6) (Eric Ma)

Bug Fixes

  • Fixed auto-release workflow failure by adding the required 'v' prefix to the version flag for llamabot, ensuring release notes are generated correctly (f56fd2) (Eric Ma)
  • Fixed code node scrolling by removing conflicting flex constraints and letting the parent container handle scrolling properly (206990) (Eric Ma)
  • Fixed code node output panel positioning and scrolling in viewport-fitted mode for better UI behavior (773047) (github-actions)
  • Fixed code execution state visualization by changing the indicator from a blue banner to a header color, ensuring visibility regardless of scroll position (78cbe2) (Eric Ma)
  • Fixed CSS and JS to improve code-display scrolling and execution state styling, including pulse animations and color adjustments (f6051b) (Eric Ma)
  • Fixed release notes generation to explicitly pass the version flag to llamabot, preventing incorrect version inference (905ff2) (Eric Ma)
  • Addressed Copilot review comments by removing redundant CSS rules and improving scroll container detection with Set deduplication (dc33e1) (Eric Ma)

Deprecations

  • Removed unused pulse-border animation in favor of pulse animation for header backgrounds (f6051b) (Eric Ma)

Version 0.1.54

This release focuses on fixing a critical bug related to edge positioning during node resizing, improving test coverage to prevent regressions, and updating dependencies.

New Features

  • Added comprehensive regression tests to ensure edge positions remain stable when nodes are resized or moved, including multiple edges and floating point tolerance comparisons (df182a) (Eric Ma)

Bug Fixes

  • Fixed edge position jumps during node resize by ensuring the current node position is read from the DOM wrapper instead of using stale cached data, preventing edges from snapping incorrectly (df182a) (Eric Ma)

Deprecations

  • None

Version 0.1.53

This release introduces a major enhancement with the complete migration to a 3-level plugin architecture. This new system enables community contributions and extensibility through custom node types, feature plugins for complex workflows, and extension hooks to modify existing behaviors. The update maintains full backward compatibility with no breaking changes and includes comprehensive documentation and thorough testing.

New Features

  • Complete implementation of a 3-level plugin architecture supporting custom node types, feature plugins, and extension hooks for enhanced extensibility and community contributions (0b8738) (Eric Ma)

Bug Fixes

  • None

Deprecations

  • None

Version 0.1.52

This release includes important bug fixes to improve the user interface during auto-layout animations and enhancements to the documentation deployment process to ensure more reliable and timely updates.

New Features

  • Added comprehensive regression tests to ensure output panels stay attached to their parent nodes during layout animations (3be0db) (Eric Ma)

Bug Fixes

  • Fixed output drawer panels staying detached during auto-layout animations by updating their positions alongside parent nodes (3be0db) (Eric Ma)
  • Changed documentation deployment to use a scheduled daily run instead of a workflow trigger, avoiding GitHub token permission issues and ensuring docs are published within 24 hours of a release (e44b09) (Eric Ma)
  • Updated docs workflow to use a Personal Access Token (PAT) for automatic triggering, replacing the broken GitHub token trigger and improving automation reliability (2cc1e2) (Eric Ma)

Deprecations

  • Removed the broken 'gh workflow run' step from the auto-release process due to GitHub token restrictions (e44b09) (Eric Ma)

Version 0.1.51

This release introduces a major improvement in query refinement by implementing structured generation with enhanced reliability and validation. It also includes important bug fixes related to module imports, scrolling behavior, and query handling, as well as documentation updates to enforce ES module usage and improve release note deployment.

New Features

  • Implement structured generation for query refinement using a Pydantic model to ensure consistent, validated JSON output and remove parsing errors. This adds multiple fallback layers and eliminates unwanted formatting or extra text in responses. (9d0757) (Eric Ma)
  • Add a regression test suite to verify that all core modules import correctly without relying on global window variables, preventing future module dependency issues. (f93178) (Eric Ma)

Bug Fixes

  • Prevent empty refined queries from overwriting original user queries in both search and research commands, ensuring user instructions are preserved and providing graceful fallback when refinements are empty. (4d4adc) (Eric Ma)
  • Replace all uses of window.layoutUtils with proper ES module imports to fix crashes (e.g., in the /note command) and improve module dependency management. (daf8a2) (Eric Ma)
  • Enable scrolling inside code nodes by updating event handlers and CSS styles, fixing issues where long code blocks could not be scrolled. (e1387a) (Eric Ma)
  • Fix blog post ordering by including full timestamps in release note frontmatter, ensuring correct chronological sorting even when multiple releases occur on the same day. (89efe8) (Eric Ma)
  • Trigger documentation deployment automatically after releases by adding manual workflow dispatch and updating GitHub Actions workflows to overcome security limitations. (ca9304) (Eric Ma)

Deprecations

  • Update architecture guide to mandate exclusive use of ES modules, removing outdated gradual migration advice and discouraging use of global window variables with clear refactoring guidance. (6d7fd9) (Eric Ma)

Version 0.1.50

This release focuses on enhancing the self-healing functionality with improved test coverage and code quality. It introduces comprehensive unit tests for self-healing code generation and refactors existing tests to follow DRY principles, improving maintainability and readability.

New Features

  • Added unit tests to verify self-healing code generation, including method bindings, node state rendering, and error handling logic (f9a73c) (Eric Ma)
  • Refactored self-healing tests by extracting common helpers, adding edge case coverage, and documenting self-healing behavior (4c714d) (Eric Ma)

Bug Fixes

  • None

Deprecations

  • None

Version 0.1.49

This release improves the AI code generation feature by ensuring that content from PDF nodes is properly included in the context sent to the language model. This results in more accurate and relevant code generation based on the content of PDF documents. Additionally, backend limits on message size and count have been removed to accommodate large PDF content.

New Features

  • Added test coverage to verify PDF nodes are included in code generation context with correct role mapping (1fb473) (Eric Ma)

Bug Fixes

  • Include PDF node content in the code generation context by updating ancestor context filters on the frontend and removing message truncation and limits on the backend (1fb473) (Eric Ma)

Deprecations

  • None

Version 0.1.48

This release improves the release notes management by migrating to a blog plugin for better organization and navigation. It also enhances the code-style workflow performance with caching, fixes a loading race condition in the SlashCommandMenu, and keeps dependency lock files in sync during releases.

New Features

  • Migrated release notes to use the MkDocs Material blog plugin, enabling auto-generated indexes, archive pages, pagination, and clean URLs for easier browsing of release history (6171fc) (Eric Ma)
  • Added caching to pre-commit hooks in the code-style workflow to speed up CI runs by avoiding reinstalling unchanged hooks (fed1df) (Eric Ma)

Bug Fixes

  • Fixed a race condition causing the SlashCommandMenu to fail loading on first access by adding an explicit script tag; also ensured pixi.lock is synchronized with pyproject.toml during auto-release (681d5f) (Eric Ma)

Deprecations

  • None

Version 0.1.47

This release introduces a major new plugin system that allows developers to extend the app with custom node types and slash commands, improving extensibility and user interaction. The codebase has been fully converted to ES modules for modern JavaScript standards, and the app's architecture has been refactored to use event-driven patterns for better maintainability. Additionally, comprehensive tests and developer documentation have been added to support plugin development and ensure stability.

New Features

  • Added a plugin system with configuration-based loading, enabling dynamic injection and registration of custom node types from external JavaScript modules. This allows developers to easily create and load plugins via a config file and CLI flags. (84dc2b) (Eric Ma)
  • Introduced slash command support in the plugin system, allowing plugins to register commands like /poll for natural and interactive node creation directly from the input. (223916) (Eric Ma)
  • Added app.createAndAddNode() helper method to simplify creating and rendering plugin nodes from the browser console or other sources. (80c3d9) (Eric Ma)
  • Refactored the app to use an event emitter pattern for graph changes, emitting events like nodeAdded and nodeRemoved to decouple graph logic from UI updates and improve maintainability. (8b37ad) (Eric Ma)
  • Implemented automatic canvas rendering on nodeAdded events, eliminating the need for manual render calls and preventing rendering bugs. (0146c7) (Eric Ma)
  • Converted the entire JavaScript codebase and tests to use ES module syntax exclusively, modernizing the code and improving module management. (db948c) (Eric Ma)
  • Added comprehensive tests for the plugin system, covering plugin loading, registration, and node behavior, along with updated developer documentation and testing instructions. (14458d) (Eric Ma)

Bug Fixes

  • Fixed the poll plugin by adding missing event handlers for poll actions (voting, adding options, resetting votes), enabling full end-to-end functionality. (14f9b4) (Eric Ma)
  • Corrected the release process to create the Git tag before writing release notes, ensuring the correct version is used and preventing release note misplacement. (118be9) (Eric Ma)
  • Added missing canvas.renderNode() call in createAndAddNode() to ensure nodes are visually rendered after creation. (791333) (Eric Ma)
  • Fixed test method names to match actual App and ModalManager APIs, resolving test failures and improving test accuracy. (82728d) (Eric Ma)
  • Verified release notes file existence before creating GitHub release to prevent workflow failures due to missing files. (0fc95b) (Eric Ma)
  • Completed ES module conversion for all tests, removing legacy import patterns and ensuring consistent module usage. (3188f2) (Eric Ma)

Deprecations

  • Renamed CLI command from main to launch for clearer intent; the old main command remains as a deprecated alias with a warning. (b9cac2) (Eric Ma)

Version 0.1.47

This release focuses on major codebase refactoring for improved maintainability, enhanced test coverage for event binding safety, and workflow improvements to ensure atomic versioning and dependency updates. Several bug fixes address event listener issues after recent modularization.

New Features

  • Extracted major components from app.js into dedicated modules: UndoManager, SlashCommandMenu, modal handlers, and file upload handlers. This reduces the size of app.js by 16.5% and improves code organization and maintainability. (c3415d, Eric Ma)
  • Added integration tests to ensure event listeners are safely bound to methods, preventing undefined method references during refactoring. Introduced reusable test helpers and documented testing patterns. (c89aa7, Eric Ma)

Bug Fixes

  • Updated event listeners for node title, content, and code editing to correctly use methods from the new modal manager, fixing issues caused by recent refactoring. (ac1e7d, Eric Ma)
  • Refactored the auto-release workflow to combine version bump, release notes, and lockfile updates into a single commit, ensuring pyproject.toml and pixi.lock remain in sync and preventing pre-commit failures. (77e3f0, Eric Ma)

Deprecations

  • No deprecations in this release.