Skip to content

Releases: opennextjs/opennextjs-aws

v3.1.0

22 Aug 09:41
7886117
Compare
Choose a tag to compare

Breaking Change

  • If you use a custom converter or custom wrapper InternalResult body is now a ReadableStream instead of a string
  • External middleware when used with the new enableCacheInterception will need to have the correct permission (and environment variable) to access the incremental and tag cache as well as the queue (By default S3, DynamoDb, SQS )

Changes

  • b88ae13: Replace InternalResult body from string to ReadableStream
  • 0558bf6: Add an optional external cache. More info here
  • c8d692b: fix missing polyfill URLPattern
  • 1b91708: fix 404 when basePath is set
  • 8ddb621: fix lambda streaming hanging after return

v3.0.8

20 Jul 09:03
780bbc9
Compare
Choose a tag to compare

Changes

v3.0.7

11 Jul 13:35
a43fa46
Compare
Choose a tag to compare

Changes

  • 1a1441c: Add missing method from NextResponse for next 12
  • b8ffa3a: add check for config and config.default Thanks @sommeeeer
  • ab0f8b2: [windows] Add Windows compatibility for the resolve ESBuild plugin. Thanks @costinsin
  • 7beaf82: [windows] Add Windows compatibility for the replacement ESBuild plugin. Thanks @costinsin
  • e2d0c7f: [windows] Specify the file:// protocol when importing config on Windows. Thanks @costinsin

v3.0.6

28 Jun 08:41
2d98e05
Compare
Choose a tag to compare

Changes

v3.0.5

19 Jun 13:25
9d632d1
Compare
Choose a tag to compare

Changes

v3.0.4

18 Jun 10:00
c50f2c8
Compare
Choose a tag to compare

Changes

Fixes

  • S3 cache NoSuchKey and AccessDenied error logs are now only in debug ( These are expected errors )
  • Fix issues with dynamodb-lite, s3-lite and sqs-lite that were using the next patched version of fetch
  • Fix an issue where the cache could be not properly persisted in some edge cases

For more info see #444

v3.0.3

14 Jun 10:42
19b89c0
Compare
Choose a tag to compare

Changes

  • 71b3347: fix: look for required-server-files.json in outputPath. Thanks @MaksymKupko
  • 1524dd3: Perf: Add some new cache and queue options. Also fix an error being logged for S3 NoSuchKey
  • bc26e9a: Fix for readonly headers lambda@edge
  • 6032493: Fix for lambda streaming on empty body
  • 22e80d7: Fix env file not being copied in V3
  • a46d3fc: Fix 404 when no route match at all
  • 3ff4909: Fix incorrect filter logic when copying traced files Thanks @vladiulianbogdan

New Cache and queue options

This releases introduces some new cache and queue options that uses aws4fetch instead of the aws sdk. This can results in up to 300ms less cold start. Here is how to use it in your open-next.config.ts file :

import type { OpenNextConfig } from 'open-next/types/open-next'
const config = {
  default: { 
    override: { 
      tagCache: 'dynamodb-lite',
      incrementalCache: 's3-lite',
      queue: 'sqs-lite'
    },
  },
} satisfies OpenNextConfig
 
export default config;

Fix for lambda streaming with empty body

On some aws accounts the response can hang if the body is empty. This releases includes an env variable that will force write to the stream if the stream is empty. Only uses this if you have this issue with your account and region

To enable this you should set the OPEN_NEXT_FORCE_NON_EMPTY_RESPONSE environment variable to "true"

v3.0.2

24 May 12:08
86765bc
Compare
Choose a tag to compare

Changes

  • 61066fe: Fix polyfill for crypto in the middleware
  • f83d636: Add support for 'deno' server functions
  • 1b3c6fe: Fix static 404 and 500 in page router
  • e98e014: Improve custom config support
  • b3966d2: Fix duplicate cookies

v3.0.1

12 May 14:21
65f7a60
Compare
Choose a tag to compare

Changes

  • ff36f10: Fix next rewrites
  • d5efc43: Fix next version check
  • c2817fe: Handle partial failure in ISR revalidation
  • 3b004dd: Fix for external middleware

v3.0.0

03 May 15:10
ee57945
Compare
Choose a tag to compare

🎉 OpenNext V3 is out 🎉

This is the V3 of OpenNext. It includes some breaking changes and cannot be used as a drop-in replacement for V2. If your IAC is using OpenNext V2, you will need to update it to use V3.

If you are using OpenNext V2, please refer to the migration guide to upgrade to V3.

New Features

  • Add support for function splitting
  • Add support for external middleware
  • Custom config file support : open-next.config.ts
  • Support for other deployment targets than lambda (Node.js, Docker and partial support for Cloudflare Workers)
  • Allow for customizing the outputs bundle :
    • Wrapper
    • Converter
    • Incremental Cache (Fetch cache and HTML/JSON/RSC cache)
    • Tag Cache
    • Queue (Used to trigger ISR revalidation)
    • Origin Resolver (Only for external middleware)
    • Image Loader (Only for image optimization)
    • Invoke function (For the warmer function)
    • Create an open-next.output.json file for easier integration with IAC tools

Breaking Changes

  • Edge runtime don't work out of the box anymore. You need to deploy them on a separate function see the config for more info
  • Output directory structure has changed to support function splitting
  • Removed build arguments in favor of open-next.config.ts

Internal Changes

  • Use OpenNextNodeResponse instead of ServerResponse (It uses transform stream to properly handle the stream)
  • Big refactor of the codebase to support function splitting
  • Added new plugins to support the new features and make the codebase more modular

Changes