Releases: opennextjs/opennextjs-aws
v3.1.0
Breaking Change
- If you use a custom converter or custom wrapper
InternalResult
body is now aReadableStream
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
v3.0.8
Changes
- 75857cf: fix middleware for next 15
- 1dd2b16: fix Nx monorepo support. Thanks @breningham @jarodsim
- 220be99: fix rewrite/redirect with i18n
- b93034d: Fix issues with revalidateTag/revalidatePath
- 59ff2ee: support next.config.ts. Thanks @aryasaatvik
v3.0.7
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
Changes
- 208f7ba: Fix incorrect redirects to external domains. Thanks @JanStevens
- 7931bee: fix 404 handling with i18n routes. Thanks @JanStevens
- 579f9eb: Better support for cloudflare external middleware
- 9285014: Implement missing methods from response object to fix the middleware issue in next 14.4.12 or lower. Thanks @vladiulianbogdan
- 3a0bc84: Fix middleware rewrite for page router json data. Thanks @vladiulianbogdan
- e4c7b6f: Check if value header is undefined to avoid crash. Thanks @vladiulianbogdan
v3.0.5
v3.0.4
Changes
- 5fc48d0: Fix some cache issue
Fixes
- S3 cache
NoSuchKey
andAccessDenied
error logs are now only in debug ( These are expected errors ) - Fix issues with
dynamodb-lite
,s3-lite
andsqs-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
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
v3.0.1
v3.0.0
🎉 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
- b191ba3: OpenNext V3