2019-01-01 10:15:01 +00:00
|
|
|
# TelegramBotAPI changelog
|
|
|
|
|
2019-02-26 08:01:26 +00:00
|
|
|
## 0.12.0 Webhooks
|
2019-02-26 01:15:52 +00:00
|
|
|
|
2019-02-26 01:45:56 +00:00
|
|
|
* Added `DataRequest` interface which replace `Data` interface
|
|
|
|
* `MultipartRequestImpl` now use `DataRequest`
|
|
|
|
* All requests which implements `Data` now implement `DataRequest`
|
|
|
|
* Added class `SetWebhook` and its factory
|
2019-02-26 08:01:26 +00:00
|
|
|
* Added class `UpdatesFilter` which can help to filter updates by categories
|
|
|
|
* Added function `accumulateByKey` which work as debounce for keys and send list of received values
|
|
|
|
* Added webhooks functions and workaround for `Reverse Proxy` mode
|
2019-02-27 03:01:32 +00:00
|
|
|
* Added new type of updates `MediaGroupUpdate`, which can be received only from filters
|
|
|
|
* `UpdatesFilter` now use new type of updates for mediagroups
|
2019-02-27 06:01:04 +00:00
|
|
|
* Add `GetWebhookInfo` request and `WebhookInfo` type
|
|
|
|
* Replace updates types into separated place in types
|
2019-03-04 02:32:26 +00:00
|
|
|
* Now default `RequestException` will contain plain answer from telegram
|
2019-03-06 00:10:29 +00:00
|
|
|
* Added `UnauthorizedException`
|
|
|
|
* `RequestException` now is sealed
|
|
|
|
* Rename `ReplyMessageNotFound` to `ReplyMessageNotFoundException`
|
2019-03-06 02:09:45 +00:00
|
|
|
* Added `List<BaseMessageUpdate>#mediaGroupId` extension
|
|
|
|
* Added utility `T#asReference(): WeakReference(T)` extension
|
|
|
|
* Added `UpdatesPoller` class which can be instantiated for manage updates polling
|
|
|
|
* Separated execute extensions (now they are in file `Executes`) and poller creating extensions
|
|
|
|
* `BaseMessageUpdate#toMediaGroupUpdate()` will also check condition when update-receiver already is `MediaGroupUpdate`
|
2019-02-26 01:45:56 +00:00
|
|
|
|
2019-03-14 07:44:19 +00:00
|
|
|
### 0.12.1 Hotfix for media groups
|
|
|
|
|
|
|
|
* Added additional media group types (like `MessageMediaGroupUpdate`)
|
|
|
|
* Fixed handling of media group updates in `UpdatesFilter`
|
|
|
|
|
2019-03-14 23:24:10 +00:00
|
|
|
### 0.12.2
|
|
|
|
|
2019-03-15 00:16:01 +00:00
|
|
|
* New in `MediaGroupUpdate`:
|
|
|
|
* It is subtype of `Update` and can be use as regular update with list of messages
|
|
|
|
* Data now is list with `MediaGroupMessage`
|
|
|
|
* Added field `origins` which represent origin updates for `MediaGroupMessage`
|
|
|
|
* `updateId` now represent LAST id of origins updates
|
|
|
|
* `UpdatesFilter` and other objects now work with `UpdateReceiver<Update>` as common supertype
|
|
|
|
for receivers.
|
|
|
|
|
2019-03-20 00:52:36 +00:00
|
|
|
### 0.12.3 Cleaning
|
|
|
|
|
2019-03-20 00:53:37 +00:00
|
|
|
* Refactor, optimizing and cleaning of code
|
2019-03-20 00:55:46 +00:00
|
|
|
* Removed deprecated method `T#toJsonWithoutNulls()`
|
2019-03-21 00:45:51 +00:00
|
|
|
* Renamed instances of `MediaGroupMessage`s and refactored their interfaces. `ChannelMediaGroupMessage`
|
|
|
|
will not contain `user` field (but `CommonMediaGroupMessage` will have)
|
2019-03-21 01:18:54 +00:00
|
|
|
* Now `MediaCollectionContent` is `MediaContent` (classes of this interface must choose best
|
|
|
|
media for present out)
|
|
|
|
* `PhotoContent` now choose biggest photo size from its collection as `media`
|
2019-03-22 01:07:09 +00:00
|
|
|
* Fix in order of media group messages which was received by webhooks
|
2019-03-20 00:53:37 +00:00
|
|
|
|
2019-03-27 01:35:37 +00:00
|
|
|
### 0.12.4
|
2019-03-23 06:26:22 +00:00
|
|
|
|
2019-03-23 06:31:13 +00:00
|
|
|
* Optimized preparing of media group in `UpdatesPoller`
|
2019-03-27 01:13:07 +00:00
|
|
|
* Add `CommonLimiter`
|
2019-03-27 01:35:37 +00:00
|
|
|
* Add `MessageEntity#asHtmlSource` and `String#toHtml`
|
2019-03-27 01:43:36 +00:00
|
|
|
* Add tools for work with html captions and texts
|
2019-03-30 12:12:00 +00:00
|
|
|
* `MessageContent` which using captions or text now have default parse mode `HTMLParseMode` due to issue with escaping
|
|
|
|
of `]` in links titles
|
2019-03-31 02:20:14 +00:00
|
|
|
* Added `Markdown` and `HTML` type aliases which actually means `MarkdownParseMode` and `HTMLParseMode`
|
2019-03-31 03:11:32 +00:00
|
|
|
* `ChatId` now have extension `link` which will automatically create link like `tg://user?id=<chatId>`
|
|
|
|
* Created a few of methods for all supported formats of text like bold, italic, links and others
|
2019-03-31 03:26:41 +00:00
|
|
|
* Rewritten `MessageEntities` to use new formatting options
|
2019-03-23 06:31:13 +00:00
|
|
|
|
2019-02-21 04:07:05 +00:00
|
|
|
## 0.11.0
|
|
|
|
|
2019-02-21 04:10:14 +00:00
|
|
|
* Kotlin `1.3.11` -> `1.3.21`
|
|
|
|
* Kotlin coroutines `1.1.0` -> `1.1.1`
|
|
|
|
* Kotlin serialization `0.9.1` -> `0.10.0`
|
|
|
|
* Ktor `1.1.1` -> `1.1.2`
|
|
|
|
|
2019-02-07 06:21:46 +00:00
|
|
|
## 0.10.0
|
2019-01-01 10:15:01 +00:00
|
|
|
|
2019-02-07 06:29:38 +00:00
|
|
|
* Most part of abstractions was replaced from `requests` and `types` on more high level
|
|
|
|
* Added abstraction `CommonVenueData`
|
|
|
|
* Added abstraction `CommonContactData`
|
|
|
|
* Added `InputMessageContent`
|
|
|
|
* Update some types and requests according to abstractions replacing
|
|
|
|
* Add all `InlineQueryResult`, `InputMessageContent` and other inline mode types
|
2019-02-07 12:19:25 +00:00
|
|
|
* Fixes in edition of inline messages and their result types
|
2019-02-10 05:41:20 +00:00
|
|
|
* Replace basic exception and add `ReplyMessageNotFound` exception
|
2019-02-07 06:29:38 +00:00
|
|
|
|
2019-02-14 08:39:55 +00:00
|
|
|
### 0.10.1
|
|
|
|
|
2019-02-14 08:45:25 +00:00
|
|
|
* Change algorithm of `executeUnsafe`: now it use loop instead of recursive calling
|
2019-02-15 01:54:18 +00:00
|
|
|
* Add additional `startGettingUpdates` with better management of received updates for media groups
|
2019-02-17 06:29:17 +00:00
|
|
|
* Now `MediaGroupMessage` is `CommonMessage` with `MediaGroupContent` content
|
2019-02-17 08:39:04 +00:00
|
|
|
* Added extensions `replyTo`, `forwarded` and `chat` for `List<BaseMessageUpdated>` for comfortable
|
|
|
|
work with media groups lists
|
2019-02-17 10:53:00 +00:00
|
|
|
* Fix `parseMode` of `InputTextMessageContent`
|
2019-02-14 08:45:25 +00:00
|
|
|
|
2019-02-17 13:10:42 +00:00
|
|
|
### 0.10.2
|
|
|
|
|
2019-02-17 13:12:56 +00:00
|
|
|
* Fixes in `Username`
|
|
|
|
* Now you can create username object using string which is not starting with `@`
|
|
|
|
* Now `Username` correctly comparing with strings, which are not starting with `@`
|
2019-02-18 04:56:50 +00:00
|
|
|
* Now most part of usernames in library have type `Username`
|
2019-02-18 04:59:09 +00:00
|
|
|
* Fix `replyMarkup` in `InlineQueryResultArticle`
|
2019-02-17 13:12:56 +00:00
|
|
|
|
2019-02-18 06:35:58 +00:00
|
|
|
### 0.10.3
|
|
|
|
|
|
|
|
* Hotfix for username data class
|
|
|
|
|
2019-01-26 05:28:54 +00:00
|
|
|
## 0.9.0
|
2019-01-10 14:09:51 +00:00
|
|
|
|
2019-01-26 05:28:54 +00:00
|
|
|
* Old extension `OkHttpClient.Builder#useWith` now deprecated and must be replaced by the same in
|
|
|
|
`com.github.insanusmokrassar.TelegramBotAPI.bot.Ktor` package
|
|
|
|
* Replace `ProxySettings` data class in `settings` package, deprecate old link
|
|
|
|
* `BaseRequestsExecutor` now have no it's own scope
|
|
|
|
* Add `RequestLimiter` and base realisations
|
|
|
|
* Now `KtorRequestsExecutor` can receive as one of parameters `RequestLimiter` (by default - `EmptyLimiter`)
|
2019-01-10 14:09:51 +00:00
|
|
|
|
2019-01-29 00:14:52 +00:00
|
|
|
### 0.9.1
|
|
|
|
|
2019-01-29 00:18:07 +00:00
|
|
|
* Updated built-in lengths restrictions
|
2019-01-29 00:18:52 +00:00
|
|
|
* Apply restrictions of text limit for sending messages
|
2019-01-29 01:47:01 +00:00
|
|
|
* Add `RegularTextMessageEntity` which is useful for representing regular text message entity
|
|
|
|
* Add `convertToFullMessageEntityList` which create list of entities with `RegularTextMessageEntity` on places where
|
|
|
|
must be regular text
|
2019-01-29 02:13:59 +00:00
|
|
|
* Change signature of `createMarkdownText`: now it will return list of strings
|
|
|
|
* Deprecate old signatures of `createMarkdownText`, `toMarkdownCaption`, `toMarkdownText`
|
2019-01-29 02:22:09 +00:00
|
|
|
* Add `ResendableContent#createResends` which create adapted list of resends for content
|
|
|
|
* Add `TextContent` own `createResends` realisation
|
2019-01-29 00:18:07 +00:00
|
|
|
|
2019-01-31 01:52:43 +00:00
|
|
|
### 0.9.2
|
|
|
|
|
2019-01-31 01:53:58 +00:00
|
|
|
* `RequestsExecutor#executeAsync(Request, CoroutineScope)` now will return `Deferred` for cases when you need result
|
2019-01-31 01:57:49 +00:00
|
|
|
* `RequestsExecutor#executeUnsafe` will automatically retry request if it was unsuccessful and retries > 0
|
2019-01-31 01:53:58 +00:00
|
|
|
|
2019-02-05 04:27:33 +00:00
|
|
|
### 0.9.3
|
|
|
|
|
2019-02-05 04:30:09 +00:00
|
|
|
* `KtorRequestsExecutor` now can use custom `JSON` string formatter (by default - non strict)
|
2019-02-05 04:40:29 +00:00
|
|
|
* `ResponseParameters` renamed to `Response`
|
2019-02-05 04:58:38 +00:00
|
|
|
* Add `RequestError` sealed class and described in documentation known errors
|
|
|
|
* Add `ResponseParametersRaw` which can create error based on input parameters
|
|
|
|
* Add `parameters` field in `Response` and remove useless fields from `Response`
|
|
|
|
* Add `leftToRetry` parameter in `RetryAfterError`
|
|
|
|
* Add handling of `RetryAfterError` in `KtorRequestsExecutor`
|
2019-02-05 04:30:09 +00:00
|
|
|
|
2019-01-26 05:28:54 +00:00
|
|
|
### 0.8.5
|
2019-01-11 03:54:51 +00:00
|
|
|
|
2019-01-26 05:28:54 +00:00
|
|
|
* Add extension `String#toMarkdown`
|
|
|
|
* Fix of inserting of text when create Markdown-adapted text from text and text entities
|
|
|
|
* Fix default realisation of MessageEntity#asMarkdownSource
|
2019-01-17 00:21:01 +00:00
|
|
|
|
2019-01-23 04:15:57 +00:00
|
|
|
### 0.8.4
|
2019-01-17 01:42:23 +00:00
|
|
|
|
|
|
|
* Added `createMarkdownText` and extensions for `CaptionedMediaContent` and `TextContent`
|
2019-01-17 02:19:33 +00:00
|
|
|
* Added `ResendableContent` and realize in different contents
|
|
|
|
* Animation
|
|
|
|
* Audio
|
|
|
|
* Document
|
|
|
|
* Photo
|
|
|
|
* Sticker
|
|
|
|
* Video
|
|
|
|
* VideoNote
|
|
|
|
* Voice
|
2019-01-17 02:40:37 +00:00
|
|
|
* `MessageContent` now is `ResendableContent`
|
2019-01-20 05:13:42 +00:00
|
|
|
* Now all media sending factories which contains `thumb` have default `null` value
|
2019-01-21 00:23:27 +00:00
|
|
|
* `ChatIdentifier` classes now are `data` classes
|
2019-01-21 02:22:51 +00:00
|
|
|
* Now `MediaGroupContent` interface contains `toMediaGroupMemberInputMedia` method for easily creating mirror input media
|
2019-01-21 06:13:31 +00:00
|
|
|
* Change signature of `Update`
|
|
|
|
* Now `Update` is untyped and data is `Any`
|
|
|
|
* Media groups now are separated type of updates and you can subscribe on that receiving directly
|
2019-01-21 08:04:55 +00:00
|
|
|
* Now `AdministratorChatMember` is interface and `CreatorChatMember` implement it
|
2019-01-23 04:15:57 +00:00
|
|
|
|
2019-01-26 05:28:54 +00:00
|
|
|
### 0.8.3
|
2019-01-23 04:15:57 +00:00
|
|
|
|
2019-01-26 05:28:54 +00:00
|
|
|
* Now `ForwardedMessage` contains nullable `from`
|
2019-01-24 00:20:13 +00:00
|
|
|
|
2019-01-26 05:28:54 +00:00
|
|
|
### 0.8.2
|
2019-01-24 00:37:39 +00:00
|
|
|
|
2019-01-26 05:28:54 +00:00
|
|
|
* Add `FromUserMessage` which must be implemented in all messages realisations which have `user` field
|
|
|
|
* Add `CommonMediaGroupMessage` which in fact extension of `MediaGroupMessage` with implementation of `FromUserMessage`
|
|
|
|
* `CommonMessageImpl` now implementing `FromUserMessage`
|
|
|
|
|
|
|
|
### 0.8.1
|
|
|
|
|
|
|
|
* Update `MediaGroupMessage` interface
|
|
|
|
* Add implementation of `MediaGroupMessage`
|
|
|
|
* Add generating of `MediaGroupMessage` in `RawMessage`
|