Skip to content

Blog

Version 0.1.38

This release introduces a new admin mode designed for enterprise deployments, enabling server-side API key management and enhanced security. It also includes a bug fix to ensure proper dependency management for the Modal image in admin mode.

New Features

  • Added an admin mode for enterprise deployments that supports server-side API key management. This includes a new AdminConfig class for loading configuration and credentials, a CLI flag to enable admin mode, an API endpoint for frontend detection, credential injection into LLM endpoints, frontend UI updates to hide sensitive sections, centralized request building, comprehensive unit tests, and updated documentation. (56fcb8) (Eric Ma)

Bug Fixes

  • Added the missing ruamel.yaml dependency to the Modal image to support admin mode functionality. (e280e5) (Eric Ma)

Deprecations

  • None

Version 0.1.37

This release focuses on enhancing the user experience during package installation and code execution. It introduces smooth, real-time installation progress updates within an output drawer, improves UI responsiveness by eliminating blocking animations, and adds AI-augmented code generation with DataFrame introspection. Additionally, Pyodide is preloaded for faster execution, and various fixes improve canvas interaction and drawer behavior.

New Features

  • Show installation progress in the output drawer with smooth animations, including auto-expand/collapse and dedicated styling for progress messages (d32a87) (Eric Ma)
  • Surface package installation progress in real-time within code nodes, showing which packages are being installed and from which source (4520c4) (Eric Ma)
  • Improve package installation with better error handling, clearer feedback, and emoji indicators for progress (c551db) (Eric Ma)
  • Add AI-augmented code generation with DataFrame introspection, including a new /code command, inline AI button, CodeMirror editor, and streaming code generation support (e185a9) (Eric Ma)
  • Preload Pyodide runtime when code nodes are created to speed up execution, with loading state tracking and UI updates (40c846) (Eric Ma)
  • Add CSV upload and Python code execution with Pyodide, including drag & drop CSV parsing, new node types, and automatic package installation (f4d16e) (Eric Ma)

Bug Fixes

  • Fix drawer animation to skip redundant animations on re-render and improve browser yielding for smoother UI updates (64fc34) (Eric Ma)
  • Keep drawer open after installation completes and preserve install progress messages for better user visibility (763111) (Eric Ma)
  • Allow canvas interaction such as pan and zoom during package installation by yielding to the browser event loop (75206e) (Eric Ma)
  • Simplify drawer behavior by removing blocking animations and freezing, enabling smooth updates and interaction (682a0a) (Eric Ma)
  • Eliminate drawer flickering during package installation by updating content without full re-renders (5f3d25) (Eric Ma)
  • Prevent canvas panning when scrolling inside the CodeMirror editor to improve user experience (bbd119) (Eric Ma)
  • Fix /code command to create standalone code nodes without requiring CSV input (436fdde) (Eric Ma)
  • Replace non-existent findNonOverlappingPosition method with autoPosition for positioning logic (833cf0a) (Eric Ma)
  • Remove redundant matplotlib-specific installation logic to simplify package handling (0fe8267) (Eric Ma)

Deprecations

  • None in this release

Version 0.1.36

This release includes new keyboard shortcuts to improve navigation and zooming within the viewport, along with documentation updates to better organize and map the codebase.

New Features

  • Added keyboard shortcuts to zoom the viewport to selected nodes ('z') and to zoom out to fit all content ('Shift+Z'), enhancing navigation efficiency. Also introduced helper functions for bounding box calculation and smooth viewport animation. (d78bc1) (Eric Ma)

Bug Fixes

  • No bug fixes in this release.

Deprecations

  • No deprecations in this release.

Version 0.1.34

This release focuses on significant refactoring and improvements to the codebase, enhancing developer experience and code quality. It introduces comprehensive type annotations for better IDE support and restructures the UI code with modern tooling and patterns.

New Features

  • Added detailed JSDoc type annotations across core JavaScript modules to improve IDE support and code clarity, including new types like Node, Edge, ChatMessage, and more. Also introduced a new factory function createFlashcardNode for graph node creation. (e1b371) (Eric Ma)
  • Implemented UI engineering improvements by adding ESLint and Prettier for consistent code quality, modularizing CSS into multiple files, and replacing canvas callbacks with an EventEmitter pattern for better event handling. Also removed dead code and legacy feature flags to streamline the codebase. (3b1044) (Eric Ma)

Bug Fixes

  • Fixed missing CSS variables and removed duplicate CSS rules to ensure consistent styling across the application. (3b1044) (Eric Ma)

Deprecations

  • Removed the USE_CRDT_GRAPH feature flag as it was always enabled, simplifying the codebase. (3b1044) (Eric Ma)

Version 0.1.33

This release introduces improved navigation shortcuts and a major enhancement to node management with collapsible child nodes for better canvas organization. It also includes new unit tests and code cleanup for more reliable and maintainable graph operations.

New Features

  • Added j/k keyboard shortcuts to navigate parent and child nodes intuitively, improving user navigation both in the main view and popover selections. The help modal was updated to document these new shortcuts. (d30ef5) (Eric Ma)
  • Introduced collapsible child nodes with collapse/expand buttons on all node types, enabling users to clean up the canvas view. This feature persists collapsed states across page reloads and correctly handles merge nodes visibility. (c084d0) (Eric Ma)

Bug Fixes

  • Added unit tests for collapse graph methods and removed debug logging to improve code quality and maintainability. Also cleaned up node visibility logic. (45ba38) (Eric Ma)

Deprecations

  • No deprecations in this release.

Version 0.1.35

This release delivers a major refactoring of the frontend codebase, splitting the monolithic app.js into dedicated feature modules for better maintainability and developer experience.

Refactoring

  • Split app.js into six dedicated feature modules using dependency injection pattern:
  • utils.js (402 lines): Pure utility functions
  • flashcards.js (775 lines): FlashcardFeature class
  • committee.js (528 lines): CommitteeFeature class
  • matrix.js (846 lines): MatrixFeature class
  • factcheck.js (691 lines): FactcheckFeature class
  • research.js (348 lines): ResearchFeature class
  • Reduced app.js from ~8,479 to 5,503 lines (35% reduction). (d1c6221) (Eric Ma)

Technical Details

  • All feature modules use lazy initialization via getters in App class
  • Feature modules are reset when graph changes to ensure fresh state
  • All 55 JS tests and 48 Python tests pass

Version 0.1.32

This release includes an important bug fix to prevent data loss during concurrent matrix cell updates, ensuring more reliable and consistent behavior when multiple operations occur simultaneously.

New Features

  • No new features were added in this release.

Bug Fixes

  • Prevent matrix cell data loss during concurrent fills by re-reading node state before writing updates, avoiding race conditions where parallel operations could overwrite each other. Includes tests demonstrating the issue and verifying the fix. (a95a26) (Eric Ma)

Deprecations

  • No deprecations in this release.

Version 0.1.31

This release focuses on improving code quality and maintainability by introducing a new helper method to prevent bugs, enhancing documentation on testing best practices, fixing critical bugs related to API calls, and cleaning up code formatting.

New Features

  • Added a buildLLMRequest helper method in the App class to centralize and standardize parameters for LLM API requests, preventing missing base_url bugs and reducing code duplication (f4b362) (Eric Ma)
  • Added a new section "When NOT to write unit tests" in AGENTS.md to guide developers on appropriate testing strategies and avoid brittle or redundant tests (c30913) (Eric Ma)

Bug Fixes

  • Fixed missing base_url parameter in all /api/refine-query calls (search, research, factcheck), ensuring correct routing through LLM proxy configurations (36bdd0) (Eric Ma)

Deprecations

  • Removed 7 unit tests for the buildLLMRequest helper after code review, following updated testing guidelines that discourage unit testing complex instance methods with runtime dependencies (a95a93) (Eric Ma)

Chores

  • Applied pre-commit formatting fixes including markdown improvements and removal of unused imports to maintain code quality (abe8fc) (Eric Ma)

Version 0.1.30

This release improves the robustness of text highlighting in markdown tables containing rendered math by replacing the previous normalization-based matching with a Smith-Waterman local alignment algorithm. This change addresses issues with incorrect or partial highlights caused by browser artifacts when selecting text from KaTeX-rendered content.

New Features

  • Implement Smith-Waterman local alignment to accurately match user text selections in HTML, handling insertions, deletions, and mismatches gracefully (064e70) (Eric Ma)

Bug Fixes

  • Fix text highlighting failures in KaTeX-rendered markdown tables by replacing normalization-based matching with sequence alignment (064e70) (Eric Ma)

Deprecations

  • None

Version 0.1.29

This release introduces the new /factcheck slash command, enabling users to verify claims through an interactive modal interface. The feature includes a smooth user experience with loading indicators, claim selection with warnings for large selections, and animated UI elements for better usability. Several bug fixes and UI improvements accompany this major addition.

New Features

  • Implemented the /factcheck slash command with claim selection modal and verification logic, including parallel fact-checking and verdict analysis (c365c9) (Eric Ma)
  • Added loading node UX to show immediate feedback during factcheck processing, with status updates and cancellation support (c365c9) (Eric Ma)
  • Enabled selecting more than five claims with an informational warning and added a toggle to select or deselect all claims (c365c9) (Eric Ma)
  • Added smooth accordion expand/collapse transitions for factcheck nodes for a polished user experience (c365c9) (Eric Ma)

Bug Fixes

  • Corrected factcheck modal element ID from claims-count to selection-count (c365c9) (Eric Ma)
  • Added padding to factcheck node content during loading state to fix spacing issues (c365c9) (Eric Ma)
  • Removed border flash when closing factcheck accordion by adjusting transition effects (c365c9) (Eric Ma)

Deprecations

  • None