teloxide/CHANGELOG.md
Hirrolot 8522759e68
Get ready for v0.4.0 (#347)
* Get ready for v0.4.0

* Export teloxide_macros as macros in lib.rs

* Use tokio v1.3 in README.md

* Return the feature 'macros' back

* Export teloxide_macros::teloxide in the prelude

* Document the 'macros' feature in README.md

* Update src/lib.rs

Co-authored-by: Waffle Lapkin <waffle.lapkin@gmail.com>

* Update src/prelude.rs

Co-authored-by: Waffle Lapkin <waffle.lapkin@gmail.com>

* Propagate features from teloxide-core

* teloxide-core = 0.2.1

* Fix CI

* Require teloxide-core/auto_send instead of teloxide/auto-send

* default-features = false (teloxide-core)

* Specify each teloxide-core feature separately

* Fix Cargo.toml

* JSON -> Json, CBOR -> Cbor

* Update Cargo.toml

Co-authored-by: Waffle Lapkin <waffle.lapkin@gmail.com>

Co-authored-by: Waffle Lapkin <waffle.lapkin@gmail.com>
2021-03-21 18:34:23 +06:00

6.4 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[unreleased]

[0.4.0] - 2021-03-19

Added

  • Integrate teloxide-core.
  • Allow arbitrary error types to be returned from (sub)transitions (issue 242).
  • The respond function, a shortcut for ResponseResult::Ok(()).
  • The sqlite-storage feature -- enables SQLite support.
  • Dispatcher::{my_chat_members_handler, chat_members_handler}

Deprecated

  • UpdateWithCx::answer_str

Fixed

  • Hide SubtransitionOutputType from the docs.

Changed

  • Export teloxide_macros::teloxide in prelude.
  • dispatching::dialogue::serializer::{JSON -> Json, CBOR -> Cbor}
  • Allow bot_name be N, where N: Into<String> + ... in commands_repl & commands_repl_with_listener.
  • 'Edit methods' (namely edit_message_live_location, stop_message_live_location, edit_message_text, edit_message_caption, edit_message_media and edit_message_reply_markup) are split into common and inline versions (e.g.: edit_message_text and edit_inline_message_text). Instead of ChatOrInlineMessage common versions accept chat_id: impl Into<ChatId> and message_id: i32 whereas inline versions accept inline_message_id: impl Into<String>. Also note that return type of inline versions is True (issue 253, pr 257)
  • ChatOrInlineMessage is renamed to TargetMessage, it's ::Chat variant is renamed to ::Common, #[non_exhaustive] annotation is removed from the enum, type of TargetMessage::Inline::inline_message_id changed i32 => String. TargetMessage now implements From<String>, get_game_high_scores and set_game_score use Into<TargetMessage> to accept Strings. (issue 253, pr 257)
  • Remove ResponseResult from prelude.

[0.3.4] - 2020-01-13

Fixed

  • Failing compilation with serde::export (issue 328).

[0.3.3] - 2020-10-30

Fixed

  • The dice field from MessageDice is public now (issue 306)

[0.3.2] - 2020-10-23

Added

[0.3.1] - 2020-08-25

Added

  • Bot::builder method (PR 269).

[0.3.0] - 2020-07-31

Added

  • Support for typed bot commands (issue 152).
  • BotBuilder, which allows setting a default ParseMode.
  • The Transition, Subtransition, SubtransitionOutputType traits.
  • A nicer approach to manage dialogues via #[derive(Transition)] + #[teloxide(subtransition)] (see examples/dialogue_bot).
  • The redis-storage feature -- enables the Redis support.
  • The cbor-serializer feature -- enables the CBOR serializer for dialogues.
  • The bincode-serializer feature -- enables the Bincode serializer for dialogues.
  • The frunk feature -- enables teloxide::utils::UpState, which allows mapping from a structure of field1, ..., fieldN to a structure of field1, ..., fieldN, fieldN+1.
  • Upgrade to v4.9 Telegram bots API.
  • teloxide::utils::client_from_env -- constructs a client from the TELOXIDE_TOKEN environmental variable.
  • Import Transition, TransitionIn, TransitionOut, UpState to teloxide::prelude.
  • Import repl, commands_repl to teloxide.
  • Let users inspect an unknown API error using ApiErrorKind::Unknown(String). All the known API errors are placed into KnownApiErrorKind.
  • Setters to all the API types.
  • teloxide::dispatching::dialogue::serializer -- various serializers for memory storages. The Serializer trait, Bincode, CBOR, JSON.
  • teloxide::{repl, repl_with_listener, commands_repl, commands_repl_with_listener, dialogues_repl, dialogues_repl_with_listener}
  • InputFile::Memory
  • Option to hide a command from description (issue 217).
  • Respect the TELOXIDE_PROXY environment variable in Bot::from_env.

Deprecated

  • Bot::{from_env_with_client, new, with_client}

Changed

  • DialogueDispatcherHandlerCx -> DialogueWithCx.
  • DispatcherHandlerCx -> UpdateWithCx.
  • Now provided description of unknown telegram error, by splitting ApiErrorKind at ApiErrorKind and ApiErrorKindKnown enums (issue 199).
  • Extract Bot from Arc (issue 216).
  • Mark all the API types as #[non_exhaustive].
  • Replace all mime_type: String with MimeWrapper.

Fixed

  • Now methods which can send file to Telegram returns tokio::io::Result<T>. Early its could panic (issue 216).
  • If a bot wasn't triggered for several days, it stops responding (issue 223).

[0.2.0] - 2020-02-25

Added

  • The functionality to parse commands only with a correct bot's name (breaks backwards compatibility) (Issue 168).
  • This CHANGELOG.md.

Fixed

  • Fix parsing a pinned message (Issue 167).
  • Replace LanguageCode with String, because the official Telegram documentation doesn't specify a concrete version of IETF language tag.
  • Problems with the poll_type field (Issue 178).
  • Make polling_default actually a long polling update listener (PR 182).

Removed

[0.1.0] - 2020-02-19

Added

  • This project.