architect / arc.codes

The Architect web site! 🌩
https://arc.codes
Apache License 2.0
313 stars 99 forks source link

Bump @architect/functions from 8.0.0-RC.3 to 8.0.0 #733

Closed dependabot[bot] closed 7 months ago

dependabot[bot] commented 7 months ago

Bumps @architect/functions from 8.0.0-RC.3 to 8.0.0.

Changelog

Sourced from @​architect/functions's changelog.

[8.0.0] 2023-10-17

Architect Functions just got a lot faster. Gone are the days of 500-1000ms cold starts due to instantiating the AWS SDK – Functions v8 is now between 2-5x faster, and uses 2-4x less memory, courtesy of aws-lite!

Added

  • arc.tables() now includes a new DynamoDB client: _client, an instantiation of @aws-lite/dynamodb
    • _client is largely functionally similar to the AWS SDK's DocumentClient, but a bit less fiddly (we think)
    • arc.tables() methods should be functionally the same, including key error properties

Changed

  • Breaking change: AWS SDK v2 + v3 DynamoDB client + DocumentClient instantiation is now opt-in
    • Code depending on data._db or data._doc must now instantiate with the awsSdkClient boolean option, like so: await arc.tables({ awsSdkClient: true })
    • If you only rely on the DocumentClient (_doc), you may want to just try using the new @aws-lite/dynamodb-based _client
  • Breaking change: while we've taken efforts to ensure the maximum degree of compatibility with AWS SDK v2 and v3 errors, the errors returned in Arc Functions 8.0 (using aws-lite) may still vary slightly
    • This only really applies if your error handling relies on specific properties or values
    • If you just console.log() your errors, you will be totally fine, and the quality of the errors you get via aws-lite will most likely improve with this change
    • Note: if you're an AWS SDK v2 user considering migrating to v3, error incompatibility will apply even more so; v3 errors are incompatible with v2, whereas aws-lite errors attempt to be compatible with both SDK v2 + v3
  • Added Node.js 20.x to test matrix
  • Breaking change: removed support for Node.js 14.x (now EOL, and no longer available to created in AWS Lambda)

[7.0.0] 2023-07-10

Added

  • Added support for arc.http to accept either async or callback functions
    • This is not a breaking change, and arc.http.async will remain as a legacy code path
    • Moving forward we suggest passing all middleware through arc.http, which will figure out whether to run in async or callback mode
    • Note: pass only callback or async middleware, but not both. Don't drink and drive, and don't mix async primitives.
  • Added service discovery for DynamoDB-backed sessions
    • Now you can set your ARC_SESSION_TABLE_NAME env var with the logical name of your sessions table found in your app.arc file
    • However, the physical DynamoDB table name will work as well
  • Added support for JWE session encryption customization
    • Configure by adding an env var named ARC_APP_SECRET_ALGO with a value of A256GCM (default if not specified), A192GCM, or A128GCM
  • Added tables.scanAll method for retrieving the entire contents of a table

Changed

  • Improved SNS (@events), SQS (@queues), and SSM (arc.discovery) performance by caching clients, thereby enabling more efficient usage, especially in large workloads; thanks @​w5mix & @​CameronSima!
  • Breaking change: default JWE session encryption algorithm is now A256GCM
    • This algorithm offers greater entropy with as good or greater performance in session token encryption / decryption
    • Backwards compatible JWE session encryption is available by adding a truthy env var named ARC_FORCE_LEGACY_JWE_SECRET
  • Invalid session secrets now error loudly
  • Updated deps

... (truncated)

Commits


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 7 months ago

Looks like @architect/functions is up-to-date now, so this is no longer needed.