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
JulyAugust 02,19, 2026
Production Released:
- 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 - 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
MVPPayout 2:Purging, FlaiLocking & Cancellation
Task Card: ---
Date added: July 31 – August 18, 2026
Changelog:
Features
- 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 22,19 – July 17, 2026
Changelog:
All
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
Statsdata. - OB
projectpage 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 duringthisbalanceperiodprocessing.
Flowaredocumented
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
SecurityPayout&ProcessingPermissions(#6):Added- Implement
VIEW_OTHER_INVOICE_FILEProcessPayoutChunkpermissionjob 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
updatedpermissionsinvoiceforaccessoutstandingpoliciesbalances andvisibility.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
UI/UXAdvanced&TableAccessibilityEnhancements:ImplementedImplement resizable column functionality for advanced table components.ImprovedImplement 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.
Implemented search-aware record counting and elevated z-index for frozen table columns.Implemented hide/show money values functionality (advanced table enhancement).Added dynamic payout countdown timer and improved table UI.Integrated advanced manual actions column into payouts table and refined z-index layering for sticky table elements.
PayoutsPayroll&DetailsInvoices(#6):Implemented asynchronousImplement payoutreporteditexportspage logic and automate production stats export withsecurebackgroundsigned download links via email notification.jobs.ImprovedUpdateinvoiceFilamentfiltering,payoutenhancedresourcetableviewUI, and implemented dynamic timezone handling via cookies.logic.Added invoice management actions and rejection history viewer to payouts resource, updated invoice route links.Implemented cached sequence generators for invoices and POs, and added a confirmation flow for dispatching purchase orders.Built outstanding balance upload/fetch feature with code optimization.Built adjustments upload feature.Implemented reminder lock payout, lockedUpdate payoutmail, and command.
System & Administration:Removed unused buttons and fixed error localization.Added new roles and implemented detailed permission mapping inPermissionRoleSeeder.Localized navigation and resource strings, introduced invoice language files, and localized payout section UI.Implemented FormChangeRequest Filament resource with dedicated policy, permissions, and modular table schema configuration.Prevented duplicate payout change requests with validation and UI notifications.Added tabbed interface to FormBuilder for selecting existing payout methods and included initial developer documentation.mailer.
Refactoring & Chores
SecurityImplement& Architecture:Standardized query syntax usingwhereAny, centralized activity reason logging, and addressed critical security vulnerabilities identified in internal report.Modularized agent rules into specialized documents, added trigger metadata to agent rules, and removed emoji headers.Separated employment andsequential payoutsectionsstepandhandlingimplementedwithFormChangeRequestbackgroundsystem for payout updates.
Database & Jobs:Optimized database queries, standardized status enums,processing and improvedonboardingtableerror handling.optimization.Optimized payout processing performance, notification hashing, and ProcessPayoutStepOne job with chunking.Implemented adjustment type enum and added job failure notification support.
Email Delivery:Implemented flexible recipient resolution and streamlined email dispatching viaAbstractMailerandRecipientManager.Centralized email generation and status styling via new mailer and utility helpers.
UI/Filament Resources:Improved AdvancedTable sticky footer positioning, optimized utility search query, and localized payout notifications.Replaced hardcoded strings with localization keys across Filament resources and pages.Relocated brand assets to the nms directory and updated public path references.ModernizedModernize 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:
RemediatedRemediate 36 security vulnerabilities andperformedperform codebase refactoring as documented in the internal vulnerability report. - UI/UX:
AdjustedAdjust 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:https://projects.nmscreative.com/projects/stats-pro/work_packages/2616/activity
Date added: May 28,15, 2026
Fixed:
-
Fixes for FB-0001 includes the following:
- Check Prolonged status
- Editable Platform status
- Export
feature :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 Issue and Account Issue
Task Card: https://projects.nmscreative.com/projects/stats-pro/work_packages/2616/activity
Date added: May 06 – May 07, 2026
Fixed:Changelog:
Features
UserProductionStatsFileObserverResourcehash- Add Filament resource for production stats files with file upload and download capabilities.
generatorRemoveJob Batching & Monitoring- Add job batching
queuesupportcategory
toMailJoband implement developer dashboard test endpoint. - Create jobs-monitor dashboard view with batch monitoring, retry, and redispatch functionality.
- Add
developerbatchtoolsredispatchjoblogicbatchingtoDeveloperTestController.
- Add job batching
- Queue & Environment
- Update queue worker command to process high, default, and low priority queues.
- Add demo environment
invaluesAWSconfigurationS3for 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
workflowworkflow.Processes platform-specific data without manual platform
selectionselection.
-
Automated Platform Detection
Identifies platform based on filename
structurestructure.Removes reliance on manual platform
inputinput.
-
Standardized File Naming Convention
Enforced format:
PlatformName_id_date.csvEnsures consistent structure for parsing and data
mappingmapping.
-
Enhanced Production Stats Template
Includes Platform Name and Platform ID
fieldsfields.Aligned with upload processing
requirementsrequirements.
-
Filename Management
Allows inline filename correction prior to
uploadupload.Maintains compliance with required naming
standardsstandards.
-
MPV2 Alignment
Integrated updates aligned with MPV2
requirementsrequirements.Ensures compatibility with upcoming system
changeschanges.
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:
- Initialincluding service rates, activity logging, and incentives.
betaApplicationrelease— Laravel 12 application with Filament 3 admin panel, core resources, models, and foundational components.- Service Management — Comprehensive Filament resources for
clientservicesdemonstration. - Service Management — Comprehensive Filament resources for
- Platform forms, employment details, and payment details.
CoreManagementstatistics—trackingFull 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
features. - 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