Releases: danog/MadelineProto
Fix issue with ORM
This release fixes an issue with the ORM.
Re-add PHP 8.2 support
This release re-adds PHP 8.2 support, removing a deprecated polyfill for the DbArray class.
Switch to danog/AsyncOrm!
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](https://docs.madelinepro...
Switch to danog/AsyncOrm!
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](https://docs.madelinepro...
Bump inner version to regen layer
Revert "Bump" This reverts commit 0295968f963d6fd7f0f058a56ef15f71d95422bc.
Fix memory leak
Fixes:
- Fix memory leak found by @vtsykun
- Fix usage of RemoteUrl in some conditions
- Improve getUpdates
Features:
- Update to layer 174
Misc:
- Remove
defaultTempAuthKeyExpiresIn
setting, it should not be exposed to users
More bugfixes
Fixes:
- Warn Termux users to move the session folder to $HOME
- Fix ogg conversion with the phar version
Fix getDownloadLink
Fixes:
- Fix filename of files downloaded using getDownloadLink
8.0.0-beta190
Features:
- Add
delay
option to broadcast methods - Update to layer 173, added
peer
param to messages.getSavedReactionTags.
Fixes:
- Multiple bugfixes
Layer 172, multiple new features and fixes
Features:
- Add
Poll
support in simple event handler messages - Add topic and poll-related filters and simple filters
- Add
FilterCommandCaseInsensitive
,FilterForwardedFrom
,FilterRegexMatchAll
,FilterTextContains
,FilterTextContainsCaseInsensitive
,FilterTextEnds
,FilterTextEndsCaseInsensitive
,FilterTextStarts
,FilterTextStartsCaseInsensitive
filters - Improve update coverage of existing filters, mainly
FilterPeer
now supports many more update types FilterRegex
now supports specifying flags and an offset- Add
editReplyMarkup
method to Messages - Add support for recording the incoming audio stream of a VoIP call with
setOutput
- Update to layer 172
- Support more deep links and t.me links for getInfo, and all other methods
Fixes:
- Multiple bugfixes and improvements
- Fix getReply for secret chat messages and some other secret chat edge cases
- Fix QR code login in certain conditions
- Fix an edge case for webhost environments
New Methods:
- users.getIsPremiumRequiredToContact
- messages.getSavedDialogs
- messages.getSavedHistory
- messages.deleteSavedHistory
- messages.getPinnedSavedDialogs
- messages.toggleSavedDialogPin
- messages.reorderPinnedSavedDialogs
- messages.getSavedReactionTags
- messages.updateSavedReactionTag
- messages.getDefaultTagReactions
- messages.getOutboxReadDate
Changed Methods:
- Added saved_peer_id param to messages.search
- Added saved_reaction param to messages.search
- Added saved_peer_id param to messages.getSearchCounters
- Added saved_peer_id param to messages.getSearchResultsCalendar
- Added saved_peer_id param to messages.getSearchResultsPositions
New Constructors:
- updateSavedDialogPinned
- updatePinnedSavedDialogs
- updateSavedReactionTags
- savedDialog
- messages.savedDialogs
- messages.savedDialogsSlice
- messages.savedDialogsNotModified
- savedReactionTag
- messages.savedReactionTagsNotModified
- messages.savedReactionTags
- outboxReadDate
Changed Constructors:
- Added contact_require_premium param to user
- Added by_me param to userStatusRecently
- Added by_me param to userStatusLastWeek
- Added by_me param to userStatusLastMonth
- Added saved_peer_id param to message
- Added video param to messageMediaDocument
- Added round param to messageMediaDocument
- Added voice param to messageMediaDocument
- Added contact_require_premium param to userFull
- Added read_dates_private param to userFull
- Added saved_out param to messageFwdHeader
- Added saved_from_id param to messageFwdHeader
- Added saved_from_name param to messageFwdHeader
- Added saved_date param to messageFwdHeader
- Added hide_read_marks param to globalPrivacySettings
- Added new_noncontact_peers_require_premium param to globalPrivacySettings
- Added reactions_as_tags param to messageReactions