<p>Below you will find information on schema changes. For more details on the use of layers, see <ahref="/api/invoking#layers">Invoking API methods</a>.</p>
<p>Start reading the changelog at <ahref="#layer-171">layer 171</a> to view all changes since the last refresh of the documentation.</p>
<p>The following detailed articles about <em>pre-existing</em> features were added:</p>
<ul>
<li><ahref="/api/bots/ids">Bot API dialog IDs »</a></li>
<li><ahref="/api/peers">Peer database »</a></li>
<li>Added documentation for <ahref="/api/min">min merging logic</a> and <ahref="/api/peers">peer cache invalidation logic</a>, including in the constructor pages for <ahref="/constructor/user">user</a>s and <ahref="/constructor/channel">channels/supergroups</a>.</li>
<li><ahref="/api/gifs">Working with GIFs »</a></li>
<li><ahref="/api/srp#using-the-2fa-password">Using the 2FA password »</a></li>
<li>Added more details on how to use <ahref="/api/top-rating">top peer ratings »</a></li>
<li>Added more details about the <ahref="/api/push-updates#possible-notifications">READ_REACTION »</a>, <ahref="/api/push-updates#possible-notifications">READ_STORIES »</a>, <ahref="/api/push-updates#possible-notifications">STORY_DELETED »</a> push notifications.</li>
<li>Improved the <ahref="/api/updates">updates</a> documentation, specifically:<ul>
<li>Clarified that <ahref="/method/updates.getChannelDifference">updates.getChannelDifference</a> does <em>not</em> have to be invoked on startup for all channels, as it will be automatically triggered (only for channels that need catching up) by a set of <ahref="/constructor/updateChannelTooLong">updateChannelTooLong</a> updates that will be returned by <ahref="/method/updates.getDifference">updates.getDifference</a> (that <em>does</em> need to be called on startup).</li>
<li>Clarified that <ahref="/api/updates#subscribing-to-updates-of-channels-supergroups">users should short-poll updates.getChannelDifference for currently opened channels/supergroups (including subscribed ones, max 10 overall) »</a>.</li>
<li>Clarified that <ahref="/method/updates.getChannelDifference">updates.getChannelDifference</a> should not be short-polled via <code>timeout</code> by bots, or if the user is currently not viewing the channel/supergroup.</li>
<li>Clarified <ahref="/api/updates#subscribing-to-updates">which updates may be accepted from not yet logged sessions »</a>.</li>
</ul>
</li>
<li>Clarified that the <ahref="/api/offsets#hash-generation">hash generation algorithm used for caching</a> uses the unsigned right shift operator and can also accept strings in the ID array.</li>
</ul>
<p>The following new features were added:</p>
<ul>
<li>Allow <ahref="/api/bots/webapps">Mini Apps</a> to specify a browser to use when opening a link using <ahref="/api/web-events#web-app-invoke-custom-method">web_app_invoke_custom_method.try_browser »</a>.</li>
<li>Added the <ahref="/api/bots/webapps#theme-parameters"><code>section_separator_color</code> Mini Apps theme key »</a></li>
<li>Added support for <code>text</code> and <code>profile</code> parameters in <ahref="/api/links#public-username-links">public username links »</a> and <ahref="/api/links#phone-number-links">phone number links »</a>.</li>
</ul>
<p>The following new <ahref="/api/config#client-configuration">client configuration keys »</a> were added:</p>
<p>The following new <ahref="/api/config#suggestions">suggestions »</a> were added:</p>
<ul>
<li><code>"PREMIUM_CHRISTMAS"</code> - Suggests the user to <ahref="/api/premium#gifting-telegram-premium">gift Telegram Premium</a> subscriptions to friends for Christmas.</li>
<li><code>"PREMIUM_GRACE"</code> - Suggests the user to extend their expiring Telegram Premium subscription</li>
</ul>
<p>This layer introduces the following features:</p>
<ul>
<li><ahref="/api/stories#weather">Weather media areas »</a></li>
<li><ahref="/api/stars#buying-or-gifting-stars">Telegram Star gifts »</a></li>
<li><ahref="/api/bots/webapps#main-mini-apps">Main Mini Apps »</a></li>
<li><ahref="/api/bots/webapps#main-mini-app-previews">Main Mini App previews »</a></li>
<li><ahref="/api/search#apps-tab">Mini App Store »</a></li>
<li>Mini App deep links were removed and replaced with <ahref="/api/links#main-mini-app-links">Main Mini App deep links »</a>: (i.e. the syntax of Main Mini App links is equal to the one previously used for Mini App links, but the handling logic has changed).<br>
This also deprecates the <code>start_param</code> and <code>compact</code> parameters of <ahref="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a> (replaced by <ahref="/method/messages.requestMainWebView">messages.requestMainWebView</a>).</li>
<li>Allow specifying the exact frame to use for video thumbnails/static previews through the new <ahref="/constructor/documentAttributeVideo">documentAttributeVideo</a>.<code>video_start_ts</code> parameter (especially useful for stories).<br>
The <code>video_start_ts</code> attribute may also be <ahref="/api/stories#editing-stories">edited using a new, special editing flow that does not require reuploading the entire story »</a>.</li>
<li>Added <ahref="/method/payments.getStarsGiftOptions">payments.getStarsGiftOptions</a> - Obtain a list of <ahref="/api/stars#buying-or-gifting-stars">Telegram Stars gift options »</a> as <ahref="/constructor/starsGiftOption">starsGiftOption</a> constructors.</li>
<li>Added <ahref="/method/bots.getPopularAppBots">bots.getPopularAppBots</a> - Fetch popular <ahref="/api/bots/webapps#main-mini-apps">Main Mini Apps</a>, to be used in the <ahref="/api/search#apps-tab">apps tab of global search »</a>.</li>
<li>Added <ahref="/method/bots.addPreviewMedia">bots.addPreviewMedia</a> - Add a <ahref="/api/bots/webapps#main-mini-app-previews">main mini app preview, see here »</a> for more info.</li>
<li>Added <ahref="/method/bots.editPreviewMedia">bots.editPreviewMedia</a> - Edit a <ahref="/api/bots/webapps#main-mini-app-previews">main mini app preview, see here »</a> for more info.</li>
<li>Added <ahref="/method/bots.deletePreviewMedia">bots.deletePreviewMedia</a> - Delete a <ahref="/api/bots/webapps#main-mini-app-previews">main mini app preview, see here »</a> for more info.</li>
<li>Added <ahref="/method/bots.reorderPreviewMedias">bots.reorderPreviewMedias</a> - Reorder a <ahref="/api/bots/webapps#main-mini-app-previews">main mini app previews, see here »</a> for more info.</li>
<li>Added <ahref="/method/bots.getPreviewInfo">bots.getPreviewInfo</a> - Bot owners only, fetch <ahref="/api/bots/webapps#main-mini-app-previews">main mini app preview information, see here »</a> for more info.</li>
<li>Added <ahref="/method/bots.getPreviewMedias">bots.getPreviewMedias</a> - Fetch <ahref="/api/bots/webapps#main-mini-app-previews">main mini app previews, see here »</a> for more info.</li>
<li>Added <ahref="/method/messages.requestMainWebView">messages.requestMainWebView</a> - Open a <ahref="/api/bots/webapps#main-mini-apps">Main Mini App</a>.</li>
<li>Added <ahref="/constructor/inputStorePaymentStarsTopup">inputStorePaymentStarsTopup</a> - Used to top up the <ahref="/api/stars">Telegram Stars balance</a> of the current account.</li>
<li>Added <ahref="/constructor/inputStorePaymentStarsGift">inputStorePaymentStarsGift</a> - Used to gift <ahref="/api/stars">Telegram Stars</a> to a friend.</li>
<li>Added <ahref="/constructor/starsGiftOption">starsGiftOption</a> - <ahref="/api/stars#buying-or-gifting-stars">Telegram Stars gift option</a>.</li>
<li>Added <ahref="/constructor/messageActionGiftStars">messageActionGiftStars</a> - You gifted or were gifted some <ahref="/api/stars">Telegram Stars</a>.</li>
<li>Added <ahref="/constructor/topPeerCategoryBotsApp">topPeerCategoryBotsApp</a> - Most frequently used <ahref="/api/bots/webapps#main-mini-apps">Main Mini Bot Apps</a>.</li>
<li>Added <ahref="/constructor/bots.popularAppBots">bots.popularAppBots</a> - Popular <ahref="/api/bots/webapps#main-mini-apps">Main Mini Apps</a>, to be used in the <ahref="/api/search#apps-tab">apps tab of global search »</a>.</li>
<li>Added <ahref="/constructor/botPreviewMedia">botPreviewMedia</a> - Represents a <ahref="/api/bots/webapps#main-mini-app-previews">Main Mini App preview media, see here »</a> for more info.</li>
<li>Added <ahref="/constructor/bots.previewInfo">bots.previewInfo</a> - Contains info about <ahref="/api/bots/webapps#main-mini-app-previews">Main Mini App previews, see here »</a> for more info.</li>
<li>Added <ahref="/constructor/mediaAreaWeather">mediaAreaWeather</a> - Represents a <ahref="/api/stories#weather">weather widget »</a>.</li>
<li>Added <ahref="/constructor/inputFileStoryDocument">inputFileStoryDocument</a> - Used to <ahref="/api/stories#editing-stories">edit the thumbnail/static preview of a story, see here »</a> for more info on the full flow.</li>
<li>Added <ahref="/constructor/messageActionPaymentRefunded">messageActionPaymentRefunded</a> - Describes a payment refund (service message received by both users and bots).</li>
<p>This layer introduces the following features:</p>
<ul>
<li><ahref="/api/paid-media">Paid media »</a></li>
<li><ahref="/method/payments.getStarsTransactionsByID">Fetch info about specific Telegram Star transactions »</a></li>
<li><ahref="/api/stars#paying-for-ads">Pay for advertisements using Telegram Stars »</a></li>
<li><ahref="/api/bots/webapps">Mini Apps</a> may now be opened directly in compact mode by passing the <code>compact</code> flag to <ahref="/method/messages.requestWebView">messages.requestWebView</a>, <ahref="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a>, <ahref="/method/messages.requestAppWebView">messages.requestAppWebView</a>.<br>
This <code>compact</code> flag should always be set if the new <code>mode</code> parameter of <ahref="/api/links#main-mini-app-links">main mini app links</a> and <ahref="/api/links#direct-mini-app-links">direct mini app links</a> is equal to <code>compact</code>.<br>
If the returned <ahref="/constructor/webViewResultUrl">webViewResultUrl</a> does <em>not</em> have the <code>fullsize</code> flag set, the app should be opened in compact mode (even if compact mode wasn't explictly requested, since the default fullsize/compact mode can also be changed through <ahref="https://t.me/botfather">@botfather</a>).</li>
<li>Return the <code>payload</code> passed to <ahref="/constructor/inputMediaInvoice">inputMediaInvoice</a> in <ahref="/constructor/starsTransaction">starsTransaction</a>.<code>bot_payload</code>.</li>
<li>Device integrity verification improvements for official apps.</li>
<li>Added <ahref="/method/payments.getStarsRevenueAdsAccountUrl">payments.getStarsRevenueAdsAccountUrl</a> - Returns a URL for a Telegram Ad platform account that can be used to set up advertisements for channel/bot in <code>peer</code>, paid using the Telegram Stars owned by the specified <code>peer</code>, see <ahref="/api/stars#paying-for-ads">here »</a> for more info.</li>
<li>Added <ahref="/method/payments.getStarsTransactionsByID">payments.getStarsTransactionsByID</a> - Obtain info about <ahref="/api/stars#balance-and-transaction-history">Telegram Star transactions »</a> using specific transaction IDs.</li>
<li>Added <strong>compact</strong> parameter in <ahref="/method/messages.requestWebView">messages.requestWebView</a></li>
<li>Changed type of <ahref="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a> from <strong>SimpleWebViewResult</strong> to <strong>WebViewResult</strong></li>
<li>Added <strong>compact</strong> parameter in <ahref="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a></li>
<li>Changed type of <ahref="/method/messages.requestAppWebView">messages.requestAppWebView</a> from <strong>AppWebViewResult</strong> to <strong>WebViewResult</strong></li>
<li>Added <strong>compact</strong> parameter in <ahref="/method/messages.requestAppWebView">messages.requestAppWebView</a></li>
<li>Added <ahref="/constructor/inputMediaPaidMedia">inputMediaPaidMedia</a> - <ahref="/api/paid-media">Paid media, see here »</a> for more info.</li>
<li>Added <ahref="/constructor/messageMediaPaidMedia">messageMediaPaidMedia</a> - <ahref="/api/paid-media">Paid media, see here »</a> for more info.</li>
<li>Added <ahref="/constructor/starsTransactionPeerAds">starsTransactionPeerAds</a> - Describes a <ahref="/api/stars">Telegram Star</a> transaction used to pay for <ahref="/api/stars#paying-for-ads">Telegram ads as specified here »</a>.</li>
<li>Added <ahref="/constructor/payments.starsRevenueAdsAccountUrl">payments.starsRevenueAdsAccountUrl</a> - Contains a URL leading to a page where the user will be able to place ads for the channel/bot, paying using <ahref="/api/stars#paying-for-ads">Telegram Stars</a>.</li>
<li>Added <ahref="/constructor/inputStarsTransaction">inputStarsTransaction</a> - Used to fetch info about a <ahref="/api/stars#balance-and-transaction-history">Telegram Star transaction »</a>.</li>
<li>Added <strong>paid_media_allowed</strong>, <strong>can_view_stars_revenue</strong> parameters in <ahref="/constructor/channelFull">channelFull</a></li>
<li>Added <strong>flags</strong>, <strong>fullsize</strong> parameters, changed type of <strong>query_id</strong> from <strong>long</strong> to <strong>flags.0?long</strong> in <ahref="/constructor/webViewResultUrl">webViewResultUrl</a></li>
<li>Changed type of <strong>extended_media</strong> from <strong>MessageExtendedMedia</strong> to <strong>Vector<MessageExtendedMedia></strong> in <ahref="/constructor/updateMessageExtendedMedia">updateMessageExtendedMedia</a></li>
<li>Added <strong>play_integrity_project_id</strong> parameter in <ahref="/constructor/auth.sentCodeTypeFirebaseSms">auth.sentCodeTypeFirebaseSms</a></li>
<li>Added <strong>bot_payload</strong>, <strong>msg_id</strong>, <strong>extended_media</strong> parameters in <ahref="/constructor/starsTransaction">starsTransaction</a></li>
<li>Added <ahref="/api/push-updates#possible-notifications">CHANNEL_MESSAGE_PAID_MEDIA</a> - <code>{1} posted a paid post for {2} star</code></li>
<li>Added <ahref="/api/push-updates#possible-notifications">CHAT_MESSAGE_PAID_MEDIA</a> - <code>{1} posted a paid post in {2} group for {3} star</code></li>
<li>Added <ahref="/api/push-updates#possible-notifications">CHAT_REACT_PAID_MEDIA</a> - <code>{1} reacted {3} in group {2} to your paid post for {4} star</code></li>
<li>Added <ahref="/api/push-updates#possible-notifications">MESSAGE_PAID_MEDIA</a> - <code>{1} sent you a paid post for {2} star</code></li>
<li>Added <ahref="/api/push-updates#possible-notifications">PINNED_PAID_MEDIA</a> - <code>{1} pinned a paid post for {2} star</code></li>
<li>Added <ahref="/method/stories.searchPosts">stories.searchPosts</a> - Globally search for <ahref="/api/stories">stories</a> using a hashtag or a <ahref="/api/stories#location-tags">location media area</a>, see <ahref="/api/stories#searching-stories">here »</a> for more info on the full flow.</li>
<li>Added <ahref="/method/payments.getStarsRevenueStats">payments.getStarsRevenueStats</a> - Get <ahref="/api/stars">Telegram Star revenue statistics »</a>.</li>
<li>Added <ahref="/method/payments.getStarsRevenueWithdrawalUrl">payments.getStarsRevenueWithdrawalUrl</a> - Withdraw funds from a channel or bot's <ahref="/api/stars#withdrawing-revenue">star balance »</a>.</li>
<li>Added <ahref="/constructor/mediaAreaUrl">mediaAreaUrl</a> - Represents a <ahref="/api/stories#urls">URL media area</a>.</li>
<li>Added <ahref="/constructor/foundStory">foundStory</a> - A story found using <ahref="/api/stories#searching-stories">global story search »</a>.</li>
<li>Added <ahref="/constructor/stories.foundStories">stories.foundStories</a> - Stories found using <ahref="/api/stories#searching-stories">global story search »</a>.</li>
<li>Added <ahref="/constructor/geoPointAddress">geoPointAddress</a> - Address optionally associated to a <ahref="/constructor/geoPoint">geoPoint</a>.</li>
<li>Added <ahref="/constructor/updateBusinessBotCallbackQuery">updateBusinessBotCallbackQuery</a> - A callback button sent via a <ahref="/api/business#connected-bots">business connection</a> was pressed, and the button data was sent to the bot that created the button.</li>
<li>Added <ahref="/constructor/starsRevenueStatus">starsRevenueStatus</a> - Describes <ahref="/api/stars">Telegram Star revenue balances »</a>.</li>
<li>Added <ahref="/constructor/payments.starsRevenueStats">payments.starsRevenueStats</a> - <ahref="/api/stars">Star revenue statistics, see here »</a> for more info.</li>
<li>Added <ahref="/constructor/payments.starsRevenueWithdrawalUrl">payments.starsRevenueWithdrawalUrl</a> - Contains the URL to use to <ahref="/api/stars#withdrawing-revenue">withdraw Telegram Star revenue</a>.</li>
<li>Added <ahref="/constructor/updateStarsRevenueStatus">updateStarsRevenueStatus</a> - The <ahref="/api/stars#revenue-statistics">Telegram Star balance of a channel/bot we own has changed »</a>.</li>
<li>Added <ahref="/method/messages.editFactCheck">messages.editFactCheck</a> - Edit/create a <ahref="/api/factcheck">fact-check</a> on a message.</li>
<li>Added <ahref="/method/messages.deleteFactCheck">messages.deleteFactCheck</a> - Delete a <ahref="/api/factcheck">fact-check</a> from a message.</li>
<li>Added <ahref="/method/messages.getFactCheck">messages.getFactCheck</a> - Fetch one or more <ahref="/api/factcheck">factchecks, see here »</a> for the full flow.</li>
<li>Added <ahref="/method/payments.getStarsTopupOptions">payments.getStarsTopupOptions</a> - Obtain a list of <ahref="/api/stars#buying-or-gifting-stars">Telegram Stars topup options »</a> as <ahref="/constructor/starsTopupOption">starsTopupOption</a> constructors.</li>
<li>Added <ahref="/method/payments.getStarsStatus">payments.getStarsStatus</a> - Get the current <ahref="/api/stars">Telegram Stars balance</a> of the current account (with peer=<ahref="/constructor/inputPeerSelf">inputPeerSelf</a>), or the stars balance of the bot specified in <code>peer</code>.</li>
<li>Added <ahref="/method/payments.sendStarsForm">payments.sendStarsForm</a> - Make a payment using <ahref="/api/stars#using-stars">Telegram Stars, see here »</a> for more info.</li>
<li>Added <ahref="/method/payments.refundStarsCharge">payments.refundStarsCharge</a> - Refund a <ahref="/api/stars">Telegram Stars</a> transaction, see <ahref="/api/payments#6-refunds">here »</a> for more info.</li>
<li>Added <ahref="/constructor/factCheck">factCheck</a> - Represents a <ahref="/api/factcheck">fact-check »</a> created by an independent fact-checker.</li>
<li>Added <ahref="/constructor/starsTransactionPeerUnsupported">starsTransactionPeerUnsupported</a> - Describes a <ahref="/api/stars">Telegram Star</a> transaction that cannot be described using the current layer.</li>
<li>Added <ahref="/constructor/starsTransactionPeerAppStore">starsTransactionPeerAppStore</a> - Describes a <ahref="/api/stars">Telegram Star</a> transaction with the App Store, used when purchasing Telegram Stars through the App Store.</li>
<li>Added <ahref="/constructor/starsTransactionPeerPlayMarket">starsTransactionPeerPlayMarket</a> - Describes a <ahref="/api/stars">Telegram Star</a> transaction with the Play Store, used when purchasing Telegram Stars through the Play Store.</li>
<li>Added <ahref="/constructor/starsTransactionPeerPremiumBot">starsTransactionPeerPremiumBot</a> - Describes a <ahref="/api/stars">Telegram Star</a> transaction made using <ahref="https://t.me/premiumbot">@PremiumBot</a> (i.e. using the <ahref="/constructor/inputInvoiceStars">inputInvoiceStars</a> flow described <ahref="/api/stars#buying-or-gifting-stars">here »</a>).</li>
<li>Added <ahref="/constructor/starsTransactionPeerFragment">starsTransactionPeerFragment</a> - Describes a <ahref="/api/stars">Telegram Star</a> transaction with <ahref="https://fragment.com">Fragment</a>, used when purchasing Telegram Stars through <ahref="https://fragment.com">Fragment</a>.</li>
<li>Added <ahref="/constructor/starsTransactionPeer">starsTransactionPeer</a> - Describes a <ahref="/api/stars">Telegram Star</a> transaction with another peer.</li>
<li>Added <ahref="/constructor/inputStorePaymentStars">inputStorePaymentStars</a> - Used to top up the <ahref="/api/stars">Telegram Stars balance</a> using the Play Store/App Store flow (official apps only).</li>
<li>Added <ahref="/constructor/inputInvoiceStars">inputInvoiceStars</a> - Used to top up the <ahref="/api/stars">Telegram Stars</a> balance of the current account or someone else's account.</li>
<li>Added <ahref="/constructor/starsTransaction">starsTransaction</a> - Represents a <ahref="/api/stars">Telegram Stars transaction »</a>.</li>
<li>Added <ahref="/constructor/payments.starsStatus">payments.starsStatus</a> - Info about the current <ahref="/api/stars#balance-and-transaction-history">Telegram Star balance and transaction history »</a>.</li>
<li>Added <ahref="/constructor/updateStarsBalance">updateStarsBalance</a> - The current account's <ahref="/api/stars">Telegram Stars balance »</a> has changed.</li>
<li>Added <ahref="/constructor/payments.paymentFormStars">payments.paymentFormStars</a> - Represents a payment form, for payments to be using <ahref="/api/stars">Telegram Stars, see here »</a> for more info.</li>
<li>Added <ahref="/constructor/payments.paymentReceiptStars">payments.paymentReceiptStars</a> - Receipt for <ahref="/api/stars">payment made using Telegram Stars</a>.</li>
<li>Added <strong>factcheck</strong> parameter in <ahref="/constructor/message">message</a></li>
<li>Changed type of <strong>provider</strong> from <strong>string</strong> to <strong>flags.3?string</strong> in <ahref="/constructor/inputMediaInvoice">inputMediaInvoice</a></li>
<li>Added <strong>flags</strong>, <strong>collapsed</strong> parameters in <ahref="/constructor/messageEntityBlockquote">messageEntityBlockquote</a></li>
<p>This layer introduces <ahref="/api/effects">animated message effects »</a>, <ahref="/method/channels.searchPosts">global hashtag search in all public channels (including those we aren't a member of) »</a>, <ahref="/constructor/updateBroadcastRevenueTransactions">channel ad revenue transaction updates »</a> and improvements to device integrity verification for official apps.</p>
<p>The following new <ahref="/api/premium#telegram-premium-features">Telegram Premium feature indentifiers »</a> were added:</p>
<li>Added <ahref="/method/invokeWithGooglePlayIntegrity">invokeWithGooglePlayIntegrity</a> - Official clients only, invoke with Google Play Integrity token.</li>
<li>Added <ahref="/method/invokeWithApnsSecret">invokeWithApnsSecret</a> - Official clients only, invoke with Apple push verification.</li>
<li>Added <ahref="/method/messages.getAvailableEffects">messages.getAvailableEffects</a> - Fetch the full list of usable <ahref="/api/effects">animated message effects »</a>.</li>
<li>Added <ahref="/method/channels.searchPosts">channels.searchPosts</a> - Globally search for posts from public <ahref="/api/channel">channels »</a> (<em>including</em> those we aren't a member of) containing a specific hashtag.</li>
<li>Added <ahref="/constructor/updateBroadcastRevenueTransactions">updateBroadcastRevenueTransactions</a> - A new <ahref="/api/revenue#revenue-statistics">channel ad revenue transaction was made, see here »</a> for more info.</li>
<li>Added <ahref="/constructor/availableEffect">availableEffect</a> - Represents a <ahref="/api/effects">message effect »</a>.</li>
<li>Added <ahref="/constructor/messages.availableEffectsNotModified">messages.availableEffectsNotModified</a> - The full list of usable <ahref="/api/effects">animated message effects »</a> hasn't changed.</li>
<li>Added <ahref="/constructor/messages.availableEffects">messages.availableEffects</a> - The full list of usable <ahref="/api/effects">animated message effects »</a>.</li>
<li>Extract ad revenue balances into a <ahref="/constructor/broadcastRevenueBalances">separate constructor »</a> to prepare for revenue transaction updates in the next layer.</li>
<li>Added <ahref="/method/auth.reportMissingCode">auth.reportMissingCode</a> - Official apps only, reports that the SMS authentication code wasn't delivered.</li>
<li>Added <ahref="/method/messages.getEmojiStickerGroups">messages.getEmojiStickerGroups</a> - Represents a list of <ahref="/api/emoji-categories">emoji categories</a>, to be used when choosing a sticker.</li>
<li>Added <ahref="/constructor/auth.sentCodeTypeSmsWord">auth.sentCodeTypeSmsWord</a> - The code was sent via SMS as a secret word, starting with the letter specified in <code>beginning</code></li>
<li>Added <ahref="/constructor/auth.sentCodeTypeSmsPhrase">auth.sentCodeTypeSmsPhrase</a> - The code was sent via SMS as a secret phrase starting with the word specified in <code>beginning</code></li>
<li>Added <ahref="/constructor/emojiGroupGreeting">emojiGroupGreeting</a> - Represents an <ahref="/api/emoji-categories">emoji category</a>, that should be moved to the top of the list when choosing a sticker for a <ahref="/api/business#business-introduction">business introduction</a></li>
<li>Added <ahref="/constructor/emojiGroupPremium">emojiGroupPremium</a> - An <ahref="/api/emoji-categories">emoji category</a>, used to select all <ahref="/api/premium">Premium</a>-only stickers (i.e. those with a <ahref="/api/stickers#premium-animated-sticker-effects">Premium effect »</a>)/<ahref="/api/premium">Premium</a>-only <ahref="/api/custom-emoji">custom emojis</a> (i.e. those where the <ahref="/constructor/documentAttributeCustomEmoji">documentAttributeCustomEmoji</a>.<code>free</code> flag is <strong>not</strong> set)</li>
<li>Added <ahref="/constructor/broadcastRevenueBalances">broadcastRevenueBalances</a> - Describes <ahref="/api/revenue">channel ad revenue balances »</a>.</li>
<li>Changed type of <strong>text</strong> from <strong>string</strong> to <strong>TextWithEntities</strong> in <ahref="/constructor/pollAnswer">pollAnswer</a></li>
<li>Changed type of <strong>question</strong> from <strong>string</strong> to <strong>TextWithEntities</strong> in <ahref="/constructor/poll">poll</a></li>
<li>Added <strong>balances</strong> parameter, removed <strong>current_balance</strong>, <strong>available_balance</strong>, <strong>overall_revenue</strong> parameters in <ahref="/constructor/stats.broadcastRevenueStats">stats.broadcastRevenueStats</a></li>
<li><ahref="/api/sponsored-messages">Greatly simplify sponsored messages, see here »</a> for info on how to render the new simplified sponsored messages.</li>
<li><ahref="/api/stories#pinned-or-archived-stories">Pin stories to the top of the profile »</a></li>
<li><ahref="/api/reactions#notifications-about-reactions">Notifications for story reactions »</a></li>
<li><ahref="/method/messages.setChatAvailableReactions">Custom unique reactions limit for groups, supergroups and channels »</a></li>
<li><ahref="/api/search#global-search">Global channel recommendations in the "Channels" global search tab »</a></li>
<li><ahref="/constructor/webPageAttributeStickerSet">Stickerset deep link previews »</a></li>
<li><ahref="/constructor/codeSettings">codeSettings</a>.<code>unknown_number</code>: set this flag if there is a SIM card in the current device, but it is not possible to check whether the specified phone number matches the SIM's phone number.</li>
<li>Added <ahref="/method/account.toggleSponsoredMessages">account.toggleSponsoredMessages</a> - Disable or re-enable Telegram ads for the current <ahref="/api/premium">Premium</a> account.</li>
<li>Added <ahref="/method/stories.togglePinnedToTop">stories.togglePinnedToTop</a> - Pin some stories to the top of the profile, see <ahref="/api/stories#pinned-or-archived-stories">here »</a> for more info.</li>
<li>Added <ahref="/method/account.getReactionsNotifySettings">account.getReactionsNotifySettings</a> - Get the current <ahref="/api/reactions#notifications-about-reactions">reaction notification settings »</a>.</li>
<li>Added <ahref="/method/account.setReactionsNotifySettings">account.setReactionsNotifySettings</a> - Change the <ahref="/api/reactions#notifications-about-reactions">reaction notification settings »</a>.</li>
<li>Added <strong>flags</strong>, <strong>reactions_limit</strong> parameters in <ahref="/method/messages.setChatAvailableReactions">messages.setChatAvailableReactions</a></li>
<li>Added <strong>flags</strong> parameter, changed type of <strong>channel</strong> from <strong>InputChannel</strong> to <strong>flags.0?InputChannel</strong> in <ahref="/method/channels.getChannelRecommendations">channels.getChannelRecommendations</a></li>
<li>Added <ahref="/constructor/webPageAttributeStickerSet">webPageAttributeStickerSet</a> - Contains info about a <ahref="/api/stickers">stickerset »</a>, for a <ahref="/constructor/webPage">webPage</a> preview of a <ahref="/api/links#stickerset-links">stickerset deep link »</a> (the <ahref="/constructor/webPage">webPage</a> will have a <code>type</code> of <code>telegram_stickerset</code>).</li>
<li>Added <ahref="/constructor/reactionNotificationsFromContacts">reactionNotificationsFromContacts</a> - Receive notifications about reactions made only by our contacts.</li>
<li>Added <ahref="/constructor/reactionNotificationsFromAll">reactionNotificationsFromAll</a> - Receive notifications about reactions made by any user.</li>
<li>Added <ahref="/constructor/reactionsNotifySettings">reactionsNotifySettings</a> - Reaction notification settings, see <ahref="/api/reactions#notifications-about-reactions">here »</a> for more info.</li>
<li>Added <ahref="/constructor/updateNewStoryReaction">updateNewStoryReaction</a> - Represents a new <ahref="/api/reactions#notifications-about-reactions">reaction to a story</a>.</li>
<p><ahref="/api/revenue">Channel ad revenue »</a>: Telegram channel owners can now receive 50% of the revenue from ads displayed in their channels, as well as view detailed revenue statistics.</p>
</li>
<li>
<p><ahref="/api/business#connected-bots">Telegram Business connected bots »</a>: <ahref="/api/action-bar#manage-a-connected-business-bot">connected business bot action bar »</a> and bot-side constructors.</p>
</li>
<li>
<p><ahref="/api/business#business-introduction">Telegram Business introduction »</a></p>
</li>
<li>
<p><ahref="/api/business#business-chat-links">Telegram Business chat links »</a></p>
</li>
<li>
<p><ahref="/api/fragment">Fetch info about Fragment collectibles »</a></p>
<p><ahref="/method/channels.restrictSponsoredMessages">Disable ads on boosted channels you own »</a></p>
</li>
<li>
<p><ahref="/method/stickers.replaceSticker">Replace single stickers in stickersets »</a></p>
</li>
<li>
<p>A refactored and improved <ahref="/api/invites#direct-invites">channel/supergroup/group invitation flow »</a></p>
</li>
<li>
<p>Users can now directly edit created <ahref="/api/stickers">stickersets »</a>, including custom emoji stickersets, without using the now <strong>deprecated</strong><ahref="https://t.me/stickers">@stickers</a> bot.<br>
Users and bots can now <ahref="/method/messages.getMyStickers">fetch all stickersets owned by the current account »</a>; the new <ahref="/constructor/stickerSet">stickerSet</a>.<code>creator</code> flag can also be used to distinguish stickersets created by the current account.<br>
Also, a single stickerset can now contain a mix of <ahref="/api/stickers#static-stickers">static</a>, <ahref="/api/stickers#animated-stickers">animated</a> and <ahref="/api/stickers#video-stickers">video</a> stickers, removing the previously present distinction of static/animated/video stickersets (this distinction is still present in the <strong>deprecated</strong><ahref="https://t.me/stickers">@stickers</a> bot, so please only use the in-app sticker editor from now on).</p>
</li>
<li>
<p>Improvements for <ahref="/constructor/keyboardButtonRequestPeer">keyboardButtonRequestPeer</a>.<br>
Now bots will also receive the selected peer's name, username, photo (if present and requested by the new bot-side <ahref="/constructor/inputKeyboardButtonRequestPeer">inputKeyboardButtonRequestPeer</a> button).<br>
Previously, just the peer's ID was sent, which could only be used to fetch the name/photo if the bot had already previously cached the peer's <ahref="/api/peers#access-hash">access hash »</a>.</p>
<ul>
<li>Bots will now receive the requested info as a <ahref="/constructor/messageActionRequestedPeerSentMe">messageActionRequestedPeerSentMe</a> constructor instead of the old <ahref="/constructor/messageActionRequestedPeer">messageActionRequestedPeer</a> constructor, which will only be received by users that shared the info.</li>
<li>Bots must now use <ahref="/constructor/inputKeyboardButtonRequestPeer">inputKeyboardButtonRequestPeer</a> to send <ahref="/constructor/keyboardButtonRequestPeer">keyboardButtonRequestPeer</a> buttons.</li>
</ul>
</li>
<li>
<p><ahref="/api/bots/webapps">Mini Apps on Telegram »</a> now support biometric authentication, using the following new incoming web events:</p>
<p>Non-<ahref="/api/premium">Premium</a> users can now receive <code>FLOOD_PREMIUM_WAIT_%d</code> errors when uploading and downloading files, which should be handled as specified <ahref="/api/files#uploading-files">here »</a> and <ahref="/api/files#downloading-files">here »</a>.</p>
<li>Added <ahref="/method/invokeWithBusinessConnection">invokeWithBusinessConnection</a> - Invoke a method using a <ahref="/api/business#connected-bots">Telegram Business Bot connection, see here » for more info, including a list of the methods that can be wrapped in this constructor</a>.</li>
<li>Added <ahref="/method/account.getBotBusinessConnection">account.getBotBusinessConnection</a> - Bots may invoke this method to re-fetch the <ahref="/constructor/updateBotBusinessConnect">updateBotBusinessConnect</a> constructor associated with a specific <ahref="/api/business#connected-bots">business <code>connection_id</code>, see here »</a> for more info on connected business bots. </li>
<li>Added <ahref="/method/account.updateBusinessIntro">account.updateBusinessIntro</a> - Set or remove the <ahref="/api/business#business-introduction">Telegram Business introduction »</a>.</li>
<li>Added <ahref="/method/stickers.replaceSticker">stickers.replaceSticker</a> - Replace a sticker in a <ahref="/api/stickers">stickerset »</a>.</li>
<li>Added <ahref="/method/messages.getMyStickers">messages.getMyStickers</a> - Fetch all <ahref="/api/stickers">stickersets »</a> owned by the current user.</li>
<li>Added <ahref="/method/fragment.getCollectibleInfo">fragment.getCollectibleInfo</a> - Fetch information about a <ahref="/api/fragment#fetching-info-about-fragment-collectibles">fragment collectible, see here »</a> for more info on the full flow.</li>
<li>Added <ahref="/method/account.toggleConnectedBotPaused">account.toggleConnectedBotPaused</a> - Pause or unpause a specific chat, temporarily disconnecting it from all <ahref="/api/business#connected-bots">business bots »</a>.</li>
<li>Added <ahref="/method/account.disablePeerConnectedBot">account.disablePeerConnectedBot</a> - Permanently disconnect a specific chat from all <ahref="/api/business#connected-bots">business bots »</a> (equivalent to specifying it in <code>recipients.exclude_users</code> during initial configuration with <ahref="/method/account.updateConnectedBot">account.updateConnectedBot »</a>); to reconnect of a chat disconnected using this method the user must reconnect the entire bot by invoking <ahref="/method/account.updateConnectedBot">account.updateConnectedBot »</a>.</li>
<li>Added <ahref="/method/account.updateBirthday">account.updateBirthday</a> - Update our <ahref="/api/profile#birthday">birthday, see here »</a> for more info.</li>
<li>Added <ahref="/method/contacts.getBirthdays">contacts.getBirthdays</a> - Fetch all users with birthdays that fall within +1/-1 days, relative to the current day: this method should be invoked by clients every 6-8 hours, and if the result is non-empty, it should be used to appropriately update locally cached birthday information in <ahref="/constructor/user">user</a>.<code>birthday</code>.</li>
<li>Added <ahref="/method/account.createBusinessChatLink">account.createBusinessChatLink</a> - Create a <ahref="/api/business#business-chat-links">business chat deep link »</a>.</li>
<li>Added <ahref="/method/account.editBusinessChatLink">account.editBusinessChatLink</a> - Edit a created <ahref="/api/business#business-chat-links">business chat deep link »</a>.</li>
<li>Added <ahref="/method/account.deleteBusinessChatLink">account.deleteBusinessChatLink</a> - Delete a <ahref="/api/business#business-chat-links">business chat deep link »</a>.</li>
<li>Added <ahref="/method/account.getBusinessChatLinks">account.getBusinessChatLinks</a> - List all created <ahref="/api/business#business-chat-links">business chat deep links »</a>.</li>
<li>Added <ahref="/method/account.resolveBusinessChatLink">account.resolveBusinessChatLink</a> - Resolve a <ahref="/api/business#business-chat-links">business chat deep link »</a>.</li>
<li>Added <ahref="/method/account.updatePersonalChannel">account.updatePersonalChannel</a> - Associate (or remove) a personal <ahref="/api/channel">channel »</a>, that will be listed on our personal <ahref="/api/profile#personal-channel">profile page »</a>.</li>
<li>Added <ahref="/method/channels.reportSponsoredMessage">channels.reportSponsoredMessage</a> - Report a <ahref="/api/sponsored-messages">sponsored message »</a>, see <ahref="/api/sponsored-messages#reporting-sponsored-messages">here »</a> for more info on the full flow.</li>
<li>Added <ahref="/method/stats.getBroadcastRevenueStats">stats.getBroadcastRevenueStats</a> - Get <ahref="/api/revenue">channel ad revenue statistics »</a>.</li>
<li>Added <ahref="/method/stats.getBroadcastRevenueWithdrawalUrl">stats.getBroadcastRevenueWithdrawalUrl</a> - Withdraw funds from a channel's <ahref="/api/revenue">ad revenue balance »</a>.</li>
<li>Added <ahref="/method/stats.getBroadcastRevenueTransactions">stats.getBroadcastRevenueTransactions</a> - Fetch <ahref="/api/revenue">channel ad revenue transaction history »</a>.</li>
<li>Added <ahref="/method/channels.restrictSponsoredMessages">channels.restrictSponsoredMessages</a> - Disable ads on the specified channel, for all users.</li>
<li>Changed type of <ahref="/method/messages.addChatUser">messages.addChatUser</a> from <strong>Updates</strong> to <strong>messages.InvitedUsers</strong></li>
<li>Changed type of <ahref="/method/messages.createChat">messages.createChat</a> from <strong>Updates</strong> to <strong>messages.InvitedUsers</strong></li>
<li>Changed type of <ahref="/method/channels.inviteToChannel">channels.inviteToChannel</a> from <strong>Updates</strong> to <strong>messages.InvitedUsers</strong></li>
<li>Added <strong>for_personal</strong> parameter in <ahref="/method/channels.getAdminedPublicChannels">channels.getAdminedPublicChannels</a></li>
<li>Removed <strong>animated</strong>, <strong>videos</strong> parameters in <ahref="/method/stickers.createStickerSet">stickers.createStickerSet</a></li>
<li>Added <strong>flags</strong>, <strong>business_connection_id</strong> parameters in <ahref="/method/messages.uploadMedia">messages.uploadMedia</a></li>
<li>Added <strong>id</strong>, <strong>random_id</strong> parameters in <ahref="/method/messages.sendQuickReplyMessages">messages.sendQuickReplyMessages</a></li>
<li>Changed type of <strong>recipients</strong> from <strong>InputBusinessRecipients</strong> to <strong>InputBusinessBotRecipients</strong> in <ahref="/method/account.updateConnectedBot">account.updateConnectedBot</a></li>
<li>Added <ahref="/constructor/birthday">birthday</a> - <ahref="/api/profile#birthday">Birthday</a> information for a user.</li>
<li>Added <ahref="/constructor/updateBotBusinessConnect">updateBotBusinessConnect</a> - Connecting or disconnecting a <ahref="/api/business#connected-bots">business bot</a> or changing the connection settings will emit an <ahref="/constructor/updateBotBusinessConnect">updateBotBusinessConnect</a> update to the bot, with the new settings and a <code>connection_id</code> that will be used by the bot to handle updates from and send messages as the user.</li>
<li>Added <ahref="/constructor/updateBotNewBusinessMessage">updateBotNewBusinessMessage</a> - A message was received via a <ahref="/api/business#connected-bots">connected business chat »</a>.</li>
<li>Added <ahref="/constructor/updateBotEditBusinessMessage">updateBotEditBusinessMessage</a> - A message was edited in a <ahref="/api/business#connected-bots">connected business chat »</a>.</li>
<li>Added <ahref="/constructor/updateBotDeleteBusinessMessage">updateBotDeleteBusinessMessage</a> - A message was deleted in a <ahref="/api/business#connected-bots">connected business chat »</a>.</li>
<li>Added <ahref="/constructor/botBusinessConnection">botBusinessConnection</a> - Contains info about a <ahref="/api/business#connected-bots">bot business connection</a>.</li>
<li>Added <ahref="/constructor/inputBusinessIntro">inputBusinessIntro</a> - <ahref="/api/business#business-introduction">Telegram Business introduction »</a>.</li>
<li>Added <ahref="/constructor/businessIntro">businessIntro</a> - <ahref="/api/business#business-introduction">Telegram Business introduction »</a>.</li>
<li>Added <ahref="/constructor/messages.myStickers">messages.myStickers</a> - The list of <ahref="/api/stickers">stickersets owned by the current account »</a>.</li>
<li>Added <ahref="/constructor/inputCollectibleUsername">inputCollectibleUsername</a> - Represents a <ahref="/api/fragment">username fragment collectible</a></li>
<li>Added <ahref="/constructor/inputCollectiblePhone">inputCollectiblePhone</a> - Represents a <ahref="/api/fragment">phone number fragment collectible</a></li>
<li>Added <ahref="/constructor/fragment.collectibleInfo">fragment.collectibleInfo</a> - Info about a <ahref="/api/fragment">fragment collectible</a>.</li>
<li>Added <ahref="/constructor/inputBusinessBotRecipients">inputBusinessBotRecipients</a> - Specifies the private chats that a <ahref="/api/business#connected-bots">connected business bot »</a> may interact with.</li>
<li>Added <ahref="/constructor/businessBotRecipients">businessBotRecipients</a> - Specifies the private chats that a <ahref="/api/business#connected-bots">connected business bot »</a> may receive messages and interact with.</li>
<li>Added <ahref="/constructor/contactBirthday">contactBirthday</a> - Birthday information of a contact.</li>
<li>Added <ahref="/constructor/contacts.contactBirthdays">contacts.contactBirthdays</a> - Birthday information of our contacts.</li>
<li>Added <ahref="/constructor/inputPrivacyKeyBirthday">inputPrivacyKeyBirthday</a> - Whether the user can see our birthday.</li>
<li>Added <ahref="/constructor/privacyKeyBirthday">privacyKeyBirthday</a> - Whether the user can see our birthday.</li>
<li>Added <ahref="/constructor/inputPrivacyValueAllowPremium">inputPrivacyValueAllowPremium</a> - Allow only users with a <ahref="/api/premium">Premium subscription »</a>, currently only usable for <ahref="/constructor/inputPrivacyKeyChatInvite">inputPrivacyKeyChatInvite</a>.</li>
<li>Added <ahref="/constructor/privacyValueAllowPremium">privacyValueAllowPremium</a> - Allow only users with a <ahref="/api/premium">Premium subscription »</a>, currently only usable for <ahref="/constructor/inputPrivacyKeyChatInvite">inputPrivacyKeyChatInvite</a>.</li>
<li>Added <ahref="/constructor/missingInvitee">missingInvitee</a> - Info about why a specific user could not be <ahref="/api/invites#direct-invites">invited »</a>.</li>
<li>Added <ahref="/constructor/messages.invitedUsers">messages.invitedUsers</a> - Contains info about successfully or unsuccessfully <ahref="/api/invites#direct-invites">invited »</a> users.</li>
<li>Added <ahref="/constructor/inputBusinessChatLink">inputBusinessChatLink</a> - Contains info about a <ahref="/api/business#business-chat-links">business chat deep link »</a> to be created by the current account.</li>
<li>Added <ahref="/constructor/businessChatLink">businessChatLink</a> - Contains info about a <ahref="/api/business#business-chat-links">business chat deep link »</a> created by the current account.</li>
<li>Added <ahref="/constructor/account.businessChatLinks">account.businessChatLinks</a> - Contains info about <ahref="/api/business#business-chat-links">business chat deep links »</a> created by the current account.</li>
<li>Added <ahref="/constructor/account.resolvedBusinessChatLinks">account.resolvedBusinessChatLinks</a> - Contains info about a single resolved <ahref="/api/business#business-chat-links">business chat deep link »</a>.</li>
<li>Added <ahref="/constructor/requestedPeerUser">requestedPeerUser</a> - Info about a user, shared by a user with the currently logged in bot using <ahref="/method/messages.sendBotRequestedPeer">messages.sendBotRequestedPeer</a>.</li>
<li>Added <ahref="/constructor/requestedPeerChat">requestedPeerChat</a> - Info about a <ahref="/api/channel">chat</a>, shared by a user with the currently logged in bot using <ahref="/method/messages.sendBotRequestedPeer">messages.sendBotRequestedPeer</a>.</li>
<li>Added <ahref="/constructor/requestedPeerChannel">requestedPeerChannel</a> - Info about a <ahref="/api/channel">channel/supergroup</a>, shared by a user with the currently logged in bot using <ahref="/method/messages.sendBotRequestedPeer">messages.sendBotRequestedPeer</a>.</li>
<li>Added <ahref="/constructor/messageActionRequestedPeerSentMe">messageActionRequestedPeerSentMe</a> - Contains info about one or more peers that the a user shared with the me (the bot) after clicking on a <ahref="/constructor/keyboardButtonRequestPeer">keyboardButtonRequestPeer</a> button (service message received by the bot).</li>
<li>Added <ahref="/constructor/inputKeyboardButtonRequestPeer">inputKeyboardButtonRequestPeer</a> - Prompts the user to select and share one or more peers with the bot using <ahref="/method/messages.sendBotRequestedPeer">messages.sendBotRequestedPeer</a>.</li>
<li>Added <ahref="/constructor/sponsoredMessageReportOption">sponsoredMessageReportOption</a> - A <ahref="/api/sponsored-messages#reporting-sponsored-messages">report option for a sponsored message »</a>.</li>
<li>Added <ahref="/constructor/channels.sponsoredMessageReportResultChooseOption">channels.sponsoredMessageReportResultChooseOption</a> - The user must choose a report option from the localized options available in <code>options</code>, and after selection, <ahref="/method/channels.reportSponsoredMessage">channels.reportSponsoredMessage</a> must be invoked again, passing the option's <code>option</code> field to the <code>option</code> param of the method.</li>
<li>Added <ahref="/constructor/channels.sponsoredMessageReportResultAdsHidden">channels.sponsoredMessageReportResultAdsHidden</a> - Sponsored messages were hidden for the user in all chats.</li>
<li>Added <ahref="/constructor/channels.sponsoredMessageReportResultReported">channels.sponsoredMessageReportResultReported</a> - The sponsored message was reported successfully.</li>
<li>Added <ahref="/constructor/stats.broadcastRevenueStats">stats.broadcastRevenueStats</a> - <ahref="/api/revenue">Channel revenue ad statistics, see here »</a> for more info.</li>
<li>Added <ahref="/constructor/stats.broadcastRevenueWithdrawalUrl">stats.broadcastRevenueWithdrawalUrl</a> - Contains the URL to use to <ahref="/api/revenue#withdrawing-revenue">withdraw channel ad revenue</a>.</li>
<li>Added <ahref="/constructor/broadcastRevenueTransactionProceeds">broadcastRevenueTransactionProceeds</a> - Describes earnings from sponsored messages in a channel in some time frame, see <ahref="/api/revenue">here »</a> for more info.</li>
<li>Added <ahref="/constructor/broadcastRevenueTransactionWithdrawal">broadcastRevenueTransactionWithdrawal</a> - Describes a <ahref="/api/revenue#withdrawing-revenue">withdrawal of ad earnings »</a></li>
<li>Added <ahref="/constructor/broadcastRevenueTransactionRefund">broadcastRevenueTransactionRefund</a> - Describes a <ahref="/api/revenue#withdrawing-revenue">refund for failed withdrawal of ad earnings »</a></li>
<li>Added <ahref="/constructor/stats.broadcastRevenueTransactions">stats.broadcastRevenueTransactions</a> - <ahref="/api/revenue">Channel ad revenue transactions »</a>.</li>
<li>Added <strong>flags2</strong>, <strong>offline</strong>, <strong>via_business_bot_id</strong> parameters in <ahref="/constructor/message">message</a></li>
<li>Added <strong>business_bot_paused</strong>, <strong>business_bot_can_reply</strong>, <strong>business_bot_id</strong>, <strong>business_bot_manage_url</strong> parameters in <ahref="/constructor/peerSettings">peerSettings</a></li>
<li>Added <strong>business_intro</strong>, <strong>birthday</strong>, <strong>personal_channel_id</strong>, <strong>personal_channel_message</strong> parameters in <ahref="/constructor/userFull">userFull</a></li>
<li>Added <strong>creator</strong> parameter, removed <strong>animated</strong>, <strong>videos</strong> parameters in <ahref="/constructor/stickerSet">stickerSet</a></li>
<li>Added <strong>restricted_sponsored</strong>, <strong>can_view_revenue</strong> parameters in <ahref="/constructor/channelFull">channelFull</a></li>
<li>Added <strong>custom_parameters</strong> parameter in <ahref="/constructor/phoneCall">phoneCall</a></li>
<li>Added <strong>can_report</strong> parameter in <ahref="/constructor/sponsoredMessage">sponsoredMessage</a></li>
<li>Changed type of <strong>recipients</strong> from <strong>BusinessRecipients</strong> to <strong>BusinessBotRecipients</strong> in <ahref="/constructor/connectedBot">connectedBot</a></li>
<li>Added <ahref="/method/help.getTimezonesList">help.getTimezonesList</a> - Returns timezone information that may be used elsewhere in the API, such as to set <ahref="/api/business#opening-hours">Telegram Business opening hours »</a>.</li>
<li>Added <ahref="/method/account.updateBusinessWorkHours">account.updateBusinessWorkHours</a> - Specify a set of <ahref="/api/business#opening-hours">Telegram Business opening hours</a>. </li>
<li>Added <ahref="/method/account.updateBusinessLocation">account.updateBusinessLocation</a> - <ahref="/api/business#location">Businesses »</a> may advertise their location using this method, see <ahref="/api/business#location">here »</a> for more info.</li>
<li>Added <ahref="/method/account.updateBusinessGreetingMessage">account.updateBusinessGreetingMessage</a> - Set a list of <ahref="/api/business#greeting-messages">Telegram Business greeting messages</a>.</li>
<li>Added <ahref="/method/account.updateBusinessAwayMessage">account.updateBusinessAwayMessage</a> - Set a list of <ahref="/api/business#away-messages">Telegram Business away messages</a>.</li>
<li>Added <ahref="/method/messages.getQuickReplies">messages.getQuickReplies</a> - Fetch basic info about all existing <ahref="/api/business#quick-reply-shortcuts">quick reply shortcuts</a>.</li>
<li>Added <ahref="/method/messages.checkQuickReplyShortcut">messages.checkQuickReplyShortcut</a> - Before offering the user the choice to add a message to a <ahref="/api/business#quick-reply-shortcuts">quick reply shortcut</a>, to make sure that none of the limits specified <ahref="/api/business#quick-reply-shortcuts">here »</a> were reached.</li>
<li>Added <ahref="/method/messages.editQuickReplyShortcut">messages.editQuickReplyShortcut</a> - Rename a <ahref="/api/business#quick-reply-shortcuts">quick reply shortcut</a>. </li>
<li>Added <ahref="/method/messages.deleteQuickReplyShortcut">messages.deleteQuickReplyShortcut</a> - Completely delete a <ahref="/api/business#quick-reply-shortcuts">quick reply shortcut</a>. </li>
<li>Added <ahref="/method/messages.getQuickReplyMessages">messages.getQuickReplyMessages</a> - Fetch (a subset or all) messages in a <ahref="/api/business#quick-reply-shortcuts">quick reply shortcut »</a>.</li>
<li>Added <ahref="/method/messages.sendQuickReplyMessages">messages.sendQuickReplyMessages</a> - Send a <ahref="/api/business#quick-reply-shortcuts">quick reply shortcut »</a>.</li>
<li>Added <ahref="/method/messages.deleteQuickReplyMessages">messages.deleteQuickReplyMessages</a> - Delete one or more messages from a <ahref="/api/business#quick-reply-shortcuts">quick reply shortcut</a>. This will also emit an <ahref="/constructor/updateDeleteQuickReplyMessages">updateDeleteQuickReplyMessages</a> update.</li>
<li>Added <ahref="/method/account.updateConnectedBot">account.updateConnectedBot</a> - Connect a <ahref="/api/business#connected-bots">business bot »</a> to the current account, or to change the current connection settings.</li>
<li>Added <ahref="/method/account.getConnectedBots">account.getConnectedBots</a> - List all currently connected <ahref="/api/business#connected-bots">business bots »</a></li>
<li>Added <ahref="/method/messages.toggleDialogFilterTags">messages.toggleDialogFilterTags</a> - Enable or disable <ahref="/api/folders#folder-tags">folder tags »</a>.</li>
<li>Added <strong>quick_reply_shortcut</strong> parameter in <ahref="/method/messages.sendMessage">messages.sendMessage</a></li>
<li>Added <strong>quick_reply_shortcut</strong> parameter in <ahref="/method/messages.sendMedia">messages.sendMedia</a></li>
<li>Added <strong>quick_reply_shortcut</strong> parameter in <ahref="/method/messages.forwardMessages">messages.forwardMessages</a></li>
<li>Added <strong>quick_reply_shortcut</strong> parameter in <ahref="/method/messages.sendInlineBotResult">messages.sendInlineBotResult</a></li>
<li>Added <strong>quick_reply_shortcut_id</strong> parameter in <ahref="/method/messages.editMessage">messages.editMessage</a></li>
<li>Added <strong>quick_reply_shortcut</strong> parameter in <ahref="/method/messages.sendMultiMedia">messages.sendMultiMedia</a></li>
<li>Changed type of <ahref="/method/messages.getDialogFilters">messages.getDialogFilters</a> from <strong>Vector<DialogFilter></strong> to <strong>messages.DialogFilters</strong></li>
<li>Added <ahref="/constructor/businessWeeklyOpen">businessWeeklyOpen</a> - A time interval, indicating the opening hours of a business.</li>
<li>Added <ahref="/constructor/businessWorkHours">businessWorkHours</a> - Specifies a set of <ahref="/api/business#opening-hours">Telegram Business opening hours</a>.</li>
<li>Added <ahref="/constructor/businessLocation">businessLocation</a> - Represents the location of a <ahref="/api/business#location">Telegram Business »</a>.</li>
<li>Added <ahref="/constructor/inputBusinessRecipients">inputBusinessRecipients</a> - Specifies the chats that <strong>can</strong> receive Telegram Business <ahref="/api/business#away-messages">away »</a> and <ahref="/api/business#greeting-messages">greeting »</a> messages.</li>
<li>Added <ahref="/constructor/businessRecipients">businessRecipients</a> - Specifies the chats that <strong>can</strong> receive Telegram Business <ahref="/api/business#away-messages">away »</a> and <ahref="/api/business#greeting-messages">greeting »</a> messages.</li>
<li>Added <ahref="/constructor/businessAwayMessageScheduleAlways">businessAwayMessageScheduleAlways</a> - Always send <ahref="/api/business#away-messages">Telegram Business away messages</a> to users writing to us in private.</li>
<li>Added <ahref="/constructor/businessAwayMessageScheduleOutsideWorkHours">businessAwayMessageScheduleOutsideWorkHours</a> - Send <ahref="/api/business#away-messages">Telegram Business away messages</a> to users writing to us in private outside of the configured <ahref="/api/business#opening-hours">Telegram Business working hours</a>.</li>
<li>Added <ahref="/constructor/businessAwayMessageScheduleCustom">businessAwayMessageScheduleCustom</a> - Send <ahref="/api/business#away-messages">Telegram Business away messages</a> to users writing to us in private in the specified time span.</li>
<li>Added <ahref="/constructor/inputBusinessGreetingMessage">inputBusinessGreetingMessage</a> - Describes a <ahref="/api/business#greeting-messages">Telegram Business greeting</a>, automatically sent to new users writing to us in private for the first time, or after a certain inactivity period.</li>
<li>Added <ahref="/constructor/businessGreetingMessage">businessGreetingMessage</a> - Describes a <ahref="/api/business#greeting-messages">Telegram Business greeting</a>, automatically sent to new users writing to us in private for the first time, or after a certain inactivity period.</li>
<li>Added <ahref="/constructor/inputBusinessAwayMessage">inputBusinessAwayMessage</a> - Describes a <ahref="/api/business#away-messages">Telegram Business away message</a>, automatically sent to users writing to us when we're offline, during closing hours, while we're on vacation, or in some other custom time period when we cannot immediately answer to the user.</li>
<li>Added <ahref="/constructor/businessAwayMessage">businessAwayMessage</a> - Describes a <ahref="/api/business#away-messages">Telegram Business away message</a>, automatically sent to users writing to us when we're offline, during closing hours, while we're on vacation, or in some other custom time period when we cannot immediately answer to the user.</li>
<li>Added <ahref="/constructor/help.timezonesListNotModified">help.timezonesListNotModified</a> - The timezone list has not changed.</li>
<li>Added <ahref="/constructor/help.timezonesList">help.timezonesList</a> - Timezone information that may be used elsewhere in the API, such as to set <ahref="/api/business#opening-hours">Telegram Business opening hours »</a>.</li>
<li>Added <ahref="/constructor/quickReply">quickReply</a> - A <ahref="/api/business#quick-reply-shortcuts">quick reply shortcut</a>.</li>
<li>Added <ahref="/constructor/inputQuickReplyShortcut">inputQuickReplyShortcut</a> - Selects a <ahref="/api/business#quick-reply-shortcuts">quick reply shortcut</a> by name.</li>
<li>Added <ahref="/constructor/inputQuickReplyShortcutId">inputQuickReplyShortcutId</a> - Selects a <ahref="/api/business#quick-reply-shortcuts">quick reply shortcut</a> by its numeric ID.</li>
<li>Added <ahref="/constructor/messages.quickReplies">messages.quickReplies</a> - Info about <ahref="/api/business#quick-reply-shortcuts">quick reply shortcuts »</a>.</li>
<li>Added <ahref="/constructor/messages.quickRepliesNotModified">messages.quickRepliesNotModified</a> - Info about <ahref="/api/business#quick-reply-shortcuts">quick reply shortcuts »</a> hasn't changed.</li>
<li>Added <ahref="/constructor/updateQuickReplies">updateQuickReplies</a> - Info about or the order of <ahref="/api/business#quick-reply-shortcuts">quick reply shortcuts »</a> was changed.</li>
<li>Added <ahref="/constructor/updateNewQuickReply">updateNewQuickReply</a> - A new <ahref="/api/business#quick-reply-shortcuts">quick reply shortcut »</a> was created.</li>
<li>Added <ahref="/constructor/updateDeleteQuickReply">updateDeleteQuickReply</a> - A <ahref="/api/business#quick-reply-shortcuts">quick reply shortcut »</a> was deleted. This will <strong>not</strong> emit <ahref="/constructor/updateDeleteQuickReplyMessages">updateDeleteQuickReplyMessages</a> updates, even if all the messages in the shortcut are also deleted by this update.</li>
<li>Added <ahref="/constructor/updateQuickReplyMessage">updateQuickReplyMessage</a> - A new message was added to a <ahref="/api/business#quick-reply-shortcuts">quick reply shortcut »</a>.</li>
<li>Added <ahref="/constructor/updateDeleteQuickReplyMessages">updateDeleteQuickReplyMessages</a> - One or more messages in a <ahref="/api/business#quick-reply-shortcuts">quick reply shortcut »</a> were deleted.</li>
<li>Added <ahref="/constructor/connectedBot">connectedBot</a> - Contains info about a <ahref="/api/business#connected-bots">connected business bot »</a>.</li>
<li>Added <ahref="/constructor/account.connectedBots">account.connectedBots</a> - Info about currently connected <ahref="/api/business#connected-bots">business bots</a>.</li>
<li>Added <ahref="/constructor/messages.dialogFilters">messages.dialogFilters</a> - <ahref="/api/folders">Folder and folder tags</a> information</li>
<li><ahref="/api/boost">Boosts in supergroups »</a></li>
<li><ahref="/api/boost#setting-a-custom-emoji-stickerset-for-supergroups">Custom emoji stickersets for supergroups »</a>, usable even by non-<ahref="/api/premium">Premium</a> users!</li>
<li><ahref="/api/boost#bypass-slowmode-and-chat-restrictions">Boost to bypass supergroup restrictions »</a></li>
<li><ahref="/api/boost#unlimited-voice-message-transcriptions-for-supergroups">Boost for unlimited voice message transcriptions for supergroups »</a></li>
<li><ahref="/api/boost#changing-profile-accent-color-emoji">Profile accent colors/emojis for supergroups »</a></li>
<li>A new optional privacy setting to <ahref="/api/privacy#require-premium-for-new-non-contact-users">allow new messages only from Premium users »</a></li>
<li><ahref="/method/messages.getOutboxReadDate">Exact read dates in private messages »</a></li>
<li>Disabling signup notifications for new users via <ahref="/method/auth.signUp">no_joined_notifications »</a></li>
<li>Improvements to <ahref="/api/saved-messages#tags">saved message tags »</a> (search for tagged messages only in certain <ahref="/api/saved-messages#saved-message-dialogs">saved message dialogs »</a>).</li>
<li><ahref="/api/stories">Stories for groups »</a></li>
</ul>
<p>The following new <ahref="/api/premium#telegram-premium-features">Telegram Premium feature indentifiers »</a> were added:</p>
<li>Added <ahref="/method/messages.getOutboxReadDate">messages.getOutboxReadDate</a> - Get the exact read date of one of our messages, sent to a private chat with another user.</li>
<li>Added <ahref="/method/users.getIsPremiumRequiredToContact">users.getIsPremiumRequiredToContact</a> - Check whether we can write to the specified user (this method can only be called by non-<ahref="/api/premium">Premium</a> users), see <ahref="/api/privacy#require-premium-for-new-non-contact-users">here »</a> for more info on the full flow.</li>
<li>Added <ahref="/method/channels.setBoostsToUnblockRestrictions">channels.setBoostsToUnblockRestrictions</a> - Admins with <ahref="/constructor/chatAdminRights">ban_users admin rights »</a> may allow users that apply a certain number of <ahref="/api/boost">booosts »</a> to the group to bypass <ahref="/method/channels.toggleSlowMode">slow mode »</a> and <ahref="/api/rights#default-rights">other »</a> supergroup restrictions, see <ahref="/api/boost#bypass-slowmode-and-chat-restrictions">here »</a> for more info.</li>
<li>Added <ahref="/method/channels.setEmojiStickers">channels.setEmojiStickers</a> - Set a <ahref="/api/custom-emoji">custom emoji stickerset</a> for supergroups. Only usable after reaching at least the <ahref="/api/boost">boost level »</a> specified in the <ahref="/api/config#group-emoji-stickers-level-min"><code>group_emoji_stickers_level_min</code> »</a> config parameter.</li>
<li>Added <ahref="/constructor/outboxReadDate">outboxReadDate</a> - Exact read date of a private message we sent to another user.</li>
<li>Added <ahref="/constructor/messageActionBoostApply">messageActionBoostApply</a> - Some <ahref="/api/boost">boosts »</a> were applied to the channel or supergroup.</li>
<li>Added <ahref="/constructor/channelAdminLogEventActionChangeEmojiStickerSet">channelAdminLogEventActionChangeEmojiStickerSet</a> - The supergroup's <ahref="/api/boost#setting-a-custom-emoji-stickerset-for-supergroups">custom emoji stickerset</a> was changed.</li>
<p>This layer introduces <ahref="/api/saved-messages#tags">saved message tags »</a> and adds support for the "Channels" tab in the <ahref="/api/search#global-search">global search view »</a>.</p>
<p>The following new <ahref="/api/premium#telegram-premium-features">Telegram Premium feature indentifiers »</a> were added:</p>
<li>Added <ahref="/method/messages.getSavedReactionTags">messages.getSavedReactionTags</a> - Fetch the full list of <ahref="/api/saved-messages#tags">saved message tags</a> created by the user.</li>
<li>Added <ahref="/method/messages.updateSavedReactionTag">messages.updateSavedReactionTag</a> - Update the <ahref="/api/saved-messages#tags">description of a saved message tag »</a>.</li>
<li>Added <ahref="/method/messages.getDefaultTagReactions">messages.getDefaultTagReactions</a> - Fetch a default recommended list of <ahref="/api/saved-messages#tags">saved message tag reactions</a>.</li>
<li>Added <ahref="/constructor/savedReactionTag">savedReactionTag</a> - Info about a <ahref="/api/saved-messages#tags">saved message reaction tag »</a>.</li>
<li>Added <ahref="/constructor/messages.savedReactionTagsNotModified">messages.savedReactionTagsNotModified</a> - The list of <ahref="/api/saved-messages#tags">reaction tag »</a> names assigned by the user hasn't changed.</li>
<li>Added <ahref="/constructor/messages.savedReactionTags">messages.savedReactionTags</a> - List of <ahref="/api/saved-messages#tags">reaction tag »</a> names assigned by the user.</li>
<li>Added <ahref="/constructor/updateSavedReactionTags">updateSavedReactionTags</a> - The list of <ahref="/api/saved-messages#tags">reaction tag »</a> names assigned by the user has changed and should be refetched using <ahref="/method/messages.getSavedReactionTags">messages.getSavedReactionTags »</a>.</li>
<p>Also added documentation for <ahref="/api/files#streamed-uploads">streamed uploads</a> and improved the docs for <ahref="/api/invoking#sequential-requests">method queue</a>, <ahref="/mtproto/mtproto-transports">quick ACKs</a> and <ahref="/mtproto/description#message-sequence-number-msg-seqno">content-related messages</a>.</p>
<p>The <ahref="/api/errors#error-database">RPC error database »</a> was also updated.</p>