Skip to content

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)