Skip to content

Release v2.2.0 #269

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Mar 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions .github/workflows/run-unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,8 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [3.7, 3.8, 3.9, "3.10", 3.11]
# TODO: revert macOS-13 back to macOS-latest
# macOS-latest switched architectures and does not have older versions of python available
# https://github.com/actions/setup-python/issues/856
os: [ubuntu-latest, macOS-13, windows-latest ]
python-version: [3.8, 3.9, "3.10", 3.11]
os: [ubuntu-latest, macOS-latest, windows-latest ]

steps:
- uses: actions/checkout@v2
Expand Down
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,17 @@ access.
For questions regarding Amazon Kinesis Service and the client libraries please visit the
[Amazon Kinesis Forums][kinesis-forum]

## 🚨Important: Migration to Python KCL 2.2.0 or later with MultiLangDaemon - Credential Provider Changes Required
Java KCL version 2.7.0 and later uses AWS SDK for Java 2.x instead of AWS SDK for Java 1.x. For the KCL Python 2.x versions,
v2.2.0 is the first Python release to use Java KCL 2.7.0. All MultiLangDaemon users upgrading from earlier versions must update
their credential provider configuration in the `.properties` file to use credentials provider name for AWS SDK for Java 2.x.
Failure to do this will cause your multilang KCL application to fail during startup with credential provider construction errors.
Please check the following link for the credentials provider mapping and MultiLangDaemon credentials provider configuration guide

- [AWS SDK for Java 1.x to 2.x Credentials Provider Mapping](aws.amazon.com/sdk-for-java/latest/developer-guide/migration-client-credentials.html#credentials-changes-mapping)
- [KCL Multilang Credentials Provider Configuration Guide](https://github.com/aws/amazon-kinesis-client/blob/master/docs/multilang/configuring-credential-providers.md)


## Running the Sample

Using the `amazon_kclpy` package requires the MultiLangDaemon which is provided
Expand Down Expand Up @@ -145,6 +156,12 @@ all languages.
* The [Amazon Kinesis Forum][kinesis-forum]

## Release Notes
### Release 2.2.0 (2025-03-12) - IMPORTANT: See section ``Migration to Python KCL 2.2.0`` to ensure upgrading does not break compatibility
* [#1444](https://github.com/awslabs/amazon-kinesis-client/pull/1444) Fully remove dependency on the AWS SDK for Java 1.x which will reach [end-of-support by December 31st, 2025](https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-java-v1-x-on-december-31-2025/).
* The Glue Schema Registry integration functionality no longer depends on AWS SDK for Java 1.x. Previously, it required this as a transient dependency.
* Multilangdaemon has been upgraded to use AWS SDK for Java 2.x. It no longer depends on AWS SDK for Java 1.x.
* [#270](https://github.com/awslabs/amazon-kinesis-client-python/pull/270) Upgrade logback.version from 1.3.14 to 1.5.16
* [#270](https://github.com/awslabs/amazon-kinesis-client-python/pull/270) Upgrade netty.version from 4.1.108.Final to 4.1.118.Final

### Release 2.1.6 (January 22, 2025)
* Updates KCL version to use KCL 2.6.1. Brings in [changes from the KCL 2.6.1 release][2.6.1 changelog].
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<properties>
<awssdk.version>2.25.64</awssdk.version>
<aws-java-sdk.version>1.12.668</aws-java-sdk.version>
<kcl.version>2.6.1</kcl.version>
<kcl.version>2.7.0</kcl.version>
<netty.version>4.1.118.Final</netty.version>
<netty-reactive.version>2.0.6</netty-reactive.version>
<fasterxml-jackson.version>2.13.5</fasterxml-jackson.version>
Expand Down
11 changes: 5 additions & 6 deletions samples/sample.properties
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,12 @@ streamName = kclpysample
applicationName = PythonKCLSample

# Users can change the credentials provider the KCL will use to retrieve credentials.
# The DefaultAWSCredentialsProviderChain checks several other providers, which is
# Expected key name (case-sensitive):
# AwsCredentialsProvider / AwsCredentialsProviderDynamoDB / AwsCredentialsProviderCloudWatch
# The DefaultCredentialsProvider checks several other providers, which is
# described here:
# http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html
#
# For additional configuration, including nested properties, see:
# https://github.com/awslabs/amazon-kinesis-client/blob/master/docs/multilang/configuring-credential-providers.md
AWSCredentialsProvider = DefaultAWSCredentialsProviderChain
# https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/auth/credentials/DefaultCredentialsProvider.html
AwsCredentialsProvider = DefaultCredentialsProvider

# Appended to the user agent of the KCL. Does not impact the functionality of the
# KCL in any other way.
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@

PACKAGE_NAME = 'amazon_kclpy'
JAR_DIRECTORY = os.path.join(PACKAGE_NAME, 'jars')
PACKAGE_VERSION = '2.1.6'
PACKAGE_VERSION = '2.2.0'
PYTHON_REQUIREMENTS = [
'boto3',
# argparse is part of python2.7 but must be declared for python2.6
Expand Down