# Upgrading to Broadcast 2.0

> Everything you need to know about upgrading your Broadcast installation from version 1.x to version 2.0, including breaking changes, new features, and what to test.

Source: https://sendbroadcast.net/docs/upgrading-to-2

Broadcast 2.0 is our biggest release yet, featuring a redesigned interface, powerful new tools, and improvements across every part of the application. This guide will help you prepare for the upgrade and get familiar with what's new.

## Quick Summary

Here's what you need to know at a glance:

- **Your data is safe:** All your subscribers, broadcasts, sequences, and settings will be preserved
- **Existing embed codes still work:** Your opt-in forms will continue to function, though you can optionally update them for better performance
- **New look, same workflow:** The interface has been redesigned, but everything works the same way you're used to

---

## Before You Upgrade

**Create a backup first.** Go to **Application Settings → Backups** and create a fresh backup before starting the upgrade. Keep this backup safe in case you need to restore.

---

## What's Changed

These are changes that may affect your existing setup. Review them before upgrading.

### Opt-In Form Embed Codes

The opt-in widget system has been redesigned for better performance. Here's what you need to know:

- **Your existing embed codes will continue to work:** no immediate action required
- For better loading speed, you can update to the new embed code format
- The new embed code is available in each form's settings under **Embed Code**

**New widget types are now available:**

| Widget Type | Description |
|-------------|-------------|
| Inline | Embeds directly in your page content |
| Popup | Appears as a centered modal overlay |
| Slide-in | Slides in from the corner of the screen |
| Floating bar | Appears as a bar at the top or bottom of the page |

### Dashboard Bookmark

Bookmarks pointing to your Broadcast URL (`/`) continue to work: they take you straight to your current channel's dashboard. In current versions of Broadcast, each channel's dashboard also has its own address that includes the channel (for example `/c/acme-newsletter`), which you can bookmark to always land on that specific channel.

### Opt-In Form Editor Now Requires Saving

The opt-in form editor no longer auto-saves your changes. This gives you more control:

- Make as many changes as you want without affecting your live form
- Preview your changes in real-time before saving
- Click **Save** when you're ready to publish your changes

### New Editor Modes for Broadcasts and Templates

Broadcasts and templates now support two editing modes:

- **HTML:** The traditional HTML editor you're familiar with
- **Blocks:** A new drag-and-drop visual editor

Your existing broadcasts and templates will continue to use HTML mode. You can try the new Blocks editor when creating new content.

---

## New Features

### Redesigned Interface

The entire interface has been refreshed with a new two-column sidebar layout that makes navigation faster and gives you quick access to your most-used features.

**What's new in the sidebar:**

- Icon rail on the left for quick navigation
- Expanded panel with detailed options
- Profile section at the bottom for account access
- Quick stats showing recent subscriber activity

### Tabbed Broadcast Composer

Creating broadcasts now uses a cleaner tabbed interface instead of a single long form. Each step of creating a broadcast has its own tab, making it easier to focus on one thing at a time.

### Improved Opt-In Form Editor

The form editor has been completely redesigned:

- **Inspector panel:** Edit block properties in a side panel
- **Drag-and-drop:** Reorder blocks by dragging them
- **Live preview:** See your changes instantly without saving
- **New block types:** Checkbox, dropdown, radio buttons, images, dividers, and spacers

### Double Opt-In Support

You can now require subscribers to confirm their email address before being added to your list. This helps ensure higher-quality subscribers and is required by law in some regions.

**To enable double opt-in:**

1. Go to your opt-in form's settings
2. Enable **Double Opt-In**
3. Select or create a confirmation email template
4. Optionally, select a welcome email template sent after confirmation

Subscribers who haven't confirmed will show a "Pending" status, and you can track confirmation rates in your subscriber list.

### Backup Management

Create and manage database backups directly from the admin interface. No more command-line access required.

**Location:** Application Settings → Backups

**What you can do:**

- Create new backups on demand
- Download existing backups
- View backup history with timestamps and file sizes
- Cancel in-progress backups

### Admin API Tokens

If you manage multiple channels and use the API, you can now create tokens that work across all channels instead of creating separate tokens for each one.

**Location:** Application Settings → Admin API Tokens

**Note:** Admin API tokens require you to specify which channel you're accessing by including `broadcast_channel_id` in your API requests.

### Custom S3 Storage

Configure S3-compatible storage providers for your file uploads directly from the interface.

**Location:** Application Settings → Storage

**Supported providers:**

- Amazon S3
- DigitalOcean Spaces
- Backblaze B2
- MinIO
- Any S3-compatible provider

You can test your connection before saving and migrate existing files between disk and S3 storage.

### Error Logs

View application errors for each channel, making it easier to troubleshoot delivery issues.

**Location:** Within your channel, go to Error Logs

### Application Logs

Real-time application logs for debugging issues.

**Location:** Application Settings → Application Logs

### Jobs Dashboard

View and manage background jobs with the enhanced jobs dashboard. See pending, scheduled, and completed jobs, and retry or cancel failed jobs.

**Location:** Application Settings → Jobs

### Templates in Sequences

Sequence email steps can now use templates. When you update a template, all sequences using it will automatically get the updated content.

### Email Server Copying

If you have multiple channels using the same email provider, you can now copy email server configurations from one channel to another instead of setting them up manually each time.

### Physical Address Field

Channels now have a physical address field to help with CAN-SPAM compliance. You can add your mailing address in your channel settings.

---

## Other Interface Improvements

- **Broadcasts:** Redesigned detail page with stats cards and email preview
- **Transactional emails:** Real-time updates and redesigned detail view
- **Login and signup:** Fresh split-screen design
- **Mobile:** Better responsiveness throughout the application
- **Tables:** Polished data tables with consistent design
- **Empty states:** Improved messaging when sections have no content yet

---

## API Changes

If you're using the Broadcast API, here are the changes you should know about:

### Admin API Tokens

When using admin API tokens, include the `broadcast_channel_id` parameter in all requests:

```bash
curl -H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
  "https://your-domain.com/api/v1/subscribers?broadcast_channel_id=123"
```

Regular channel-specific tokens continue to work as before without any changes.

### New Response Fields

Subscriber API responses now include:

- `confirmed_at`: Timestamp when the subscriber confirmed their email (for double opt-in)
- `email_url`: URL for email-based subscriber identification

### New Endpoints

- `GET /api/v1/opt_in_forms/:id/analytics`: Get form performance analytics
- `POST /api/v1/opt_in_forms/:id/duplicate`: Duplicate an opt-in form
- `POST /api/v1/email_servers/:id/copy_to_channel`: Copy email server to another channel

---

## What to Test After Upgrading

After the upgrade completes, take a few minutes to verify everything is working correctly.

### 1. Dashboard and Navigation

- [ ] Dashboard loads without errors
- [ ] Sidebar navigation works correctly
- [ ] All menu items are accessible
- [ ] You can switch between channels (if you have multiple)

### 2. Opt-In Forms

- [ ] Open an existing form in the editor: it should display correctly
- [ ] Visit a page with an embedded form: it should render and accept submissions
- [ ] Submit a test entry: a new subscriber should be created
- [ ] If using double opt-in, verify the confirmation email is sent

### 3. Broadcasts

- [ ] Any scheduled broadcasts are still scheduled
- [ ] Create a test broadcast and send it to yourself
- [ ] Open and click tracking is working (check the broadcast stats)

### 4. Sequences

- [ ] Active sequences are still running
- [ ] Open a sequence: steps should display correctly
- [ ] Enroll a test subscriber: they should receive sequence emails

### 5. Email Delivery

- [ ] Send a test email from your email server settings
- [ ] Verify the test email is delivered
- [ ] Click an unsubscribe link: it should work

### 6. API Integrations (if applicable)

- [ ] Existing API tokens still work
- [ ] API requests return expected data
- [ ] Webhooks are being received

---

## Troubleshooting

### Opt-In Forms Not Loading on Your Website

If embedded forms aren't appearing:

1. **Clear your browser cache** and reload the page
2. **Check the browser console** (F12 → Console) for JavaScript errors
3. **Try the new embed code:** get it from your form's settings
4. **Check domain settings:** ensure your website domain is allowed

### Sidebar Not Displaying Correctly

If the new sidebar looks broken:

1. **Hard refresh your browser:** Press Ctrl+Shift+R (Windows) or Cmd+Shift+R (Mac)
2. **Clear your browser cache** completely
3. **Try a different browser** to rule out browser-specific issues

### API Requests Failing

If API requests that worked before are now failing:

1. **Check your token type:** Admin API tokens require the `broadcast_channel_id` parameter
2. **Verify token permissions:** Ensure your token has the required permissions
3. **Check token status:** Make sure the token hasn't been revoked

### Forms Not Saving

Remember that the opt-in form editor now requires you to click **Save** to preserve your changes. Auto-save has been removed.

---

## Getting Help

If you run into issues during or after the upgrade:

- Check the [documentation](/docs) for updated guides
- Contact support at support@sendbroadcast.net
