Skip to content

v2.6.0

Choose a tag to compare

@Tom5521 Tom5521 released this 10 May 20:32
· 44 commits to main since this release

Release v2.6.0

This release focuses on code quality improvements, enhanced documentation, and better handling of PO/MO files. It includes significant refactoring for maintainability and introduces new features for header and charset handling.

✨ New Features

  • Enhanced Header Handling:
    • Refactored header configuration in pkg/go/parse using HeaderConfig and CustomHeader.
    • Improved PO header handling with better template support and validation.
  • Flexible Color Output: Added CLI color options (auto, always, never) for better terminal output control.
  • Improved Charset Support: New internal/util/charset.go for robust charset validation.

🛠 Improvements

  • Code Quality & Organization:
    • Comprehensive docstrings added to all public types, functions, and methods in the PO package.
    • Renamed variables/functions for clarity (e.g., LitterConfig → LitterOptions).
    • Standardized error handling and logging messages.
  • MO File Handling:
    • Replaced unsafe pointer-based endianness check with cpu.IsBigEndian from golang.org/x/sys.
    • Restructured MoHeader to use explicit MajorVersion/MinorVersion fields.
  • Testing Utilities:
    • Enhanced diff formatting and equality checks in tests.
    • Removed unused dependencies and added new utility packages (e.g., sanity-io/litter).

📚 Documentation

  • Updated Code Comments: Improved explanations and organization across the codebase.
  • Refreshed Diagrams: Updated PUML files for better visual documentation.

⚠️ Breaking Changes

  • Header handling in pkg/go/parse now uses HeaderConfig and CustomHeader instead of separate options.
  • CLI color flag changed from boolean to string enum (auto/always/never).

Full Changelog: v2.5.0...v2.6.0