Platform release history — what shipped, when, and where.
v1.1.2.02026-04-17
Changed
Email templates now use dynamic tenant company branding instead of hardcoded values
admin_backendauth_microserviceaccount_microservicefinance_microserviceprofile_microservicehelpcenter
Legacy templates: replaced config('app.name') and inline Setting::where() queries with $companyName passed from controller via Mailable
New (OKM) templates: replaced all hardcoded Oktrum branding — company name, logo, website, contact email, phone, addresses — with dynamic profile.company.* tenant settings
Added companyProfile() bulk-fetch method to EmailTemplateFlag on admin_backend
Each microservice Mailable now resolves the full company profile in one query
Added
New settings seeder CompanyProfileSettingSeeder with 5 keys: profile.company.logo_url, profile.company.website_url, profile.company.phone, profile.company.address_physical, profile.company.address_registeredmigration-service
Seeder rules in database-conventions.md SOP — use firstOrCreate for tenant-customisable settings, never modify existing seeders
api_gateway
Updated versioning SOP to 4-segment format: MAJOR.FEATURE.IMPROVEMENT.FIXapi_gateway
v1.1.12026-04-09
Changed
Hide manual "Add Payment Method" option and the model code field from the admin UI
admin_ui
Fixed
Compliance redirect now sends users to the Upload Documents page when their profile is complete but documents were rejected, instead of always redirecting to Profile
ui_gateway
v1.1.02026-04-08
Added
Permanent (hard) delete option for clients
admin_uiapi_gatewayadmin_backend
Toggle switch in soft-delete confirmation modal
"Permanently Delete" action for already soft-deleted clients
"Permanently Delete Selected" bulk action
Deletes all related data: profile, accounts, transactions, invoices, wallets, documents, bank accounts, tickets
`RejectReadonlyToken` middleware on all microservices blocks writes from readonly tokens
`ReadonlyGuard` middleware on ui_gateway blocks non-GET requests in readonly session
Red readonly banner and global JS to hide submit buttons
`frontend_url` column on `tenants` table for multi-tenant dashboard URL resolution
New admin setting to restrict Live accounts for unapproved users: when enabled, users who have not completed compliance can still access the Accounts page but can only view and create Demo accounts. The Live account section is hidden until compliance is approved.
Fixed
API Gateway client delete proxy now forwards request body to downstream service
api_gateway
Fixed deposit table detail popup not closing automatically after a successful action
v1.0.02026-03-25
Released
Initial production deployment — OKM tenant live on servers.com Bahrain
11 microservices + 3 queue workers deployed via Docker Compose