2020-08-12 18:39:40 +02:00
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog ](https://keepachangelog.com/en/1.0.0/ ),
and this project adheres to [Semantic Versioning ](https://semver.org/spec/v2.0.0.html ).
2021-08-31 17:39:02 +02:00
## unreleased
2020-08-12 18:39:40 +02:00
2022-03-21 16:22:22 +01:00
## 0.4.4 - 2022-04-21
2022-03-18 11:13:38 +01:00
### Added
2022-03-16 18:09:47 +01:00
- `WrongFileIdOrUrl` and `FailedToGetUrlContent` errors ([#188][pr188])
2022-03-21 16:10:12 +01:00
- `NotFound` error ([#190][pr190])
2022-03-18 11:13:38 +01:00
- `HasPayload::with_payload_mut` function ([#189][pr189])
2022-03-16 18:09:47 +01:00
[pr188]: https://github.com/teloxide/teloxide-core/pull/188
2022-03-18 11:13:38 +01:00
[pr189]: https://github.com/teloxide/teloxide-core/pull/189
2022-03-21 16:10:12 +01:00
[pr190]: https://github.com/teloxide/teloxide-core/pull/190
2022-03-18 11:13:38 +01:00
2022-03-07 19:43:24 +01:00
## 0.4.3 - 2022-03-08
2022-03-03 00:15:18 +01:00
### Added
- `User::is_telegram` function ([#186][pr186])
[pr186]: https://github.com/teloxide/teloxide-core/pull/186
2022-02-20 19:12:57 +01:00
### Fixed
- `Update::chat()` now returns `Some(&Chat)` for `UpdateKind::ChatMember` , `UpdateKind::MyChatMember` ,
`UpdateKind::ChatJoinRequest` ([#184][pr184])
2022-03-02 23:48:09 +01:00
- `get_updates` timeouts (partially revert buggy [#180][pr180]) ([#185][pr185])
2022-02-20 19:12:57 +01:00
[pr184]: https://github.com/teloxide/teloxide-core/pull/184
2022-03-02 23:48:09 +01:00
[pr185]: https://github.com/teloxide/teloxide-core/pull/185
2022-02-20 19:12:57 +01:00
2022-03-02 23:48:09 +01:00
## 0.4.2 - 2022-02-17 [yanked]
2022-02-17 13:03:41 +01:00
2022-02-17 12:41:38 +01:00
### Deprecated
- `Message::chat_id` use `.chat.id` field instead ([#182][pr182])
[pr182]: https://github.com/teloxide/teloxide-core/pull/182
2022-02-17 12:10:39 +01:00
### Fixed
- Serialization of `SendPoll::type_` (it's now possible to send quiz polls) ([#181][pr181])
[pr181]: https://github.com/teloxide/teloxide-core/pull/181
2022-02-14 17:15:30 +01:00
### Added
- `Payload::timeout_hint` method to properly handle long running requests like `GetUpdates` ([#180][pr180])
[pr180]: https://github.com/teloxide/teloxide-core/pull/180
2022-02-13 19:08:40 +01:00
## 0.4.1 - 2022-02-13
2022-02-13 18:53:41 +01:00
### Fixed
- Deserialization of `UntilDate` ([#178][pr178])
[pr178]: https://github.com/teloxide/teloxide-core/pull/178
2022-02-03 15:48:36 +01:00
## 0.4.0 - 2022-02-03
2021-09-02 17:14:54 +02:00
### Added
2021-11-09 19:16:56 +01:00
- `ApiError::TooMuchInlineQueryResults` ([#135][pr135])
2021-12-28 14:57:47 +01:00
- `ApiError::NotEnoughRightsToChangeChatPermissions` ([#155][pr155])
2021-11-06 13:36:29 +01:00
- Support for 5.4 telegram bot API ([#133][pr133])
2022-01-11 13:38:42 +01:00
- Support for 5.5 telegram bot API ([#143][pr143], [#164][pr164])
2022-02-01 18:22:20 +01:00
- Support for 5.6 telegram bot API ([#162][pr162])
- Support for 5.7 telegram bot API ([#175][pr175])
2021-11-06 13:36:29 +01:00
- `EditedMessageIsTooLong` error ([#109][pr109])
2022-01-25 13:15:04 +01:00
- `UntilDate` enum and use it for `{Restricted, Banned}::until_date` ([#117][pr117])
2021-09-16 01:57:30 +02:00
- `Limits::messages_per_min_channel` ([#121][pr121])
2021-11-27 10:50:03 +01:00
- `media_group_id` field to `MediaDocument` and `MediaAudio` ([#139][pr139])
2021-11-27 19:33:33 +01:00
- `caption_entities` method to `InputMediaPhoto` ([#140][pr140])
2021-12-25 02:12:59 +01:00
- `User::is_anonymous` and `User::is_channel` functions ([#151][pr151])
2021-12-29 16:37:36 +01:00
- `UpdateKind::Error` ([#156][pr156])
2021-08-21 19:39:57 +02:00
[pr109]: https://github.com/teloxide/teloxide-core/pull/109
2022-01-25 13:15:04 +01:00
[pr117]: https://github.com/teloxide/teloxide-core/pull/117
2021-09-16 01:57:30 +02:00
[pr121]: https://github.com/teloxide/teloxide-core/pull/121
2021-11-09 19:16:56 +01:00
[pr135]: https://github.com/teloxide/teloxide-core/pull/135
2021-11-27 10:50:03 +01:00
[pr139]: https://github.com/teloxide/teloxide-core/pull/139
2021-11-27 19:33:33 +01:00
[pr140]: https://github.com/teloxide/teloxide-core/pull/140
2021-12-10 14:02:28 +01:00
[pr143]: https://github.com/teloxide/teloxide-core/pull/143
2021-12-25 02:12:59 +01:00
[pr151]: https://github.com/teloxide/teloxide-core/pull/151
2021-12-28 14:57:47 +01:00
[pr155]: https://github.com/teloxide/teloxide-core/pull/155
2021-12-29 16:37:36 +01:00
[pr156]: https://github.com/teloxide/teloxide-core/pull/156
2022-02-01 18:22:20 +01:00
[pr162]: https://github.com/teloxide/teloxide-core/pull/162
2022-01-11 13:38:42 +01:00
[pr164]: https://github.com/teloxide/teloxide-core/pull/164
2022-02-01 18:22:20 +01:00
[pr175]: https://github.com/teloxide/teloxide-core/pull/175
2021-09-02 17:14:54 +02:00
### Changed
2022-01-13 15:19:02 +01:00
- Refactor `InputFile` ([#167][pr167])
- Make it an opaque structure, instead of enum
- Add `read` constructor, that allows creating `InputFile` from `impl AsyncRead`
- Internal changes
2021-11-07 21:55:38 +01:00
- Refactor errors ([#134][pr134])
- Rename `DownloadError::NetworkError` to `Network`
- Rename `RequestError::ApiError` to `Api`
- Remove `RequestError::Api::status_code` and rename `RequestError::Api::kind` to `0` (struct to tuple struct)
- Rename `RequestError::NetworkError` to `Network`
- Implement `Error` for `ApiError`
2021-09-02 17:14:54 +02:00
- Use `url::Url` for urls, use `chrono::DateTime<Utc>` for dates in types ([#115][pr115])
2021-10-11 09:44:06 +02:00
- Mark `ApiError` as `non_exhaustive` ([#125][pr125])
2021-11-06 13:36:29 +01:00
- `InputFile` and related structures now do **not** implement `PartialEq` , `Eq` and `Hash` ([#133][pr133])
2021-12-25 02:23:54 +01:00
- How forwarded messages are represented ([#151][pr151])
2021-12-24 13:47:54 +01:00
- `RequestError::InvalidJson` now has a `raw` field with raw json for easier debugability ([#150][pr150])
2021-12-29 18:36:08 +01:00
- `ChatPermissions` is now bitflags ([#157][pr157])
2022-02-01 16:30:40 +01:00
- Type of `WebhookInfo::ip_address` from `Option<String>` to `Option<std::net::IpAddr>` ([#172][pr172])
- Type of `WebhookInfo::allowed_updates` from `Option<Vec<String>>` to `Option<Vec<AllowedUpdate>>` ([#174][pr174])
2021-09-02 17:14:54 +02:00
2021-08-31 16:45:20 +02:00
[pr115]: https://github.com/teloxide/teloxide-core/pull/115
2021-10-11 09:44:06 +02:00
[pr125]: https://github.com/teloxide/teloxide-core/pull/125
2021-11-07 21:55:38 +01:00
[pr134]: https://github.com/teloxide/teloxide-core/pull/134
2021-12-24 13:47:54 +01:00
[pr150]: https://github.com/teloxide/teloxide-core/pull/150
2021-12-29 18:36:08 +01:00
[pr157]: https://github.com/teloxide/teloxide-core/pull/157
2022-01-13 15:19:02 +01:00
[pr167]: https://github.com/teloxide/teloxide-core/pull/167
2022-01-27 18:25:40 +01:00
[pr172]: https://github.com/teloxide/teloxide-core/pull/172
2022-02-01 16:30:40 +01:00
[pr174]: https://github.com/teloxide/teloxide-core/pull/174
2021-08-21 19:39:57 +02:00
2021-09-02 17:14:54 +02:00
### Fixed
2021-12-10 15:00:49 +01:00
- Deserialization of chat migrations, see issue [#427][issue427] ([#143][pr143])
2022-01-25 13:15:04 +01:00
- Type of `BanChatMember::until_date` : `u64` -> `chrono::DateTime<Utc>` ([#117][pr117])
2021-09-07 16:24:13 +02:00
- Type of `Poll::correct_option_id` : `i32` -> `u8` ([#119][pr119])
- Type of `Poll::open_period` : `i32` -> `u16` ([#119][pr119])
2021-09-16 01:57:30 +02:00
- `Throttle` adaptor not honouring chat/min limits ([#121][pr121])
2022-01-25 13:15:04 +01:00
- Make `SendPoll::type_` optional ([#133][pr133])
2021-11-20 17:36:52 +01:00
- Bug with `caption_entities` , see issue [#473][issue473]
2021-12-06 23:31:49 +01:00
- Type of response for `CopyMessage` method ([#141](pr141), [#142 ](pr142 ))
2021-12-15 17:41:04 +01:00
- Bad request serialization when the `language` field of `MessageEntityKind::Pre` is `None` ([#145](pr145))
2021-12-19 16:52:03 +01:00
- Deserialization of `MediaKind::Venue` ([#147][pr147])
2021-12-25 02:48:44 +01:00
- Deserialization of `VoiceChat{Started,Ended}` messages ([#153][pr153])
2021-12-28 14:09:40 +01:00
- Serialization of `BotCommandScope::Chat{,Administrators}` ([#154][pr154])
2021-09-02 17:14:54 +02:00
2021-09-07 16:47:10 +02:00
[pr119]: https://github.com/teloxide/teloxide-core/pull/119
2021-11-06 13:36:29 +01:00
[pr133]: https://github.com/teloxide/teloxide-core/pull/133
2021-12-06 20:51:51 +01:00
[pr141]: https://github.com/teloxide/teloxide-core/pull/141
2021-12-06 23:31:49 +01:00
[pr142]: https://github.com/teloxide/teloxide-core/pull/142
2021-12-10 15:00:49 +01:00
[pr143]: https://github.com/teloxide/teloxide-core/pull/143
2021-12-15 17:41:04 +01:00
[pr145]: https://github.com/teloxide/teloxide-core/pull/145
2021-12-19 16:52:03 +01:00
[pr147]: https://github.com/teloxide/teloxide-core/pull/147
2021-12-25 02:48:44 +01:00
[pr153]: https://github.com/teloxide/teloxide-core/pull/153
2021-12-28 14:09:40 +01:00
[pr154]: https://github.com/teloxide/teloxide-core/pull/154
2021-11-20 17:36:52 +01:00
[issue473]: https://github.com/teloxide/teloxide/issues/473
2021-12-10 15:00:49 +01:00
[issue427]: https://github.com/teloxide/teloxide/issues/427
2021-09-16 01:57:30 +02:00
2021-12-29 16:37:36 +01:00
### Removed
- `get_updates_fault_tolerant` method and `SemiparsedVec` ([#156][pr156])
2021-08-31 16:59:49 +02:00
## 0.3.3 - 2021-08-03
2021-08-03 01:29:26 +02:00
### Fixed
- Compilation with `nightly` feature (use `type_alias_impl_trait` instead of `min_type_alias_impl_trait` ) ([#108][pr108])
[pr108]: https://github.com/teloxide/teloxide-core/pull/108
2021-07-27 11:58:11 +02:00
## 0.3.2 - 2021-07-27
2021-07-08 12:04:40 +02:00
### Added
2021-07-12 15:58:51 +02:00
- `ErasedRequester` bot adaptor, `ErasedRequest` struct, `{Request, RequesterExt}::erase` functions ([#105][pr105])
2021-07-10 16:41:20 +02:00
- `Trace` bot adaptor ([#104][pr104])
2021-07-08 12:04:40 +02:00
- `HasPayload` , `Request` and `Requester` implementations for `either::Either` ([#103][pr103])
[pr103]: https://github.com/teloxide/teloxide-core/pull/103
2021-07-10 16:41:20 +02:00
[pr104]: https://github.com/teloxide/teloxide-core/pull/104
2021-07-12 15:58:51 +02:00
[pr105]: https://github.com/teloxide/teloxide-core/pull/105
2021-07-08 12:04:40 +02:00
2021-07-07 19:13:02 +02:00
## 0.3.1 - 2021-07-07
2021-07-07 19:06:58 +02:00
- Minor documentation tweaks ([#102][pr102])
2021-07-08 12:04:40 +02:00
- Remove `Self: 'static` bound on `RequesterExt::throttle` ([#102][pr102])
2021-07-07 19:06:58 +02:00
[pr102]: https://github.com/teloxide/teloxide-core/pull/102
2021-07-05 18:53:42 +02:00
## 0.3.0 - 2021-07-05
2021-07-04 15:28:00 +02:00
2021-03-30 11:17:49 +02:00
### Added
2021-06-18 12:28:47 +02:00
- `impl Clone` for {`CacheMe`, `DefaultParseMode` , `Throttle` } ([#76][pr76])
2021-03-30 11:31:44 +02:00
- `DefaultParseMode::parse_mode` which allows to get currently used default parse mode ([#77][pr77])
2021-07-03 21:34:31 +02:00
- `Thrrotle::{limits,set_limits}` functions ([#77][pr77])
- `Throttle::{with_settings,spawn_with_settings}` and `throttle::Settings` ([#96][pr96])
2021-04-27 11:03:43 +02:00
- Getters for fields nested in `Chat` ([#80][pr80])
2021-04-28 10:24:14 +02:00
- API errors: `ApiError::NotEnoughRightsToManagePins` , `ApiError::BotKickedFromSupergroup` ([#84][pr84])
2021-05-04 15:56:27 +02:00
- Telegram bot API 5.2 support ([#86][pr86])
2021-07-04 14:46:12 +02:00
- Telegram bot API 5.3 support ([#99][pr99])
2021-05-12 10:51:03 +02:00
- `net::default_reqwest_settings` function ([#90][pr90])
2021-03-30 11:17:49 +02:00
[pr75]: https://github.com/teloxide/teloxide-core/pull/75
2021-03-30 11:31:44 +02:00
[pr77]: https://github.com/teloxide/teloxide-core/pull/77
2021-06-18 12:28:47 +02:00
[pr76]: https://github.com/teloxide/teloxide-core/pull/76
2021-04-27 11:03:43 +02:00
[pr80]: https://github.com/teloxide/teloxide-core/pull/80
2021-04-28 10:24:14 +02:00
[pr84]: https://github.com/teloxide/teloxide-core/pull/84
2021-05-04 15:56:27 +02:00
[pr86]: https://github.com/teloxide/teloxide-core/pull/86
2021-05-12 10:51:03 +02:00
[pr90]: https://github.com/teloxide/teloxide-core/pull/90
2021-07-03 21:34:31 +02:00
[pr96]: https://github.com/teloxide/teloxide-core/pull/96
2021-07-04 14:46:12 +02:00
[pr99]: https://github.com/teloxide/teloxide-core/pull/99
2021-03-30 11:17:49 +02:00
2021-03-28 23:44:42 +02:00
### Changed
2021-04-27 11:03:43 +02:00
- `Message::url` now returns links to messages in private groups too ([#80][pr80])
2021-03-28 23:44:42 +02:00
- Refactor `ChatMember` methods ([#74][pr74])
2021-06-30 19:30:13 +02:00
- impl `Deref<Target = ChatMemberKind>` to make `ChatMemberKind` 's methods callable directly on `ChatMember`
2021-03-28 23:44:42 +02:00
- Add `ChatMemberKind::is_{creator,administrator,member,restricted,left,kicked}` which check `kind` along with `is_privileged` and `is_in_chat` which combine some of the above.
2021-05-04 15:56:27 +02:00
- Refactor privilege getters
- Rename `ChatAction::{RecordAudio => RecordVoice, UploadAudio => UploadVoice}` ([#86][pr86])
2021-07-03 22:35:13 +02:00
- Use `url::Url` for urls, use `chrono::DateTime<Utc>` for dates ([#97][pr97])
2021-03-28 23:44:42 +02:00
[pr74]: https://github.com/teloxide/teloxide-core/pull/74
2021-07-03 22:35:13 +02:00
[pr97]: https://github.com/teloxide/teloxide-core/pull/97
2021-03-28 23:44:42 +02:00
2021-03-26 23:14:10 +01:00
### Fixed
2021-06-19 11:21:50 +02:00
- telegram_response: fix issue `retry_after` and `migrate_to_chat_id` handling ([#94][pr94])
2021-04-27 11:17:14 +02:00
- Type of `PublicChatSupergroup::slow_mode_delay` field: `Option<i32>` => `Option<u32>` ([#80][pr80])
2021-04-27 11:03:43 +02:00
- Add missing `Chat::message_auto_delete_time` field ([#80][pr80])
2021-04-22 16:29:27 +02:00
- Output types of `LeaveChat` `PinChatMessage` , `SetChatDescription` , `SetChatPhoto` `SetChatTitle` , `UnpinAllChatMessages` and `UnpinChatMessage` : `String` => `True` ([#79][pr79])
2021-03-29 12:47:34 +02:00
- `SendChatAction` output type `Message` => `True` ([#75][pr75])
2021-03-28 13:02:10 +02:00
- `GetChatAdministrators` output type `ChatMember` => `Vec<ChatMember>` ([#73][pr73])
2021-03-26 23:14:10 +01:00
- `reqwest` dependency bringing `native-tls` in even when `rustls` was selected ([#71][pr71])
2021-03-29 09:20:03 +02:00
- Type of `{Restricted,Kicked}::until_date` fields: `i32` => `i64` ([#74][pr74])
2021-07-04 16:35:36 +02:00
- Type of `PhotoSize::{width,height}` fields: `i32` => `u32` ([#100][pr100])
2021-03-26 23:14:10 +01:00
[pr71]: https://github.com/teloxide/teloxide-core/pull/71
2021-03-28 13:02:10 +02:00
[pr73]: https://github.com/teloxide/teloxide-core/pull/73
2021-03-29 12:47:34 +02:00
[pr75]: https://github.com/teloxide/teloxide-core/pull/75
2021-04-22 16:29:27 +02:00
[pr79]: https://github.com/teloxide/teloxide-core/pull/79
2021-06-19 11:21:50 +02:00
[pr94]: https://github.com/teloxide/teloxide-core/pull/94
2021-07-04 16:35:36 +02:00
[pr100]: https://github.com/teloxide/teloxide-core/pull/100
2021-03-26 23:14:10 +01:00
2021-08-31 17:36:20 +02:00
## 0.2.2 - 2020-03-22
2021-03-22 08:48:56 +01:00
### Fixed
- Typo: `ReplyMarkup::{keyboad => keyboard}` ([#69][pr69])
- Note: method with the old name was deprecated and hidden from docs
2021-03-22 09:05:00 +01:00
[pr69]: https://github.com/teloxide/teloxide-core/pull/69
2021-08-31 17:36:20 +02:00
## 0.2.1 - 2020-03-19
2021-03-19 10:27:32 +01:00
Fix: types fields privacy (make fields of some types public)
The typos were found with `grep`:
```text
; grep -r -P "^ \w{2,}: .+, *$" ./src/types/*
./src/types/dice.rs: emoji: DiceEmoji,
./src/types/dice.rs: value: i32,
./src/types/keyboard_button.rs: contact: Option<True>,
./src/types/keyboard_button.rs: location: Option<True>,
./src/types/keyboard_button.rs: poll: Option<KeyboardButtonPollType>,
./src/types/message.rs: message_auto_delete_timer_changed: MessageAutoDeleteTimerChanged,
./src/types/passport_element_error.rs: message: String,
./src/types/passport_element_error.rs: kind: PassportElementErrorKind,
./src/types/sticker_set.rs: thumb: Option<PhotoSize>,
```
`src/types/keyboard_button.rs` can be ignored since in just contains private
helper structure.
Fields made public:
- `Dice::{emoji, value}`
- `MessageMessageAutoDeleteTimerChanged::message_auto_delete_timer_changed`
- `PassportElementError::{message, kind}`
- `StickerSet::thumb`
2021-03-19 10:20:26 +01:00
### Fixed
- Types fields privacy (make fields of some types public) ([#68][pr68])
- `Dice::{emoji, value}`
- `MessageMessageAutoDeleteTimerChanged::message_auto_delete_timer_changed`
- `PassportElementError::{message, kind}`
- `StickerSet::thumb`
[pr68]: https://github.com/teloxide/teloxide-core/pull/68
2021-08-31 17:36:20 +02:00
## 0.2.0 - 2020-03-16
2021-03-16 13:36:46 +01:00
2021-03-14 20:51:01 +01:00
### Changed
2021-03-16 13:11:30 +01:00
- Refactor `ReplyMarkup` ([#pr65][pr65]) (**BC**)
- Rename `ReplyMarkup::{InlineKeyboardMarkup => InlineKeyboard, ReplyKeyboardMarkup => Keyboard, ReplyKeyboardRemove => KeyboardRemove}`
- Add `inline_kb` , `keyboad` , `kb_remove` and `force_reply` `ReplyMarkup` consructors
- Rename `ReplyKeyboardMarkup` => `KeyboardMarkup`
- Rename `ReplyKeyboardRemove` => `KeyboardRemove`
- Remove useless generic param from `ReplyKeyboardMarkup::new` and `InlineKeyboardMarkup::new`
- Change parameters order in `ReplyKeyboardMarkup::append_to_row` and `InlineKeyboardMarkup::append_to_row`
2021-03-15 21:43:42 +01:00
- Support telegram bot API version 5.1 (see it's [changelog ](https://core.telegram.org/bots/api#march-9-2021 )) ([#pr63][pr63]) (**BC**)
2021-03-14 20:51:01 +01:00
- Support telegram bot API version 5.0 (see it's [changelog ](https://core.telegram.org/bots/api#november-4-2020 )) ([#pr62][pr62]) (**BC**)
[pr62]: https://github.com/teloxide/teloxide-core/pull/62
2021-03-15 21:43:42 +01:00
[pr63]: https://github.com/teloxide/teloxide-core/pull/63
2021-03-17 20:56:33 +01:00
[pr65]: https://github.com/teloxide/teloxide-core/pull/65
2021-03-14 20:51:01 +01:00
2021-02-26 23:07:57 +01:00
### Added
- `GetUpdatesFaultTolerant` - fault toletant version of `GetUpdates` ([#58][pr58]) (**BC**)
2021-02-28 17:32:50 +01:00
- Derive `Clone` for `AutoSend` .
2021-02-26 23:07:57 +01:00
[pr58]: https://github.com/teloxide/teloxide-core/pull/58
2021-02-22 06:47:50 +01:00
### Fixed
2021-03-16 13:11:30 +01:00
- Make `MediaContact::contact` public ([#pr64][pr64])
2021-03-05 22:39:19 +01:00
- `set_webhook` signature (make `allowed_updates` optional) ([#59][pr59])
2021-02-22 09:30:13 +01:00
- Fix typos in payloads ([#57][pr57]):
- `get_updates` : `offset` `i64` -> `i32`
- `send_location` : make `live_period` optional
2021-02-22 06:47:50 +01:00
- `send_contact` signature (`phone_number` and `first_name` `f64` => `String` ) ([#56][pr56])
[pr56]: https://github.com/teloxide/teloxide-core/pull/56
2021-02-22 09:30:13 +01:00
[pr57]: https://github.com/teloxide/teloxide-core/pull/57
2021-03-05 22:39:19 +01:00
[pr59]: https://github.com/teloxide/teloxide-core/pull/59
2021-03-16 13:11:30 +01:00
[pr64]: https://github.com/teloxide/teloxide-core/pull/64
2021-02-17 14:04:04 +01:00
2021-03-17 20:56:33 +01:00
### Removed
- `Message::text_owned` ([#pr62][pr62]) (**BC**)
2021-02-27 13:52:11 +01:00
### Changed
- `NonStrictVec` -> `SemiparsedVec` .
2021-08-31 17:36:20 +02:00
## 0.1.1 - 2020-02-17
2021-02-17 14:04:04 +01:00
### Fixed
- Remove `dbg!` call from internals ([#53][pr53])
[pr53]: https://github.com/teloxide/teloxide-core/pull/53
2021-08-31 17:36:20 +02:00
## 0.1.0 - 2020-02-17
2021-02-17 14:04:04 +01:00
2020-08-12 18:39:40 +02:00
### Added
2021-02-16 15:10:02 +01:00
- `#[non_exhaustive]` on `InputFile` since we may want to add new ways to send files in the future ([#49][pr49])
2021-02-16 14:55:27 +01:00
- `MultipartPayload` for future proofing ([#49][pr49])
2021-02-14 22:28:52 +01:00
- Support for `rustls` ([#24][pr24])
- `#[must_use]` attr to payloads implemented by macro ([#22][pr22])
- forward-to-deref `Requester` impls ([#39][pr39])
- `Bot::{set_,}api_url` methods ([#26][pr26], [#35][pr35])
2020-10-21 18:45:03 +02:00
- `payloads` module
- `RequesterExt` trait which is implemented for all `Requester` s and allows easily wrapping them in adaptors
2021-02-14 22:28:52 +01:00
- `adaptors` module ([#14][pr14])
- `throttle` , `cache_me` , `auto_send` and `full` crate features
2021-02-16 16:29:29 +01:00
- Request throttling - opt-in feature represented by `Throttle` bot adapter which allows automatically checking telegram limits ([#10][pr10], [#46][pr46], [#50][pr50])
2020-10-21 18:45:03 +02:00
- Request auto sending - ability to `.await` requests without need to call `.send()` (opt-in feature represented by `AutoSend` bot adapter, [#8][pr8])
- `get_me` caching (opt-in feature represented by `CacheMe` bot adapter)
2021-02-14 22:28:52 +01:00
- `Requester` trait which represents bot-clients ([#7][pr7], [#12][pr12], [#27][pr27])
2020-10-21 18:45:03 +02:00
- `{Json,Multipart}Request` the `Bot` requests types ([#6][pr6])
- `Output<T>` alias to `<<T as HasPayload>::Payload as Payload>::Output`
- `Payload` , `HasPayload` and `Request` traits which represent different parts of the request ([#5][pr5])
2021-02-14 22:28:52 +01:00
- `GetUpdatesNonStrict` 'telegram' method, that behaves just like `GetUpdates` but doesn't [#2][pr2]
fail if one of updates fails to be deserialized
2020-08-12 18:39:40 +02:00
- Move core code here from the [`teloxide`] main repo, for older changes see it's [`CHANGELOG.md`].
- Following modules were moved:
- `bot`
- `requests` [except `requests::respond` function]
- `types`
- `errors`
- `net` [private]
- `client_from_env` was moved from `teloxide::utils` to crate root of `teloxide-core`
- To simplify `GetUpdates` request it was changed to simply return `Vec<Update>`
(instead of `Vec<Result<Update, (Value, serde_json::Error)>>` )
2020-08-16 10:06:50 +02:00
2021-02-14 22:28:52 +01:00
[pr2]: https://github.com/teloxide/teloxide-core/pull/2
2020-10-21 18:45:03 +02:00
[pr5]: https://github.com/teloxide/teloxide-core/pull/5
[pr6]: https://github.com/teloxide/teloxide-core/pull/6
[pr7]: https://github.com/teloxide/teloxide-core/pull/7
[pr8]: https://github.com/teloxide/teloxide-core/pull/8
[pr10]: https://github.com/teloxide/teloxide-core/pull/10
2021-02-17 14:04:04 +01:00
[pr12]: https://github.com/teloxide/teloxide-core/pull/12
[pr14]: https://github.com/teloxide/teloxide-core/pull/14
2021-02-14 22:28:52 +01:00
[pr22]: https://github.com/teloxide/teloxide-core/pull/22
[pr24]: https://github.com/teloxide/teloxide-core/pull/24
[pr26]: https://github.com/teloxide/teloxide-core/pull/26
[pr27]: https://github.com/teloxide/teloxide-core/pull/27
[pr35]: https://github.com/teloxide/teloxide-core/pull/35
[pr39]: https://github.com/teloxide/teloxide-core/pull/39
[pr46]: https://github.com/teloxide/teloxide-core/pull/46
2021-02-16 14:55:27 +01:00
[pr49]: https://github.com/teloxide/teloxide-core/pull/49
2021-02-16 16:29:29 +01:00
[pr50]: https://github.com/teloxide/teloxide-core/pull/50
2020-10-21 18:45:03 +02:00
2020-08-16 10:06:50 +02:00
### Changed
2021-02-14 22:28:52 +01:00
- Cleanup setters in `types::*` (remove most of them) ([#44][pr44])
- Refactor `KeyboardButtonPollType` ([#44][pr44])
- Replace `Into<Vec<_>>` by `IntoIterator<Item = _>` in function arguments ([#44][pr44])
- Update dependencies (including tokio 1.0) ([#37][pr37])
- Refactor file downloading ([#30][pr30]):
- Make `net` module public
- Move `Bot::download_file{,_stream}` methods to a new `Download` trait
- Impl `Download` for all bot adaptors & the `Bot` itself
- Change return type of `download_file_stream` — return `Stream<Result<Bytes>>` `,
instead of `Future<Result<Stream<Result<Bytes>>>>` `
- Add `api_url` param to standalone versions of `download_file{,_stream}`
- Make `net::{TELEGRAM_API_URL, download_file{,_stream}}` pub
- Refactor `Bot` ([#29][pr29]):
- Move default parse mode to an adaptor (`DefaultParseMode`)
- Remove bot builder (it's not usefull anymore, since parse_mode is moved away)
- Undeprecate bot constructors (`Bot::{new, with_client, from_env_with_client}`)
- Rename `StickerType` => `InputSticker` , `{CreateNewStickerSet,AddStickerToSet}::sticker_type}` => `sticker` ([#23][pr23], [#43][pr43])
2020-11-04 14:00:40 +01:00
- Use `_: IntoIterator<Item = T>` bound instead of `_: Into<Vec<T>>` in telegram methods which accept collections ([#21][pr21])
- Make `MessageDice::dice` pub ([#20][pr20])
2020-10-21 18:45:03 +02:00
- Merge `ApiErrorKind` and `KnownApiErrorKind` into `ApiError` ([#13][pr13])
- Refactor ChatMember ([#9][pr9])
- Replace a bunch of `Option<_>` fields with `ChatMemberKind`
- Remove setters (users are not expected to create this struct)
- Add getters
2021-02-14 22:28:52 +01:00
- Changed internal mechanism of sending multipart requests ([#1][pr1])
2020-08-16 10:06:50 +02:00
- Added `RequestError::Io(io::Error)` to wrap I/O error those can happen while sending files to telegram
2021-02-14 22:28:52 +01:00
- Make all fields of all methods `pub` ([#3][pr3])
2020-08-16 10:06:50 +02:00
2021-02-14 22:28:52 +01:00
[pr1]: https://github.com/teloxide/teloxide-core/pull/1
[pr3]: https://github.com/teloxide/teloxide-core/pull/3
2020-10-21 18:45:03 +02:00
[pr9]: https://github.com/teloxide/teloxide-core/pull/9
[pr13]: https://github.com/teloxide/teloxide-core/pull/13
2020-11-04 14:00:40 +01:00
[pr20]: https://github.com/teloxide/teloxide-core/pull/20
[pr21]: https://github.com/teloxide/teloxide-core/pull/21
[pr23]: https://github.com/teloxide/teloxide-core/pull/23
2021-02-14 22:28:52 +01:00
[pr29]: https://github.com/teloxide/teloxide-core/pull/29
[pr30]: https://github.com/teloxide/teloxide-core/pull/30
[pr37]: https://github.com/teloxide/teloxide-core/pull/37
[pr43]: https://github.com/teloxide/teloxide-core/pull/43
2020-10-21 18:45:03 +02:00
2020-08-16 10:06:50 +02:00
### Removed
2020-10-21 18:45:03 +02:00
- `unstable-stream` feature (now `Bot::download_file_stream` is accesable by default)
- old `Request` trait
2020-08-16 10:06:50 +02:00
- `RequestWithFile` , now multipart requests use `Request`
2021-02-14 22:28:52 +01:00
- Remove all `#[non_exhaustive]` annotations ([#4][pr4])
- Remove `MessageEntity::text_from` because it's wrong ([#44][pr44])
[pr4]: https://github.com/teloxide/teloxide-core/pull/4
[pr44]: https://github.com/teloxide/teloxide-core/pull/44
2020-08-12 18:39:40 +02:00
[`teloxide`]: https://github.com/teloxide/teloxide
2021-03-17 20:56:33 +01:00
[`CHANGELOG.md`]: https://github.com/teloxide/teloxide/blob/master/CHANGELOG.md