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.54.0 - 2018-07-21
❗ After updating to this version, you will need to execute the SQL migration script on your database.
ChatAction
class to simplify chat action selection.- Telegram Games platform!
- Ability to set custom MySQL port.
- ❗ Rename and ensure no redefinition of constants:
BASE_PATH
->TB_BASE_PATH
,BASE_COMMANDS_PATH
->TB_BASE_COMMANDS_PATH
.
0.53.0 - 2018-04-01
❗ After updating to this version, you will need to execute the SQL migration script on your database.
- Implemented new changes for Bot API 3.6 (streamable InputMediaVideo, connected website).
Telegram::getLastUpdateId()
method, returns ID of the last update that was processed.Telegram::useGetUpdatesWithoutDatabase()
method, enablesTelegram::handleGetUpdates()
to run without a database.
- Updated Travis to use Trusty containers (for HHVM) and add PHP 7.2 to the tests.
- Add debug log entry instead of throwing an exception for duplicate updates.
Telegram::handleGetUpdates()
can now work without a database connection (not enabled by default).- Improved
/sendtochannel
and/sendtoall
commands, using new message helpers.
- PHPCS fixes for updated CodeSniffer dependency.
- Send messages correctly via
/sendtochannel
.
0.52.0 - 2018-01-07
- Entity relations and wrong types for payments.
- Allow empty string for
switch_inline_query
andswitch_inline_query_current_chat
(InlineKeyboardButton). - Fix empty date entry for User and Chat entities, using the current timestamp instead.
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()
returnsnull
if 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
Request
class. - 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_bot
added touser
DB table.
- ❗ Corrected
ServerResponse->printError
method to print by default and return by setting$return
parameter. - Ensure command names are handled as lower case.
- Correctly save
reply_to_message
to 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_only
to 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).
/cleanup
command for admins, that cleans out old entries from the DB.
- ❗ Big refactor of the
Request
class, 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::sendToActiveChats
andDB::selectChats
now 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_STR
PDO data type, to allow huge numbers. - Message type data type for PDO corrected.
- Indexed table columns now have a fitting length.
- Take
custom_input
into 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.yml
config. - Human-readable
last_error_date_string
for 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
tests
folder withphpcs
.
- Move default commands to
examples
folder. - 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_name
tobot_username
everywhere.
- 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_help
attribute for commands, to set if it should be displayed in the/help
command.- 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
/debug
command 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_updates
webhook parameter.
0.38.0 - 2016-12-25
- New
switch_inline_query_current_chat
option for inline keyboard. - Support for
channel_post
andedited_channel_post
. - New alias
deleteWebhook
(forunsetWebhook
).
- Update WebhookInfo entity and
setWebhook
to 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@botname
by correctly passing them the bot name.
0.37.0 - 2016-12-13
- Logging improvements to Botan integration.
- Move
hideKeyboard
toremoveKeyboard
.