v0.10.1 - Global Custom Palettes
Release Notes: v0.10.1
Release Date: 2025-12-29
Type: Feature
Branch: feature/v0.10.1-custom-palettes
Summary
Adds admin-defined custom color palettes via Dataiku's parameter set (PRESET) mechanism. Administrators can create global color palette presets in plugin settings, and users can select these custom palettes from the Color Palette dropdown when configuring Gantt chart webapps.
Changes
Added
- Custom color palette support via parameter sets (#79)
- New "Custom (Preset)" option in Color Palette dropdown
- PRESET selector appears when custom is selected
- Admins create palettes in plugin settings with 6-12 hex colors
- Dynamic CSS injection with WCAG-compliant text contrast
- Automatic light/dark text based on background luminance
Fixed
- PRESET parameter resolution in webapps
- Webapps receive raw references, must resolve via API (unlike recipes)
- Implemented resolve_preset() function for API-based resolution
Files Modified
| File | Change Type | Description |
|---|---|---|
parameter-sets/custom-palette/parameter-set.json |
Added | Custom palette preset structure |
webapps/gantt-chart/webapp.json |
Modified | Added "custom" option + PRESET param |
webapps/gantt-chart/backend.py |
Modified | Preset resolution + custom color handling |
python-lib/ganttchart/task_transformer.py |
Modified | Added custom_colors to config |
python-lib/ganttchart/color_mapper.py |
Modified | Hex validation + custom palette support |
webapps/gantt-chart/app.js |
Modified | Luminance calc + CSS injection |
plugin.json |
Modified | Version bump to 0.10.1 |
plan/specs/feature-v0.10.1-spec.md |
Added | Feature specification |
Testing
- Unit Tests: Pre-existing collection errors (unrelated to this feature)
- Manual Verification:
- Built-in palettes still work (classic, pastel, dark, dataiku)
- "Custom (Preset)" option appears in dropdown
- PRESET selector appears when "Custom" selected
- Admin can create custom palette presets
- Custom colors apply correctly to task bars
- Text contrast is readable (auto light/dark)
- Switching palettes removes/replaces CSS correctly
Breaking Changes
None
Known Issues
- Unit test collection errors (pre-existing ScenarioConfiguration issue, unrelated to this feature)
Dependencies
None
Related Documents
- Spec:
plan/specs/feature-v0.10.1-spec.md - Post-mortem:
plan/post-mortems/v0.10.1-post-mortem.md