# Update v5.9.x
# Instruction

:::danger
IMPORTANT! Before updating to v5.9.x, you must have a version of Swarmica not lower than [v5.8.x](https://support.swarmica.com/article/ru/1361 "v5.8.x").

It is important to perform updates sequentially: if the Swarmica version is lower than v5.5.x, for example, v5.3.x, then you must first update to v5.4.x, then to v5.5.x, and so on.
:::

### Preparation

To update, check that the version is set in the .env configuration file:

```bash
~# grep VERSION .env
SW_FRONTEND_VERSION=v5.9.2
SW_BACKEND_VERSION=v5.9.2
SW_HELPCENTER_VERSION=v5.9.2
```

If you plan to use two-factor authentication, you must [add a new feature flag](https://support.swarmica.com/article/ru/596) `2fa`.

Also, at the same step, you can [enable optimization of the knowledge base portal for LLM](https://support.swarmica.com/article/ru/1483).

### Update

:::tip
There will be a service interruption for several minutes; it is recommended to perform the update during hours when system usage is minimal.
:::

Perform the update with a system restart:

```bash
docker compose pull
docker compose down
docker compose up -d
```

### After the update

After all containers start and the service becomes available through the web interface, complete the post-upgrade steps:

1.  Run the post-start command to update static files, search indexes, and perform other necessary procedures:

```bash
docker exec --env-file .env -it swarmica-django-1 python manage.py post_start
```

This command may take a long time, depending on the amount of data in the system.

1.  Run the command to rename the `chat_status` field to `status`:

```bash
docker exec --env-file .env -it swarmica-django-1 python manage.py migrate_chat_status_to_status
```

1.  Run the command to migrate the auto-assignment status to the `status` field:

```bash
docker exec --env-file .env -it swarmica-django-1 python manage.py migrate_autoassign_to_status
```

1.  If you use YandexGPT, then in this release you need to reconfigure it:

4.1. Switch the model from YandexGPT-Lite to YandexGPT:

```bash
docker exec --env-file .env -it swarmica-django-1 python manage.py migrate_yandex_gpt_model
```

4.2. Reset the YandexGPT state to "clean":

```bash
docker exec --env-file .env -it swarmica-django-1 python manage.py wipe_yandex_cloud
```

After all post-upgrade steps are completed, you will need to go to the graphical interface > Settings > Integrations > AI Providers and re-enable AI assistants.

1.  Run the calculation of the SLA non-compliance coefficient, which is used to sort tickets during auto-assignment:

```bash
docker exec --env-file .env -it swarmica-django-1 python manage.py recalculate_sla
```

1.  Run the cleanup of unused data:

```bash
docker system prune -a
```

:::tip
IMPORTANT! Make sure that all containers have started successfully before running this command.
:::

## ✨ **Key improvements**

### 🔐 **Security and access**

• The ability to use 2FA via TOTP and Email
• Blacklist of compromised JWT tokens
• Masking of passwords, tokens, and other sensitive data in the API
• Secure form for entering passwords, tokens, and other sensitive data

### 🧠 **Working with articles**

• The ability to translate the entire article (AI)
• The ability to create 30+ tabs in an article
• Auto-anchors for headings
• Events for changing the statuses and segments of articles
• Advanced SEO settings for articles
• [Optimization of the knowledge base for LLM](https://support.swarmica.com/article/ru/1483-vklyuchenie-indeksacii-publichnogo-portala-bazy-znanij-dlya-llm-llmstxt.html)

### 📬 **Automation and templates**

• Support for Jinja in email automations (to / cc / bcc)
• Support for Jinja variables in tickets

### 📊 **Reports and filters**

• Added new objects and measurable entities
• Support for isnull for products/layouts/versions/platforms
• Modifiers for Hour and Day of the week for Date and Time fields in reports + the ability to set the time zone for these modifiers

### 💬 **Messengers and channels**

• Deepened integration with MAX
• Added settings, links, and support in the widget

***

## 🔧 **Bug fixes**

🎨 Fixed issues with the editor: video, text formatting, undo, drop-down menus, and styles.
📊 Report display: locales, dates, SLA counters, and data display.
🧾 Fixed bugs in auto-assignment logic and event processing.
💬 Improved stability of messengers and comment processing.
⚙️ Improved system stability and performance: cache, API, migrations, and background processes.