- Added tokio 1.0 and tgbot 0.12 support.
- Added tgbot 0.11.0 support.
- Added tgbot 0.10.0 support.
- Added tgbot 0.9 support.
- Added tgbot 0.8 support.
- Fixed docs.rs build.
- All
carapax-*
crates was merged into onecarapax
crate. Now you need to enable a corresponding feature in order to get access to features provided by those crates. - Added
Dispatcher::set_error_handler
method. IntroducedLoggingErrorHandler
as default error handler. NowErrorPolicy
is available in public API. So that you can easily override error handler and/or change update propagation behavior. seance
dependency was upgraded to 0.3 version.- Added dialogues support.
HandlerError
now is a type alias forBox<dyn Error>
.CommandDispatcher
was removed, use#[handler(command = "/name")]
instead.#[handler]
proc macro emits a clear error message when function is not async.- Value of
command
argument in#[handler]
proc macro now always requires a leading slash. - Use
TryFrom/TryInto
when converting anUpdate
toSessionId
. We must be sure thatSessionId
always containschat_id
anduser_id
in order to prevent bugs. Command
type was moved totypes
module.- Added tgbot 0.7.0 support.
- Added tgbot 0.6 support.
- Added
CommandDispatcher::new()
method in order to support context without Default impl. - Fixed handler visibility when using proc macro.
- Added async/await support.
- Removed App struct, use Dispatcher instead.
- Function handlers can be implemented using proc macro only.
- Now context is global and generic.
- Added Error variant to HandlerResult.
- Removed CommandHandler trait in favor of Command struct.
- Removed TextRule-based handlers.
App::new()
now takes no arguments.- Added
api
argument toApp::run()
method. App::run()
now returns a future.- Changed API for handlers.
- Removed middlewares support, use handlers instead.
- Removed
Dispatcher
andDispatcherFuture
from public API. - Access middleware moved to carapax-access crate.
- Rate limit middleware moved to carapax-ratelimit crate.
- First release.