Об обратной совместимости
Одна из ключевых целей при разработке Открытого пакета интеграций - обеспечение полной обратной совместимости с первой и до последней версии. Это позволяет легко поднимать версию любой из доступных поставок до любой другой, не опасаясь (почти) возникновения проблем в уже существующих процессах на конкретном внедрении
Однако, иногда возникает острая необходимость во внесении в новую версию т.н. "breaking changes" - изменений или исправлений, который могут частично нарушить обратную совместимость между новой версией ОПИ и всеми предыдущими. Такие изменения перечисленны в данном разделе:
1.16.0 -> 1.17.0
CLI-версия: Добавлена обработка управляющих последовательностей \n, \r, \v и \f для не-JSON аргументов и аргументов, не являющихся путями к файлам или URL. Во всех значениях соответствующих аргументов, содержащих данные последовательности, они будут заменены на соответствующие спец. символы
1.18.0 -> 1.19.0
Все виды поставки: Обновлены устаревшие методы ПолучитьСписокТоваров, ПолучитьКоличествоТоваров, ПолучитьОписанияХарактеристикТоваров, ПолучитьЦеныТоваров, ПолучитьИнформациюОТоварах, ПроверитьЗагрузкуИзображенийТоваров библиотеки для работы с Ozon в связи с изменениями на стороне API. Возвращаемые значения могут быть изменены
1.24.0 -> 1.25.0
Все виды поставки: Изменен формат представления даты и времени на ISO 8061-совместимый при получении значений из базы
1.26.0 -> 1.27.0
Все виды поставки: Изменен метод СоздатьОпрос библиотеки VK в связи с изменениями API; Исправлен неоднозначный перевод "Тема" как "Thread" и "Topic" в английской версии функций форума библиотеки Telegram. Теперь используется только "Topic"
1.28.0 -> 1.29.0
Ozon: Библиотека работы с Ozon Seller API была удалена и ее поддержка прекращается. Если вы уже используете данную библиотеку в своем проекте, то вам необходимо сохранить ее отдельно перед обновлением
1.29.0 -> 1.30.0
Telegram: Исправлена и унифицирована обработка раскодирования строки и замены спец. символов для всех видов сообщений. При обновлении с прошлой версии обязательно проверьте места использования библиотеки Telegram! Необходимо убрать вручную проставленные вызовы функции РаскодироватьСтроку, если вы добавляли таковые в своем коде для обработки emoji. Теперь данная процедура осуществляется внутри кода библиотеки для всех сообщений
1.31.0 -> 1.32.0
Все виды поставки: Исправлены некоторые имена функций, содержащие опечатки. Обязательно проверьте места использования или выполните синтаксический контроль после обновления!
VK: Удалены функции ПоставитьЛайк и все функции раздела Работа с обсуждениями в связи с их удалением из VK API
1.34.0 -> 2.0.0
Twitter: Библиотека работы с Twitter была удалена в связи с невозможностью дальнейшей поддержки. Если вы уже используете данную библиотеку в своем проекте, то вам необходимо сохранить ее отдельно перед обновлением
2.1.0 -> 2.2.0
Все виды поставки: Значения дв оичных данных в результатах работы нативных компонент и соответствующих функций библиотеки теперь возвращаются как ДвоичныеДанные, а не в виде Base64-строк (в том числе в обёртках вида {'blob': '...'}, {'BYTEA': '...'}, {'BYTES': '...'}). Это затрагивает, в частности, результаты SQL-запросов с полями BLOB/BYTEA/BYTES, а также ряд компонент, ранее использовавших внутреннее хранилище двоичных данных (MongoDB, ZeroMQ, WebSocket, gRPC, серверы TCP/HTTP/WS и др.). При обновлении проверьте код, который ожидает Base64 или обращается к вложенным полям с именем типа двоичных данных
MySQL: Исправлено определение текстовых полей при чтении результатов запросов. Значения колонок TEXT/TINYTEXT/MEDIUMTEXT/LONGTEXT, JSON, ENUM, SET, а также строковые поля метаданных (например, DATA_TYPE из information_schema.columns) теперь возвращаются как строки. Ранее часть таких значений ошибочно попадала в двоичный формат из‑за особенностей wire-типов MySQL (семейство BLOB для TEXT/LONGTEXT). Настоящие BLOB/BINARY/VARBINARY по-прежнему возвращаются как ДвоичныеДанные. Если в вашем коде для текстовых полей выполнялось ручное декодирование ['BYTES'] или Base64, его можно убрать и работать со значением напрямую