Releases: line/line-bot-sdk-php
v11.1.1 Fix type of CreateAudienceGroupResponse#expireTimestamp
What's Changed
Type for CreateAudienceGroupResponse#expireTimestamp
is not float or double, but integer actually. This release fixes type as bugfix.
- Fix type of expireTimestamp by @github-actions in #704
(original PR is line/line-openapi#106)
line-openapi updates
Full Changelog: v11.1.0...v11.1.1
This release is prepared by @Yang-33
v11.1.0 Add includesOwnedAudienceGroups Parameter to Audience API
What's Changed
- Add includesOwnedAudienceGroups Parameter to Audience API by @github-actions in #702
Enhancement to Shared Audiences API
Support a new query parameter includesOwnedAudienceGroups
to the client.getSharedAudienceGroups
(GET /v2/bot/audienceGroup/shared/list
). This enhancement allows users to specify whether to include audience groups owned by the user in the response. It is especially useful for users who manage both shared and owned audience groups.
Specifications
- Added the
includesOwnedAudienceGroups
parameter to the API endpoint.- Type: Boolean
- Default: false
- Description:
true
: Include audience groups owned by the LINE Official Account Manager.false
: Respond only with audience groups shared by Business Manager.
Remove deprecated API
- Removed the
/v2/bot/audienceGroup/{audienceGroupId}/activate
and/v2/bot/audienceGroup/authorityLevel
endpoints.
Documents and Reference
For more information, please refer to the links provided above.
(original PR is line/line-openapi#105)
line-openapi updates
- Add type as required property in source object of webhook by @github-actions in #697
- chore(deps): update line-openapi digest to 954b163 by @renovate in #691
- chore(deps): update line-openapi digest to 0e669d0 by @renovate in #693
- chore(deps): update line-openapi digest to 31fa3c7 by @renovate in #696
Dependency updates
- chore(deps): update suzuki-shunsuke/pinact-action action to v0.2.2 by @renovate in #689
- chore(deps): update suzuki-shunsuke/pinact-action action to v1 by @renovate in #690
- chore(deps): update dependency squizlabs/php_codesniffer to v3.12.1 by @renovate in #694
- chore(deps): update dependency squizlabs/php_codesniffer to v3.12.2 by @renovate in #699
- chore(deps): update actions/setup-node action to v4.4.0 by @renovate in #700
- chore(deps): update shivammathur/setup-php action to v2.33.0 by @renovate in #701
Other Changes
- Skip creating PR when only git submodule is updated by @Yang-33 in #688
- Remove deprecated link by @eucyt in #692
- Require more jobs in merge queue by @Yang-33 in #695
- Do not create another auto PR when a job runs for PR or merge queue by @Yang-33 in #698
Full Changelog: v11.0.1...v11.1.0
This release is prepared by @eucyt
v11.0.1 Update parsing Webhook Events
What's Changed
Note this patch is not related to sdk users. This release is just for our test. See https://github.com/line/line-bot-sdk-php/releases/tag/v11.0.0 about new features.
Other Changes
- Grant minimum permissions to github acitons workflow jobs by @Yang-33 in #682
- Delete examples/KitchenSink/.github/workflows/workflow.yml by @Yang-33 in #681
- Migrate renovate config by @Yang-33 in #685
- Pin commit hash of github actions to avoid supply chain attacks by @Yang-33 in #680
Full Changelog: v11.0.0...v11.0.1
This release is prepared by @Yang-33
v11.0.0 Update parsing Webhook Events
What's Changed
How to migrate v10 to v11
This release contains breaking changes related to how Webhook events are parsed. Specifically:
- Joined/Left Members
- Old behavior:
The members in joined.members or left.members were associative arrays. - New behavior:
They are now properly deserialized into instances of UserSource. - Migration:
Please treat it as a UserSource rather than as an associative array. In addition, this allows you to utilize methods of UserSource for each member. For example, we can still use$member["userId"]
but$member->getUserId();
is recommended.
- Old behavior:
$parsedEvents = EventRequestParser::parseEventRequest($req->getBody(), $secret, $req->getHeader(HTTPHeader::LINE_SIGNATURE)[0]);
foreach ($parsedEvents->getEvents() as $event) {
if ($event instanceof MemberJoinedEvent) {
$joinedMembers = $event->getJoined()->getMembers();
$joinedMemberIds = array_map(function ($member) {
- return $member["userId"];
+ return $member->getUserId();
}, $joinedMembers);
}
}
- Default value of
message.emojis
- Old behavior:
message.emojis
were defaulted to empty arrays. - New behavior:
message.emojis
were defaulted to NULL as other array fields. This means if the webhook does not contain emojis, the emojis field in the parsed event will now be NULL instead of an empty array. - Migration:
Instead of checking whether it's an empty array to determine if the field is present, please check if it's NULL first.
- Old behavior:
Please update your application code accordingly to handle these changes.
Other changes
- Add memberJoinedEventHandler in KitchenSink by @eucyt in #678
- Fix EchoBot DI error to receive messages by @eucyt in #676
- Fix LocationMessageHandler in example to handle non title or address by @eucyt in #679
line-openapi updates
Dependency updates
Full Changelog: v10.3.0...v11.0.0
This release is prepared by @eucyt
v10.3.0 Support PHP 8.4
Support for PHP 8.4
We are delighted to announce official support for PHP 8.4. As part of this update, we have addressed changes related to PHP's new deprecations.
Deprecated: Implicitly Nullable Parameter
Starting from PHP 8.4, the use of implicitly nullable parameters has been deprecated. Thanks to the fixes in OpenAPI Generator version 7.11.0 ( OpenAPITools/openapi-generator#20243 ) by @77web, any occurrence of this deprecated syntax has been removed from the autogenerated files.
- function foo (array $data = null)
+ function foo (array|null $data = null)
For more information on these deprecations, please refer to the PHP 8.4 Migration Guide.
Enhancements in Type Safety
Additionally, several implementations have been refactored for improved type safety. This raised the PHPStan level from 5 to 8.
Other Changes
Full Changelog: v10.2.1...v10.3.0
This release is prepared by @eucyt
v10.2.1 Fix response handling in audience group APIs
What's Changed
- Modify http status code as response for manage-audience by @github-actions in #665
This change modifies the HTTP status code for the following audience group-related endpoints, as they were incorrect.
Some http status codes are wrong. They should be 202, not 200.
POST /v2/bot/audienceGroup/upload
(createAudienceGroup
)PUT /v2/bot/audienceGroup/upload
(addAudienceToAudienceGroup
)POST /v2/bot/audienceGroup/upload/byFile
(createAudienceForUploadingUserIds
)POST /v2/bot/audienceGroup/click
(createClickBasedAudienceGroup
)POST /v2/bot/audienceGroup/imp
(createImpBasedAudienceGroup
)
NOTE: This change is not a modification of the messaging API itself. It is simply a correction of an error in sdk.
(original PR is line/line-openapi#87)
Full Changelog: v10.2.0...v10.2.1
This release is prepared by @Yang-33
v10.2.0 Support new Membership API and Webhook
What's Changed
- Support new Membership API and Webhook by @github-actions in #663
Support new Membership API and Webhook
We have implemented and supported new API and Webhook about Membership.
API to get a list of users who joined the membership
You can obtain a list of user IDs for users who have joined the membership of your LINE Official Account by calling client.getJoinedMembershipUsers(...)
.
Documents: https://developers.line.biz/en/reference/messaging-api/#get-membership-user-ids
Membership Webhook
We have introduced new Webhook events MembershipEvent
that indicates that a user has joined, left or renewed a membership of your LINE Official Account.
Documents: https://developers.line.biz/en/reference/messaging-api/#membership-event
For more details
For more details, check out the announcement: https://developers.line.biz/en/news/2025/02/13/membership-api/
(original PR is line/line-openapi#86)
Other Changes
Full Changelog: v10.1.0...v10.2.0
This release is prepared by @eucyt
v10.1.0 Support API of Shared Audiences in Business Manager
What's Changed
Add /v2/bot/audienceGroup/shared path by @github-actions in #662
Shared Audiences in Business Manager API Support
We have added and supported new API endpoints related to Shared Audiences in Business Manager.
API to Get Shared Audience Information
You can obtain detailed information about a specific audience shared in Business Manager by calling the endpoint:
- GET
https://api.line.me/v2/bot/audienceGroup/shared/{audienceGroupId}
API to Get List of Shared Audiences
You can acquire a list of audiences shared in Business Manager using the following endpoint:
- GET
https://api.line.me/v2/bot/audienceGroup/shared/list
By using the "Get Shared Audience Information" endpoint, you can retrieve more detailed data about each audience.
Documents and Reference
- News Announcement: Shared Audience Feature Release
- API Reference:
- Documentation on Audience Sharing: Using Audience Sharing
For more information, please refer to the links provided above.
(original PR is line/line-openapi#85)
line-openapi updates
Dependency updates
Full Changelog: v10.0.3...v10.1.0
This release is prepared by @eucyt
v10.0.3 Remove obsolete GET /v2/bot/message/delivery/ad_phone
What's Changed
- Retire GET /v2/bot/message/delivery/ad_phone by @github-actions in #656
GET /v2/bot/message/delivery/ad_phone
was sunset.
This change removes it as it's no longer necessary to include it in line-openapi.
(original PR is line/line-openapi#82)
line-openapi updates
- Retire GET /v2/bot/message/delivery/ad_phone by @github-actions in #656
Other Changes
- Fix renovate config for gitsubmodule by @Yang-33 in #654
- Fix double-quote handling in release creation workflow by @Yang-33 in #657
Full Changelog: v10.0.2...v10.0.3
v10.0.2 Remove obsolete feature: Audience Match
What's Changed
- Remove obsolete feature: Audience Match by @github-actions in #650
The Audience Match feature (/bot/ad/multicast/phone) was sunset in October 2023. This change removes it as it's no longer necessary to include it in line-openapi.
(original PR is line/line-openapi#80)
Dependency updates
Other Changes
- Update and rename diff-check.yml to generate-code.yml by @eucyt in #648
- Limit the timing of git submodule updates by renovate to avoid disrupting work during working hours by @Yang-33 in #649
Full Changelog: v10.0.1...v10.0.2
This release is prepared by @Yang-33