|
1 | | -Release Notes v1.2.4 |
| 1 | +Release Notes v1.2.5 |
2 | 2 | ==================== |
3 | 3 |
|
4 | 4 | Новые функции |
5 | 5 | ------------- |
6 | 6 |
|
7 | | -**Поддержка различных типов файлов в классах File и Photo** |
8 | | - Классы ``Photo``, ``File`` и ``Video`` теперь поддерживают работу с байтами, что позволяет загружать файлы из памяти напрямую. |
| 7 | +**Двухфакторная аутентификация (2FA)** |
| 8 | + Добавлена полная поддержка двухфакторной аутентификации с использованием пароля, email-кода и подсказок для восстановления пароля. Теперь возможен вход в аккаунт когда включена 2FA с проверкой пароля. |
9 | 9 |
|
10 | | -**Автоматическая отправка уведомлений о прочтении сообщений** |
11 | | - Клиент теперь автоматически отправляет сервису уведомления о получении сообщений для улучшения синхронизации. |
| 10 | +**Управление паролем аккаунта** |
| 11 | + Новый метод ``set_password()`` позволяет устанавливать, изменять и управлять паролем аккаунта с поддержкой подсказок и email для восстановления. |
12 | 12 |
|
13 | | -**Параметр session_name для управления сессией** |
14 | | - Параметр ``session_name`` позволяет указать пользовательское имя файла для сохранения сессии. |
| 13 | +**Исправления в обработке сокетов** |
| 14 | + Улучшена обработка последовательности сообщений (sequence numbers) для корректной работы с 8-битными числами. |
15 | 15 |
|
16 | | -**Получение текущей версии веб-приложения** |
17 | | - Новый метод ``get_current_web_version()`` в утилитах для получения текущей версии веб-приложения Max. |
18 | | - |
19 | | -**Улучшенная генерация User-Agent** |
20 | | - Теперь используется библиотека ``ua-generator`` для более реалистичной генерации User-Agent строк и параметров устройства. |
| 16 | +**Улучшения протокола WebSocket** |
| 17 | + Добавлена поддержка версии протокола (ver=11) в сообщениях WebSocket. |
21 | 18 |
|
22 | 19 | Новые методы |
23 | 20 | ------------ |
24 | 21 |
|
25 | | -read_message(chat_id: int, message_id: int) -> ReadState |
26 | | - Отмечает сообщение как прочитанное. Возвращает объект ReadState с информацией о состоянии. |
27 | | - |
28 | | -pymax.utils.MixinsUtils.get_current_web_version() -> str | None |
29 | | - Получает текущую версию веб-приложения Max из источника. Возвращает версию в формате "XX.XX.XX" или None. |
30 | | - |
31 | | -Измененные методы |
32 | | ------------------ |
33 | | - |
34 | | -MaxClient.start() |
35 | | - Улучшена логика работы цикла переподключения с использованием ``asyncio.Event`` для более чистого завершения. |
36 | | - Исправлена обработка состояния при отключении и переподключении. |
37 | | - |
38 | | -MaxClient.close() |
39 | | - Упрощена логика закрытия клиента. Теперь использует ``asyncio.Event`` для сигнала остановки. |
40 | | - |
41 | | -Новые параметры |
42 | | ---------------- |
43 | | - |
44 | | -MaxClient.__init__(session_name: str = "session.db") |
45 | | - Позволяет указать пользовательское имя файла базы данных сессии. |
46 | | - |
47 | | -Измененные типы |
48 | | ---------------- |
49 | | - |
50 | | -BaseFile |
51 | | - Теперь поддерживает работу с байтами через параметр ``raw`` во всех подклассах. |
| 22 | +MaxClient.set_password(password: str, email: str | None = None, hint: str | None = UNSET) |
| 23 | + Устанавливает пароль для аккаунта с возможностью добавления подсказки и email для восстановления. |
52 | 24 |
|
53 | | -Photo |
54 | | - Добавлен параметр ``name`` для явного указания имени файла при работе с байтами. |
55 | | - Улучшена валидация расширений файлов. |
| 25 | +Новые типы и перечисления |
| 26 | +-------------------------- |
56 | 27 |
|
57 | | -File |
58 | | - Добавлена поддержка работы с байтами через параметр ``raw``. |
59 | | - Улучшена обработка имен файлов. |
| 28 | +Capability |
| 29 | + Перечисление для описания возможностей аккаунта в контексте двухфакторной аутентификации. |
60 | 30 |
|
61 | | -Video |
62 | | - Добавлена поддержка работы с байтами через параметр ``raw``. |
63 | | - Улучшена работа с видеофайлами. |
| 31 | +Payload классы |
| 32 | + ``CheckPasswordChallengePayload`` — для проверки пароля при 2FA |
| 33 | + ``CreateTrackPayload`` — для создания отслеживающего ID |
| 34 | + ``SetPasswordPayload`` — для установки пароля |
| 35 | + ``SetHintPayload`` — для установки подсказки пароля |
| 36 | + ``RequestEmailCodePayload`` — для запроса кода по email |
| 37 | + ``SendEmailCodePayload`` — для отправки email кода |
| 38 | + ``SetTwoFactorPayload`` — для установки параметров 2FA |
64 | 39 |
|
65 | 40 | Исправления и улучшения |
66 | 41 | ------------------------ |
67 | 42 |
|
68 | | -- Добавлена валидация ``device_type`` для MaxClient (поддерживает только WEB) и SocketMaxClient (поддерживает ANDROID, IOS, DESKTOP) |
69 | | -- Улучшена обработка ошибок WebSocket при отключении |
70 | | -- Добавлена опция ``ua-generator`` для более реалистичной генерации параметров устройства |
71 | | -- Обновлена версия приложения до 25.12.14 |
72 | | -- Улучшена обработка уведомлений о доставке сообщений |
73 | | -- Исправлены проблемы с завершением async задач при закрытии клиента |
74 | | - |
75 | | -Зависимости |
76 | | ------------ |
77 | | - |
78 | | -Добавлены новые зависимости: |
79 | | - - ``ua-generator>=2.0.19`` — для генерации реалистичных User-Agent строк и параметров устройства |
| 43 | +- Исправлена обработка последовательности сообщений в socket-клиенте (seq % 256) |
| 44 | +- Исправлена обработка последовательности сообщений в websocket-клиенте |
| 45 | +- Добавлена проверка подключения перед отправкой уведомлений о прочтении |
| 46 | +- Улучшена обработка двухфакторной аутентификации при логине |
| 47 | +- Исправлена инициализация seq на 255 вместо 0 в core.py |
| 48 | +- Добавлена обработка ``SocketNotConnectedError`` в telemetry |
| 49 | +- Исправлена обработка ошибок при отправке в socket/websocket |
80 | 50 |
|
81 | 51 | Версия |
82 | 52 | ------ |
83 | 53 |
|
84 | | -**1.2.4** - выпущена 30 декабря 2025 г. |
| 54 | +**1.2.5** - выпущена 31 декабря 2025 г. |
85 | 55 |
|
86 | 56 | --- |
87 | 57 |
|
88 | | -Release Notes v1.2.3 |
89 | | -==================== |
90 | | - |
91 | | -Новые функции |
92 | | -------------- |
93 | | - |
94 | | -**Загрузка фотографий профиля** |
95 | | - Профиль теперь может быть обновлен с загрузкой новой фотографии через метод ``change_profile()``. |
96 | | - |
97 | | -**Разрешение групп по ссылке** |
98 | | - Группы теперь могут быть разрешены (получены) прямо по их ссылке через метод ``resolve_group_by_link()``. |
99 | | - |
100 | | -**Поддержка контактов в сообщениях** |
101 | | - Сообщения теперь поддерживают вложения типа контакта с информацией о контакте (ContactAttach). |
102 | | - |
103 | | -**Список контактов клиента** |
104 | | - Клиент теперь ведет список всех контактов пользователя через свойство ``client.contacts``. |
105 | | - |
106 | | -Новые методы |
107 | | ------------- |
108 | | - |
109 | | -MaxClient.resolve_group_by_link(link: str) -> Chat | None |
110 | | - Разрешает группу по ссылке. Возвращает объект чата группы или None, если не найдено. |
111 | | - |
112 | | -MaxClient.change_profile(first_name, last_name, description, photo) |
113 | | - Изменяет информацию профиля текущего пользователя, включая загрузку новой фотографии. |
114 | | - |
115 | | -Новые типы |
116 | | ----------- |
117 | | - |
118 | | -ContactAttach |
119 | | - Представляет контакт в сообщении. Содержит информацию о контакте (ID, имя, фамилия, фото). |
120 | | - |
121 | | -Измененные типы |
122 | | ---------------- |
123 | | - |
124 | | -Message |
125 | | - Теперь поддерживает вложения типа ContactAttach в список attaches. |
126 | | - |
127 | | -Names |
128 | | - Улучшен для работы с различными форматами имен пользователя. |
129 | | - |
130 | | -StickerAttach |
131 | | - Улучшено представление стикеров в сообщениях. |
132 | | - |
133 | | -Photo |
134 | | - Улучшено для работы с фотографиями профиля. |
135 | | - |
136 | | -AttachType |
137 | | - Добавлено значение CONTACT для контактов. |
138 | | - |
139 | | -Новые параметры |
140 | | ---------------- |
| 58 | +Архив |
| 59 | +----- |
141 | 60 |
|
142 | | -MaxClient.contacts: list[User] |
143 | | - Список контактов текущего пользователя. |
| 61 | +Предыдущие версии доступны в :doc:`release_notes_archive`. |
0 commit comments