aws / aws-lambda-base-images

Apache License 2.0
647 stars 107 forks source link

Changelog for new images #85

Open rychlis opened 1 year ago

rychlis commented 1 year ago

Hey, is there any place where I could see some release notes for new image tag pushes?

There is https://gallery.ecr.aws/lambda/nodejs which lists the tags pushed, but with no more info.

This repo is force-pushed and at least for nodejs18.x only contains bunch of tarballs - so it's pretty much impossible to see what changed with new images.

There was a few new tags pushed every week now, would be useful to see what is actually changed - so I can see if there is e.g. some important security update or a change that might affect something in our apps.

jtuliani commented 1 year ago

@rychlis Providing more visibility into the contents of runtime patches via release notes is something we are considering, but is not supported today. To help us understand your use case and requirements, please can you provide more information? For example, what kind of information you'd like to see, and how/when/why you'd use this information?

rychlis commented 1 year ago

To help us understand your use case and requirements, please can you provide more information? For example, what kind of information you'd like to see, and how/when/why you'd use this information?

For me it would be useful to see changelog as there is multiple new images every week now and it's hard to figure out if it's worth updating to each new release or not.

For example if you update the provided aws-sdk, i would update our lambdas as we could drop our own installation from it (we need a more recent version).

I could imagine a new release could include a new version of package with compability issues causing new regressions - with changelog I could at least see what changed and know where should we focus our testing.

Right now my workfow is to have a dependabot notify me when there is a new image and I at least check some basic info for potential important changes like kernel version, node version, aws-sdk version:

TAG=18.2023.03.21.19
docker run --entrypoint uname public.ecr.aws/lambda/nodejs:$TAG -a
docker run --entrypoint node public.ecr.aws/lambda/nodejs:$TAG -v
docker run --entrypoint cat public.ecr.aws/lambda/nodejs:$TAG /var/runtime/node_modules/\@aws-sdk/client-s3/package.json | grep "version"

In general i guess i agree with https://github.com/aws/aws-lambda-base-images/issues/7 - more transparency in what's inside the image would help and if the actual build scripts and their changes were commited in the repo, I could see what was actually changed.

dls314 commented 10 months ago

@rychlis Providing more visibility into the contents of runtime patches via release notes is something we are considering, but is not supported today. To help us understand your use case and requirements, please can you provide more information? For example, what kind of information you'd like to see, and how/when/why you'd use this information?

While making a transition to the AWS SDK v3 for JS, we've noticed that there is a performance penalty for relying on the runtime-provided version of the AWS SDK.

So we're considering packaging it ourselves, which we have not done when using the AWS SDK v2 -- where we rely on the lambda-runtime provided version of the SDK.

If we end up doing this, we'd be taking on a maintenance burden that was previously handled by Lambda runtime updates.

If we end up doing this, it would be good to have more information about new Lambda runtime versions, most notably when those versions include a new AWS SDK. We would use this information to prompt us to update package versions and deploy with the new AWS SDK version.