tag:github.com,2008:https://github.com/opennextjs/opennextjs-aws/releases Release notes from opennextjs-aws 2025-05-27T13:27:52Z tag:github.com,2008:Repository/572248260/v3.6.4 2025-05-27T13:29:48Z v3.6.4 <h4>Changes</h4> <ul> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/881" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/881/hovercard">#881</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/4f146cc049dffe2ee847de78ebe3d2d910fa8ec9"><code>4f146cc049dffe2ee847de78ebe3d2d910fa8ec9</code></a> Thanks <a href="https://github.com/sommeeeer">@sommeeeer</a>! - fix(edge): inline PagesManifest in edge bundle</li> </ul> github-actions[bot] tag:github.com,2008:Repository/572248260/v3.6.3 2025-05-27T08:46:29Z v3.6.3 <h4>Changes</h4> <ul> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/875" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/875/hovercard">#875</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/3ec12c9da38bbfd8598465fdf38ac44c9b8e9c29"><code>3ec12c9da38bbfd8598465fdf38ac44c9b8e9c29</code></a> Thanks <a href="https://github.com/sommeeeer">@sommeeeer</a>! - fix: populate static API routes for our staticRouteMatcher</li> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/871" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/871/hovercard">#871</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/1c2395492036ef1b909f2c22aac3fbb29cbc4c92"><code>1c2395492036ef1b909f2c22aac3fbb29cbc4c92</code></a> Thanks <a href="https://github.com/sommeeeer">@sommeeeer</a>! - fix: Ensure Location header is properly encoded in redirects happening from next config</li> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/876" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/876/hovercard">#876</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/4daa8595021edd114bb22d1f22f86b8815e92ec5"><code>4daa8595021edd114bb22d1f22f86b8815e92ec5</code></a> Thanks <a href="https://github.com/sommeeeer">@sommeeeer</a>! - fix(dev-overrides): make assets and imageLoader work with basePath</li> </ul> github-actions[bot] tag:github.com,2008:Repository/572248260/@opennextjs/aws@3.6.4 2025-05-27T13:29:47Z @opennextjs/aws@3.6.4 <p>@opennextjs/aws@3.6.4</p> github-actions[bot] tag:github.com,2008:Repository/572248260/@opennextjs/aws@3.6.3 2025-05-27T08:46:28Z @opennextjs/aws@3.6.3 <p>@opennextjs/aws@3.6.3</p> github-actions[bot] tag:github.com,2008:Repository/572248260/v3.6.2 2025-05-19T15:15:48Z v3.6.2 <h4>Changes</h4> <ul> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/864" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/864/hovercard">#864</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/daaf38f45e6aa5596fb4dfdb912aee254fcb94e3"><code>daaf38f45e6aa5596fb4dfdb912aee254fcb94e3</code></a> - set process.env.NODE_ENV to production during edge config compilation</li> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/863" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/863/hovercard">#863</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/d434708d07ac297b5317f4ace990836195bd8b3f"><code>d434708d07ac297b5317f4ace990836195bd8b3f</code></a> Thanks <a href="https://github.com/dnewbound0">@dnewbound0</a>! - feat: redirect requests with repeated slashes</li> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/868" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/868/hovercard">#868</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/1bebc1ada498a8466fb1293ba3d57a2147929be4"><code>1bebc1ada498a8466fb1293ba3d57a2147929be4</code></a> - decode path params in cache interceptor</li> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/869" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/869/hovercard">#869</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/1664d836a64752bd5bdbf9d9a62fde535891a88e"><code>1664d836a64752bd5bdbf9d9a62fde535891a88e</code></a> Thanks <a href="https://github.com/sommeeeer">@sommeeeer</a>! - chore: bump esbuild to latest version (0.25.4)</li> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/862" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/862/hovercard">#862</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/d6889d89c894b35e4bd042404a466fd709f528c1"><code>d6889d89c894b35e4bd042404a466fd709f528c1</code></a> Thanks <a href="https://github.com/naikaayush">@naikaayush</a>! - fix(middleware): copy wasm files for the external middleware</li> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/867" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/867/hovercard">#867</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/69a26e76e2354c28c73d9a89bd3c429fe30c3510"><code>69a26e76e2354c28c73d9a89bd3c429fe30c3510</code></a> Thanks <a href="https://github.com/sommeeeer">@sommeeeer</a>! - fix: remove leading forward slashes from url in node converter</li> </ul> github-actions[bot] tag:github.com,2008:Repository/572248260/@opennextjs/aws@3.6.2 2025-05-19T15:15:46Z @opennextjs/aws@3.6.2 <p>@opennextjs/aws@3.6.2</p> github-actions[bot] tag:github.com,2008:Repository/572248260/v3.6.1 2025-05-09T14:50:46Z v3.6.1 <h4>Changes</h4> <ul> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/851" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/851/hovercard">#851</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/68a13a4d56e198629fe1d3ae6e6d4034f3a01c0c"><code>68a13a4d56e198629fe1d3ae6e6d4034f3a01c0c</code></a> Thanks <a href="https://github.com/sommeeeer">@sommeeeer</a>! - fix: Ensure cookies set in middleware are available on initial render when using <code>cookies().get()</code> from Next.js</li> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/860" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/860/hovercard">#860</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/2447024cb8f003164fe2ce856a89019e6d048d89"><code>2447024cb8f003164fe2ce856a89019e6d048d89</code></a> - fix cache interceptor for index page</li> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/861" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/861/hovercard">#861</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/1b7889000ab8c740d42b54dae56f431b8eb86647"><code>1b7889000ab8c740d42b54dae56f431b8eb86647</code></a> Thanks <a href="https://github.com/sommeeeer">@sommeeeer</a>! - fix: make fs-dev imageLoader work in monorepo</li> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/858" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/858/hovercard">#858</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/f25c249407af542bd5ccc6078aecf5d7811c247b"><code>f25c249407af542bd5ccc6078aecf5d7811c247b</code></a> - fix 404 with fallback false on dynamic route</li> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/859" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/859/hovercard">#859</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/d5d137f7595e6e5e1aa47fbe8dee371968e59402"><code>d5d137f7595e6e5e1aa47fbe8dee371968e59402</code></a> - fix cookies for edge converters</li> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/857" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/857/hovercard">#857</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/c2da3a8df638b8facdb896e22538a143b3425006"><code>c2da3a8df638b8facdb896e22538a143b3425006</code></a> Thanks <a href="https://github.com/sommeeeer">@sommeeeer</a>! - fix: make dev overrides work in monorepo</li> </ul> github-actions[bot] tag:github.com,2008:Repository/572248260/@opennextjs/aws@3.6.1 2025-05-09T14:50:45Z @opennextjs/aws@3.6.1 <p>@opennextjs/aws@3.6.1</p> github-actions[bot] tag:github.com,2008:Repository/572248260/v3.6.0 2025-04-30T10:29:36Z v3.6.0 <h4>Changes</h4> <ul> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/843" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/843/hovercard">#843</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/64ee6845dd38d8b543ecbe1cda807ae1f9a37a16"><code>64ee6845dd38d8b543ecbe1cda807ae1f9a37a16</code></a> - Introduce support for the composable cache</li> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/844" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/844/hovercard">#844</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/1ed738fed4184fe1f509c17d87239a6ec89cd014"><code>1ed738fed4184fe1f509c17d87239a6ec89cd014</code></a> - Fix middleware search params with multiple values</li> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/833" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/833/hovercard">#833</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/3b979a2c18f2cf3f930f89587158fda29645fbbc"><code>3b979a2c18f2cf3f930f89587158fda29645fbbc</code></a> - pass revalidate for ISR/SSG cache</li> <li><a href="https://github.com/opennextjs/opennextjs-aws/pull/839" data-hovercard-type="pull_request" data-hovercard-url="/opennextjs/opennextjs-aws/pull/839/hovercard">#839</a> <a href="https://github.com/opennextjs/opennextjs-aws/commit/de53c4d2458f22d056320b71bd28567b8ac6ec04"><code>de53c4d2458f22d056320b71bd28567b8ac6ec04</code></a> Thanks <a href="https://github.com/james-elicx">@james-elicx</a>! - fix edge middleware path on windows</li> </ul> <h3>BREAKING CHANGE</h3> <p>This only affects custom overrides for the incremental or tag cache<br> The interface for the Incremental cache has changed. The new interface use a Cache type instead of a boolean to distinguish between the different types of caches. It also includes a new Cache type for the composable cache. The new interface is as follows:</p> <div class="highlight highlight-source-ts notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="export type CacheEntryType = &quot;cache&quot; | &quot;fetch&quot; | &quot;composable&quot;; export type IncrementalCache = { get&lt;CacheType extends CacheEntryType = &quot;cache&quot;&gt;( key: string, cacheType?: CacheType, ): Promise&lt;WithLastModified&lt;CacheValue&lt;CacheType&gt;&gt; | null&gt;; set&lt;CacheType extends CacheEntryType = &quot;cache&quot;&gt;( key: string, value: CacheValue&lt;CacheType&gt;, isFetch?: CacheType, ): Promise&lt;void&gt;; delete(key: string): Promise&lt;void&gt;; name: string; };"><pre><span class="pl-k">export</span> <span class="pl-k">type</span> <span class="pl-smi">CacheEntryType</span> <span class="pl-c1">=</span> <span class="pl-s">"cache"</span> <span class="pl-c1">|</span> <span class="pl-s">"fetch"</span> <span class="pl-c1">|</span> <span class="pl-s">"composable"</span><span class="pl-kos">;</span> <span class="pl-k">export</span> <span class="pl-k">type</span> <span class="pl-smi">IncrementalCache</span> <span class="pl-c1">=</span> <span class="pl-kos">{</span> <span class="pl-c1">get</span><span class="pl-c1">&lt;</span><span class="pl-smi">CacheType</span> <span class="pl-k">extends</span> <span class="pl-smi">CacheEntryType</span> <span class="pl-c1">=</span> <span class="pl-s">"cache"</span><span class="pl-c1">&gt;</span><span class="pl-kos">(</span> <span class="pl-s1">key</span>: <span class="pl-smi">string</span><span class="pl-kos">,</span> <span class="pl-s1">cacheType</span>?: <span class="pl-smi">CacheType</span><span class="pl-kos">,</span> <span class="pl-kos">)</span>: <span class="pl-smi">Promise</span><span class="pl-c1">&lt;</span><span class="pl-smi">WithLastModified</span><span class="pl-c1">&lt;</span><span class="pl-smi">CacheValue</span><span class="pl-c1">&lt;</span><span class="pl-smi">CacheType</span><span class="pl-c1">&gt;</span><span class="pl-c1">&gt;</span> <span class="pl-c1">|</span> <span class="pl-c1">null</span><span class="pl-c1">&gt;</span><span class="pl-kos">;</span> <span class="pl-c1">set</span><span class="pl-c1">&lt;</span><span class="pl-smi">CacheType</span> <span class="pl-k">extends</span> <span class="pl-smi">CacheEntryType</span> <span class="pl-c1">=</span> <span class="pl-s">"cache"</span><span class="pl-c1">&gt;</span><span class="pl-kos">(</span> <span class="pl-s1">key</span>: <span class="pl-smi">string</span><span class="pl-kos">,</span> <span class="pl-s1">value</span>: <span class="pl-smi">CacheValue</span><span class="pl-c1">&lt;</span><span class="pl-smi">CacheType</span><span class="pl-c1">&gt;</span><span class="pl-kos">,</span> <span class="pl-s1">isFetch</span>?: <span class="pl-smi">CacheType</span><span class="pl-kos">,</span> <span class="pl-kos">)</span>: <span class="pl-smi">Promise</span><span class="pl-c1">&lt;</span><span class="pl-smi"><span class="pl-k">void</span></span><span class="pl-c1">&gt;</span><span class="pl-kos">;</span> <span class="pl-c1">delete</span><span class="pl-kos">(</span><span class="pl-s1">key</span>: <span class="pl-smi">string</span><span class="pl-kos">)</span>: <span class="pl-smi">Promise</span><span class="pl-c1">&lt;</span><span class="pl-smi"><span class="pl-k">void</span></span><span class="pl-c1">&gt;</span><span class="pl-kos">;</span> <span class="pl-c1">name</span>: <span class="pl-smi">string</span><span class="pl-kos">;</span> <span class="pl-kos">}</span><span class="pl-kos">;</span></pre></div> <p>NextModeTagCache also get a new function <code>getLastRevalidated</code> used for the composable cache:</p> <div class="highlight highlight-source-ts notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=" getLastRevalidated(tags: string[]): Promise&lt;number&gt;;"><pre> <span class="pl-en">getLastRevalidated</span><span class="pl-kos">(</span><span class="pl-s1">tags</span>: <span class="pl-s1">string</span><span class="pl-kos">[</span><span class="pl-s1"></span><span class="pl-kos">]</span><span class="pl-kos">)</span>: <span class="pl-v">Promise</span><span class="pl-c1">&lt;</span><span class="pl-smi">number</span><span class="pl-c1">&gt;</span><span class="pl-kos">;</span></pre></div> github-actions[bot] tag:github.com,2008:Repository/572248260/@opennextjs/aws@3.6.0 2025-04-30T10:11:05Z @opennextjs/aws@3.6.0 <p>@opennextjs/aws@3.6.0</p> github-actions[bot]