Changelog

Changelog

All notable changes to Node Banana are documented here.

The format is based on Keep a Changelog (opens in a new tab).


1.2.0 — 2026-01-20

Added

  • Comment Navigation System — Navigate between nodes with comments using Previous/Next controls (#33 (opens in a new tab))

    • Header icon with unviewed comment count badge
    • Previous/Next navigation arrows in comment tooltips
    • Tooltips show comment preview on hover
    • View tracking highlights unread comments
    • Auto-centering viewport on navigation
    • Comments sorted by position (top-to-bottom, left-to-right)
    • New useCommentNavigation hook with full test coverage
  • Output Node Enhancements — Custom filename support and auto-directory creation (#33 (opens in a new tab))

    • outputFilename parameter for custom output filenames
    • Auto-create /outputs directory option
    • Automatic saving to /outputs when workflow has project path
    • Custom filenames sanitized (special chars replaced with underscores)
  • Image Paste Support — Paste images directly from clipboard into imageInput nodes (#33 (opens in a new tab))

    • Press Cmd+V (Mac) or Ctrl+V (Windows/Linux) to paste images
    • Updates selected imageInput node or creates new node at viewport center
    • Automatic dimension extraction and timestamp-based naming
  • Community Workflows Enhancements — Rich metadata system for template explorer (#33 (opens in a new tab))

    • Centralized metadata config system (communityWorkflows.ts)
    • Extended metadata: description, tags, preview images, sort order
    • Template card reuse for consistent styling across all workflows
    • Tag filtering now works for community workflows
    • Search includes workflow descriptions
    • Community workflow thumbnails in /template-thumbnails/community/
    • Node count badge moved inline with tags

Changed

  • External Image Storage — Now persists in workflow configuration (#33 (opens in a new tab))

    • useExternalImageStorage field saved in workflow JSON
    • Setting persists across sessions (previously in-memory only)
    • Automatic image ref clearing when saving to different directory
    • New workflow ID generated when changing save directory
  • Node Dimension Handling — Nodes preserve user-set height on resize (#33 (opens in a new tab))

    • New calculateNodeSizePreservingHeight() utility
    • Aspect ratio changes only adjust width, preserving manual height adjustments
    • Applied to GenerateImageNode and GenerateVideoNode
  • Comment Tooltips — Enhanced positioning and navigation UI (#33 (opens in a new tab))

    • Tooltip position updates continuously during canvas pan/zoom
    • Uses requestAnimationFrame for smooth tracking
    • Centered above comment button (changed from right-aligned)
    • Includes Previous/Next navigation controls
  • Video Detection — Improved video content recognition (#33 (opens in a new tab))

    • Now detects fal.media URLs (fal.ai video URLs)
    • Checks for data:video/ prefix and .mp4/.webm extensions
    • Output nodes correctly distinguish image vs video content
  • Model Selection — Gemini generation uses selectedModel.modelId when available (#33 (opens in a new tab))

    • Falls back to legacy model field for backwards compatibility
    • Ensures correct model selection in multi-provider workflows

Fixed

  • Image History Improvements — Additional fixes for edge cases (#33 (opens in a new tab))

    • Image history race condition causing duplicate images resolved
    • Image history IDs now preserved when saving to new directory
    • outputImageRef validation against selected history index on save
    • Missing image files return 200 with notFound flag instead of 404 (prevents Next.js error overlay)
  • Video Output Connections — Fixed video output node connection handling (#33 (opens in a new tab))

    • Video connections now properly recognized and displayed
    • Improved content type detection for video formats
  • Node Styling — React Flow default styles no longer leak into output nodes (#33 (opens in a new tab))

Removed

  • Deprecated Examples — Removed obsolete contact sheet workflows (#33 (opens in a new tab))
    • Removed examples/contact-sheet-jpow.json
    • Removed examples/contact-sheet-tim.json
    • Added Fashion-image-to-video.json example (tracked with Git LFS)

1.1.0

Added

  • Template Explorer UI — Redesigned visual template browser with preview capabilities (#30 (opens in a new tab))

    • Two-column card layout with category filtering
    • Template thumbnails with hover transitions showing workflow screenshots
    • Grid layout with sidebar filter panel
    • Interactive workflow diagram preview
    • Category and provider filtering
  • Node Defaults — Set default models for Generate Image and Generate Video nodes per project (#30 (opens in a new tab))

    • New Node Defaults tab in Project Setup modal
    • Quick model picker integrated into defaults configuration
    • Persistent storage saved per-project via localStorage
    • New nodes automatically use configured defaults
  • Cost Tracking Improvements (#30 (opens in a new tab))

    • Provider-grouped breakdown in Cost Dialog
    • Added Gemini model pricing data
    • fal.ai pricing integration with model cost display
    • Dollar format always shown for clarity
    • Direct links to external provider pricing pages
  • Multi-Provider Support — Support for Replicate and fal.ai providers alongside Gemini (#25 (opens in a new tab))

    • Provider abstraction layer with unified interfaces
    • Per-provider API key management in Project Settings
    • Model discovery endpoint aggregating models from all providers
    • Model search dialog with provider filtering and recently used tracking
  • Video Generation — New GenerateVideoNode for AI video generation (#25 (opens in a new tab))

    • Video playback in OutputNode with format detection
    • Carousel controls for video history navigation
    • Video generation queue system with 10-minute timeout
  • AI Quickstart Feature — Generate complete workflows from natural language descriptions

    • Welcome screen with preset templates and custom description input
    • 6 preset workflow templates: Product Shot, Model + Product, Color Variations, Background Swap, Style Transfer, Scene Composite
    • Content level selector (empty/minimal/full) to control pre-filled detail
    • Gemini LLM-powered custom workflow generation
    • JSON validation and repair for generated workflows
    • Sample images for templates in /public/sample-images/
  • Test Suite — Comprehensive testing with Vitest

    • 108+ tests covering quickstart templates, validation, and prompts
    • 90%+ code coverage for quickstart module
    • Run with npm test or npm run test:coverage
  • Node Expansion & Run — Expand nodes to full-screen modal and run individual nodes

  • Group Locking — Lock node groups to skip them during workflow execution

  • Image Carousel — Browse through image history on generation nodes

Changed

  • GenerateImageNode — Replaced NanoBananaNode with unified GenerateImageNode (#25 (opens in a new tab))

    • Provider and model selector dropdown
    • Dynamic input handles based on model schema
    • Custom model parameters UI with validation
    • Image-to-image support across all providers
    • Legacy workflows automatically migrate
  • UI Improvements — Redesigned node handles and error display (#25 (opens in a new tab))

    • Node handles match reference UI with aligned connection points
    • Error overlay on generate nodes with toast notifications
    • Auto-resize for generate nodes on output
    • Streamlined header with visual grouping

Fixed

  • Image History Critical Fixes — Resolved race conditions and duplicate image issues (#30 (opens in a new tab))
    • Workflow saves now wait for pending image ID syncs to complete
    • Store nodes receive refs after externalization, preventing duplicate files on save
    • Carousel IDs properly synced with saved filenames
  • fal.ai 429 rate limit errors from excessive pricing API calls (#30 (opens in a new tab))
  • Template gallery scrolling and wheel event propagation with React Flow (#30 (opens in a new tab))
  • Thumbnail quality improved with 288px resize and fixed object-fit (#30 (opens in a new tab))
  • Run button and global modal state issues
  • Carousel image inversion
  • Two-finger pan behavior on Mac
  • Comment tooltip z-index issues
  • Duplicate input images for generateVideo nodes (#26 (opens in a new tab))
  • Connection handling now finds first unoccupied input handle instead of always targeting the first one (#26 (opens in a new tab))
  • Gemini model parameters (aspectRatio, resolution, useGoogleSearch) now display correctly when Gemini models are selected (#26 (opens in a new tab))
  • Connection drop menu now works with dynamic handles (#25 (opens in a new tab))
  • Drag-connect node creation and handle persistence bugs (#25 (opens in a new tab))

1.0.0 — Initial Release

Added

  • Visual Node Editor — Drag-and-drop canvas with pan, zoom, and multi-select
  • Image Input Node — Load images from local filesystem
  • Prompt Node — Text input for prompts and descriptions
  • Annotation Node — Full-screen drawing tools (rectangles, circles, arrows, freehand, text)
  • Nano Banana Node — AI image generation using Google Gemini models
  • LLM Generate Node — Text generation with Gemini and OpenAI models
  • Output Node — Display and download results
  • Split Grid Node — Divide images into grid cells
  • Workflow Management — Save and load workflows as JSON files
  • Connection Validation — Type-safe connections (image-to-image, text-to-text)
  • Multi-Image Input — Connect multiple images to generation nodes
  • Cost Tracking — Monitor API usage and spending
  • Keyboard Shortcuts — Efficient workflow navigation and editing
  • Node Groups — Organize related nodes together
  • Auto-save — Automatic workflow saving

Roadmap

Features being considered for future releases:

  • Custom node creation
  • Workflow sharing and community library
  • More AI model integrations
  • Batch processing improvements
  • Plugin system
  • Mobile-responsive canvas

For the latest updates, check the GitHub repository (opens in a new tab).