Skip to content

Blog

Version 0.1.42

This release includes important fixes to improve local development experience by correcting static file paths and setting appropriate base paths.

New Features

  • No new features were added in this release.

Bug Fixes

  • Fixed static file paths in index.html to use relative paths for better compatibility during local development (3453b1) (Eric Ma)

Deprecations

  • No deprecations in this release.

Version 0.1.41

This version introduces support for deploying the application behind load balancers or reverse proxies that use base path prefixes. It ensures that all API calls and static asset loading correctly respect these base paths, improving flexibility in various hosting environments.

New Features

  • Added utility functions to detect and handle base paths, enabling API endpoints and static assets to work correctly when deployed behind load balancers or reverse proxies with path prefixes (1c78d2) (Eric Ma)

Bug Fixes

  • N/A

Deprecations

  • N/A

Version 0.1.40

This release includes an important bug fix to improve the reliability of running multiple research tasks in parallel.

New Features

  • No new features were added in this release.

Bug Fixes

  • Prevent parallel research tasks from interfering with each other by capturing necessary variables in closure constants before handling SSE streams. This resolves an issue where starting a second research task would cause the first one to display 'empty research instructions'. (0ed50f) (Eric Ma)

Deprecations

  • No deprecations in this release.

Version 0.1.39

This release introduces a new DuckDuckGo fallback for the research command, adds stop and continue controls for research nodes, and improves documentation and tests to reflect recent changes.

New Features

  • Added a DuckDuckGo fallback search option for the /research command, enabling iterative search loops with parallel fetching, relevance filtering, retry logic, and error handling. The frontend now automatically uses this fallback when the Exa API key is missing, and the provider is shown in the slash command autocomplete. (4e3f13) (Eric Ma)
  • Added STOP and CONTINUE buttons to research nodes, allowing users to stop and resume research. The model used is displayed in the research node header, and the continue functionality restarts research on the same node using stored original instructions and context. (10474a) (Eric Ma)

Bug Fixes

  • Fixed the DDGResearchRequest test to correctly reflect that the api_key field is optional, ensuring only instructions and model are required. (50c9a0) (Eric Ma)
  • Updated deep-research documentation formatting to comply with markdownlint and corrected information to indicate that research can now be stopped and resumed, removing outdated statements. (393cde) (Eric Ma)

Deprecations

  • None in this release.

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