Skip to content

Releases: line/line-bot-sdk-python

v3.23.0 Add wrapper methods for JWT assertion and client secret authentication

07 Apr 11:20
Immutable release. Only release title and notes can be modified.
561c75a

Choose a tag to compare

What's Changed

Added feature

This release adds wrapper methods for ChannelAccessToken#issue_stateless_channel_token, making stateless channel access token issuance simpler for both JWT assertion and client secret authentication. With this release, you don't have to pass empty strings ('') for unused parameters.

- token = api.issue_stateless_channel_token(
-     grant_type='client_credentials',
-     client_assertion_type='urn:ietf:params:oauth:client-assertion-type:jwt-bearer',
-     client_assertion=client_assertion,
-     client_id='',
-     client_secret='',
- )
+ token = api.issue_stateless_channel_token_by_jwt_assertion(
+     client_assertion=client_assertion,
+ )
- token = api.issue_stateless_channel_token(
-     grant_type='client_credentials',
-     client_assertion_type='',
-     client_assertion='',
-     client_id=client_id,
-     client_secret=client_secret,
- )
+ token = api.issue_stateless_channel_token_by_client_secret(
+     client_id=client_id,
+     client_secret=client_secret,
+ )
  • Implement wrapper method of issue_stateless_channel_token by @habara-k in #981

line-openapi updates

  • chore(deps): update line-openapi digest to c601805 by @renovate[bot] in #972
  • chore(deps): update line-openapi digest to 982bad2 by @renovate[bot] in #979

Dependency updates

  • chore(deps): update actions/setup-node action to v6.2.0 by @renovate[bot] in #921
  • chore(deps): update dependency wheel to v0.46.2 [security] by @renovate[bot] in #922
  • chore(deps): update actions/checkout action to v6.0.2 by @renovate[bot] in #923
  • fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.25 by @renovate[bot] in #924
  • chore(deps): update dependency black to v26 by @renovate[bot] in #925
  • fix(deps): update dependency org.openapitools:openapi-generator to v7.19.0 by @renovate[bot] in #926
  • chore(deps): update actions/setup-python action to v6.2.0 by @renovate[bot] in #927
  • chore(deps): update dependency wheel to v0.46.3 by @renovate[bot] in #928
  • fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.26 by @renovate[bot] in #929
  • chore(deps): update dependency org.apache.maven.plugins:maven-compiler-plugin to v3.15.0 by @renovate[bot] in #930
  • fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.27 by @renovate[bot] in #931
  • chore(deps): update suzuki-shunsuke/pinact-action action to v1.4.0 by @renovate[bot] in #932
  • fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.28 by @renovate[bot] in #934
  • fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.29 by @renovate[bot] in #935
  • chore(deps): update actions/stale action to v10.2.0 by @renovate[bot] in #936
  • chore(deps): update dependency tox to v4.35.0 by @renovate[bot] in #937
  • fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.30 by @renovate[bot] in #938
  • fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.31 by @renovate[bot] in #939
  • chore(deps): update dependency tox to v4.36.0 by @renovate[bot] in #940
  • fix(deps): update dependency org.openapitools:openapi-generator to v7.20.0 by @renovate[bot] in #942
  • fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.32 by @renovate[bot] in #941
  • chore(deps): update dependency tox to v4.36.1 by @renovate[bot] in #943
  • chore(deps): update dependency tox to v4.37.0 by @renovate[bot] in #944
  • chore(deps): update dependency tox to v4.38.0 by @renovate[bot] in #945
  • chore(deps): update dependency org.apache.maven.plugins:maven-surefire-plugin to v3.5.5 by @renovate[bot] in #946
  • chore(deps): update dependency tox to v4.39.0 by @renovate[bot] in #947
  • chore(deps): update dependency tox to v4.40.0 by @renovate[bot] in #948
  • chore(deps): update dependency responses to v0.26.0 by @renovate[bot] in #949
  • chore(deps): update dependency tox to v4.41.0 by @renovate[bot] in #950
  • chore(deps): update dependency tox to v4.42.0 by @renovate[bot] in #951
  • chore(deps): update dependency tox to v4.44.0 by @renovate[bot] in #952
  • chore(deps): update dependency tox to v4.45.0 by @renovate[bot] in #954
  • chore(deps): update actions/download-artifact action to v8 by @renovate[bot] in #955
  • chore(deps): update dependency tox to v4.46.0 by @renovate[bot] in #956
  • chore(deps): update dependency tox to v4.46.1 by @renovate[bot] in #957
  • chore(deps): update dependency tox to v4.46.3 by @renovate[bot] in #958
  • chore(deps): update actions/upload-artifact action to v7 by @renovate[bot] in #959
  • chore(deps): update dependency tox to v4.47.0 by @renovate[bot] in #960
  • chore(deps): update actions/setup-node action to v6.3.0 by @renovate[bot] in #961
  • chore(deps): update dependency tox to v4.47.1 by @renovate[bot] in #962
  • chore(deps): update dependency tox to v4.47.2 by @renovate[bot] in #963
  • chore(deps): update dependency tox to v4.47.3 by @renovate[bot] in #964
  • chore(deps): update dependency black to v26.3.1 [security] by @renovate[bot] in #965
  • chore(deps): update dependency tox to v4.48.0 by @renovate[bot] in #966
  • chore(deps): update dependency tox to v4.48.1 by @renovate[bot] in #967
  • chore(deps): update dependency tox to v4.49.0 by @renovate[bot] in #968
  • chore(deps): update dependency tox to v4.49.1 by @renovate[bot] in #969
  • chore(deps): update actions/download-artifact action to v8.0.1 by @renovate[bot] in #970
  • chore(deps): update dependency pypandoc to v1.17 by @renovate[bot] in #971
  • chore(deps): update dependency tox to v4.50.0 by @renovate[bot] in #973
  • chore(deps): update dependency tox to v4.50.2 by @renovate[bot] in #975
  • chore(deps): update dependency tox to v4.50.3 by @renovate[bot] in #976
  • chore(deps): update dependency pytest-cov to v7.1.0 by @renovate[bot] in #978
  • fix(deps): update dependency org.openapitools:openapi-generator to v7.21.0 by @renovate[bot] in #980
  • chore(deps): update dependency tox to v4.51.0 by @renovate[bot] in #983
  • chore(deps): update dependency tox to v4.52.0 by @renovate[bot] in #984

Other Changes

  • chore(deps): update dependency tox to v4.50.1 by @renovate[bot] in #974
  • chore(deps): update suzuki-shunsuke/pinact-action action to v2 by @renovate[bot] in #977
  • Add test for verifyChannelTokenByJWT and getsAllValidChannelAccessTokenKeyIds by @Yang-33 in #982

Full Changelog: v3.22.0...v3.23.0


This release is prepared by @habara-k

v3.22.0 Support new AudienceGroupType TRACKINGTAG_WEBTRAFFIC to Audience Group API

21 Jan 11:23
Immutable release. Only release title and notes can be modified.
7fa04a4

Choose a tag to compare

What's Changed

  • Add new AudienceGroupType TRACKINGTAG_WEBTRAFFIC to Audience Group API by @github-actions[bot] in #920

Add TRACKINGTAG_WEBTRAFFIC to AudienceGroupType Enum

We have supported for the new audience‑group type TRACKINGTAG_WEBTRAFFIC (Tracking Tag Webtraffic audience) to the OpenAPI schema.

Changes Made

  • Updated AudienceGroupType enumeration

    • New value: TRACKINGTAG_WEBTRAFFIC
    • Description: Audience groups generated from Tracking Tag Webtraffic.

Purpose

This update enables correct identification and handling of audience groups built from Tracking Tag Webtraffric.

Documents and Reference

For more information, please refer to the links provided above.

(original PR is line/line-openapi#118)

line-openapi updates

  • chore(deps): update line-openapi digest to f406009 by @renovate[bot] in #898

Dependency updates

  • chore(deps): update dependency pypandoc to v1.16 by @renovate[bot] in #881
  • chore(deps): update dependency black to v25.11.0 by @renovate[bot] in #883
  • fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.21 by @renovate[bot] in #885
  • chore(deps): update dependency org.apache.maven.plugins:maven-jar-plugin to v3.5.0 by @renovate[bot] in #886
  • chore(deps): update actions/checkout action to v5.0.1 by @renovate[bot] in #887
  • chore(deps): update dependency pypandoc to v1.16.2 by @renovate[bot] in #888
  • chore(deps): update actions/checkout action to v6 by @renovate[bot] in #889
  • chore(deps): update actions/setup-python action to v6.1.0 by @renovate[bot] in #890
  • chore(deps): update dependency tox to v4.32.0 by @renovate[bot] in #875
  • chore(deps): update dependency pytest-asyncio to v1.3.0 by @renovate[bot] in #884
  • chore(deps): update dependency pytest to v9 by @renovate[bot] in #882
  • chore(deps): update actions/checkout action to v6.0.1 by @renovate[bot] in #892
  • chore(deps): update actions/stale action to v10.1.1 by @renovate[bot] in #893
  • chore(deps): update actions/setup-node action to v6.1.0 by @renovate[bot] in #894
  • chore(deps): update dependency pytest to v9.0.2 by @renovate[bot] in #895
  • chore(deps): update dependency black to v25.12.0 by @renovate[bot] in #896
  • chore(deps): update dependency sphinx to v9 by @renovate[bot] in #891
  • fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.22 by @renovate[bot] in #900
  • chore(deps): update github artifact actions (major) by @renovate[bot] in #901
  • fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.23 by @renovate[bot] in #903
  • fix(deps): update dependency org.openapitools:openapi-generator to v7.18.0 by @renovate[bot] in #904
  • chore(deps): update suzuki-shunsuke/pinact-action action to v1.0.1 by @renovate[bot] in #906
  • chore(deps): update suzuki-shunsuke/pinact-action action to v1.1.0 by @renovate[bot] in #907
  • chore(deps): update suzuki-shunsuke/pinact-action action to v1.2.0 by @renovate[bot] in #909
  • chore(deps): update suzuki-shunsuke/pinact-action action to v1.3.0 by @renovate[bot] in #910
  • chore(deps): update suzuki-shunsuke/pinact-action action to v1.3.1 by @renovate[bot] in #911
  • chore(deps): update dependency tox to v4.33.0 by @renovate[bot] in #913
  • chore(deps): update dependency sphinx-rtd-theme to v3.1.0rc2 by @renovate[bot] in #915
  • chore(deps): update dependency tox to v4.34.0 by @renovate[bot] in #916
  • chore(deps): update dependency tox to v4.34.1 by @renovate[bot] in #917
  • chore(deps): update dependency sphinx-rtd-theme to v3.1.0 by @renovate[bot] in #919

Other Changes

  • Unsupport Python 3.9 by @mokuzon in #879
  • fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.24 by @renovate[bot] in #914

Full Changelog: v3.21.0...v3.22.0


This release is prepared by @eucyt

v3.21.0 Support mark as read by token API

07 Nov 08:14
Immutable release. Only release title and notes can be modified.
b2113e7

Choose a tag to compare

What's Changed

  • Support mark as read by token API by @github-actions[bot] in #880

Support for "Mark as Read" by Token API

We have released a new Mark as Read API that allows developers to mark a user’s messages as read.
Previously, this functionality was available only to partners, but it is now publicly available.

When your server receives a user message via Webhook, the MessageContent will include a new field: markAsReadToken.
By calling the Mark as Read API with this token, all messages in the chat room up to and including that message will be marked as read.

Note: This feature assumes that your service uses the chat feature through Official Account Manager.
If chat is not enabled, messages from users are automatically marked as read, making this API unnecessary.

For more details, please refer to the release note: https://developers.line.biz/en/news/2025/11/05/mark-as-read/

(original PR is line/line-openapi#115)

Example

line_bot_api.mark_messages_as_read_by_token(
    MarkMessagesAsReadByTokenRequest(
        mark_as_read_token=event.message.mark_as_read_token
    )
)

line-openapi updates

Dependency updates

  • fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.20 by @renovate[bot] in #874
  • chore(deps): update github artifact actions (major) by @renovate[bot] in #876
  • fix(deps): update dependency org.openapitools:openapi-generator to v7.17.0 by @renovate[bot] in #878

Full Changelog: v3.20.0...v3.21.0


This release is prepared by @habara-k

v3.20.0 Add forbidPartialDelivery option to the Narrowcast Limit Object

24 Oct 02:08
Immutable release. Only release title and notes can be modified.
1d31be8

Choose a tag to compare

What's Changed

  • Add forbidPartialDelivery option to the Narrowcast Limit Object by @github-actions[bot] in #873

Add forbidPartialDelivery option to the Narrowcast Limit Object

We add a new forbidPartialDelivery option to the Narrowcast Limit Object.

When set to true, this option prevents messages from being delivered to only a subset of the target audience.
If partial delivery occurs, the narrowcast request will succeed but fail asynchronously.
You can verify whether the message delivery was canceled by checking the narrowcast message progress.

This property can only be set to true when upToRemainingQuota is also true.

For more details, see the https://developers.line.biz/en/news/2025/10/21/narrowcast-message-update/.

Example:
line_bot_api.narrowcast(
    NarrowcastRequest(
        messages=[TextMessage(text=event.message.text)],
        limit=Limit(
            max=1000,
            upToRemainingQuota=True,
            forbidPartialDelivery=True
        )
    )
)

(original PR is line/line-openapi#114)

Use cases

Previously, when upToRemainingQuota was set to true, messages could be partially delivered if the remaining message quota was smaller than the target audience size.
With the new forbidPartialDelivery option, you can now ensure that such partial deliveries do not occur.

  • Ensuring that a campaign message is sent only if it can reach the full target audience, avoiding incomplete distributions.

line-openapi updates

Full Changelog: v3.19.2...v3.20.0


This release is prepared by @habara-k

v3.19.2 Support Python 3.14

21 Oct 09:27
Immutable release. Only release title and notes can be modified.
fbf5f1b

Choose a tag to compare

What's Changed

Dependency updates

  • chore(deps): update dependency pytest-asyncio to v1.2.0 by @renovate[bot] in #858
  • chore(deps): update dependency org.apache.maven.plugins:maven-compiler-plugin to v3.14.1 by @renovate[bot] in #859
  • chore(deps): update dependency black to v25.9.0 by @renovate[bot] in #860
  • chore(deps): update dependency org.apache.maven.plugins:maven-enforcer-plugin to v3.6.2 by @renovate[bot] in #862
  • fix(deps): update dependency org.openapitools:openapi-generator to v7.16.0 by @renovate[bot] in #861
  • fix(deps): update dependency ch.qos.logback:logback-classic to v1.5.19 by @renovate[bot] in #863
  • chore(deps): update dependency tox to v4.30.3 by @renovate[bot] in #865
  • chore(deps): update actions/stale action to v10.1.0 by @renovate[bot] in #867
  • chore(deps): update actions/setup-node action to v6 by @renovate[bot] in #869
  • chore(deps): update dependency tox to v4.31.0 by @renovate[bot] in #868

Other Changes

  • Use github actor id instead of bot name to avoid renaming issues by @Yang-33 in #857
  • Prevent command injection when creating release notes by @Yang-33 in #866
  • Support Python 3.14 by @mokuzon in #871

Full Changelog: v3.19.1...v3.19.2


This release is prepared by @mokuzon

v3.19.1 Add an Option to Skip Webhook Signature Verification

18 Sep 05:48
Immutable release. Only release title and notes can be modified.
073747e

Choose a tag to compare

What's Changed

✨ Add an Option to Skip Webhook Signature Verification

With this release, developers can now optionally skip signature verification when parsing incoming webhook requests. This new capability is especially useful in scenarios where the channel secret may change, potentially causing temporary signature mismatches.

Example Usage:

parser = linebot.v3.WebhookParser(
    'YOUR_CHANNEL_SECRET',
    skip_signature_verification=lambda: True # Skip verification
)

When signature verification is skipped, the signatureValidator will not be invoked. This allows webhook requests to be processed even if their signatures do not match the current channel secret used for verification.

This feature is particularly helpful in high-availability systems where avoiding downtime or message loss during configuration updates is critical.

Dependency updates

  • chore(deps): update dependency tox to v4.29.0 by @renovate[bot] in #843
  • chore(deps): update dependency pytest to v8.4.2 by @renovate[bot] in #844
  • chore(deps): update actions/github-script action to v7.1.0 by @renovate[bot] in #845
  • chore(deps): update dependency tox to v4.30.2 by @renovate[bot] in #847
  • chore(deps): update dependency pytest-cov to v6.3.0 by @renovate[bot] in #846
  • chore(deps): update pypa/gh-action-pypi-publish action to v1.13.0 by @renovate[bot] in #849
  • chore(deps): update dependency twine to v6.2.0 by @renovate[bot] in #848
  • chore(deps): update actions/github-script action to v8 by @renovate[bot] in #850
  • chore(deps): update actions/setup-node action to v5 by @renovate[bot] in #851
  • chore(deps): update actions/setup-python action to v6 by @renovate[bot] in #852
  • chore(deps): update actions/stale action to v10 by @renovate[bot] in #853
  • chore(deps): update dependency pytest-cov to v7 by @renovate[bot] in #855
  • chore(deps): update dependency org.apache.maven.plugins:maven-surefire-plugin to v3.5.4 by @renovate[bot] in #856

Other Changes

  • Set minimumReleaseAge to 7 days to avoid merge renovate PR quickly by @Yang-33 in #854

Full Changelog: v3.19.0...v3.19.1

v3.19.0 Support new AudienceGroupType POP_AD_IMP to Audience Group API

26 Aug 01:47
363cb49

Choose a tag to compare

What's Changed

Support new AudienceGroupType POP_AD_IMP to Audience Group API

  • Add new AudienceGroupType POP_AD_IMP to Audience Group API by @github-actions[bot] in #842

We have supported for the new audience‑group type POP_AD_IMP (POP ad impression audience) to the OpenAPI schema.

Changes Made

  • Updated AudienceGroupType enumeration

    • New value: POP_AD_IMP
    • Description: Audience groups generated from impressions of LINE Beacon Network (POP) ads.
    • Region: Taiwan‑only at launch

Purpose

This update enables correct identification and handling of audience groups built from POP ad impressions, a feature that will be released for the Taiwan market.

Documents and Reference

For more information, please refer to the links provided above.

(original PR is line/line-openapi#113)

Dependency updates

  • fix(deps): update dependency org.openapitools:openapi-generator to v7.15.0 by @renovate[bot] in #841

Full Changelog: v3.18.1...v3.19.0


This release is prepared by @eucyt

v3.18.1 Clean up webhook code for line things

13 Aug 01:03
3b30b63

Choose a tag to compare

What's Changed

LINE Things has been closed. In this release we removed the following LINE Things related webhook code

  • ThingsEvent
  • ThingsContent
  • LinkThingsContent
  • UnlinkThingsContent
  • ScenarioResultThingsContent
  • ScenarioResult
  • ActionResult

As noted in the README, deletions tied to a business shutdown are shipped as a patch version, not a major version. If your code still references any of these code, they will never be emitted again, so you should remove them.

  • Bye line things by @github-actions[bot] in #840
  • Bye line things by @Yang-33 in #839

Dependency updates

  • chore(deps): update dependency responses to v0.25.8 by @renovate[bot] in #836
  • chore(deps): update actions/checkout action to v4.3.0 by @renovate[bot] in #837
  • chore(deps): update actions/checkout action to v5 by @renovate[bot] in #838

Full Changelog: v3.18.0...v3.18.1


This release is prepared by @Yang-33

v3.18.0 Add Coupon API Support to Messaging API

06 Aug 09:31
8ae6999

Choose a tag to compare

What's Changed

This release introduces Coupon API support to the Messaging API, enabling developers to create, manage, and deliver coupons directly through bot integrations. These new features mirror capabilities previously only available through the LINE Official Account Manager, offering greater flexibility in automating coupon workflows via the Messaging API.

✨ New API Endpoints

💬 Messaging API Enhancements

  • Added support for a new message type: type=coupon
    You can now send coupons directly to users using the Messaging API, similar to sending text, image, or template messages.

📌 Example Use Cases

  • Create a 1000 yen off coupon
  • Send the coupon to a user using the new coupon message type

For detailed usage examples, see the official documentation.

📢 Official Announcement:

LINE Developers News — Coupon API Released (2025/08/06)

line-openapi updates

  • chore(deps): update line-openapi digest to 3e09054 by @renovate[bot] in #808
  • chore(deps): update line-openapi digest to 69a12e8 by @renovate[bot] in #811
  • chore(deps): update line-openapi digest to 92f9320 by @renovate[bot] in #813
  • Add Coupon API Support to Messaging API by @github-actions[bot] in #832

Dependency updates

  • chore(deps): update actions/download-artifact action to v4.3.0 by @renovate[bot] in #805
  • fix(deps): update dependency org.openapitools:openapi-generator to v7.13.0 by @renovate[bot] in #806
  • chore(deps): update dependency tox to v4.26.0 by @renovate[bot] in #809
  • chore(deps): update dependency org.codehaus.mojo:build-helper-maven-plugin to v3.6.1 by @renovate[bot] in #815
  • chore(deps): update dependency pytest to v8.4.0 by @renovate[bot] in #814
  • chore(deps): update dependency pytest-cov to v6.2.0 by @renovate[bot] in #816
  • chore(deps): update dependency pytest-cov to v6.2.1 by @renovate[bot] in #817
  • chore(deps): update dependency tox to v4.27.0 by @renovate[bot] in #818
  • chore(deps): update dependency pytest to v8.4.1 by @renovate[bot] in #819
  • fix(deps): update dependency org.openapitools:openapi-generator to v7.14.0 by @renovate[bot] in #820
  • chore(deps): update dependency org.apache.maven.plugins:maven-enforcer-plugin to v3.6.0 by @renovate[bot] in #822
  • chore(deps): update dependency org.apache.maven.plugins:maven-enforcer-plugin to v3.6.1 by @renovate[bot] in #826
  • chore(deps): update dependency pytest-asyncio to v1.1.0 by @renovate[bot] in #827
  • chore(deps): update dependency tox to v4.28.0 by @renovate[bot] in #828
  • chore(deps): update dependency tox to v4.28.1 by @renovate[bot] in #829
  • chore(deps): update dependency tox to v4.28.2 by @renovate[bot] in #830
  • chore(deps): update dependency tox to v4.28.3 by @renovate[bot] in #831
  • chore(deps): update dependency tox to v4.28.4 by @renovate[bot] in #833
  • chore(deps): update actions/download-artifact action to v5 by @renovate[bot] in #834

Other Changes

  • Improve issue triage and issue template by @eucyt in #812
  • Update CONTRIBUTING.md to enhance development guidelines by @eucyt in #824

Full Changelog: v3.17.1...v3.18.0

v3.17.1 Fix type of CreateAudienceGroupResponse#expireTimestamp

24 Apr 11:31
45a4b03

Choose a tag to compare

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 #802

(original PR is line/line-openapi#106)

Dependency updates

  • chore(deps): update actions/setup-python action to v5.6.0 by @renovate in #801

Full Changelog: v3.17.0...v3.17.1


This release is prepared by @Yang-33