Changelog
All notable changes to stats-flow will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Deployment Guide
git commit -m "chore(release): released for x.x.x – see release notes at https://kb.nmscreative.com/books/stats-flow/page/changelog#bkmrk-1.0.0-beta"
git tag -a x.x.x -m "chore(release): released for x.x.x – see release notes at https://kb.nmscreative.com/books/stats-flow/page/changelog#bkmrk-1.0.0-beta"
| Stage | Color | Example Badge URL | Notes | |
|---|---|---|---|---|
| Code Reviewed | 🟨 Yellow | https://img.shields.io/badge/Reviewed-5.13.5-yellow |
Ready for Staging |
|
| Staging / RC | 🟩 Green | https://img.shields.io/badge/RC-5.13.5-green |
Deployed in Staging, QA passed |
|
| Demo | 🟧 Orange | https://img.shields.io/badge/DEMO-5.13.5-orange |
Deployed in Staging and Demo, QA passed |
|
| Production RC | 🟪 Purple | https://img.shields.io/badge/PRC-5.13.5-purple |
QA Live in Production |
|
| Production / Latest | 🟦 Blue | https://img.shields.io/badge/Latest-5.13.5-blue |
Live in Production |
|
Promotion to Latest requires that the version be merged into the main branch, deployed to production, and remain free of critical issues for a minimum of 24 hours. The Latest tag must not be applied on the day of deployment
1.0.0-beta.4
August 19, 2026
Production Released:
- Jon Rey - August 19, 2026
- Jon Rey - July 17, 2026
- Jon Rey - July 14, 2026
- Jon Rey - July 07, 2026
- Jon Rey - July 03, 2026 (Approved by Chambe)
- Jon Rey - July 03, 2026 (Approved by Chambe)
Staging Released:
- Jon Rey - August 19, 2026
- Jon Rey - July 17, 2026
- Jon Rey - July 14, 2026
- Jon Rey - July 07, 2026
- Jon Rey - July 03, 2026 (Approved by Chambe)
- Jon Rey - July 02, 2026 (Approved by Chambe)
Demo Released:
Released:
- 1.0.0-beta.4
- 1.0.0-beta.3
- 1.0.0-beta.2
- 1.0.0-beta.1
Payout Purging, Locking & Cancellation
Task Card: ---
Date added: July 31 – August 18, 2026
Changelog:
Features
- Production Stats Purging & Export
- Implement production stats purging functionality.
- Implement production report export.
- Add table row action button on Upload Stats table to view production stats filtered by platform ID and reported date (hidden when purged).
- Payout Purging System
- Implement selective operator purging for payouts with a dedicated Livewire component and management flow.
- Add row-level purging via
PurgeDisbursementRowsAction— marks payout rows as purged and dynamically recalculates disbursement totals. - Implement functionality to purge disbursement report columns with recalculation and notification support.
- Add purge payout rows action with confirmation modal and localized descriptions.
- Filter out purged disbursement report rows and improve migration foreign key handling.
- Payout Activity Logs
- Implement tabbed activity log viewer with purge filtering and supporting translations.
- Integrate activity log viewer component into the
EditPayoutspage.
- Payout Locking & Countdown
- Implement automatic payout locking with countdown modal and localized labels.
- Implement reminder lock payout and locked payout mail via scheduled command.
- Add dynamic payout countdown timer and improve table UI.
- Payout Cancellation
- Add payout cancellation functionality with email notifications and template support.
- Internationalize payout cancellation UI and standardize user name formatting.
- Add status description logic for cancelled payouts.
- Payout Adjustments
- Implement background payout adjustment processing with automated email notifications and error handling.
- Upload adjustments feature.
- Payout Email Notifications
- Add support for dynamic links to payout email notifications and update message templates.
- Implement unassigned alias warning email and localize payout interface strings.
- Add
PayoutStepOneCompletedMailhelper for payout notifications.
Refactoring & Improvements
- Update payout processing logic to aggregate stats by user instead of alias and improve efficiency.
- Add
CLOSEDstatus to filters, enforce translation keys in payout actions, and update language files. - Localize operator selector and payout modal UI elements using translation keys.
- Enhance UI/UX with standardized theme colors, dropdown behaviors, and consistent interaction feedback across payouts and invoice components.
- Internationalize stats file upload component and update validation feedback logic.
Bug Fixes
- Fix data not reflecting on production stats export.
- Fix multiple user data entry issue in payouts.
- Remove
getMorphClass()on Operator Profile model; fix 403 on viewing OPS Profile.
Contributor:
- Jon Rey
MessageTemplateNotifier & Ticket System
Task Card: ---
Date added: August 10 – August 17, 2026
Changelog:
Features
- MessageTemplateNotifier
- Implement modular
MessageTemplateNotifiersystem with multi-channel support and Filament resource management. - Add
DeveloperPermissionSeederto the database seeder chain. - Update message template requester logic and refine notification handling.
- Implement modular
- Submit Ticket Page
- Add Filament page with embedded Resolve support center integration.
- Append authenticated user email to Resolve URL for identification.
Refactoring
- Redesign user menu, add message template notifier permissions, and update localization strings.
Contributor:
- Jon Rey
Operator Profile & Alias Enhancements
Task Card: ---
Date added: July 13 – July 23, 2026
Changelog:
Features
- Operator Profile (#19)
- Add activity logs and render roles in user details.
- Create ops profile with user role as default.
- User/Ops deactivation command.
- Hide MD5 field.
- Alias Improvements
- Add alias to payout records and disable update button for locked or closed statuses.
- Implement alias prefix filter for production stats.
- Improve alias character encoding with multibyte encoding and ASCII normalization.
Refactoring
- Improve alias prefix matching with multibyte encoding, ASCII normalization.
- Implement categorized error notifications for developers and users.
- Update payout search to alias, increase currency precision to 3 decimal places, and adjust UI dropdown placement.
Bug Fixes
- Remove
getMorphClass()on Operator Profile model. - Fix 403 on viewing OPS Profile.
Contributor:
- Jon Rey
- Frederick
Outstanding Balances Module
Task Card: ---
Date added: June 19 – July 17, 2026
Changelog:
Features
- Outstanding Balances (#6)
- Upload / fetch outstanding balance feature with code optimization.
- Implement background job processing for outstanding balances including mailer support and custom exception handling.
- Add global minimum payout amount for local and offshore.
- Locking payout with additional status of OB when added to the data.
- OB page and add unique constraint on OB database table.
- Add
FilamentShieldauthorization toOutstandingBalancepage. - Export outstanding balance via
storageDisk(). - Uses
AbstractMailerfor OB notifications. - Include adjustments in
total_netcalculation during balance processing.
Refactoring
- Optimize Payouts page summary queries, implement new utility configuration, and add warning UI to file uploads.
- Simplify file storage and CSV parsing by streaming uploads directly from S3 in
EditPayouts. - Replace password verification with email verification and update role permissions seeder.
Contributor:
- Jon Rey
- Frederick
MVP 2: Payouts Processing & Disbursements
Task Card: ---
Date added: June 8 – June 30, 2026
Changelog:
Features
- Payout Processing (#6)
- Implement
ProcessPayoutChunkjob to handle disbursement data processing in micro-batches to improve memory efficiency. - Implement asynchronous payout report exports with secure signed download links via email notification.
- Implement policy-based authorization and permissions for outstanding balances and production stats.
- Rename Outstanding Balance file, class, and namespace.
- Activity logs for generate payout step 1.
- Added border to payout table header.
- Added new UI change breadcrumbs, upload and table columns.
- Optimize UI and change the hash of disbursement.
- Implement
- Advanced Table Enhancements
- Implement resizable column functionality for advanced table components.
- Implement search-aware record counting and elevate z-index for frozen table columns.
- Implement hide/show money values functionality (advanced table enhancement).
- Add dynamic payout countdown timer and improve table UI.
- Integrate advanced manual actions column into payouts table and refine z-index layering for sticky table elements.
- Improve accessibility by adding motion-reduction support, scroll padding, and explicit focus states for advanced tables.
- Payroll Details (#6)
- Implement payout edit page logic and automate production stats export with background jobs.
- Update Filament payout resource view logic.
- Update payout mailer.
Refactoring & Chores
- Implement sequential payout step handling with background processing and improved table optimization.
- Modernize payout step progression with improved error handling and event-driven communication via new wrapper component.
- Add
HasOverridePagetrait and apply null-safe access to disbursement detail calculations inEditPayoutspage. - Simplify file upload validation by replacing platform-specific naming conventions with explicit platform selection.
- Update payout status logic and restyle system email templates.
- Implement adjustment type enum and add job failure notification support.
- Optimize payout processing performance and update notification hashing.
- Optimize
ProcessPayoutStepOnejob with chunking and add notification support for disbursement status updates. - Update notification recipient lookup, improve field filtering, and expand payout email target roles.
- Improve AdvancedTable sticky footer positioning, optimize utility search query, and localize payout notifications.
- Optimize payout resource UI, filter active options in utility forms, and localize placeholders.
- Enhance migrator flexibility with model abstraction, temporary data filtering, and updated platform synchronization logic.
- Update branding assets, refine auth UI components, and adjust user hashing logic.
- Update user list sorting to use
last_namewhen sorting by name. - Re-arrange navigation group.
Bug Fixes
- Security: Remediate 36 security vulnerabilities and perform codebase refactoring as documented in the internal vulnerability report.
- UI/UX: Adjust z-index values for pinned table columns to prevent overlap scrolling issues.
- Implement warning status for file processing and include warnings in batch report notifications.
Contributor:
- Jon Rey
- Frederick
MVP 2: Invoices & Purchase Orders
Task Card: ---
Date added: May 4 – May 22, 2026
Changelog:
Features
- Invoice Module (#15)
- Implement Invoice Filament resource with filtering and refactor database migrators for improved flexibility.
- Add filter sidebar and pending invoice total summary to invoice list view.
- Enable multiple selection for payout batch and operator filters in
InvoiceResource. - Add URL-persisted sorting and update sort options for invoice list table.
- Add bulk export action with custom confirmation modal for
InvoiceResource. - Implement invoice file migration and file preview controller with error handling.
- Implement invoice summary export with custom email notifications and filtered download routes.
- Implement custom brand logo branding for PDF invoice documents.
- Implement Flai invoice number migration and consolidate disbursement report row unique constraints and status columns.
- Purchase Order (PO) System
- Implement purchase order document generation and file viewing components with new configuration and model relationships.
- Add functionality to reject purchase orders with mandatory reason via PO viewer component.
- Implement purchase order rejection notifications with configurable email recipients and validation.
- Add company contact details to PO viewer component.
- Add vertical cell borders to PO document table components.
- Invoice PDF Generation
- Integrate
barryvdh/laravel-dompdfand implement dynamic invoice PDF generation from view template. - Implement invoice submission flow with snapshot metadata updates and automated PDF generation.
- Integrate
- MyInvoice Page
- Implement operator-facing MyInvoice Filament page with purchase order submission UI and payment detail masking.
- Add
MyInvoiceExporter, update status enums, and refactor MyInvoice filtering UI.
- Invoice Email Notifications
- Implement automated email notification for invoice submissions with new template seeding.
- Add
VIEW_OTHER_INVOICE_FILEpermission and update invoice access policies and visibility.
Refactoring
- Refactor
InvoiceTableschema, add migration for disbursement snapshots, and register newArrandStrmacros. - Remove disbursement_id from disbursement_user_snapshots and update schema and resource references.
- Remove S3-specific temporary URL logic from
FilePreviewControllerandFileManagementmodel. - Remove bulk download actions and helper methods from
InvoiceResource. - Replace modal cancel labels with hidden actions and update modal dispatch logic to use component IDs.
- Migrate invoice-related UI labels to a dedicated localization file.
- Optimize lookups using
keyByand improve data transformation logic inFlaiToDisbursementUserSnapshotMigrator. - Correct rate display format and recalculate line item total in PO document template.
- Add row-level locking and status verification to invoice confirmation and rejection actions.
Contributor:
- Jon Rey
FormChangeRequest System & Email Architecture
Task Card: ---
Date added: May 29 – June 3, 2026
Changelog:
Features
- FormChangeRequest System
- Implement
FormChangeRequestManagerdriver pattern and integrate with payout update workflow. - Implement FormChangeRequest Filament resource with dedicated policy, permissions, and modular table schema configuration.
- Prevent duplicate payout change requests with validation and UI notifications.
- Implement approval/rejection notifications and email templates for payout update requests.
- Implement payout update change driver logic, enhance payout request metadata handling, and add approval infolist to
FormChangeRequestResource. - Localize payout section UI and update
PayoutUpdateChangeDrivernotification link with section parameter.
- Implement
- RecipientManager & AbstractMailer
- Implement flexible recipient resolution and streamlined email dispatching via
AbstractMailerand driver-basedRecipientManager. - Centralize email generation and status styling via new mailer and utility helpers.
- Implement flexible recipient resolution and streamlined email dispatching via
- Permissions & Roles
- Add new roles and implement detailed permission mapping in
PermissionRoleSeeder. - Implement Filament Shield permissions and page policies for invoices, stats, and teams.
- Add new roles and implement detailed permission mapping in
- UI Improvements
- Add tabbed interface to FormBuilder for selecting existing payout methods and include initial developer documentation.
- Add
copyableOnClickmacro to Filament text columns for clipboard interaction with custom notifications. - Add consistent icons to UI buttons and action elements throughout the application.
Refactoring
- Separate employment and payout sections and implement FormChangeRequest system for payout updates.
- Enhance FormChangeRequest filtering with dynamic category options and add
actioned_byfilter support. - Replace hardcoded strings with localization keys across Filament resources and pages.
- Localize navigation and resource strings, and introduce invoice language files.
- Remove redundant
getFormsmethods from Filament list pages. - Modularize agent rules into specialized documents.
Contributor:
- Jon Rey
Utilities & Design System
Task Card: ---
Date added: April 27 – April 30, 2026
Changelog:
Features
- Utility Resource (#14)
- Implement Utility Filament resource, add database migration support via helper, and upgrade database migrator.
- Implement
FlaiUtilitiesMigratorfor automated utility synchronization and add configuration schema.
- Design System
- Implement interactive Filament design system documentation page.
- Payouts Foundation (#6)
- Implement payouts resource with step-based progress tracking and operator selection via Livewire components.
- Implement Payouts management module with localized navigation and localization support.
- Initial commit for the outstanding balance threshold.
- Additional field for the outstanding balance configuration/rules.
Refactoring
- Standardize Filament resource structures and actions by migrating to modular schemas and custom macro definitions.
- Enhance Filament modal action macros and update Utility resource UI for improved status management and edit-only field handling.
- Replace utility table edit action guard with form-level payout lock warning and field restrictions.
- Standardize database connections across migrators using
DBMigrationHelperand add utility scripts for verification.
Contributor:
- Jon Rey
- Frederick
1.0.0-beta.3
May 28, 2026
Production Released: Developer - Date
Staging Released:
- Jon Rey : May 28, 2026 (Approved by Chambe)
Demo Released:
- Jon Rey : May 28, 2026 (Approved by Chambe)
Production Stats Improvements & Localization
Task Card: https://projects.nmscreative.com/projects/stats-pro/work_packages/2673/activity
Date added: May 15 – May 28, 2026
Changelog:
Features
- Batch Notifications
- Add
ProductionStatsBatchNotificationjob for email reporting of batch processing results. - Add
SendsFailureNotificationstrait for automated job and batch failure reporting.
- Add
- Alias & Status
- Add failed status support and update alias user mapping and production stats status tooltips.
- Implement alias assignment workflow and improve filter logic for unassigned aliases.
- Permissions & Exports
- Add
ExportPolicyand register policy for Filament Export model.
- Add
- Localization
- Implement multi-language resource localization and standardize label keys across Filament resources.
- Demo Environment
- Add
values-demo.yamlconfiguration for demo environment deployment.
- Add
Refactoring
- Implement consistent form filtering and real-time table resets across Filament resource pages.
- Optimize platform detail view by removing redundant create modal and updating status display logic.
- Make platform action buttons sticky and adjust container spacing.
Contributor:
- Jon Rey
Fixes for FB-0001
Task Card: https://projects.nmscreative.com/projects/stats-pro/work_packages/2616/activity
Date added: May 15, 2026
Fixed:
-
Fixes for FB-0001 includes the following:
- Check Prolonged status
- Editable Platform status
- Export feature: if user has access to page, can export
- Fix platform filter issues including localization and property type correction (
platform_idfrom array to null). - Fixed the production stats filter.
- Platform filter localization fixed.
- Added platform field for the filters and code optimizations.
Contributor:
- Jon Rey
1.0.0-beta.2
May 07, 2026
Production Released: Developer - Date
Staging Released:
- Jon Rey : May 07, 2026
Demo Released:
- Jon Rey : May 07, 2026
Production Stats File & Job Batching
Task Card: https://projects.nmscreative.com/projects/stats-pro/work_packages/2616/activity
Date added: May 06 – May 07, 2026
Changelog:
Features
- ProductionStatsFile Resource
- Add Filament resource for production stats files with file upload and download capabilities.
- Job Batching & Monitoring
- Add job batching support to
MailJoband implement developer dashboard test endpoint. - Create jobs-monitor dashboard view with batch monitoring, retry, and redispatch functionality.
- Add batch redispatch logic to
DeveloperTestController.
- Add job batching support to
- Queue & Environment
- Update queue worker command to process high, default, and low priority queues.
- Add demo environment values configuration for stats-flow.
- Add demo environment and Argo CD links to
catalog-info.yaml. - Update
getStorageDiskto use live disk for demo and prod environments.
Fixed
- Prevent hash overwriting for existing users, update queue handling, and add completion notifications to test batches.
- Update file status to
QUEUEDinstead ofPENDINGafter queue dispatch. - Replace individual
personal_emailuniqueness with composite constraint onpersonal_emailandcompany_email.
Contributor:
- Jon Rey
- Frederick
1.0.0-beta.1
April 27, 2026
Production Released: Developer - Date
Staging Released:
- Jon Rey : April 27, 2026
Upload Stats – PLATFORM Required
Task Card: https://projects.nmscreative.com/projects/stats-pro/work_packages/2616/activity
Date added: April 27, 2026
Changelog:
-
Multi-Platform File Upload
- Supports uploading multiple files across different platforms within a single workflow.
- Processes platform-specific data without manual platform selection.
-
Automated Platform Detection
- Identifies platform based on filename structure.
- Removes reliance on manual platform input.
-
Standardized File Naming Convention
- Enforced format:
PlatformName_id_date.csv - Ensures consistent structure for parsing and data mapping.
- Enforced format:
-
Enhanced Production Stats Template
- Includes Platform Name and Platform ID fields.
- Aligned with upload processing requirements.
-
Filename Management
- Allows inline filename correction prior to upload.
- Maintains compliance with required naming standards.
-
MPV2 Alignment
- Integrated updates aligned with MPV2 requirements.
- Ensures compatibility with upcoming system changes.
Contributor:
- Frederick
- Jon Rey
1.0.0-beta
April 24, 2026
Production Released: Developer - Date
Staging Released:
- Jon Rey : April 24, 2026
Demo Released:
- Jon Rey : April 24, 2026
Initial Release
Date added: April 24, 2026
Changelogs:
- Initial Application — Laravel 12 application with Filament 3 admin panel, core resources, models, and foundational components.
- Service Management — Comprehensive Filament resources for services including service rates, activity logging, and incentives.
- Platform Management — Full platform CRUD with Filament resources, legacy data migrators, and Livewire components.
- Client Management — Client resource with platform associations and profile management.
- Alias Management — Alias CRUD with service rate assignment, credentials management, and prefix support.
- Operator Profiles — Filament resources for operator profiles with user detail management forms, employment details, and payment details.
- Legacy Data Migration — Comprehensive data migrators for Flai (services, rates, users, aliases, ICA, non-operators) and Prody (platforms, operators, FT operators) systems.
- User Management — User model with profile forms, detail tables, and legacy migrators from multiple source systems.
- Developer Dashboard — Testing dashboard to verify system components including broadcasting, queues, mail, cache, database, and logging.
- String & Array Macros — Utility
StrMacroandArrMacrowith sanitization and formatting helpers. - Application Setup Command —
app:setupconsole command for initial application setup including migrations, seeding, and admin user creation. - Infrastructure — Helm charts for stage and production environments, CI/CD pipeline with GitLab, Dockerfile, Nginx configuration, and Kubernetes manifests.
- Real-Time Communication — Laravel Reverb integration with WebSocket support and Nginx routing.
- Frontend Build — Vite configuration for Laravel asset compilation and HMR support.
Contributor:
- Jon Rey
- Jay Lord
- Frederick