You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this RFC we propose a v2 release for the "Powertools for Lambda (Java)" library. The intent is to bundle together significant breaking changes that have been identified since the library's inception two years ago. This major version release will encompass updates and improvements across the board, addressing accumulated issues and enhancements. The v1 release will remain supported via bugfixes for 6 months after the initial release of v2, with new features added to v2 only.
Motivation
As Powertools for Lambda (Java) has grown and evolved, several breaking changes and improvements have been identified that cannot be incorporated within the current version without changing parts of the public interface. Some examples:
Improving flexibility by allowing users to use the logging module they want [#965] and align with best practices in the Java community.
Improving performance by switching to the CRT client [ # 1092 ]
As we preserve backwards compatibility between minor versions and cannot address these changes without a major release. A v2 release will provide a clear transition path for users with well-documented changes and a suite of new features.
Description
The v2 release is a concerted effort to enhance the "Powertools for Lambda (Java)" library by:
Working through the backlog of issues marked in GitHub as requiring breaking changes and triaging them for inclusion in the release
Conducting an end-to-end review of the entire library to identify any additional changes that need to be implemented, ensuring the library is robust, up-to-date, and aligned with current best practices.
This approach will provide a structured and comprehensive update to the library, addressing technical debts and paving the way for new features and improvements.
Drawbacks
Users migrating to the new version will in some cases need code changes
The team will have to support two versions of the library for some time
Rationale and alternatives
Status quo - we continue to accumulate breaking changes, but do nothing to action them. This option isn’t workable, as it means that we will work against Java best practices - for instance, by being unable to use the CRT client.
Breaking changes without major version change - This option is discarded as it is against our tenets and semantic versioning.
Detailed List of Changes
Features
Rewrite logging module to not force log4j usage (#965) ✅
RFC: Powertools for Lambda (Java) v2 Release
Summary
In this RFC we propose a v2 release for the "Powertools for Lambda (Java)" library. The intent is to bundle together significant breaking changes that have been identified since the library's inception two years ago. This major version release will encompass updates and improvements across the board, addressing accumulated issues and enhancements. The v1 release will remain supported via bugfixes for 6 months after the initial release of v2, with new features added to v2 only.
Motivation
As Powertools for Lambda (Java) has grown and evolved, several breaking changes and improvements have been identified that cannot be incorporated within the current version without changing parts of the public interface. Some examples:
As we preserve backwards compatibility between minor versions and cannot address these changes without a major release. A v2 release will provide a clear transition path for users with well-documented changes and a suite of new features.
Description
The v2 release is a concerted effort to enhance the "Powertools for Lambda (Java)" library by:
This approach will provide a structured and comprehensive update to the library, addressing technical debts and paving the way for new features and improvements.
Drawbacks
Rationale and alternatives
Status quo - we continue to accumulate breaking changes, but do nothing to action them. This option isn’t workable, as it means that we will work against Java best practices - for instance, by being unable to use the CRT client.
Breaking changes without major version change - This option is discarded as it is against our tenets and semantic versioning.
Detailed List of Changes
Features
log4j
usage (#965) ✅Use CRT client for SDK calls (#1092)❌Cleanup
powertools-core
(#1076) ✅powertools-parameters
in submodules (#1402) ✅powertools-idempotency
(#1467) ✅powertools-sqs
in favourpowertools-large-messages
andpowertools-batch
(#1041) ✅Replace jackson databind with jackson-jr (#1479)❌Documentation
The text was updated successfully, but these errors were encountered: