Инструкция
ВАЖНО! Перед обновлением на v4.3.3 необходимо иметь версию Swarmica не ниже v4.2.0
Подготовка
Для обновления на версию v4.3.3 проверьте, что в конфигурационном файле .env поставлена версия v4.3.3:
~# grep VERSION .env
SW_FRONTEND_VERSION=v4.3.3
SW_BACKEND_VERSION=v4.3.3
Проверьте, что для сервиса postgres в docker-compose.yml установлен параметр shm_size: 1gb. Для нагруженных систем рекомендуется так же увеличить стандартные параметры work_mem, temp_buffers и shared_buffers согласно документации Postgres. то есть полностью секция сервиса postgres выглядит вот так:
postgres:
image: postgres:14.2-bullseye
restart: always
container_name: swarmica-postgres
shm_size: 1gb
command: postgres -N 1024 -c work_mem=8MB -c temp_buffers=16MB -c shared_buffers=1GB -c track_activity_query_size=16384
volumes:
- swarmica_postgres_data:/var/lib/postgresql/data:Z
- swarmica_postgres_data_backups:/backups:z
env_file:
- .env
ВАЖНО! Проверьте файл docker-compose.yml на соответствие следующим инструкциям!
Перед редактированием файла обязательно сделайте копию:
cp docker-compose.yml{,.back-`date +%Y%m%d%H%M%S`}
Обновление
Будет прерывание сервиса на несколько минут, рекомендуется выполнять обновление в часы, когда использование системы минимально
Выполните обновление с перезагрузкой системы:
docker compose pull
docker compose up -d --remove-orphans
После обновления
После того, как все контейнеры запустятся и сервис станет доступен через веб-интерфейс, выполните пост-апгрейдные шаги:
1. Запустите команду выставления полей, связанных с последним комментарием, добавленным в тикет:
docker exec --env-file .env -it swarmica-django-1 python manage.py migrate_ticket_last_reply
2. Запустите команду пост-старт, чтобы обновить файлы статики, индексы поиска и выполнить другие необходимые процедуры:
docker exec --env-file .env -it swarmica-django-1 python manage.py post_start
Эта команда может занять долгое время, в зависимости от количества данных в системе.
3. После того, как все успешно обновлено и работоспособность проверена, можно удалить неиспользуемые данные docker для освобождения дискового пространства:
docker system prune -a
ВАЖНО! Убедитесь, что все контейнеры успешно запустились, перед запуском этой команды
Список изменений
Frontend
- Feature #1340: enable inviting new users when email is not found in ticket requester
- Feature #1342: Added filter copying
- Feature #1349: Added a list of evaluated evaluations
- Feature #1371: show original message when edit message
- Feature #1375: Added a display state for list of related tickets in article
- Feature #1377: Add admonitions support for the articles
- Feature #1382: Added article comments pagination, moved add comment form to bottom of page
- Feature #1384: refine pinned comments UI: expand attachments, add toggle title, fix truncation
- Feature #1389: set default role filter in employees setting to exclude blocked users
- Feature #1391: new mechanism for inserting style, script, etc
- Feature #1392: diff article versions block
- Feature #1405: make mail domain optional when creating an organization
- Feature #1420: Supported 'last_reply_by', 'last_reply_at' in ticket filters
- Feature #1421: Added qa to 'all employees' table in scorecards
- Feature #1425: Supported vk channel in settings
- Feature #1434: add ai_assistant parameter in session search and differentiate AI-assistant searches in session history
- Feature #1441: save refresh token in refreshAuthToken function
- Feature #1447: Supported swarmica license upload via UI
- Bug #1383: Changed warning text in ticket
- Bug #1394: Fixed a request to set/remove flag from an article when comment is empty
- Bug #1396: Added a phone identity icon
- Bug #1397: Fixed message when merging tickets
- Bug #1407: Added icon for VK channel
- Bug #1409: remove useMemo in localizedDate and preferenceLocalizedDate compoenents to prevent rendered more hooks error
- Bug #1411: Convert HTML to Markdown when creating an article from a comment
- Bug #1412: Fixed sla edit form
- Bug #1413: resolve conflicts
- Bug #1417: fix display of selected user in cf object
- Bug #1418: fix double date display in article comments
- Bug #1418: fix table style in view article
- Bug #1422: Refresh an article when server sends an event
- Bug #1424: Fixed button translations for aqi and lai evaluations
- Bug #1427: fix error when last used filter in article was deleted
- Bug #1428: Fixed display of attached files in ticket
- Bug #1429: Added a slash to nodes request
- Bug #1431: Fixed display of dates in article properties depending on settings
- Bug #1432: Fixed icons in CommentCollapsedSwitch, created ArticleCommentsContainer
- Bug #1437: Moved 'delete' button to the bottom of TicketKCSArticles widget
- Bug #1439: resolve bug with search text vanishing on filter change
- Bug #1442: fix ai search icon in ticket session search list
- Bug #1444: clear ai search state after creating ticket or if solution article help
- Bug #1448: Added a blank filter name when copying a filter
- Bug #1449: Changed logic of button on register form
- Bug #1450: Fix custom favicon
- Bug #1451: invite user in requester search in ticket
- Bug #1452: Added 'Evaluation' column for qa, aqi, lai to the table
- Bug #1455: fix but not open on chat tab when open_chat=true in url
Backend
- Feature #1922: Added telegram local bot server
- Feature #1937: added outgoing email notification to logs
- Feature #1941: updated dates in email footer fixture
- Feature #1992: Removed startup errors if there are no environment variables for VK, and VK Channel was added to the documentation.
- Feature #1995: added hyperlink to ticket in XLSX filter export
- Feature #2000: The last_reply field has been added to Ticket, along with filtering options for last_reply_by and last_reply_at (__eq, __lte, __gte) in the API, exports, and query language.
- Feature #2001: Made the mail_domains field optional when creating/updating an Organization
- Feature #2002: JWT tokens lifetime now configurable from .env
- Feature #2004: Added a WebSocket articles with notifications about viewers and article/revision changes.
- Feature #2006: Added a command to set the last_reply field for all non-merged, non-deleted tickets.
- Feature #2007: ai_assistant field added to SessionSearch model
- Feature #2009: Added ordering by evaluated_at for aqi, lai, qa evaluations
- Feature #2011: Added 5-star csatwidget fixture and move russian trusted certificate to MINCIFRY_CERT_PATH in settings
- Feature #2012: Triggers now could be called for UserEvent
- Feature #2015: Removed sending multiple messages with a single change and removed sending articleUpdated, articleRevisionAdded messages to the author of the changes
- Feature #2016: Added the ability to configure ROTATE_REFRESH_TOKENS from env.
- Feature #2026: add api for license object
- Feature #2027: create_admin CLI tool
- Feature #2032: added 'User created' event
- Feature #2033: change url path for swarmica license api from /api/license to /api/swarmica_license
- Feature #2036: Added channel retrieval by UID in send_test_email and added channel UID in the admin panel.
- Feature #2038: The prompt for YandexGPT has been rewritten to be more concise.
- Feature billmanager6#19: add ability to parse billing groups into custom field on account sync
- Bug #1982: changed icontains search logic to use one queryset
- Bug #1984: Added proper escaping in Yandex Tracker search query + precise search
- Bug #1986: do not generate new code unless expired when sending account created notification when created from whatsapp, vk or telegram
- Bug #1987: Removed ticket channel creation in the chat session to avoid sending combined comments after the chat session is closed.
- Bug #1991: The caption for files is sent as a separate message in Telegram if the maximum length is exceeded.
- Bug #1996: properly handle multiple choices for satisfaction_score in Ticket filters
- Bug #1997: Removed copy-paste and unnecessary templates for VK.
- Bug #1998: Fixed errors when switching routes for VkChannel.
- Bug #1999: Added serializers for VkChannel
- Bug #2003: Fixed export issue where multiple related fields referencing the same model were merged into one column
- Bug #2005: Made it so that the last_reply_by field returns null if there is no value.
- Bug #2017: Added qa to agent metrics
- Bug #2018: Reworked conversion of HTML lists to text.
- Bug #2019: improve html links parsing when sending message to whatsapp
- Bug #2020: Added a check to ensure that the ticket's source is an email_channel before creating a ticket_channel with email_identity to avoid duplicating the same channel in the ticket.
- Bug #2025: Added API call timeout for JIRA and YouTrack
- Bug #2034: Fixed an issue with liking/disliking an article and disabled article signals during mock_data to prevent errors.
- Bug #2037: clear instance cache on new license load