Skip to content

Commit 1897a0b

Browse files
dreamorosiam29dleandrodamascena
authored
docs: update roadmap (#3578)
Co-authored-by: Alexander Schueren <[email protected]> Co-authored-by: Leandro Damascena <[email protected]>
1 parent 292b636 commit 1897a0b

File tree

2 files changed

+59
-52
lines changed

2 files changed

+59
-52
lines changed

docs/roadmap.md

+57-50
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,22 @@ description: Public roadmap for Powertools for AWS Lambda (TypeScript)
99

1010
Our public roadmap outlines the high level direction we are working towards. We update this document when our priorities change: security and stability are our top priority.
1111

12-
!!! info "For most up-to-date information, see our [board of activities](https://github.com/orgs/aws-powertools/projects/7/views/3?query=is%3Aopen+sort%3Aupdated-desc){target="_blank"}."
12+
!!! info "For most up-to-date information, see our [board of activities](https://github.com/orgs/aws-powertools/projects/7/views/13?query=is%3Aopen+sort%3Aupdated-desc){target="_blank"}."
1313

1414
### Key areas
1515

1616
Security and operational excellence take precedence above all else. This means bug fixing, stability, customer's support, and internal compliance may delay one or more key areas below.
1717

18-
**Missing something or want us to prioritize an existing area?**
18+
!!! info "We may choose to reprioritize or defer items based on customer feedback, security, and operational impacts, and business value."
1919

20-
You can help us prioritize by [upvoting existing feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc++label%3Atype%2Ffeature-request+), leaving a comment on what use cases it could unblock for you, and by joining our discussions on Discord.
20+
#### Event Handler REST (p0)
2121

22-
[![Join our Discord](https://dcbadge.vercel.app/api/server/B8zZKbbyET)](https://discord.gg/B8zZKbbyET){target="_blank"}
22+
This is a roadmap item that we carry forward from 2024 and involves the creation of a new utility for customers to work with REST APIs built on AWS Lambda, and Amazon API Gateway REST and HTTP APIs, Application Load Balancer (ALB), Lambda Function URLs, and VPC Lattice. It's one of the most requested features in terms of feature parity from our customers.
2323

24-
#### Event Handler REST
24+
You can follow the progress of this feature in the [Event Handler REST milestone](https://github.com/aws-powertools/powertools-lambda-typescript/milestone/17){target="_blank"}. Below are some of the key macro tasks that we will be working on:
2525

26-
- [ ] [RFC to discuss initial thoughts and feasibility for TS/JS ecosystem](https://github.com/aws-powertools/powertools-lambda-typescript/issues/413)
27-
- [ ] Explore pros & cons of whether to build atop lean frameworks (e.g., Hono) or from scratch
26+
- [x] [Explore pros & cons of whether to build atop lean frameworks (e.g., Hono) or from scratch](https://github.com/aws-powertools/powertools-lambda-typescript/issues/2409){target="_blank"}
27+
- [x] [RFC to discuss initial thoughts and feasibility for TS/JS ecosystem](https://github.com/aws-powertools/powertools-lambda-typescript/discussions/3500){target="_blank"}
2828
- [ ] Support for API Gateway REST API resolver
2929
- [ ] Support for API Gateway HTTP API resolver
3030
- [ ] Support for Lambda Function URL resolver
@@ -39,11 +39,58 @@ You can help us prioritize by [upvoting existing feature requests](https://githu
3939
- [ ] Support for injecting request details _(consider not doing globals like Python legacy)_
4040
- [ ] Support for Router _(multi-file routes)_
4141

42-
#### Improve operational excellence
42+
#### Feature parity (p1)
43+
44+
To close the gap between Powertools for AWS Lambda (Python) and Powertools for AWS Lambda (TypeScript), we will focus our efforts on adding targeted features that are currently missing from the TypeScript version. These include (but are not limited to):
45+
46+
##### Logger
47+
48+
- [ ] [Ability to buffer logs](https://github.com/aws-powertools/powertools-lambda-typescript/discussions/3410){target="_blank"}
49+
- [ ] [Ability to add a correlation ID to logs via decorator/middleware](https://github.com/aws-powertools/powertools-lambda-typescript/issues/2863){target="_blank"}
50+
- [ ] [Ability to refresh debug log sampling rate via decorator/middleware](https://github.com/aws-powertools/powertools-lambda-typescript/issues/3278){target="_blank"}
51+
- [ ] [Ability to pretty print stack traces](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1362){target="_blank"}
52+
53+
##### Event Handler
54+
55+
In addition to the Event Handler REST feature mentioned above, we will also be working on the following:
56+
57+
- [ ] Implement resolver for Amazon Bedrock Agents
58+
- [ ] Create RFC for AppSync GraphQL resolver
59+
60+
##### Validation
4361

44-
We continue to work on increasing operational excellence to remove as much undifferentiated heavy lifting for maintainers, so that we can focus on delivering features that help you.
62+
For the Validation utility, we'll experiment with a community-driven approach to building a new Powertools for AWS Lambda utility.
4563

46-
This means improving our automation workflows, project management, and test coverage.
64+
We will update this roadmap with more details as they become available.
65+
66+
#### Governance & Advanced Use Cases (p2)
67+
68+
To streghten our offering for more advanced customers as well as enterprises, we will be working on a set of activities that will help us better support their needs and practices. These include:
69+
70+
- [ ] [Publish Lambda layers to GovCloud](https://github.com/aws-powertools/powertools-lambda-typescript/issues/3423){target="_blank"}
71+
- [ ] Publish Lambda layers to China regions
72+
- [ ] [Publish SSM Parameters to lookup Lambda layers ARNs](https://github.com/aws-powertools/powertools-lambda-typescript/issues/3439){target="_blank"}
73+
- [ ] Improve OSS supply chain posture (Q2) by making sure we're auditing our dependencies for compatible licenses and include NOTICE files in our Lambda layers
74+
- [ ] Create a new "Advanced Use Cases" section in the docs - to help customers with more complex use cases, such as running Powertools for AWS Lambda in container environments
75+
- [ ] Set up CI/CD for performance testing
76+
- [ ] Improve performance of our core utilities
77+
- [ ] [Improve performance overhead of Lambda layers](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1725){target="_blank"}
78+
79+
#### Community engagement & new customers (p3)
80+
81+
To ensure we are attracting tomorrow's customers as well as new contributors to the project, we will be working on a set of activities that will help us better engage with the community and new customers. These include:
82+
83+
- [ ] [Create a new "Getting Started" guide in the docs](https://github.com/aws-powertools/powertools-lambda-typescript/issues/2948){target="_blank"}
84+
- [ ] Further improve the "Contributing" & "How to find contributions" pages
85+
- [ ] Surface contribution opportunities in Discord & other community channels
86+
- [ ] Improve release notes announcements in Discord & other community channels
87+
- [ ] We will also attempt to create a community-developed new utility (see [Validation](#validation) above)
88+
89+
### Missing something?
90+
91+
You can help us prioritize by [upvoting existing feature requests](https://github.com/aws-powertools/powertools-lambda-typescript/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc++label%3Atype%2Ffeature-request+), leaving a comment on what use cases it could unblock for you, and by joining our discussions on Discord.
92+
93+
[![Join our Discord](https://dcbadge.vercel.app/api/server/B8zZKbbyET)](https://discord.gg/B8zZKbbyET){target="_blank"}
4794

4895
### Roadmap status definition
4996

@@ -111,43 +158,3 @@ A: Because job zero is security and operational stability, we can't provide spec
111158
**Q: How can I provide feedback or ask for more information?**
112159

113160
A: For existing features, you can directly comment on issues. For anything else, please open an issue.
114-
115-
### Launched
116-
117-
#### JMESPath Functions
118-
119-
> [Docs](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/jmespath/)
120-
121-
Feature parity on JMESPath Powertools Functions feature
122-
123-
- [x] Support for extracting data
124-
- [x] Support for envelopes (unwrap before data extraction)
125-
- [x] Support for built-in `powertools_json` JMESPath function
126-
- [x] Support for built-in `powertools_base64` JMESPath function
127-
- [x] Support for built-in `powertools_base64_gzip` JMESPath function
128-
- [x] Support for Bring Your Own JMESPath function
129-
130-
#### Parser (Zod)
131-
132-
> [Docs](https://docs.powertools.aws.dev/lambda/typescript/latest/utilities/parser/)
133-
134-
Feature parity on Parser feature
135-
136-
- [x] Support for defining your own Zod schema
137-
- [x] Support for popular Lambda Event Sources as built-in schemas
138-
- [x] Support for envelope (wrapping before schema validation)
139-
- [x] Support for user-defined envelopes
140-
141-
#### Version 2 release
142-
143-
> [Docs](https://docs.powertools.aws.dev/lambda/typescript/latest/upgrade/)
144-
145-
Over the past year, we have gathered a number of feature requests and improvements that we want to implement but that are not backwards compatible with the current API surface. We are going to release our next major version (v2) by the end of 2023, which will include some of these changes:
146-
147-
- [x] **ES Modules support ([#521](https://github.com/aws-powertools/powertools-lambda-typescript/issues/521))** - Thanks to the work of the community we have been able to validate the feasibility of dual support for CommonJS and ES Modules. We are currently working on a plan to implement this.
148-
- [x] **TypeScript 5.x support ([#1375](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1375))** - This new version of TypeScript brings breaking changes to the experimental decorators API, which we use in our core utilities. We need to investigate the impact of this change and how to best support it.
149-
- [x] **Support for 3rd party observability providers ([#1500](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1500))** - Many of our customers would like to use Powertools for AWS to send logs, traces, and metrics to providers other than Amazon CloudWatch.
150-
151-
You can find the full list of changes in the [v2 RFC](https://github.com/aws-powertools/powertools-lambda-typescript/issues/1714) and follow the progress in the [v2 milestone](https://github.com/aws-powertools/powertools-lambda-typescript/milestone/12).
152-
153-
Just like for the feature parity, if you have any feedback or would like to contribute to the discussion, please leave a comment in the RFC or join the discussion in our [Discord community](https://discord.gg/B8zZKbbyET){target="_blank"}.

docs/upgrade.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ V2 is focused on official support for ESM (ECMAScript modules). We've made other
2222
| **ESM support** | Added ESM support via dual CommonJS and ESM bundling, enabling top-level `await` and tree-shaking. | - |
2323
| **Middy.js** | Updated import path for Middy.js middlewares to leverage subpath exports - i.e. `@aws-lambda-powertools/tracer/middleware`. | Yes |
2424
| **Types imports** | Updated import path for TypeScript types to leverage subpath exports - i.e. `@aws-lambda-powertools/logger/types`. | Yes |
25-
| **Logger** | Changed [log sampling](./core/logger.md#sampling-logs) to dynamically switch log level to `DEBUG` on a percentage of requests. | - |
25+
| **Logger** | Changed [log sampling](./core/logger.md#sampling-debug-logs) to dynamically switch log level to `DEBUG` on a percentage of requests. | - |
2626
| **Logger** | Updated [custom log formatter](#custom-log-formatter) to include standard as well as persistent keys. | Yes |
2727
| **Logger** | Removed `ContextExamples` from `@aws-lambda-powertools/commons` package. | Yes |
2828
| **Logger and Tracer** | Removed deprecated `createLogger` and `createTracer` helper functions in favor of direct instantiation. | Yes |
@@ -305,7 +305,7 @@ In v2, you have more control over **standard** (`attributes`) and [**custom keys
305305
export { MyCompanyLogFormatter };
306306
```
307307

308-
1. This new argument contains all [your custom keys](./core/logger.md#appending-persistent-additional-log-keys-and-values).
308+
1. This new argument contains all [your custom keys](./core/logger.md#appending-additional-keys).
309309
2. `LogItem` is the new return object instead of a plain object.
310310
3. If you prefer adding at the initialization, use: <br/><br/> **`LogItem({persistentAttributes: additionalLogAttributes, attributes: baseAttributes})`**
311311

0 commit comments

Comments
 (0)