[x] Added support for animated stickers. New field is_animated in Sticker and StickerSet objects, animated stickers can now be used in sendSticker and InlineQueryResultCachedSticker.
[x] Added support for default permissions in groups. New object ChatPermissions, containing actions which a member can take in a chat. New field permissions in the Chat object; new method setChatPermissions.
[x] The field all_members_are_administrators has been removed from the documentation for the Chat object. The field is still returned in the object for backward compatibility, but new bots should use the permissions field instead.
[x] Added support for more permissions for group and supergroup members: added the new field can_send_polls to ChatMember object, added can_change_info, can_invite_users, can_pin_messages in ChatMember object for restricted users (previously available only for administrators).
[x] The method restrictChatMember now takes the new user permissions in a single argument of the type ChatPermissions. The old way of passing parameters will keep working for a while for backward compatibility.
[x] Added description support for basic groups (previously available in supergroups and channel chats). You can pass a group's chat_id to setChatDescription and receive the group's description in the Chat object in the response to getChat method.
[x] Added invite_link support for basic groups (previously available in supergroups and channel chats). You can pass a group's chat_id to exportChatInviteLink and receive the group's invite link in the Chat object in the response to getChat method.
[x] File identifiers from the ChatPhoto object are now invalidated and can no longer be used whenever the photo is changed.
[x] All webhook requests from the Bot API are now coming from the subnets 149.154.160.0/20 and 91.108.4.0/22. Most users won't need to do anything to continue receiving webhooks. If you control inbound access with a firewall, you may need to update your configuration. You can always find the list of actual IP addresses of servers used to send webhooks there: https://core.telegram.org/bots/webhooks.
[x] As of the next Bot API update (version 4.5), nested MessageEntity objects will be allowed in message texts and captions. Please make sure that your code can correctly handle such entities.
[x] Added support for two new MessageEntity types, underline and strikethrough.
[x] Added support for nested MessageEntity objects. Entities can now contain other entities. If two entities have common characters then one of them is fully contained inside the other.
[x] Added support for nested entities and the new tags <u>/<ins> (for underlined text) and <s>/<strike>/<del> (for strikethrough text) in parse mode HTML.
[x] Added a new parse mode, MarkdownV2, which supports nested entities and two new entities __ (for underlined text) and ~ (for strikethrough text). Parse mode Markdown remains unchanged for backward compatibility.
[x] Added the field file_unique_id to the objects Animation, Audio, Document, PassportFile, PhotoSize, Sticker, Video, VideoNote, Voice, File and the fields small_file_unique_id and big_file_unique_id to the object ChatPhoto. The new fields contain a unique file identifier, which is supposed to be the same over time and for different bots, but can't be used to download or reuse the file.
[x] Added the field custom_title to the ChatMember object.
[x] Added the new method setChatAdministratorCustomTitle to manage the custom titles of administrators promoted by the bot.
[x] Added the field slow_mode_delay to the Chat object.
[x] Added the ability to send non-anonymous, multiple answer, and quiz-style polls: added the parameters is_anonymous, type, allows_multiple_answers, correct_option_id, is_closed options to the method sendPoll.
[x] Added the object KeyboardButtonPollType and the field request_poll to the object KeyboardButton.
[x] Added updates about changes of user answers in non-anonymous polls, represented by the object PollAnswer and the field poll_answer in the Update object.
[x] Added the fields total_voter_count, is_anonymous, type, allows_multiple_answers, correct_option_id to the Poll object.
[x] Bots can now send polls to private chats.
[x] Added more information about the bot in response to the getMe request: added the fields can_join_groups, can_read_all_group_messages and supports_inline_queries to the User object.
[x] Added the optional field language to the MessageEntity object.
[x] Added the method sendDice for sending a dice message, which will have a random value from 1 to 6. (Yes, we're aware of the “proper” singular of die. But it's awkward, and we decided to help it change. One dice at a time!)
[x] Added the field dice to the Message object.
[x] Added the method getMyCommands for getting the current list of the bot's commands.
[x] Added the method setMyCommands for changing the list of the bot's commands through the Bot API instead of @BotFather.
[x] Added the ability to create animated sticker sets by specifying the parameter tgs_sticker instead of png_sticker in the method createNewStickerSet.
[x] Added the ability to add animated stickers to sets created by the bot by specifying the parameter tgs_sticker instead of png_sticker in the method addStickerToSet.
[x] Added the field thumb to the StickerSet object.
[x] Added the ability to change thumbnails of sticker sets created by the bot using the method setStickerSetThumb.
[x] Supported explanations for Quizzes 2.0. Add explanations by specifying the parameters explanation and explanation_parse_mode in the method sendPoll.
[x] Added the fields explanation and explanation_entities to the Poll object.
[x] Supported timed polls that automatically close at a certain date and time. Set up by specifying the parameter open_period or close_date in the method sendPoll.
[x] Added the fields open_period and close_date to the Poll object.
[x] Supported the new darts animation for the dice mini-game. Choose between the default dice animation and darts animation by specifying the parameter emoji in the method sendDice.
[x] Added the new field via_bot to the Message object. You can now know which bot was used to send a message.
[x] Supported video thumbnails for inline GIF and MPEG4 animations.
[x] Supported the new basketball animation for the random dice. Choose between different animations (dice, darts, basketball) by specifying the emoji parameter in the method sendDice.
Bring the library up-to-date with the newest Bot API version
List of changes Bot API 4.4:
List of changes Bot API 4.5:
<u>/<ins>
(for underlined text) and<s>/<strike>/<del>
(for strikethrough text) in parse mode HTML.__
(for underlined text) and~
(for strikethrough text). Parse mode Markdown remains unchanged for backward compatibility.List of changes Bot API 4.6:
List of changes Bot API 4.7:
List of changes Bot API 4.8:
List of changes Bot API 4.9