Skip to content

v0.10.0

Choose a tag to compare

@hangtime79 hangtime79 released this 29 Dec 03:30
· 402 commits to main since this release

Release Notes: v0.10.0

Release Date: 2025-12-29
Type: Feature
Branch: feature/v0.10.0-i18n


Summary

Adds multi-language support for date and month formatting in the Gantt chart. Users can now select from 11 languages (English, Spanish, German, French, Portuguese, Russian, Turkish, Chinese, Japanese, Korean, Italian) to localize date headers and popup dates using the browser's Intl API.


Changes

Added

  • Language dropdown in Appearance settings panel (#32)
    • 11 supported languages with native labels
    • Affects month names in headers and popup dates
    • Uses browser's Intl.DateTimeFormat for locale-aware formatting
  • UI_STRINGS stub object for future full i18n implementation
    • Centralizes all UI text strings for future translation
    • Covers view modes, filters, controls, and empty states

Fixed

  • Responsive month abbreviations now work for all languages (#32)
    • Previously hardcoded English month names (January, Jan, J)
    • Now uses Intl API to generate localized abbreviations
  • Frappe Gantt view_mode mutation bug patched (#32)
    • Library was mutating shared default object, causing stale language in closure
    • Fix: Create shallow copy in change_view_mode() to prevent mutation

Files Modified

File Change Type Description
webapps/gantt-chart/webapp.json Modified Added language SELECT parameter with 11 languages
webapps/gantt-chart/app.js Modified Dynamic language config, localized month names, UI_STRINGS stub
webapps/gantt-chart/backend.py Modified Pass through language config value
resource/frappe-gantt.umd.js Modified Patched view_mode mutation bug
plugin.json Modified Version bump to 0.10.0
plan/specs/feature-v0.10.0-spec.md Added Feature specification
plan/frappe-gantt-upstream-bugs.md Modified Added Bug #7 (view_mode mutation)

Testing

  • Unit Tests: All existing tests pass
  • Manual Verification:
    • Language dropdown appears in Appearance section
    • French displays "Janvier", "Février" in month headers
    • Japanese displays "1月", "2月" in month headers
    • Popup dates use selected language
    • Responsive abbreviation works for all languages
    • View mode changes preserve language setting

Breaking Changes

None


Known Issues

  • UI labels (Reset Zoom, filter buttons, view modes) remain English-only
    • UI_STRINGS stub is in place for future translation work

Dependencies

None


Related Documents

  • Spec: plan/specs/feature-v0.10.0-spec.md
  • Post-mortem: plan/post-mortems/v0.10.0-post-mortem.md
  • Upstream bugs: plan/frappe-gantt-upstream-bugs.md (Bug #7)