# Update v5.11.x
# Instructions

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

It is important to perform updates sequentially: if the Swarmica version is lower than v5.10.x, for example, v5.3.x, then you first need to 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.11.2
SW_BACKEND_VERSION=v5.11.2
SW_HELPCENTER_VERSION=v5.11.2
```

Remove the cron container from the services section of docker-compose.yml and the swarmica_cron_d volume from the volumes section and all services:

```yaml
volumes:
  swarmica_postgres_data: {}
  swarmica_postgres_data_backups: {}
  swarmica_static: {}
  swarmica_logs: {}
  swarmica_ugc: {}
  swarmica_ai_assistant: {}
  swarmica_uploads: {}
  swarmica_runtime: {}
#  swarmica_cron_d: {} This line needs to be removed
  traefik_data: {}

services:
  django: &django
    ...
#      - swarmica_cron_d:/swarmica/swarmica/cron_d/:z This line needs to be removed

# This section needs to be removed entirely
#  cron:
#    <<: *django
#    restart: always
#    depends_on:
#      - postgres
#      - redis
#    command: /start-cron
#    volumes:
#      - ./.env:/etc/environment:ro
#      - swarmica_ai_assistant:/swarmica/swarmica/ai_assistant/articles/:z
#      - swarmica_cron_d:/etc/cron.d/:z
#      - swarmica_ugc:/swarmica/swarmica/attachments:z
#      - swarmica_runtime:/swarmica/swarmica/runtime_scripts/:z
#    labels:
#      - "traefik.enable=false"
```

### 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 reboot:

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

### After the update

After all containers start and the service becomes available through the web interface, perform 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
```

2. Run the command to save the order of menu items in the custom fields Menu and Badge:

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

3. Run the command to create periodic tasks for collecting email via IMAP:

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

4. Run the command to recalculate the number of ticket links associated with articles:

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

5. If you use the Yandex AI provider, then run the following command:

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

6. Run the command to create template cards for AQI (Article Quality Index) checks:

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

7. Run the command to create template cards for LAI (Link Accuracy Index) checks:

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

8. 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
:::

## ✨ **Main Improvements**

### 🤖 AI

- ⚡️⚡️⚡️ Added support for **own (local) LLM** through OpenAI API
- Added support for new AI providers:
  - **ChatGPT**
  - **DeepSeek**

### 📊 Reports and Automations

- Added new event time interval select modifiers.
- Added the group_rows parameter for row grouping in reports.
- Added a circuit breaker mechanism when trying to build too large a report.
- Improved sorting and display of search results.
- Added descriptions for auto-assignment rules.

### 🧠 Quality Control

- Implemented full management of your own rules for evaluating **Link Accuracy** and **Article Quality Index.**
- Refactored sections for evaluating Quality Control, Link Accuracy, and Article Quality Index - added filters, sortings, and search.

### 📩 Omnichannel

- Added support for Telegram working through a proxy server.
- Improved the reliability of email channel operation with an unstable network connection.

### 🎨 Interface and UX

- Added support for mass update of articles.
- Added the ability to delete article localization.
- Added the ability to drag-and-drop sort items in custom fields of type Menu or Badge.
- The ability to collapse long comments has appeared.

***

## 🔧 Fixed bugs

- 🎨 Fixed layout, attachment, and comment display issues.
- 🧾 Fixed race condition when updating tickets, SLA, and fork operations.
- 💬 Improved stability and expanded coverage of Swarmica installer scenarios
- ⚙️ Increased stability of background tasks, caching, and AI Assistants.
- 🧩 Fixed issues with generating article revisions and updating attachments.
