Skip to content

v1.1.0 - AJAX Standardization & Professional XLSX Export System

Choose a tag to compare

@mohsin-rafique mohsin-rafique released this 10 Apr 10:02
· 13 commits to master since this release

🚀 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 ApiResponse helper 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 P1013 warning using proper instanceof User checks
  • 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)

🔹 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://output buffering 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)