Changes in 1.2.0:
- Added support for native .NET bindings through
C++/CLI
andC++/CX
. See using in .NET projects for more details. - Added a C# example. See README for build and usage instructions.
- Added a build and usage example of TDLib SDK for Universal Windows Platform. See README for detailed build and usage instructions. Also see Unigram, which is a full-featured client rewritten from scratch using TDLib SDK for Universal Windows Platform in less than 2 months.
- Added a Swift example. See README for build and usage instructions.
- Added an example of building TDLib for iOS, watchOS, tvOS, and also macOS. See README for detailed build instructions.
- Added README to C++ and python examples.
- Link Time Optimization is disabled by default. Use
-DTD_ENABLE_LTO=ON
CMake option and CMake >= 3.9 to enable it. updateNotificationSettings
is now automatically sent when the mute time expires for a chat.- Added automatic sending of a corresponding
chatAction
when a file is being uploaded. updateUserChatAction
withchatActionCancel
is now automatically sent when the timeout expires for an action.- Authorization states
authorizationStateWaitCode
andauthorizationStateWaitPassword
are now saved between library restarts for 5 minutes. - Added new message content type
messageWebsiteConnected
. - Added new text entity types
textEntityTypeCashtag
andtextEntityTypePhoneNumber
. - Added new update
updateUnreadMessageCount
, enabled when message database is used. - Method
joinChatByInviteLink
now returns the joinedChat
. - Method
getWebPagePreview
now acceptsformattedText
instead of plainstring
. - Added field
phone_number
toauthenticationCodeInfo
, which contains a phone number that is being authenticated. - Added field
is_secret
tomessageAnimation
,messagePhoto
,messageVideo
andmessageVideoNote
classes, which denotes whether the thumbnail for the content must be blurred and the content must be shown only while tapped. - Added field
expires_in
tomessageLocation
for live locations. - Added flag
can_be_reported
tochat
class. - Added flag
supports_streaming
to classesvideo
andinputMessageVideo
. - Added parameter
message_ids
toreportChat
, which can be used to report specific messages. - Added method
checkChatUsername
for checking whether a username can be set for a chat. - Added method
getRepliedMessage
, which returns a message that is replied by a given message. - Added method
getChatPinnedMessage
, which returns the pinned message from a chat. - Added method
searchStickers
to search by emoji for popular stickers suggested by the server. - Added method
searchStickerSets
to search by title and name for popular sticker sets suggested by the server. - Added method
searchInstalledStickerSets
to search by title and name for installed sticker sets. - Added methods for handling connected websites:
getConnectedWebsites
,disconnectWebsite
anddisconnectAllWebsites
. - Added method
getCountryCode
, which uses current user IP to identify their country. - Added option
t_me_url
. - Fixed
BlackBerry
spelling indeviceTokenBlackBerryPush
. - Fixed return type of
getChatMessageByDate
method, which isMessage
and notMessages
. - Ensured that updateOption("my_id") comes before
updateAuthorizationState
withauthorizationStateReady
. - Numerous optimizations and bug fixes.
Changes in 1.1.1:
- Fixed C JSON bindings compilation error.
- Fixed locale-dependent JSON generation.
Changes in 1.1.0:
- Methods
td::Log::set_file_path
andtd_set_log_file_path
now return whether they succeeded. - Added methods
td::Log::set_max_file_size
andtd_set_log_max_file_size
for restricting maximum TDLib log size. - Added methods
td::Log::set_fatal_error_callback
andtd_set_log_fatal_error_callback
for providing callbacks on fatal errors. - JNI-bindings are now package-agnostic. Use CMake option
TD_ENABLE_JNI
to enable JNI-bindings. - Added a Java example. See README for build and usage instructions.
- Added support for text entities in media captions.
- Added new type
formattedText
containing a text with entities. - Replaced all string fields
caption
with fields of typeformattedText
. - Replaced fields
text
andentities
with the fieldtext
of typeformattedText
in classmessageText
. - Replaced fields
text
andentities
with the fieldtext
of typeformattedText
in classinputMessageText
. - Replaced fields
text
andtext_entities
with the fieldtext
of typeformattedText
in classgame
. - Removed field
parse_mode
from classinputMessageText
. - Added synchronous method
parseTextEntities
.
- Added new type
- updateNewMessage is now sent for all sent messages.
- updateChatLastMessage is now sent when any field of the last message in a chat changes.
- Reworked the
registerDevice
method:- Added parameter
other_user_ids
to methodregisterDevice
to support multiple accounts. - It is now possible to specify tokens for VoIP pushes, WNS, web Push API, Tizen Push Service as
DeviceToken
. - Added support for Apple Push Notification Service inside App Sandbox.
- Added parameter
- Added method
searchChatsOnServer
analogous tosearchChats
, but using server search. - Results from the
searchChatsOnServer
method are now excluded fromsearchPublicChats
results, sosearchChatsOnServer
(along withsearchContacts
) should be called wheneversearchPublicChats
is called to ensure that no results were omitted. - Added parameter
as_album
to methodgetPublicMessageLink
to enable getting public links for media albums. - Added field
html
to classpublicMessageLink
, containing HTML-code for message/message album embedding. - Added parameter
only_if_pending
to methodcancelDownloadFile
to allow keeping already started downloads. - Methods
createPrivateChat
,createBasciGroupChat
,createSupergroupChat
andcreateSecretChat
can now be called without a prior call togetUser
/getBasicGroup
/getSupergorup
/getSecretChat
. - Added parameter
force
to methodscreatePrivateChat
,createBasciGroupChat
andcreateSupergroupChat
to allow creating a chat without network requests. - Numerous optimizations and bug fixes.