The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Exclamation symbols (:exclamation:) note something of importance e.g. breaking changes. Click them to learn more.
0.51.0 - 2017-12-05
❗ After updating to this version, you will need to execute the SQL migration script on your database.
- Implemented new changes for Bot API 3.5 (InputMedia, MediaGroup).
0.50.0 - 2017-10-17
- Finish implementing payments, adding all missing type checks and docblock methods.
- Implemented new changes for Bot API 3.4 (Live Locations).
- ❗
Message::getCommand()returnsnullif not a command, instead offalse.
- SQL update script for version 0.44.1-0.45.0.
- Issues found by Scrutinizer (Type hints and return values).
- Check inline keyboard button parameter value correctly.
0.49.0 - 2017-09-17
- Donation section and links in readme.
- Missing payment methods in
Requestclass. - Some helper methods for replying to commands and answering queries.
- Updated and optimised all DB classes, removing a lot of bulky code.
- Ensure named SQL statement parameters are unique.
- Channel selection when using
DB::selectChats().
0.48.0 - 2017-08-26
❗ After updating to this version, you will need to execute the SQL migration script on your database.
- New entities, methods, update types and inline keyboard button for Payments (Bot API 3.0).
- Add new methods, fields and objects for working with stickers (Bot API 3.2).
- New fields for Chat, User and Message objects (Bot API 3.3).
is_botadded touserDB table.
- ❗ Corrected
ServerResponse->printErrormethod to print by default and return by setting$returnparameter. - Ensure command names are handled as lower case.
- Correctly save
reply_to_messageto DB.
0.47.1 - 2017-08-06
- Linked version numbers in changelog for easy verification of code changes.
- Private-only commands work with edited messages now too.
0.47.0 - 2017-08-06 [YANKED]
- Updated readme to latest state of 0.47.0.
Telegram::enableAdmin()now handles duplicate additions properly.Request::getMe()failure doesn't break cron execution any more.
- ❗ New command parameter
$private_onlyto enforce usage in private chats only (set by default for Admin commands).
0.46.0 - 2017-07-15
- Callbacks can be added to be executed when callback queries are called.
- New Bot API 3.1 changes (#550).
/cleanupcommand for admins, that cleans out old entries from the DB.
- ❗ Big refactor of the
Requestclass, removing most custom method implementations.
0.45.0 - 2017-06-25
❗ After updating to this version, you will need to execute the [SQL migration script][0.45.0-sql-migration] on your database.
- Documents can be sent by providing its contents via Psr7 stream (as opposed to passing a file path).
- Allow setting a custom Guzzle HTTP Client for requests (#511).
- First implementations towards Bots API 3.0.
- ❗
Request::sendToActiveChatsandDB::selectChatsnow accept parameters as an options array and allow selecting of channels.
- Deprecated
Message::getNewChatMember()(UseMessage::getNewChatMembers()instead to get an array of all newly added members).
- ❗ Upload and download directories are not set any more by default and must be set manually.
- ❗ Completely removed
Telegram::getBotName()andEntity::getBotName()(Use::getBotUsername()instead). - ❗ Completely removed deprecated
Telegram::unsetWebhook()(UseTelegram::deleteWebhook()instead).
- ID fields are now typed with
PARAM_STRPDO data type, to allow huge numbers. - Message type data type for PDO corrected.
- Indexed table columns now have a fitting length.
- Take
custom_inputinto account when using getUpdates method (mainly for testing). - Request limiter has been fixed to correctly support channels.
0.44.1 - 2017-04-25
- Erroneous exception when using webhook without a database connection.
0.44.0 - 2017-04-25
- Proper standalone
scrutinizer.ymlconfig. - Human-readable
last_error_date_stringfor debug command.
- Bot username no longer required for object instantiation.
- All examples have been moved to a dedicated repository.
- ❗ Format of Update content type using
$update->getUpdateContent().
0.43.0 - 2017-04-17
- Travis CI webhook for Support Bot.
- Interval for request limiter.
isRunCommands()method to check if called viarunCommands().- Ensure coding standards for
testsfolder withphpcs.
- Move default commands to
examplesfolder. - All links point to new organisation repo.
- Add PHP 7.1 support and update dependencies.
- Prevent handling the same Telegram updates multiple times, throw exception instead.
0.42.0 - 2017-04-09
- Added
getBotId()to directly access bot ID.
- Rename
bot_nametobot_usernameeverywhere.
- Deprecated
Telegram::getBotName()(UseTelegram::getBotUsername()instead).
- Tests are more reliable now, using a properly formatted API key.
0.41.0 - 2017-03-25
$show_in_helpattribute for commands, to set if it should be displayed in the/helpcommand.- Link to new Telegram group:
https://telegram.me/PHP_Telegram_Bot_Support - Introduce change log.
0.40.1 - 2017-03-07
- Infinite message loop, caused by incorrect Entity variable.
0.40.0 - 2017-02-20
- Request limiter for incoming requests.
- Faulty formatting in logger.
0.39.0 - 2017-01-20
- Newest bot API changes.
- Allow direct access to PDO object (
DB::getPdo()). - Simple
/debugcommand that displays various system information to help debugging. - Crontab-friendly script.
- Botan integration improvements.
- Make logger more flexible.
- Various bugs and recommendations by Scrutinizer.
0.38.1 - 2016-12-25
- Usage of self-signed certificates in conjunction with the new
allowed_updateswebhook parameter.
0.38.0 - 2016-12-25
- New
switch_inline_query_current_chatoption for inline keyboard. - Support for
channel_postandedited_channel_post. - New alias
deleteWebhook(forunsetWebhook).
- Update WebhookInfo entity and
setWebhookto allow passing of new arguments.
0.37.1 - 2016-12-24
- Keyboards that are built without using the KeyboardButton objects.
- Commands that are called via
/command@botnameby correctly passing them the bot name.
0.37.0 - 2016-12-13
- Logging improvements to Botan integration.
- Move
hideKeyboardtoremoveKeyboard.