# All-in-One Communication System V15.1

V15.1 keeps the V15 commercial-grade campaign upgrades and adds browser-based update deployment support. V15 upgrades the suite for **commercial-grade campaigns** with a stronger focus on reliability, launch guardrails, and deliverability visibility.

## What is new in V15
- Drag-and-drop email builder for campaign composition
- Advanced analytics charts for delivery, opens, clicks, bounces, and channel volume
- System Health + Deliverability Center with provider readiness, queue pressure, bounce watch, suppression trends, and recovery visibility
- Multi-variant testing for control, Variant A, and Variant B campaign comparisons
- Campaign preflight checks to catch provider, audience, subject, content, and list/channel issues before launch
- Manual **Add to List** field under **Add Contact** so a new client can be saved directly into an existing imported list

## Import/list fix included
This build fixes the list import SQL error:

`SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'email' in WHERE is ambiguous`

The contact and list queries now fully qualify joined columns such as `email`, `id`, and `created_at`, which resolves ambiguous-column failures during imports and related contact lookups.

## Key files updated
- `app/models/Contact.php`
- `app/models/ContactList.php`
- `app/models/Message.php`
- `app/models/Campaign.php`
- `app/models/Suppression.php`
- `app/controllers/ContactsController.php`
- `app/controllers/MessagesController.php`
- `app/views/contacts/index.php`
- `app/views/messages/index.php`
- `app/views/messages/report.php`
- `public/assets/js/app.js`
- `public/assets/css/style.css`

## Browser-based deployment
- `public/install.php` now includes an **Update Center** for admin-run, browser-based update package uploads.
- Update packages are applied with automatic file backups under `storage/updates/backups/`.
- A standalone browser updater can also be used for one-time V14 → V15.1 deployments when shell access is unavailable.

## Notes
- No database schema migration is required for the V15 changes included in this package.
- Existing saved lists can now be reused from the Add Contact form.
- Draft and approval workflows now benefit from preflight checks before launch.
