v2.6.0
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/parseusingHeaderConfigandCustomHeader. - Improved PO header handling with better template support and validation.
- Refactored header configuration in
- Flexible Color Output: Added CLI color options (
auto,always,never) for better terminal output control. - Improved Charset Support: New
internal/util/charset.gofor 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.IsBigEndianfromgolang.org/x/sys. - Restructured
MoHeaderto use explicitMajorVersion/MinorVersionfields.
- Replaced unsafe pointer-based endianness check with
- 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/parsenow usesHeaderConfigandCustomHeaderinstead of separate options. - CLI color flag changed from boolean to string enum (
auto/always/never).
Full Changelog: v2.5.0...v2.6.0