This release extracts MadelineProto's async ORM into a separate library, danog/AsyncOrm: a PHP async ORM based on AMPHP v3 and fibers!
danog/AsyncOrm supports MySQL, Redis, Postgres, features read and write-back caching, type-specific optimizations, and much more!
Among other news, the danog/tg-file-decoder library was also updated&modernized.
Also, the downloadRenameBot.php
was updated to support downloading videos directly from YouTube (without using the disk!), here's the new repo: https://github.com/danog/downloadRenameBot/
Breaking changes:
- Raise the minimum PHP version to 8.2.17.
- Move all ORM classes to the
danog\AsyncOrm
namespace - Remove support for definition of ORM properties using
$dbProperties
, the newOrmMappedArray
attribute should be used instead, see the new docs for more info and examples! - Modernized and updated
danog/tg-file-decoder
, switching to enums and readonly properties. - Use bot API IDs in all constructors returned by MadelineProto.
- Finalize all methods in the event handler.
- Enable strict static analysis for EventHandler.
- Removed the JSON and STRING serializer types from the ORM settings, the correct serializer will now be chosen based on the type of the value specified in OrmKeyedArray.
- Postgres/Redis MadelineProto instances need a manual database migration before upgrading (first updateSettings to the Memory backend, then upgrade, then updateSettings to Postgres/Redis); MySQL and Memory instances will be migrated automatically, no need to do anything.
Features:
- Update to layer 177!
- Add support for the stable versions of amphp/mysql, amphp/postgres through https://github.com/danog/AsyncOrm!
New Methods:
- invokeWithBusinessConnection
- account.updateBusinessWorkHours
- account.updateBusinessLocation
- account.updateBusinessGreetingMessage
- account.updateBusinessAwayMessage
- account.updateConnectedBot
- account.getConnectedBots
- account.getBotBusinessConnection
- account.updateBusinessIntro
- account.toggleConnectedBotPaused
- account.disablePeerConnectedBot
- account.updateBirthday
- account.createBusinessChatLink
- account.editBusinessChatLink
- account.deleteBusinessChatLink
- account.getBusinessChatLinks
- account.resolveBusinessChatLink
- account.updatePersonalChannel
- contacts.getBirthdays
- messages.getQuickReplies
- messages.reorderQuickReplies
- messages.checkQuickReplyShortcut
- messages.editQuickReplyShortcut
- messages.deleteQuickReplyShortcut
- messages.getQuickReplyMessages
- messages.sendQuickReplyMessages
- messages.deleteQuickReplyMessages
- messages.toggleDialogFilterTags
- messages.getMyStickers
- help.getTimezonesList
- channels.reportSponsoredMessage
- channels.restrictSponsoredMessages
- stickers.replaceSticker
- stats.getBroadcastRevenueStats
- stats.getBroadcastRevenueWithdrawalUrl
- stats.getBroadcastRevenueTransactions
- smsjobs.isEligibleToJoin
- smsjobs.join
- smsjobs.leave
- smsjobs.updateSettings
- smsjobs.getStatus
- smsjobs.getSmsJob
- smsjobs.finishJob
- fragment.getCollectibleInfo
Changed Methods:
- Added quick_reply_shortcut param to messages.sendMessage
- Added quick_reply_shortcut param to messages.sendMedia
- Added quick_reply_shortcut param to messages.forwardMessages
- Added quick_reply_shortcut param to messages.sendInlineBotResult
- Added quick_reply_shortcut_id param to messages.editMessage
- Added business_connection_id param to messages.uploadMedia
- Added quick_reply_shortcut param to messages.sendMultiMedia
- Added for_personal param to channels.getAdminedPublicChannels
- Removed animated param from stickers.createStickerSet
- Removed videos param from stickers.createStickerSet
New Constructors:
- messageActionRequestedPeerSentMe
- updateSmsJob
- updateQuickReplies
- updateNewQuickReply
- updateDeleteQuickReply
- updateQuickReplyMessage
- updateDeleteQuickReplyMessages
- updateBotBusinessConnect
- updateBotNewBusinessMessage
- updateBotEditBusinessMessage
- updateBotDeleteBusinessMessage
- inputPrivacyKeyBirthday
- privacyKeyBirthday
- inputPrivacyValueAllowPremium
- privacyValueAllowPremium
- inputKeyboardButtonRequestPeer
- smsjobs.eligibleToJoin
- smsjobs.status
- smsJob
- businessWeeklyOpen
- businessWorkHours
- businessLocation
- inputBusinessRecipients
- businessRecipients
- businessAwayMessageScheduleAlways
- businessAwayMessageScheduleOutsideWorkHours
- businessAwayMessageScheduleCustom
- inputBusinessGreetingMessage
- businessGreetingMessage
- inputBusinessAwayMessage
- businessAwayMessage
- timezone
- help.timezonesListNotModified
- help.timezonesList
- quickReply
- inputQuickReplyShortcut
- inputQuickReplyShortcutId
- messages.quickReplies
- messages.quickRepliesNotModified
- connectedBot
- account.connectedBots
- messages.dialogFilters
- birthday
- botBusinessConnection
- inputBusinessIntro
- businessIntro
- messages.myStickers
- inputCollectibleUsername
- inputCollectiblePhone
- fragment.collectibleInfo
- inputBusinessBotRecipients
- businessBotRecipients
- contactBirthday
- contacts.contactBirthdays
- missingInvitee
- messages.invitedUsers
- inputBusinessChatLink
- businessChatLink
- account.businessChatLinks
- account.resolvedBusinessChatLinks
- requestedPeerUser
- requestedPeerChat
- requestedPeerChannel
- sponsoredMessageReportOption
- channels.sponsoredMessageReportResultChooseOption
- channels.sponsoredMessageReportResultAdsHidden
- channels.sponsoredMessageReportResultReported
- stats.broadcastRevenueStats
- stats.broadcastRevenueWithdrawalUrl
- broadcastRevenueTransactionProceeds
- broadcastRevenueTransactionWithdrawal
- broadcastRevenueTransactionRefund
- stats.broadcastRevenueTransactions
Changed Constructors:
- Added bot_business param to user
- Added restricted_sponsored param to channelFull
- Added can_view_revenue param to channelFull
- Added offline param to message
- Added via_business_bot_id param to message
- Added quick_reply_shortcut_id param to message
- Added business_bot_paused param to peerSettings
- Added business_bot_can_reply param to peerSettings
- Added business_bot_id param to peerSettings
- Added business_bot_manage_url param to peerSettings
- Added business_work_hours param to userFull
- Added business_location param to userFull
- Added business_greeting_message param to userFull
- Added business_away_message param to userFull
- Added business_intro param to userFull
- Added birthday param to userFull
- Added personal_channel_id param to userFull
- Added personal_channel_message param to userFull
- Added creator param to stickerSet
- Removed animated param from stickerSet
- Removed videos param from stickerSet
- Added custom_parameters param to phoneCall
- Added color param to dialogFilter
- Added color param to dialogFilterChatlist
- Added can_report param to sponsoredMessage
Deleted Constructors:
- updateGroupInvitePrivacyForbidden
Fixes:
- Fix Message::read!
- Multiple other bugfixes and performance improvements!