Skip to content

v0.11.0 - Defensive Programming

Choose a tag to compare

@hangtime79 hangtime79 released this 30 Dec 08:17
· 402 commits to main since this release

Release Notes: v0.11.0

Release Date: 2025-12-30
Type: Feature
Branch: feature/v0.11.0-defensive-programming


Summary

This release focuses on defensive programming and user guidance. It adds a comprehensive Getting Started Guide for new users, enhanced duplicate ID handling with user-selectable modes, and dependency status indicators to help users understand why arrows may be missing.


Changes

Added

  • Getting Started Guide (#77): 5-section onboarding overlay for unconfigured charts

    • Required Columns section with column mapping guidance
    • Settings Panel walkthrough with interactive tabs
    • Toolbar explanation with control descriptions
    • Chart Preview with visual.png screenshot
    • System States overview (loading, errors, empty)
    • Auto-hides when Task ID, Start Date, and End Date are configured
    • Hides control bar and gantt container until configuration is complete
  • Duplicate ID Handling Options (#76): New duplicateIdHandling parameter

    • "Auto-rename" (default): Appends suffix (_1, _2) to duplicate IDs
    • "Skip duplicates": Keeps first occurrence, skips subsequent
    • Structured metadata with occurrence tracking
    • Mode-specific warning banner text
    • Tooltip shows "X duplicate(s) skipped" for kept tasks in skip mode
  • Dependency Status Indicators (#83): Visual feedback for unresolved dependencies

    • Tooltip shows "(filtered)" for dependencies hidden by filters
    • Tooltip shows "(not found)" for invalid dependency references
    • Dismissible warning banner when dependencies are unresolved
    • Re-analysis on filter changes
  • Empty Dataset State (#77): "No Tasks Found" display with inline SVG icon

Changed

  • Replaced skeleton loader with Getting Started Guide
  • Warning banners now use consistent styling pattern
  • Added generic .hide CSS utility class

Files Modified

File Change Type Description
plugin.json Modified Version bump to 0.11.0
webapp.json Modified Added duplicateIdHandling SELECT parameter
task_transformer.py Modified Enhanced duplicate handling, structured metadata
backend.py Modified Pass duplicateIdHandling to transformer
app.js Modified Getting Started, warnings, dependency analysis, tooltips
body.html Modified Getting Started overlay HTML with gs-* classes
style.css Modified Getting Started styles (~470 lines), warning styles
resource/webapp/visual.png Added Chart screenshot for Getting Started preview

Testing

  • Unit Tests: 122/122 passing
  • New Tests Added: None (UI-focused release)
  • Manual Verification:
    • Getting Started Guide display and auto-hide
    • Duplicate ID rename and skip modes
    • Dependency status in tooltips
    • Warning banner display and dismissal
    • Control bar/container hiding during setup

Breaking Changes

None


Known Issues

None


Dependencies

None


Related Documents

  • Spec: plan/specs/feature-v0.11.0-spec.md
  • Post-mortem: plan/post-mortems/v0.11.0-post-mortem.md
  • Intervention Log: plan/interventions/v0.11.0-intervention.md