v1.1.0 - AJAX Standardization & Professional XLSX Export System
🚀 Overview
This release introduces a unified AJAX response architecture and upgrades all export functionality to professional, production-ready XLSX reports with improved reliability, formatting, and filtering accuracy.
✨ Key Improvements
🔹 Unified API Responses
-
Introduced
ApiResponsehelper for consistent{status, message}structure -
Applied across:
- ExpenseController
- ExpenseCategoryController
- IncomeController
- IncomeCategoryController
- ProfileController
🔹 Code Quality & Stability
- Added strict PHP return types in
SiteController(aligned with Yii2 + PHPDoc standards) - Resolved Intelephense
P1013warning using properinstanceof Userchecks - Improved type safety and IDE compatibility
🔹 Professional XLSX Export System
-
Replaced CSV exports with fully formatted XLSX reports
-
Features include:
- Styled header (Bootstrap green
#198754) - Freeze panes for better navigation
- Zebra striping for readability
- Currency formatting for financial data
- Word-wrapped description/reference fields
- Human-readable date format (
Feb 25, 2026)
- Styled header (Bootstrap green
🔹 Export Accuracy Fixes
- Fixed export filter issue (previously exporting all records)
- Now respects active grid filters
- Implemented proper search model integration
🔹 XLSX Reliability Fix
- Resolved file corruption issue
- Switched from
php://outputbuffering to temp file-based export
🔹 Income Category Export Enhancements
-
Added XLSX export for income categories with:
- Columns: Name, Description, Status, Records, Created At
- Word-wrapped descriptions
- Filter-aware export via
IncomeCategorySearch
-
Introduced export mode (pagination disabled)
⚙️ Technical Notes
- Backward-compatible changes
- No database migrations required
- No breaking API changes
📦 Should you upload a ZIP file?
❌ Not required (most cases)
If your project is:
- Hosted on GitHub
- Meant for developers
👉 GitHub automatically provides source code archives:
Source code (zip)Source code (tar.gz)