{
    "updates": [
        {
            "version": "1.3.9",
            "release_date": "2026-06-04",
            "changelog": "Version 1.3.9\n\n* Feature: Rewrote chatbot_endpoint.php with a KB-first hybrid engine.\n  - Searches chatbot_knowledge_base table FIRST (FULLTEXT + keyword fallback) before calling Claude.\n  - When Claude API is available: injects matching KB entries + live DB data into the system prompt so Claude can give enriched, accurate answers grounded in internal procedures.\n  - When Claude is unavailable: answers directly from KB matches with live data injected \u2014 never shows generic \"trouble connecting\" error.\n  - Added 10 keyword-based navigation hint rules covering claims, members, benefits, pre-auth, receipts, reimbursements, reports, and corporates.\n  - Added error logging (error_log) so API failures are visible in server logs without exposing them to users.\n  - Premium context now includes month-to-date premium collected from premium_receipt table.\n  - Benefit types, corporate list, and pre-auth data pulled contextually based on message keywords.",
            "requirements": "PHP: 7.4+",
            "package_size": "7.83 KB",
            "min_version": "1.0.0",
            "checksum": "1efc7725b936e628389a3f2d9259f26b",
            "download_url": "\/packages\/update_1.3.9.zip",
            "file_count": 1,
            "folder_count": 0,
            "has_migrations": false
        },
        {
            "version": "1.3.8",
            "release_date": "2026-06-04",
            "changelog": "Version 1.3.8\n\n* Fix: Quick question buttons and KB article cards were silently broken \u2014 json_encode outputs double-quoted strings which closed the HTML onclick=\"...\" attribute before the JS function ran. Switched all dynamic onclick handlers to single-quote attribute delimiters.\n* Fix: AI layout height changed from calc(100vh - 170px) to calc(100vh - 234px) to correctly account for Velzon topbar + page header + padding + footer height, preventing the chat area from overflowing below the viewport.",
            "requirements": "PHP: 7.4+",
            "package_size": "7.13 KB",
            "min_version": "1.0.0",
            "checksum": "38549f2d934ef1191b84e593213f067a",
            "download_url": "\/packages\/update_1.3.8.zip",
            "file_count": 1,
            "folder_count": 0,
            "has_migrations": false
        },
        {
            "version": "1.3.7",
            "release_date": "2026-06-04",
            "changelog": "Version 1.3.7\n\n* Fix: Remove missing local select2 CSS\/JS references (library not installed on server).\n* Fix: Replace missing local DataTables paths with CDN \u2014 jQuery 3.7.1, DataTables 1.13.8 Bootstrap 5 (CSS + JS).\n* Fix: DataTable init now uses Bootstrap 5 dom layout string.",
            "requirements": "PHP: 7.4+",
            "package_size": "12.32 KB",
            "min_version": "1.0.0",
            "checksum": "2062edf1c2026b95897f7d173c9907e3",
            "download_url": "\/packages\/update_1.3.7.zip",
            "file_count": 1,
            "folder_count": 0,
            "has_migrations": false
        },
        {
            "version": "1.3.6",
            "release_date": "2026-06-04",
            "changelog": "Version 1.3.6\n\n* Fix: Replace form-control+select2 with native form-select on all filter dropdowns \u2014 eliminates double-rendered select elements.\n* Fix: Remove orphaned $('.select2').select2() JS call.\n* Fix: ApexCharts mixed chart \u2014 change chart.type from 'line' to 'bar' and move month labels from labels[] to xaxis.categories[] so the monthly trend chart renders correctly.",
            "requirements": "PHP: 7.4+",
            "package_size": "12.29 KB",
            "min_version": "1.0.0",
            "checksum": "cb1554cedf196d40aa3fbed33669fa1b",
            "download_url": "\/packages\/update_1.3.6.zip",
            "file_count": 1,
            "folder_count": 0,
            "has_migrations": false
        },
        {
            "version": "1.3.5",
            "release_date": "2026-06-04",
            "changelog": "Version 1.3.5\n\n* Fix: Remove apply_currency_context() call from executive_report_dashboard.php \u2014 set $displayCurrency directly from $currency to eliminate dependency on currency_helper.php.",
            "requirements": "PHP: 7.4+",
            "package_size": "12.22 KB",
            "min_version": "1.0.0",
            "checksum": "d7cd82c9ec07e8fe4721f72e6234f5c7",
            "download_url": "\/packages\/update_1.3.5.zip",
            "file_count": 1,
            "folder_count": 0,
            "has_migrations": false
        },
        {
            "version": "1.3.4",
            "release_date": "2026-06-04",
            "changelog": "Version 1.3.4\n\n* Fix: Move layouts\/main.php include to after currency chain in executive_report_dashboard.php \u2014 resolves apply_currency_context() undefined fatal error on production.",
            "requirements": "PHP: 7.4+\\nMySQL: 5.7+",
            "package_size": "12.25 KB",
            "min_version": "1.0.0",
            "checksum": "4337ac5eb6f977a7e0538a6d35b06ac1",
            "download_url": "\/packages\/update_1.3.4.zip",
            "file_count": 1,
            "folder_count": 0,
            "has_migrations": false
        },
        {
            "version": "1.3.3",
            "release_date": "2026-06-04",
            "changelog": "Version 1.3.3\n\n* Fix: Remove duplicate session_start() via layouts\/session.php in executive_report_dashboard.php header \u2014 caused apply_currency_context() to be undefined on production.",
            "requirements": "PHP: 7.4+\\nMySQL: 5.7+",
            "package_size": "12.25 KB",
            "min_version": "1.0.0",
            "checksum": "cf333494d061923c669f584e51ef1b68",
            "download_url": "\/packages\/update_1.3.3.zip",
            "file_count": 1,
            "folder_count": 0,
            "has_migrations": false
        },
        {
            "version": "1.3.2",
            "release_date": "2026-06-04",
            "changelog": "Version 1.3.2\n\n* Fix: Removed orphaned global-scope Excel export block in executive_report_dashboard.php that caused fatal error Call to setActiveSheetIndex() on null on every page load.",
            "requirements": "PHP: 7.4+\\nMySQL: 5.7+",
            "package_size": "12.73 KB",
            "min_version": "1.0.0",
            "checksum": "d2ae9b3eb3bf6e6fe05d5af3ccddc89d",
            "download_url": "\/packages\/update_1.3.2.zip",
            "file_count": 1,
            "folder_count": 0,
            "has_migrations": false
        },
        {
            "version": "1.3.1",
            "release_date": "2025-12-28",
            "changelog": "Version 1.3.1\r\n\r\nPhase 1: Predictive Analytics\r\nHealthRiskScorer (classes\/HealthRiskScorer.php): Analyzes member age, chronic conditions, and visit frequency to calculate a risk score (0-100).\r\nRisk Scoring Job (risk_scoring_cron.php): A script designed to run nightly to update scores for all active members.\r\nDatabase: SQL schema for member_risk_scores.\r\n\r\nPhase 2: Mobile Money Integration\r\nMobileMoneyGateway (classes\/MobileMoneyGateway.php): Interface for triggering STK Pushes (Mock implementation ready for API keys).\r\nCallback Handler (api\/mobile_payment_callback.php): Endpoint to receive payment confirmations.\r\nMicro-Premiums: Added \"Weekly\" and \"Daily\" options to the Installment Plan configuration.",
            "requirements": "PHP: 7.4+\nMySQL: 5.7+",
            "package_size": "5.81 KB",
            "min_version": "1.0.0",
            "checksum": "88959f4aa4c1231847b92fddfe4f33bf",
            "download_url": "\/packages\/update_1.3.1.zip",
            "file_count": 4,
            "folder_count": 2,
            "has_migrations": true
        },
        {
            "version": "1.3.0",
            "release_date": "2025-12-28",
            "changelog": "Version 1.3.0\r\n\r\nPhase 1: Predictive Analytics\r\nHealthRiskScorer (\r\nclasses\/HealthRiskScorer.php\r\n): Analyzes member age, chronic conditions, and visit frequency to calculate a risk score (0-100).\r\nRisk Scoring Job (\r\nrisk_scoring_cron.php\r\n): A script designed to run nightly to update scores for all active members.\r\nDatabase: SQL schema for member_risk_scores.\r\n\r\nPhase 2: Mobile Money Integration\r\nMobileMoneyGateway (\r\nclasses\/MobileMoneyGateway.php\r\n): Interface for triggering STK Pushes (Mock implementation ready for API keys).\r\nCallback Handler (\r\napi\/mobile_payment_callback.php\r\n): Endpoint to receive payment confirmations.\r\nMicro-Premiums: Added \"Weekly\" and \"Daily\" options to the Installment Plan configuration.",
            "requirements": "PHP: 7.4+\nMySQL: 5.7+",
            "package_size": "2.7 KB",
            "min_version": "1.0.0",
            "checksum": "5cabff73452c00d57ebab69a86e219e1",
            "download_url": "\/packages\/update_1.3.0.zip"
        },
        {
            "version": "1.2.1",
            "release_date": "2025-12-28",
            "changelog": "Version 1.2.1\r\n\r\n* Bug fixes on the download handler",
            "requirements": "PHP: 7.4+\nMySQL: 5.7+",
            "package_size": "2.27 KB",
            "min_version": "1.0.0",
            "checksum": "6a8b8ab142191c48c4b9ac71aefa6d0f",
            "download_url": "\/packages\/update_1.2.1.zip"
        }
    ],
    "latest_version": "1.3.1",
    "release_date": "2025-12-28",
    "changelog": "Version 1.3.1\r\n\r\nPhase 1: Predictive Analytics\r\nHealthRiskScorer (classes\/HealthRiskScorer.php): Analyzes member age, chronic conditions, and visit frequency to calculate a risk score (0-100).\r\nRisk Scoring Job (risk_scoring_cron.php): A script designed to run nightly to update scores for all active members.\r\nDatabase: SQL schema for member_risk_scores.\r\n\r\nPhase 2: Mobile Money Integration\r\nMobileMoneyGateway (classes\/MobileMoneyGateway.php): Interface for triggering STK Pushes (Mock implementation ready for API keys).\r\nCallback Handler (api\/mobile_payment_callback.php): Endpoint to receive payment confirmations.\r\nMicro-Premiums: Added \"Weekly\" and \"Daily\" options to the Installment Plan configuration.",
    "requirements": "PHP: 7.4+\nMySQL: 5.7+",
    "package_size": "5.81 KB",
    "min_version": "1.0.0",
    "checksum": "88959f4aa4c1231847b92fddfe4f33bf",
    "last_updated": "2025-12-28 18:35:30"
}