История изменений 0.96.2
Ядро и библиотеки
достигнута важная веха: протоколы, поддерживающие серверную историю (Discord, ICQ), теперь хранят историю групповых чатов в базе.
Система autoexec
Issue #3113 реализована возможность импорта файлов .ini одновременно с конвертацией базы.
Issue #3120 максимально допустимый размер строки в файле .ini увеличен с 2048 до 16384 байт.
Issue #3143 Миранда будет запрашивать повышение привилегий при попытке стереть импортированные файлы .ini только в тех случаях, когда такие привилегии реально требуются.
в базовую поставку добавлен плагин StatusManager.
Issue #3193 добавлено предупреждение о том, что доступ к настройкам заблокирован системным администратором, появляющееся при попытке открыть диалоговое окно настроек, доступ к которым заблокирован с помощью скрытой настройки.
Issue #3268 экранным чтецы теперь могут распознавать состояние чекбоксов в деревьях настроек.
улучшена поддержка HiDPI (всё ещё остаётся экспериментальной и отключённой по умолчанию).
обновлены библиотеки BASS, hunspell, libcurl, libsignal, OpenSSL, SQLite, toxcore и zlib.
файл, в который пишется сетевой лог, теперь очищается при запуске Миранды. Если необходимо сохранять сетевой лог между запусками, воспользуйтесь настройкой «Ротация файлов».
Issue #3181 все звуковые файлы, содержащиеся в инсталляторе, преобразованы в формат MP3 (MP3 внутри контейнера WAV).
кнопка Изменить в менеджере учётных записей переименована в Переименовать.
Issue #3343 в менеджере учётных записей отключённые учётные записи теперь имеют пометку "Учётная запись отключена", а не "Протокол не загружен".
Редактор меню
Issue #3320 добавленные пользователем пункты меню сразу же переводятся в соответствии с языковым пакетом.
Issue #3321 налажена вставка разделителя в подменю.
Протоколы
Discord
частично восстановлена поддержка протокола. Протокол недоступен к установке через PluginUpdater и его развитие не планируется, но он адаптирован к текущей версии ядра, чтобы пользователи могли собрать его самостоятельно.
Facebook
добавлена скрытая настройка "Agent".
GG
теперь по умолчанию используются доменные имена серверов, вместо IP-адресов.
Issue #3213 очистка списка заданных вручную серверов теперь возвращает список серверов по умолчанию.
Issue #3367 уделены устаревшие настройки «Поддерживать соединение» и «Безопасное подключение (SSL)».
ICQ
Issue #3190 в личные данные добавлен номер телефона.
Issue #3191 добавлен пункт меню протокола «Редактировать профиль на веб-сайте».
Issue #3197 удалена возможность входа по электронной почте (сервер больше не поддерживает такую возможность).
Issue #3089 исправлена ошибка, вызывавшая удаление контактов.
Issue #3199 налажен поиск и добавление контактов, имеющих почту в домене @mail.ru.
Issue #3219 налажена отправка сообщений из Миранды в официальный клиент и получение статусов от официального клиента.
Issue #3227 налажено получение информации о контакте.
Issue #3347 налажена загрузка своего аватара.
Issue #3370 исправлено падение при редактировании групп на сервере.
IRC
Issue #3243 удалено предупреждение о том, что запрос обширного списка каналов может занять продолжительное время.
Issue #3145 исправлено падение при запросе списка каналов.
Issue #3176 исправлено поведение настройки «SSL/TLS».
Jabber
XEP-0363: HTTP File Upload
реализовано автоматическое определение наличия поддержки HTTP File Upload (спасибо @deadsend). Она будет включена автоматически, если сервер поддерживает этот XEP.
добавлена настройка «Автоматически принимать файлы, полученные через HTTP File Upload» (включена по умолчанию). Она превращает входящие ссылки в передачи файлов.
добавлена обработка ошибок, связанных со слишком большим размером файла, когда сервис HTTP File Upload имеет ограничение на размер файла.
XEP-0384: OMEMO
Issue #3095 улучшена читаемость ключей OMEMO.
Miranda больше не пытается использовать OMEMO для приватных сообщений в групповых чатах.
налажена работа передачи файлов.
XML-консоль:
в заголовок окна добавлен JID.
исправлено мигание окна.
реализована возможность назначить и загрузить (раз в сутки) аватар (логотип) группового чата.
реализовано автоматическое определение наличия поддержки XEP-0065: SOCKS5 Bytestreams (спасибо @deadsend).
Issue #3140 реализована поддержка Channel Bindings for TLS 1.3.
Issue #3205 во все списки (участников, забаненных и т. п.) добавлен пункт «Копировать JID».
Issue #3110 удалён фрейм Jabber вместе с соответствующей ему настройкой «Выключить фрейм».
Issue #3072 удалена предустановка Google Talk. Google запретил сторонним клиентам доступ к Google Talk.
Issue #3116 удаление комнаты чата из списка контактов теперь влечёт за собой немедленный выход из этой комнаты.
Issue #3124 все кнопки Изменить теперь имеют значок «изменить» вместо «переименовать».
Issue #3157 при использовании команды /me к имени пользователя больше не добавляется двоеточие.
Issue #3298 список стран теперь отсортирован по алфавиту с учётом текущего языкового пакета.
Issue #3122 исправлено отображение некорректных меток времени в журнале чата.
налажена обработка XEP-0198: Stream Managemen.
Issue #3151 налажена работа редактора правил списков приватности.
Issue #3189 исправлена ошибка, не позволявшая установить статус «Не в сети», когда протокол находился в процессе переподключения к сети.
Issue #3201 налажена установка своей фотографии (не аватара).
Issue #3211 исправлена старая ошибка, из-за которой при заходе в групповой чат в журнале отображались фейковые входы всех прочих участников чата.
Issue #3254 исправлена ошибка, не позволявшая очистить тему чата.
Issue #3377 налажен вход в групповой чат, чьё название содержит заглавные символы.
MRA
Issue #3200 налажено повторное подключение после выхода из спящего режима.
SkypeWeb
налажено стирание TokenSecret при его устаревании.
Steam
реализована поддержка статуса "Невидимый".
исправлены частые отключения от сети.
Tox
Issue #3292 налажено добавление пользовательских узлов.
Twitter
Issue #3291 налажена загрузка аватаров.
VKontakte
исправлено отображение своего собственного контакта как «Неизвестного контакта».
налажена загрузка истории групповых чатов при входе.
AccessToken теперь стирается только при попытке входа, неудавшейся из-за некорректных учётных данных, а не при любой ошибке входа.
Плагины
AVS
Issue #3169 кнопка Удалить аватар в диалоговом окне информации о пользователе больше не активна, если у пользователя не хватает прав (например, если это информация о контакте и аватар контакта).
Clist_blind
настройка «Показывать имена протоколов» переименована в «Показывать имена учётных записей».
Issue #3196 настройка «Отключить мигание» переименована во «Включить мигание».
Clist_modern
Issue #3316 в меню контакта добавлены пункты, разворачивающие и сворачивающие метаконтакт.
Issue #3141 если поддержка метаконтактов отключена, пользователю больше не предлагается создать метаконтакт путём переноса одного контакта на другой.
настройка «Показывать имена протоколов» переименована в «Показывать имена учётных записей».
Issue #3196 настройка «Отключить мигание» переименована во «Включить мигание»..
Issue #3273 налажено скрытие учётных записей с помощью чекбоксов в Настройки → Список контактов → Учётные записи.
Clist_nicer
настройка «Показывать имена протоколов» переименована в «Показывать имена учётных записей».
Issue #3196 настройка «Отключить мигание» переименована во «Включить мигание».
CrashDumper
Issue #3301 в отчёт о версиях добавлены сведения об используемом журнале сообщений.
Db_autobackups
Issue #3133 настройки «Отключено» и «Отключить индикатор выполнения» переименованы во «Включено» и «Втключить индикатор выполнения» соответственно.
DbEditorPP
Issue #3232 исправлено некорректное поведение разделителя.
Dbx_sqlite
Issue #3276 значительно ускорено удаление событий из базы.
Issue #3302 исправлено визуальное пропадание истории после удаления субконтакта из метаконтакта.
Issue #3326 исправлена ошибка, из-за которой некоторые просмотрщики истории не показывали сообщения из текущего сеанса или вообще падали.
HistoryPP
Issue #3163 налажена выгрузка плагина.
MyDetails
исправлено случайное падение.
NewEventNotify
Issue #3299 добавлена настройка «Цвета Windows».
Issue #3280 все настройки, связанные с цветом и продолжительностью показа всплывающих окон перенесены на новую вкладку «Типы событий».
Issue #3277 настройка «Выключить для прочтённых сообщений» переименована в «Выключить для прочтённых сообщений (несовместима с антиспамом)».
Issue #3103 исправлено случайное падение.
NewStory
Issue #2357 ссылки в журнале сообщений и истории теперь реагируют на нажатие мышью.
PluginUpdater
Issue #3105 правый столбец в списке компонентов теперь всегда прилегает к правому краю окна.
Issue #3279 исправлено некорректное поведение настроек цвета всплывающих окон.
Scriver
отключён назойливый звук, воспроизводившийся при нажатии кнопки Backspace в пустом поле ввода.
Issue #3210 тройной клик в групповых чатах теперь выполняет ту же функцию, что и в беседах — выделяет строку целиком, не копируя её в буфер обмена.
Issue #3373 исправлено падение при выгрузке плагина.
SmileyAdd
Issue #3186 в настройки плагина добавлена ссылка на закачку наборов смайлов.
Issue #3294 из настроек плагина удалены неработающие кнопки +/-.
точка больше не считается смайлом.
Issue #3239 исправлено случайное падение.
StdClist
настройка «Показывать имена протоколов» переименована в «Показывать имена учётных записей».
Issue #3196 настройка «Отключить мигание» переименована в «Включить мигание».
Issue #3240 настройка «Не перемещать отключённых вниз» переименована в «Перемещать отключённых вниз».
StdFile
исправлено несколько падений в диалоговом окне приёма файлов.
StdMsg
реализована возможность назначить аватар (логотип) группового чата.
отключён назойливый звук, воспроизводившийся при нажатии кнопки Backspace в пустом поле ввода.
Issue #3210 тройной клик в групповых чатах теперь выполняет ту же функцию, что и в беседах — выделяет строку целиком, не копируя её в буфер обмена.
устранено мерцание окна сообщений.
Issue #3106 исправлен слёт шрифтов после динамической подгрузки плагина.
налажено сворачивание окна при включённой поддержке вкладок.
Issue #3372 налажен показ темы чата в строке состояния.
StdUserInfo
разделы в окне с информацией о пользователе заменены деревом.
Issue #3130 плагин будет искать дату рождения сперва в модуле UserInfo, а только потом в модуле протокола.
Issue #3132 исправлено добавление пункта меню «Информация» в меню контакта при динамической подгрузке плагина.
Issue #3159 исправлены разные недочёты в диалоговом окне «Личные данные».
StopSpam
Issue #3099 настройка «Отключить защиту для следующих учётных записей:» переименована во«Включить защиту для следующих учётных записей:».
tabSRMM
реализована возможность назначить аватар (логотип) группового чата.
Issue #3114 в контекстное меню журнала сообщений добавлен пункт «Копировать». Он показывается только тогда, когда выделен текст.
Issue #3090 возвращена возможность назначить комбинацию клавиш Alt+S в качестве горячей клавиши для отправки сообщений.
Issue #3127 настройки «Добавлять к именам пользователей двоеточие (:) при автозавершении» и «Добавлять к именам пользователей запятую вместо двоеточия при автозавершении» заменены новой настройкой «Добавлять к именам при автозавершении». При этом, теперь есть возможность использовать любые символы в любом количестве, а не только двоеточие или запятую. Более того, эти символы будут добавляться к именам пользователей не только при автозавершении по нажатию клавиши Tab, но и при нажатии на ник.
Issue #3340 при автозавершении (по нажатию клавиши Tab или нажатию на ник) к именам пользователей больше не добавляется пробел. Чтобы вернуть прежнее поведение добавьте пробел в поле «Добавлять к именам при автозавершении».
с инфо-панели убрано сообщение «Клиент не определён».
отключён назойливый звук, воспроизводившийся при нажатии кнопки Backspace в пустом поле ввода.
Issue #3108 плагин больше не показывает уведомления о наборе текста неизвестными контактами (в противном случае, даже при наличи антиспам-плагина пользователь получал всплывающее окно «<спамер> набирает текст»).
настройка «Цветные ники в списке пользователей» переименована в «Цветные ники в списке пользователей (требуется настроить цвета)».
настройка «Максимальный размер журнала (в КБ)» переименована в «Разбивать на файлы размером (в КБ)».
настройка «Подставлять время, если есть изменения» переименована в «Указывать время, только если оно изменилось».
Issue #3194 настройка «Отключить всплывающие сообщения о неудачной отправке» переименована во «Включить всплывающие сообщения о неудачной отправке».
Issue #3305 в редакторе шаблонов исправлено пропадание цветов, выбранных пользователем.
Issue #3086 исправлено нежелательное обрезание всплывающей подсказки к кнопке отправки.
Issue #3156 исправлено поведение кнопки Отмена в диалоговом окне предупреждения.
Issue #3158 исправлены визуальные неполадки значка в диалоговом окне предупреждения.
исправлено несколько падений.
Toaster
настройка «Включён» переименована во «Включить всплывающие окна».
Issue #3077 исправлено падение при создании слишком большого количества всплывающих окон.
Issue #3281 убрано двойное предупреждение о неподдерживаемой операционной системе.
UInfoEx
Issue #3130 плагин будет искать дату рождения сперва в модуле UserInfo, а только потом в модуле протокола.
удалена возможность создать резервную копию даты рождения (конфликтовала с новой схемой хранения дат).
Issue #3137 исправлен показ некорректной даты рождения у контактов с отсутствующим годом рождения.
исправлено случайное падение.
VoiceService
в базовую поставку добавлен новый плагин. Он предоставляет службы протоколам, поддерживающим голосовые вызовы (в настоящее время таким протоколом является лишь Jabber в версии в разработке).
WhenWasIt
Issue #3130 при указании даты рождения вручную, она теперь всегда записывается в модуль UserInfo, а не в модуль протокола. Плагин будет искать дату рождения сперва в модуле UserInfo, а только потом в модуле протокола.
Issue #3216 исправлен показ контактов, принадлежащих отключённым учётным записям. Теперь такие контакты видны только при включённой настройке «Показать все контакты». Кроме того, даже при включённой настройке «Показать все контакты» больше не будут видны контакты, не имеющие даты рождения.
YAMN
Issue #3260 выпадающее меню со списком учётных записей почты теперь недоступно при отсутствии учётных записей.
удалена настройка «Пункт YAMN в главном меню» (вместо этого следует использовать Настройки → Тонкая настройка → Меню).
удалена устаревшая настройка «Показывать YAMN как протокол (нужен перезапуск)».
Для разработчиков
Групповые чаты
удалены все старые API с поиском по модулю+сессии.
настройка ChatRoomID заменена реальным ID протокола.
реализована Utils_CorrectFontSize — функция для динамического изменения размера шрифта.
реализован Contact_IsGroupChat — хелпер для обнаружения групповых чатов.
реализован Utils_ClipboardCopy — общесистемный хелпер для записи текста в буфер обмена.
реализован db_event_replace — хелпер для устранения дубликатов событий.
реализован PROTO_INTERFACE::GetAvatarPath — хелпер для вычисления корня аватаров аккаунта.
реализован mir_base64_encode — хелпер для кодирования содержимого MBinBuffer в Base64.
реализован mir_signal — C++ хелпер чтобы избавиться от массы кода на C.
некоторые общие параметры чата экспортированы напрямую из ядра.
PS_CREATEACCMGRUI превращён в событие.
удалено бесполезное поле ThreadData::bIsSessionAvailable.