v0.11.0 - Defensive Programming
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
duplicateIdHandlingparameter- "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
.hideCSS 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