Add TDLib 1.6.0 Change Log.
GitOrigin-RevId: 9f5a70d5f4e6ad23fe21d544719a044fe5f612a4
This commit is contained in:
parent
3aaa58a8c0
commit
52651a2efb
171
CHANGELOG.md
171
CHANGELOG.md
@ -1,3 +1,174 @@
|
||||
Changes in 1.6.0:
|
||||
|
||||
* Added support for multiple chat lists. Currently, only two chat lists Main and Archive are supported:
|
||||
- Added the class `ChatList`, which represents a chat list and could be `chatListMain` or `chatListArchive`.
|
||||
- Added the field `chat_list` to the class `chat`, denoting the chat list to which the chat belongs.
|
||||
- Added the parameter `chat_list` to the methods `getChats`, `searchMessages` and `setPinnedChats`.
|
||||
- Added the field `chat_list` to the updates `updateUnreadMessageCount` and `updateUnreadChatCount`.
|
||||
- Added the field `total_count` to the update `updateUnreadChatCount`, containing the total number of chats in
|
||||
the list.
|
||||
- Added the update `updateChatChatList`, which is sent after a chat is moved to or from a chat list.
|
||||
- Added the method `setChatChatList`, which can be used to move a chat between chat lists.
|
||||
- Added the option `pinned_archived_chat_count_max` for the maximum number of pinned chats in the Archive chat list.
|
||||
* Added support for scheduled messages:
|
||||
- Added the classes `messageSchedulingStateSendAtDate` and `messageSchedulingStateSendWhenOnline`,
|
||||
representing the scheduling state of a message.
|
||||
- Added the field `scheduling_state` to the class `message`, which allows to distinguish between scheduled and
|
||||
ordinary messages.
|
||||
- The update `updateNewMessage` can now contain a scheduled message and must be handled appropriately.
|
||||
- The updates `updateMessageContent`, `updateDeleteMessages`, `updateMessageViews`, `updateMessageSendSucceeded`,
|
||||
`updateMessageSendFailed`, and `updateMessageSendAcknowledged` can now contain identifiers of scheduled messages.
|
||||
- Added the class `sendMessageOptions`, which contains options for sending messages,
|
||||
including the scheduling state of the messages.
|
||||
- Replaced the parameters `disable_notification` and `from_background` in the methods `sendMessage`,
|
||||
`sendMessageAlbum`, `sendInlineQueryResultMessage`, and `forwardMessages` with the new field `options` of
|
||||
the type `sendMessageOptions`.
|
||||
- Added the method `editMessageSchedulingState`, which can be used to reschedule a message or send it immediately.
|
||||
- Added the method `getChatScheduledMessages`, which returns all scheduled messages in a chat.
|
||||
- Added the field `has_scheduled_messages` to the class `chat`.
|
||||
- Added the update `updateChatHasScheduledMessages`, which is sent whenever the field `has_scheduled_messages`
|
||||
changes in a chat.
|
||||
- Added support for reminders in Saved Messages and notifications about other sent scheduled messages in
|
||||
the [Notification API](https://core.telegram.org/tdlib/notification-api/).
|
||||
* Added support for adding users without a known phone number to the list of contacts:
|
||||
- Added the method `addContact` for adding or renaming contacts without a known phone number.
|
||||
- Added the field `need_phone_number_privacy_exception` to the class `userFullInfo`, containing the default value for
|
||||
the second parameter of the method `addContact`.
|
||||
- Added the fields `is_contact` and `is_mutual_contact` to the class `user`.
|
||||
- Removed the class `LinkState` and the fields `outgoing_link` and `incoming_link` from the class `user`.
|
||||
* Improved support for the top chat action bar:
|
||||
- Added the class `ChatActionBar`, representing all possible types of the action bar.
|
||||
- Added the field `action_bar` to the class `chat`.
|
||||
- Removed the legacy class `chatReportSpamState`.
|
||||
- Removed the legacy methods `getChatReportSpamState` and `changeChatReportSpamState`.
|
||||
- Added the update `updateChatActionBar`.
|
||||
- Added the method `removeChatActionBar`, which allows to dismiss the action bar.
|
||||
- Added the method `sharePhoneNumber`, allowing to share the phone number of the current user with a mutual contact.
|
||||
- Added the new reason `chatReportReasonUnrelatedLocation` for reporting location-based groups unrelated to
|
||||
their stated location.
|
||||
* Improved support for text entities:
|
||||
- Added the new types of text entities `textEntityTypeUnderline` and `textEntityTypeStrikethrough`.
|
||||
- Added support for nested entities. Entities can be nested, but must not mutually intersect with each other.
|
||||
Pre, Code and PreCode entities can't contain other entities. Bold, Italic, Underline and Strikethrough entities can
|
||||
contain and be contained in all other entities. All other entities can't contain each other.
|
||||
- Added the field `version` to the method `textParseModeMarkdown`. Versions 0 and 1 correspond to Bot API Markdown
|
||||
parse mode, version 2 to Bot API MarkdownV2 parse mode with underline, strikethrough and nested entities support.
|
||||
- The new entity types and nested entities are supported in secret chats also if its layer is at least 101.
|
||||
* Clarified in the documentation that file remote ID is guaranteed to be usable only if the corresponding file is
|
||||
still accessible to the user and is known to TDLib. For example, if the file is from a message, then the message
|
||||
must be not deleted and accessible to the user. If the file database is disabled, then the corresponding object with
|
||||
the file must be preloaded by the client.
|
||||
* Added support for administrator custom titles:
|
||||
- Added the field `custom_title` to `chatMemberStatusCreator` and `chatMemberStatusAdministrator` classes.
|
||||
- Added the classes `chatAdministrator` and `chatAdministrators`, containing user identifiers along with
|
||||
their custom administrator title and owner status.
|
||||
- Replaced the result type of the method `getChatAdministrators` with `chatAdministrators`.
|
||||
* Improved Instant View support:
|
||||
- Added the new web page block `pageBlockVoiceNote`.
|
||||
- Changed value of invisible cells in `pageBlockTableCell` to null.
|
||||
- Added the field `is_cached` to the class `richTextUrl`.
|
||||
* Improved support for chat backgrounds:
|
||||
- Added the classes `backgroundFillSolid` for solid color backgrounds and `backgroundFillGradient` for
|
||||
gradient backgrounds.
|
||||
- Added support for TGV (gzipped subset of SVG with mime-type "application/x-tgwallpattern") background patterns
|
||||
in addition to PNG patterns. Background pattern thumbnails are still always in PNG format.
|
||||
- Replaced the field `color` in the class `backgroundTypePattern` with the field `fill` of type `BackgroundFill`.
|
||||
- Replaced the class `backgroundTypeSolid` with the class `backgroundTypeFill`.
|
||||
* Added support for discussion groups for channel chats:
|
||||
- Added the field `linked_chat_id` to the class `supergroupFullInfo` containing the identifier of a discussion
|
||||
supergroup for the channel, or a channel, for which the supergroup is the designated discussion supergroup.
|
||||
- Added the field `has_linked_chat` to the class `supergroup`.
|
||||
- Added the method `getSuitableDiscussionChats`, which returns a list of chats which can be assigned as
|
||||
a discussion group for a channel by the current user.
|
||||
- Added the method `setChatDiscussionGroup`, which can be used to add or remove a discussion group from a channel.
|
||||
- Added the class `chatEventLinkedChatChanged` representing a change of the linked chat in the chat event log.
|
||||
* Added support for slow mode in supergroups:
|
||||
- Added the field `is_slow_mode_enabled` to the class `supergroup`.
|
||||
- Added the field `slow_mode_delay` to the class `supergroupFullInfo`.
|
||||
- Added the method `setChatSlowModeDelay`, which can be used to change the slow mode delay setting in a supergroup.
|
||||
- Added the class `chatEventSlowModeDelayChanged` representing a change of the slow mode delay setting in
|
||||
the chat event log.
|
||||
* Improved privacy settings support:
|
||||
- Added the classes `userPrivacySettingRuleAllowChatMembers` and `userPrivacySettingRuleRestrictChatMembers`
|
||||
to include or exclude all group members in a privacy setting rule.
|
||||
- Added the class `userPrivacySettingShowPhoneNumber` for managing the visibility of the user's phone number.
|
||||
- Added the class `userPrivacySettingAllowFindingByPhoneNumber` for managing whether the user can be found by
|
||||
their phone number.
|
||||
* Added the method `checkCreatedPublicChatsLimit` for checking whether the maximum number of owned public chats
|
||||
has been reached.
|
||||
* Added support for transferring ownership of supergroup and channel chats:
|
||||
- Added the method `transferChatOwnership`.
|
||||
- Added the class `CanTransferOwnershipResult` and the method `canTransferOwnership` for checking
|
||||
whether chat ownership can be transferred from the current session.
|
||||
* Added support for location-based supergroups:
|
||||
- Added the class `chatLocation`, which contains the location to which the supergroup is connected.
|
||||
- Added the field `has_location` to the class `supergroup`.
|
||||
- Added the field `location` to the class `supergroupFullInfo`.
|
||||
- Added the ability to create location-based supergroups via the new field `location` in
|
||||
the method `createNewSupergroupChat`.
|
||||
- Added the method `setChatLocation`, which allows to change location of location-based supergroups.
|
||||
- Added the field `can_set_location` to the class `supergroupFullInfo`.
|
||||
- Added the class `PublicChatType`, which can be one of `publicChatTypeHasUsername` or
|
||||
`publicChatTypeIsLocationBased`.
|
||||
- Added the parameter `type` to the method `getCreatedPublicChats`, which allows to get location-based supergroups
|
||||
owned by the user.
|
||||
- Supported location-based supergroups as public chats where appropriate.
|
||||
- Added the class `chatEventLocationChanged` representing a change of the location of a chat in the chat event log.
|
||||
* Added support for searching chats and users nearby:
|
||||
- Added the classes `chatNearby` and `chatsNearby`, containing information about chats along with
|
||||
the distance to them.
|
||||
- Added the method `searchChatsNearby`, which returns chats and users nearby.
|
||||
- Added the update `updateUsersNearby`, which is sent 60 seconds after a successful `searchChatsNearby` request.
|
||||
* Improved support for inline keyboard buttons of the type `inlineKeyboardButtonTypeLoginUrl`:
|
||||
- Added the class `LoginUrlInfo` and the method `getLoginUrlInfo`, which allows to get information about
|
||||
an inline button of the type `inlineKeyboardButtonTypeLoginUrl`.
|
||||
- Added the method `getLoginUrl` for automatic authorization on the target website.
|
||||
* Improved support for content restrictions:
|
||||
- The field `restriction_reason` in the classes `user` and `channel` now contains only a human-readable description
|
||||
why access must be restricted. It is non-empty if and only if access to the chat needs to be restricted.
|
||||
- Added the field `restriction_reason` to the class `message`. It is non-empty if and only if access to the message
|
||||
needs to be restricted.
|
||||
- Added the writable option `ignore_platform_restrictions`, which can be set in non-store apps to ignore restrictions
|
||||
specific to the currently used operating system.
|
||||
- Added the writable option `ignore_sensitive_content_restrictions`, which can be set to show sensitive content on
|
||||
all user devices. `getOption("ignore_sensitive_content_restrictions")` can be used to fetch the actual value of
|
||||
the option, the option will not be immediately updated after a change from another device.
|
||||
- Added the read-only option `can_ignore_sensitive_content_restrictions`, which can be used to check, whether
|
||||
the option `ignore_sensitive_content_restrictions` can be changed.
|
||||
* Added support for QR code authentication for already registered users:
|
||||
- Added the authorization state `authorizationStateWaitOtherDeviceConfirmation`.
|
||||
- Added the method `requestQrCodeAuthentication`, which can be used in the `authorizationStateWaitPhoneNumber` state
|
||||
instead of the method `setAuthenticationPhoneNumber` to request QR code authentication.
|
||||
- Added the method `confirmQrCodeAuthentication` for authentication confirmation from another device.
|
||||
* Added the update `updateMessageLiveLocationViewed`, which is supposed to trigger an edit of the corresponding
|
||||
live location.
|
||||
* Added the method `getInactiveSupergroupChats`, to be used when the user receives a CHANNELS_TOO_MUCH error after
|
||||
reaching the limit on the number of joined supergroup and channel chats.
|
||||
* Added the field `unique_id` to the class `remoteFile`, which can be used to identify the same file for
|
||||
different users.
|
||||
* Added the new category of top chat list `topChatCategoryForwardChats`.
|
||||
* Added the read-only option `animated_emoji_sticker_set_name`, containing name of a sticker set with animated emojis.
|
||||
* Added the read-only option `unix_time`, containing an estimation of the current Unix timestamp.
|
||||
The option will not be updated automatically unless the difference between the previous estimation and
|
||||
the locally available monotonic clocks changes significantly.
|
||||
* Added the field `is_silent` to the class `notification`, so silent notifications can be shown with
|
||||
the appropriate mark.
|
||||
* Added the field `video_upload_bitrate` to the class `autoDownloadSettings`.
|
||||
* Disallowed to call `setChatNotificationSettings` method on the chat with self, which never worked.
|
||||
* Added support for integration with TON Blockchain. For a complete integration use `tonlib` from
|
||||
https://github.com/ton-blockchain/ton:
|
||||
- Added the option `default_ton_blockchain_config`, containing the default TON Blockchain config. If empty,
|
||||
TON integration is disabled, otherwise the config needs to be passed to tonlib.
|
||||
- Added the option `default_ton_blockchain_name`, containing the default TON Blockchain name.
|
||||
The blockchain name needs to be passed to tonlib.
|
||||
- Added the class `tonLiteServerResponse` and the method `sendTonLiteServerRequest`, which allows to send requests to
|
||||
a TON Blockchain Lite Server through Telegram servers.
|
||||
- Added the class `tonWalletPasswordSalt` and the method `getTonWalletPasswordSalt`, which can be used
|
||||
to harden protection of the locally stored TON Blockchain private key.
|
||||
- Added support for `ton://` URLs in messages and inline keyboard buttons.
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Changes in 1.5.0:
|
||||
|
||||
* Changed authorization workflow:
|
||||
|
Reference in New Issue
Block a user