Skip to content

Commit 747dad8

Browse files
authored
Merge branch 'v2' into support_crac_on_powertools_metrics
2 parents e10a624 + 4444b4b commit 747dad8

File tree

83 files changed

+4416
-581
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+4416
-581
lines changed

.github/workflows/auto-merge.yml

Lines changed: 0 additions & 66 deletions
This file was deleted.

.github/workflows/check-e2e.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ jobs:
5454
- 11
5555
- 17
5656
- 21
57+
5758
steps:
5859
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
5960
- name: Setup java
@@ -68,4 +69,6 @@ jobs:
6869
role-to-assume: ${{ secrets.AWS_IAM_ROLE }}
6970
aws-region: us-east-1
7071
- name: Run e2e test with Maven
71-
run: mvn -DskipTests install --file pom.xml && mvn -Pe2e -B verify --file powertools-e2e-tests/pom.xml
72+
env:
73+
JAVA_VERSION: ${{ matrix.java }}
74+
run: mvn -DskipTests install --file pom.xml && mvn -Pe2e -B verify --file powertools-e2e-tests/pom.xml

.github/workflows/docs-v2-snapshot.yml

Lines changed: 0 additions & 40 deletions
This file was deleted.

.github/workflows/publish-v2-snapshot.yml

Lines changed: 0 additions & 29 deletions
This file was deleted.

.github/workflows/release.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -202,14 +202,14 @@ jobs:
202202
cache: maven
203203
gpg-private-key: ${{ secrets.GPG_SIGNING_KEY }}
204204
gpg-passphrase: GPG_PASSPHRASE
205-
server-id: ossrh
205+
server-id: central
206206
server-username: MAVEN_USERNAME
207207
server-password: MAVEN_PASSWORD
208208
- name: Publish package
209209
run: mvn -Prelease clean deploy -DskipTests
210210
env:
211-
MAVEN_USERNAME: ${{ secrets.OSSRH_JIRA_USERNAME }}
212-
MAVEN_PASSWORD: ${{ secrets.OSSRH_JIRA_PASSWORD }}
211+
MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
212+
MAVEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
213213
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
214214

215215
create_pr:
@@ -290,4 +290,4 @@ jobs:
290290
run: |
291291
aws s3 sync \
292292
dist \
293-
s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-java/
293+
s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-java/

docs/processes/maintainers.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,23 @@ This is document explains who the maintainers are, their responsibilities, and h
1414

1515
## Current Maintainers
1616

17-
| Maintainer | GitHub ID | Affiliation |
18-
|-----------------------|---------------------------------------------------------------------------------| ----------- |
19-
| Jerome Van Der Linden | [jeromevdl](https://github.com/jeromevdl){target="_blank"} | Amazon |
20-
| Michele Ricciardi | [mriccia](https://github.com/mriccia){target="_blank"} | Amazon |
21-
| Scott Gerring | [scottgerring](https://github.com/scottgerring){target="_blank"} | Amazon |
17+
| Maintainer | GitHub ID | Affiliation |
18+
| --------------- | -------------------------------------------------------------------- | ----------- |
19+
| Philipp Page | [phipag](https://github.com/phipag){target="\_blank" rel="nofollow"} | Amazon |
20+
| Simon Thulbourn | [sthulb](https://github.com/sthulb){target="\_blank" rel="nofollow"} | Amazon |
2221

2322
## Emeritus
2423

2524
Previous active maintainers who contributed to this project.
2625

27-
| Maintainer | GitHub ID | Affiliation |
28-
|----------------|-----------------------------------------------------------------------------------------|---------------|
29-
| Mark Sailes | [msailes](https://github.com/msailes){target="_blank"} | Amazon |
30-
| Pankaj Agrawal | [pankajagrawal16](https://github.com/pankajagrawal16){target="_blank"} | Former Amazon |
31-
| Steve Houel | [stevehouel](https://github.com/stevehouel) | Amazon |
26+
| Maintainer | GitHub ID | Affiliation |
27+
| --------------------- | -------------------------------------------------------------------------------------- | ------------- |
28+
| Jerome Van Der Linden | [jeromevdl](https://github.com/jeromevdl){target="\_blank" rel="nofollow"} | Amazon |
29+
| Michele Ricciardi | [mriccia](https://github.com/mriccia){target="\_blank" rel="nofollow"} | Amazon |
30+
| Scott Gerring | [scottgerring](https://github.com/scottgerring){target="\_blank" rel="nofollow"} | DataDog |
31+
| Mark Sailes | [msailes](https://github.com/msailes){target="\_blank" rel="nofollow"} | Former Amazon |
32+
| Pankaj Agrawal | [pankajagrawal16](https://github.com/pankajagrawal16){target="\_blank" rel="nofollow"} | Former Amazon |
33+
| Steve Houel | [stevehouel](https://github.com/stevehouel){target="\_blank" rel="nofollow"} | Amazon |
3234

3335
## Labels
3436

docs/processes/versioning.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
title: Versioning and maintenance policy
3+
description: Versioning and maintenance policy for Powertools for AWS Lambda (Python)
4+
---
5+
6+
### Overview
7+
8+
This document outlines the maintenance policy for Powertools for AWS Lambda and their underlying dependencies. AWS regularly provides Powertools for AWS Lambda with updates that may contain new features, enhancements, bug fixes, security patches, or documentation updates. Updates may also address changes with dependencies, language runtimes, and operating systems. Powertools for AWS Lambda is published to package managers (e.g. PyPi, NPM, Maven, NuGet), and are available as source code on GitHub.
9+
10+
We recommend users to stay up-to-date with Powertools for AWS Lambda releases to keep up with the latest features, security updates, and underlying dependencies. Continued use of an unsupported Powertools for AWS Lambda version is not recommended and is done at the user’s discretion.
11+
12+
!!! info "For brevity, we will interchangeably refer to Powertools for AWS Lambda as "SDK" _(Software Development Toolkit)_."
13+
14+
### Versioning
15+
16+
Powertools for AWS Lambda release versions are in the form of X.Y.Z where X represents the major version. Increasing the major version of an SDK indicates that this SDK underwent significant and substantial changes to support new idioms and patterns in the language. Major versions are introduced when public interfaces _(e.g. classes, methods, types, etc.)_, behaviors, or semantics have changed. Applications need to be updated in order for them to work with the newest SDK version. It is important to update major versions carefully and in accordance with the upgrade guidelines provided by AWS.
17+
18+
### SDK major version lifecycle
19+
20+
The lifecycle for major Powertools for AWS Lambda versions consists of 5 phases, which are outlined below.
21+
22+
- **Developer Preview** (Phase 0) - During this phase, SDKs are not supported, should not be used in production environments, and are meant for early access and feedback purposes only. It is possible for future releases to introduce breaking changes. Once AWS identifies a release to be a stable product, it may mark it as a Release Candidate. Release Candidates are ready for GA release unless significant bugs emerge, and will receive full AWS support.
23+
- **General Availability (GA)** (Phase 1) - During this phase, SDKs are fully supported. AWS will provide regular SDK releases that include support for new features, enhancements, as well as bug and security fixes. AWS will support the GA version of an SDK for _at least 24 months_, unless otherwise specified.
24+
- **Maintenance Announcement** (Phase 2) - AWS will make a public announcement at least 6 months before an SDK enters maintenance mode. During this period, the SDK will continue to be fully supported. Typically, maintenance mode is announced at the same time as the next major version is transitioned to GA.
25+
- **Maintenance** (Phase 3) - During the maintenance mode, AWS limits SDK releases to address critical bug fixes and security issues only. An SDK will not receive API updates for new or existing services, or be updated to support new regions. Maintenance mode has a _default duration of 6 months_, unless otherwise specified.
26+
- **End-of-Support** (Phase 4) - When an SDK reaches end-of support, it will no longer receive updates or releases. Previously published releases will continue to be available via public package managers and the code will remain on GitHub. The GitHub repository may be archived. Use of an SDK which has reached end-of-support is done at the user’s discretion. We recommend users upgrade to the new major version.
27+
28+
!!! note "Please note that the timelines shown below are illustrative and not binding"
29+
30+
![Maintenance policy timelines](https://docs.aws.amazon.com/images/sdkref/latest/guide/images/maint-policy.png)
31+
32+
### Dependency lifecycle
33+
34+
Most AWS SDKs have underlying dependencies, such as language runtimes, AWS Lambda runtime, or third party libraries and frameworks. These dependencies are typically tied to the language community or the vendor who owns that particular component. Each community or vendor publishes their own end-of-support schedule for their product.
35+
36+
The following terms are used to classify underlying third party dependencies:
37+
38+
- [**AWS Lambda Runtime**](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html): Examples include `java17`, `nodejs20.x`, `python3.13`, etc.
39+
- **Language Runtime**: Examples include Java 17, Python 3.13, NodeJS 20, .NET Core, etc.
40+
- **Third party Library**: Examples include Jackson Project, AWS X-Ray SDK, AWS Encryption SDK, etc.
41+
42+
Powertools for AWS Lambda follows the [AWS Lambda Runtime deprecation policy cycle](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy), when it comes to Language Runtime. This means we will stop supporting their respective deprecated Language Runtime _(e.g., `java8`)_ without increasing the major SDK version.
43+
44+
!!! note "AWS reserves the right to stop support for an underlying dependency without increasing the major SDK version"
45+
46+
### Communication methods
47+
48+
Maintenance announcements are communicated in several ways:
49+
50+
- A pinned GitHub Request For Comments (RFC) issue indicating the campaign for the next major version. The RFC will outline the path to end-of-support, specify campaign timelines, and upgrade guidance.
51+
- AWS SDK documentation, such as API reference documentation, user guides, SDK product marketing pages, and GitHub readme(s) are updated to indicate the campaign timeline and provide guidance on upgrading affected applications.
52+
- Deprecation warnings are added to the SDKs, outlining the path to end-of-support and linking to the upgrade guide.
53+
54+
To see the list of available major versions of Powertools for AWS Lambda and where they are in their maintenance lifecycle, see the [version support matrix](#version-support-matrix).
55+
56+
### Version support matrix
57+
58+
| SDK | Major version | Current Phase | General Availability Date | Notes |
59+
| -------------------------------- | ------------- | -------------------- | ------------------------- | ------------------------------------------------------------------------------------------------- |
60+
| Powertools for AWS Lambda (Java) | 1.x | General Availability | 11/04/2020 | See [Release notes](https://github.com/aws-powertools/powertools-lambda-java/releases/tag/v1.0.0) |

0 commit comments

Comments
 (0)