Skip to content

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 23 Aug 04:50
· 13 commits to main since this release
452bd0e

PyFlowGraph v0.10.0 - Node Grouping & Advanced Features

Release Date: August 23, 2025
Build: 452bd0e | Asset: PyFlowGraph-Windows-v0.10.0.zip

🎯 Major Features

Complete Node Grouping System

Revolutionary visual organization system for complex graphs:

Core Group Features:

  • Visual Containers: Create groups to organize related nodes with customizable colors, sizes, and transparency
  • Dynamic Membership: Groups automatically update member lists based on spatial containment
  • Group Hierarchy: Full support for nested groups and complex organizational structures
  • State Preservation: Groups maintain all visual properties through save/load cycles

Group Management:

  • Creation: Right-click context menu with intelligent node selection and auto-sizing
  • Editing: Comprehensive properties dialog for name, description, colors, and visual settings
  • Resizing: Interactive resize handles with automatic member node management
  • Deletion: Full Delete key support with complete undo/redo functionality ✅

File Format Integration:

  • Groups Section: New markdown section for group persistence with RGBA color support
  • Backward Compatibility: Existing graph files load seamlessly without groups
  • Rich Metadata: Groups support descriptions, timestamps, padding, and expansion states

Enhanced Undo/Redo Architecture

Complete command pattern implementation across all operations:

Command Infrastructure:

  • Modular Commands: Separated into commands/node/ package with distinct operation types
  • Composite Commands: Multi-operation undo/redo (e.g., paste multiple nodes + groups)
  • Memory Management: Intelligent command cleanup with memory usage tracking
  • Group Commands: Dedicated commands for all group operations (create, delete, resize, properties)

Batch Operations:

  • DeleteMultipleCommand: Unified deletion supporting nodes, connections, and groups
  • Enhanced Selection: Mixed selections (nodes + groups + connections) work seamlessly
  • Smart Descriptions: Context-aware command descriptions (e.g., "Delete 3 nodes and 2 groups")

🐛 Critical Bug Fixes

Group System Fixes

  • Fixed group deletion functionality - Groups can now be deleted with Delete key (#42)
  • Resolved keyboard event handling that completely ignored Group objects
  • Fixed group state restoration during undo to maintain object references
  • Corrected group membership tracking during resize and move operations

Live Mode Execution Fixes

  • Fixed critical Live Mode pause/resume bug causing execution failures (#38)
  • Resolved subprocess communication issues during pause/resume cycles
  • Fixed event system integration with Live Mode state management
  • Improved execution error handling and recovery mechanisms

Command System Improvements

  • Refactored node_commands.py into modular package structure for maintainability
  • Fixed circular import issues between command modules
  • Enhanced command memory management with proper cleanup and resource tracking
  • Improved command execution error handling and rollback mechanisms

📊 Enhanced Testing Infrastructure

Professional Test Suite

  • GUI Test Runner: run_test_gui.bat with real-time visual feedback
  • Comprehensive Coverage: 18+ test files covering all major systems
  • Performance Optimized: Tests complete within 10-second maximum timeouts
  • Enhanced Failure Analysis: Detailed error reporting with fix suggestions

Test Categories

  • Core System Tests: Node, pin, connection, and group functionality
  • Integration Tests: End-to-end workflows and GUI interactions
  • Regression Tests: Prevention of previously fixed bugs
  • Performance Tests: Execution speed and memory usage validation

🏗️ Technical Improvements

Documentation Enhancements

  • Flow Specification Updates: Complete groups section with technical details
  • Enhanced Examples: New password_generator_tool_group.md demonstrating group usage
  • API Documentation: Comprehensive command system and group API reference

Code Quality

  • Import System Optimization: Cleaner cross-package imports with proper dependency management
  • Error Handling: Robust error recovery across all group and command operations
  • Windows Platform Compliance: Enhanced Windows-only development requirements
  • Memory Optimization: Improved resource cleanup and garbage collection

🚨 Breaking Changes

None - This release maintains full backward compatibility:

  • Existing graph files load without modification
  • All previous keyboard shortcuts and UI patterns work unchanged
  • Command history from previous sessions remains accessible

🆕 New File Format Features

Groups Section (Optional)

## Groups
```json
[
    {
        "uuid": "group-1",
        "name": "Data Processing Group",
        "description": "Handles all data transformation operations",
        "member_node_uuids": ["node1", "node2"],
        "position": {"x": 150, "y": 200},
        "size": {"width": 400, "height": 300},
        "colors": {
            "background": {"r": 45, "g": 45, "b": 55, "a": 120},
            "border": {"r": 100, "g": 150, "b": 200, "a": 180}
        }
    }
]

🎮 User Experience Improvements

Keyboard Shortcuts

  • Delete Key: Now properly removes groups, nodes, and connections
  • Ctrl+Z/Ctrl+Y: Full undo/redo support for all group operations
  • Context Menus: Enhanced right-click options for group creation and management

Visual Enhancements

  • Group Selection: Clear visual feedback with customizable selection colors
  • Resize Handles: Intuitive group resizing with live member updates
  • Color Customization: Full RGBA color picker integration for all group elements
  • Transparency Support: Semi-transparent groups for better visual layering

🚀 Performance Improvements

  • Optimized Group Rendering: Efficient redraw cycles for large group hierarchies
  • Command Execution: Faster undo/redo operations with reduced memory overhead
  • File Loading: Improved parsing performance for graphs with many groups
  • Selection Operations: Faster mixed-selection handling with better algorithms

📦 Getting Started

Installation: Download PyFlowGraph-Windows-v0.10.0.zip
Requirements: Windows OS, PySide6
Quick Start: Run PyFlowGraph.exe from extracted folder
Testing: Use included test suite via run_test_gui.bat

🔮 What's Next

This release establishes PyFlowGraph as a professional node-based editor with enterprise-grade features. The robust grouping system and enhanced command architecture provide the foundation for advanced features like:

  • Group templates and libraries
  • Advanced data flow analysis
  • Collaborative editing features
  • Plugin system integration

Full Changelog: View on GitHub