• Xdn 11512 error messaging when route entry isn't valid is not helpful mark brocato (#911) @markbrocato
  • XDN-11530 - Write build manifest after successful deployment to .layer0 (#912) @markbrocato
  • XDN-11522 - Support specifying token via an env var (#913) @markbrocato

  • Router info clickable @MarkusTarn (#955)
  • Use traffic percentage instead of route percentage for donut chart @kevhender (#957)
  • Improve TLS @leotoll (#954)

  • Date/time display fixes @kevhender (#922)
  • One click deploy fixes @dijs (#960)

  • Fix bad default route JSON (#914) @ierceg
  • Next.js: Fix TypeError: Cannot read property 'static' of undefined when running Layer0 in dev without router.use(nextRoutes) (#909) @markbrocato

  • Allow transforming of requests and responses when using renderWithApp. (#908) @markbrocato
  • Snyk Upgrade: @babel/parser, @babel/traverse (#906) @MEGrimshaw

  • Add Node version check to CLI (#905) @ierceg
  • Remove dependency on fs.watch (#902) @ierceg

  • XDN-11397 - Support Next.js beforeFiles, afterFiles, and fallback rew… (#903) @markbrocato
  • Update the engines property for @layer0/cli to Node 14. (#901) @markbrocato

  • Notificaiton fixes @MarkusTarn (#953)

  • Update the first byte timeout limit algo to fit 60s practical limit (#879) @ierceg
  • build(deps): bump ssri from 6.0.1 to 6.0.2 (#870) @dependabot
  • Snyk Security upgrade next from 10.0.7 to 10.2.0 (#890) @MEGrimshaw
  • Snyk Security upgrade next from 10.0.9 to 10.2.0 (#889) @MEGrimshaw
  • Snyk Security upgrade next from 10.0.7 to 10.2.0 (#893) @MEGrimshaw
  • Snyk Security upgrade lodash from 4.17.19 to 4.17.21 (#896) @MEGrimshaw
  • Snyk Security upgrade lodash from 4.17.19 to 4.17.21 (#899) @MEGrimshaw
  • Fix cli use workspaces (#900) @markbrocato
  • Use ESBuild for bundling the router, config, and browser assets to improve build times. (#894) @markbrocato
  • fix(CLI): Ctrl+C not exiting in early deploy phases (before "deploying...") (#891) @adrien-k

  • feat(Staff) Added teams to accounts table @KaarelKelk (#950)
  • fix empty tooltip @KaarelKelk (#951)

  • Show more deployments should keep the scroll position @kevhender (#952)
  • Alerts multiple emails @MarkusTarn (#949)
  • Made rendering of really long lines better @MarkusTarn (#947)

  • Fix an bug that occurs when lerna.json does not have a packages field. (#897) @markbrocato
  • chore(build-lambda): increase deploy-lambda http timeout (#887) @adrien-k

  • XDN-11228 - Make CWV filters default to "mobile" device type @kevhender (#938)
  • XDN-11222 - Make it more obvious when table has more columns @kevhender (#936)
  • XDN-11236 - Add a summation row at the top of the traffic table @kevhender (#941)

  • Change upgrade flow @ierceg (#946)
  • chore(Security): add CSP and HSTS headers @adrien-k (#944)

  • Fix CWV threshold lines @kevhender (#935)
  • XDN-11212 - Fix sorting for traffic routes to account for 0s @kevhender (#937)
  • Hide the CWV percentage change when not enough data @kevhender (#940)
  • XDN-11221 - Include offline builds when showing deployments on graphs @kevhender (#945)

  • Fix site settings conflict for double ssl and deploytoken @leotoll (#939)

  • chore(RouterInfoInConsole) Implemented useMemo on matching routes @MarkusTarn (#942)
  • chore(RouterInfoInConsole) Significally reduced the number of renderings @MarkusTarn (#934)
  • feat(LargeStatic): allow builds up to 1GB compressed @adrien-k (#933)

  • (2.x) XDN-10308 Use webpack-merge for applying config options (#865) @tristanlee85

  • (3.x) XDN-10308 Use webpack-merge for applying config options (#864) @tristanlee85
  • Improve terminal output and coloring for layer0 run. (#883) @markbrocato
  • Nuxt.js support custom dynamic 404 pages. (#886) @markbrocato
  • Nuxt: Fix a bug where custom 404 pages not being show in dev and prod… (#882) @markbrocato
  • XDN-11095 - Nuxt.js: Fix bug where 404.html isn't rendered as the fallback. (#878) @markbrocato
  • Fix status code and message not sent on proxy to static (#880) @ierceg
  • Relax JSON validation on cache data (#875) @ierceg

  • Spartacus - Prefetching Header size issue (#877)

  • feat(Sessions) move all sessions to db store @KaarelKelk (#925)
  • XDN-11049 - Fix unexpected back button behavior @kevhender (#927)

  • Skip maintenance on sessions migration @KaarelKelk (#931)
  • Add load user gtm event @leotoll (#921)
  • chore(Release): reduce maintenance window @adrien-k (#928)
  • fix(RouterInConsole) Added min XDN version @MarkusTarn (#926)
  • fix tracking tests for arrays @leotoll (#929)

  • feat(CLI): run initialize and build/zip in parallel (#863) @adrien-k
  • CLI support for monorepos (#876) @leotoll
  • Add router introspection. (#476) @markbrocato
  • Clean up some brand naming. (#872) @markbrocato
  • fix(devtools): allow enabling devtools (#873) @adrien-k
  • Downgrade @types/cheerio to 0.22.18 (#871) @tristanlee85
  • Return an error code when the connector declared in layer0.config.js … (#869) @markbrocato

✨ Enhancements

  • Internal API: GET /internal/v1/aws-accounts @adrien-k (#920) 🐛 Bug Fixes
  • Replace moovweb.com references left in e-mails @adrien-k (#923)

✨ Enhancements

  • Handle empty CWV stats better @dijs (#878)
  • updates to seeds and maintenance template @KaarelKelk (#918)
  • Added redis service to test-with-integration @KaarelKelk (#906) 🐛 Bug Fixes
  • Publish changelog to correct repo @tristanlee85 (#917)
  • Fix selection of cache hit/miss filters for CWV @kevhender (#915)
  • feat(RouterInfoInConsole): Added router location to router info @MarkusTarn (#914)
  • Fix overview CWV tab for when current period has no data @kevhender (#916)

✨ Enhancements

  • Handle empty CWV stats better @dijs (#878)
  • updates to seeds and maintenance template @KaarelKelk (#918)
  • Added redis service to test-with-integration @KaarelKelk (#906) 🐛 Bug Fixes
  • Publish changelog to correct repo @tristanlee85 (#917)
  • Fix selection of cache hit/miss filters for CWV @kevhender (#915)
  • feat(RouterInfoInConsole): Added router location to router info @MarkusTarn (#914)
  • Fix overview CWV tab for when current period has no data @kevhender (#916)

🚀 New Features

  • The router code is now displayed in the site and deployment views with overlaid caching stats. @MarkusTarn (#841)
  • The new alerts feature allows users to subscribe to email alerts for caching, core web vitals, deployments, and more. @MarkusTarn (#818) ✨ Enhancements
  • Renaming updates slug and subdomains @adrien-k (#896)
  • Preserve overridden metrics values @KaarelKelk (#907)
  • Show deployments and cache purges in all graphs @kevhender (#892) 🐛 Bug Fixes
  • Show correct env name instead of production on current production deployment card. @KaarelKelk (#911)
  • Fix some brand naming. @markbrocato (#909)

  • L0-10892 - CWV tab stats should update when filters are changed @kevhender (#900)
  • L0-10816 - Force refresh when user changes dark mode setting @kevhender (#903)

  • feat(LambdaJob) store logs in redis until archive (Step 1) @KaarelKelk (#899)
  • MIGRATION SKIP-MAINTENANCE feat(Starter): set team edge region separately @adrien-k (#890)
  • fix(Activity) Fixed showing API cache purges @KaarelKelk (#904)
  • fix(Layer0) renamed version on build overview @KaarelKelk (#902)
  • feat(RDNSupport): change logo and layout @adrien-k (#898)
  • Delete button text fix @leotoll (#895)
  • add version to deploy tracking @leotoll (#897)
  • Fixed scope on xdn => layer0 package @KaarelKelk (#894)

  • fix(Overview) fixed race conditions for chart data @KaarelKelk (#893)

  • fix(CI/ecs-utils): show logs on failure @adrien-k (#891)
  • feat(Staff): layer0/moovforge emails flagged internal @adrien-k (#888)
  • docs: Release operations @adrien-k (#889)
  • Fixing layout shift of site overview page @dijs (#881)
  • GO-LIVE Rebrand to app.layer0.co console @adrien-k (#828)
  • chore(deps): bump y18n from 3.2.1 to 3.2.2 @dependabot (#864)
  • feat(Admin/Teams): filter personal teams out @adrien-k (#887)
  • Restrict domains to 64 chars @leotoll (#886)
  • Default to OS dark setting @dijs (#885)
  • Removed localhost from site cards @dijs (#874)
  • Updated link to docs @dijs (#873)
  • Added stage env to CF and updated comments/readme about sandbox to in… @KaarelKelk (#884)
  • Added support for staging domains @Th0masL (#869)
  • Push LD to stage on push/merge to master @KaarelKelk (#883)

  • Snyk Upgrade webpack from 5.26.3 to 5.27.0 (#825) @MEGrimshaw
  • feat(CLI) Added warning message about newer package version (#829) @KaarelKelk
  • Snyk Security upgrade next from 10.0.6 to 10.0.7 (#836) @MEGrimshaw
  • Snyk Security upgrade next from 10.0.6 to 10.0.7 (#835) @MEGrimshaw
  • L0-10773 Update org name for layer0-docs publish action (#832) @tristanlee85
  • Snyk Security upgrade bootstrap from 4.2.1 to 4.3.1 (#823) @MEGrimshaw

  • feat(Devtools/branding): change logo to Layer0 (#831) @adrien-k

  • Allow surrogate key to be set through the router (#833) @ierceg

  • Breaking change in v3: disable watching attribute changes when using @xdn/prefetch watchLinks (#824) @ierceg

  • L0-10507 - Improve the release notes template @markbrocato (#880)
  • Make caa valid when empty @leotoll (#879)


  • Added back default value for context (#877) @KaarelKelk

  • fix(CVW) Fixed default selected host on CWV page (#876) @KaarelKelk

  • fix(GithubDeploy): Github race condition + token encryption (#868) @adrien-k

  • Added timeframe to hosts endpoint (#871) @dijs
  • CWV Filter fix (#867) @dijs
  • Core Web Vitals Tabs host fix (#870) @dijs

  • (2.x) L0-10692 Make prefetch observer configurable to exclude watching attribute changes (#821) @tristanlee85

  • Fix bundle size (#819) @ierceg
  • Add label to routeJson for static files (#799) @leotoll
  • Snyk Upgrade path-to-regexp from 6.1.0 to 6.2.0 (#814) @MEGrimshaw
  • Snyk Upgrade ts-loader from 8.0.17 to 8.0.18 (#816) @MEGrimshaw
  • Snyk Upgrade webpack from 5.26.2 to 5.26.3 (#817) @MEGrimshaw
  • Snyk Upgrade tcp-port-used from 1.0.1 to 1.0.2 (#815) @MEGrimshaw
  • L0-10331 Correct directory name for default Gatsby files (#812) @tristanlee85
  • Snyk Upgrade globby from 11.0.1 to 11.0.2 (#808) @MEGrimshaw
  • Snyk Upgrade webpack from 5.24.1 to 5.26.2 (#806) @MEGrimshaw
  • Snyk Upgrade next from 10.0.8 to 10.0.9 (#805) @MEGrimshaw
  • Snyk Upgrade pino from 6.11.0 to 6.11.2 (#807) @MEGrimshaw
  • feat(Prerender) Added lowerConcurrency flip when server is returning … (#782) @KaarelKelk

  • feat(edge-redirect): allow full url as 'from' (#798) @adrien-k
  • Deploy XDN lambdas to stage environment (#809) @KaarelKelk
  • Snyk Upgrade @nuxt/core from 2.14.12 to 2.15.3 (#795) @MEGrimshaw
  • Bump y18n from 4.0.0 to 4.0.1 in /packages/build-lambda (#793) @dependabot
  • Snyk Upgrade next from 10.0.7 to 10.0.8 (#796) @MEGrimshaw
  • Bump y18n from 4.0.0 to 4.0.1 in /packages/cli (#792) @dependabot
  • Snyk Upgrade bootstrap from 4.2.1 to 4.6.0 (#777) @MEGrimshaw
  • Snyk Upgrade webpack from 5.21.2 to 5.24.1 (#759) @MEGrimshaw

  • L0-10553 - Next.js: Homepage with getStaticProps fails to serve json… (#801) @markbrocato

  • Fix issue compiling TypeScript routes file when TypeScript errors exi… (#800) @markbrocato
  • Use Node12 with Layer0 v2 (#794) @ierceg

  • fix deploy github route (#866) @adrien-k


  • Bump y18n from 4.0.0 to 4.0.1 (#791) @dependabot
  • Snyk Upgrade i18next from 19.8.4 to 19.9.1 (#778) @MEGrimshaw
  • Snyk Upgrade lodash from 4.17.19 to 4.17.21 (#776) @MEGrimshaw
  • Snyk Upgrade ts-loader from 8.0.14 to 8.0.17 (#774) @MEGrimshaw
  • Snyk Upgrade ajv from 6.12.3 to 6.12.6 (#775) @MEGrimshaw
  • Snyk Upgrade rxjs from 6.5.5 to 6.6.6 (#779) @MEGrimshaw
  • Snyk Upgrade mime-types from 2.1.27 to 2.1.29 (#780) @MEGrimshaw
  • Fix default redirect response body (#790) @ierceg

  • Fix error on CLS tab in Core Web Vitals page (#863) @markbrocato

  • Add Ember Fastboot detection to layer0 init. (#789) @markbrocato

  • L0-10455 - Ember Fastboot Connector (#788) @markbrocato
  • Log the size of the generated VCL code (#787) @ierceg
  • Treat empty excludeAllQueryParametersExcept as excludeAllQueryParameters (#786) @ierceg

  • More conspicuous selection model for Traffic tab routes table (#860) @kevhender
  • Show tooltip on all charts when hovering on one (#855) @kevhender
  • Clean up param misses load message, revert ILS sort (#861) @kevhender
  • L0-10384 - Fix z-index issues on CWV page (#862) @kevhender
  • Fix color of radios (#857) @kevhender
  • L0-10380 - Fix cache hit rate chart tooltip and data dropoff (#852) @kevhender
  • L0-10378 - Add sorting for ILS table (#851) @kevhender
  • L0-10377 - A loading message to query param misses table (#853) @kevhender
  • L0-10376 - Scroll to top when changing routes (#854) @kevhender
  • Change Traffic Trend chart legend to be checkboxes (#856) @kevhender
  • Change duration label to always be "28 days" (#858) @kevhender

  • Fix default export for missingDataUtils (#850) @KaarelKelk
  • Delay prerendering after build (#840) @KaarelKelk
  • fix(CI): docker cache (#839) @adrien-k
  • Implemented new rum endpoint for top hosts (#800) @KaarelKelk
  • Use full cname validation (#849) @leotoll
  • Add traffic tab to environment page (#832) @kevhender
  • Segment pardot attribution fix + mimemagic version update (#848) @leotoll
  • Standardize the look of cancel buttonsin dialogs and improve their lo… (#843) @markbrocato
  • Removed weighted % and replaced with traffic (#842) @KaarelKelk
  • fix(Activity) Fixed showing "show all" when there's all records shown (#845) @KaarelKelk
  • Fixed environment name on airbrake (#844) @KaarelKelk

  • Add route JSON for fallback to routes injected by Layer0 (#784) @ierceg

  • Set HSTS header conditionally (#783) @ierceg
  • Enable redirects following for WebSockets (#771) @KaarelKelk

  • Navigation Fixes (#836) @dijs
  • Wrap RUM configuration instructions in a card (#838) @kevhender
  • Use subheading for CWV overview card (#835) @kevhender
  • Fix closing of purging window (#834) @kevhender

  • Snyk Upgrade next from 10.0.6 to 10.0.7 (#756) @MEGrimshaw
  • Snyk Upgrade babel-loader from 8.1.0 to 8.2.2 (#760) @MEGrimshaw
  • L0-10101 - Next plugins: Only return functions when passed functions. (#773) @markbrocato
  • L0-10098 - Exclude @layer0/rum from layer0 use command. (#772) @markbrocato

  • Added check for environment (#833) @KaarelKelk

  • Query navigation state is now saved in context (#831) @dijs
  • CWV tracking + small fixes (#821) @leotoll

  • Fix crash on Admin page (#820) @leotoll

  • L0-10012 - Fix error when running layer0 dev before initial nuxt build (#770) @markbrocato

  • Fix crash on Admin page (#820) @leotoll

  • Domain caa validation fix (#820) @leotoll

  • L0-9946 - Next.js: Allow withLayer0 and withServiceWorker to accept fu… (#764) @markbrocato
  • Increased build-lambda-timeout (#751) @KaarelKelk
  • L0-9941 - Next.js: Support optional catch-all parameters (#763) @markbrocato
  • Ignore routes with headers and cookie matching in the cache manifest (#765) @ierceg

  • Really fix req and resp cookie comparison not ignoring cookie attributes (#768) @ierceg
  • Fix req and resp cookie comparison not ignoring cookie attributes (#767) @ierceg

  • Fix director names outside of Virginia US shielding (#766) @ierceg
  • Enable back starter tests (#762) @ierceg

  • Fix gti prerendering (#754) @KaarelKelk
  • Add debug caching status (#757) @ierceg
  • Retry to get user edge config until build lambda times out (#742) @ierceg
  • Porting/cherry-picking/adapting code from v3 branch to v2 (#717) @ierceg
  • Bump elliptic from 6.5.3 to 6.5.4 in /integration-tests/edge (#748) @dependabot
  • Snyk Upgrade react-merge-refs from 1.0.0 to 1.1.0 (#735) @MEGrimshaw
  • Snyk Upgrade webpack from 5.18.0 to 5.21.2 (#738) @MEGrimshaw
  • Snyk Upgrade pino from 6.5.1 to 6.11.0 (#737) @MEGrimshaw
  • Snyk Upgrade uuid from 8.3.0 to 8.3.2 (#739) @MEGrimshaw
  • Moved internal backends to VCL (#716) @KaarelKelk

  • MIGRATION Time Preferences (#799) @dijs
  • Skip maintenance mode for dark mode (#813) @dijs
  • Clear error boundaries after navigation. (#812) @markbrocato
  • MIGRATION Dark Mode (#801) @dijs
  • Fix % rounding display and staff mode error when no CWV data (#807) @kevhender
  • Remove viewport (#810) @leotoll

  • fix team search (#811) @adrien-k

  • Fix acme challenge typo (#808) @leotoll
  • DNS validation fix (#809) @leotoll

  • Revert back: New UX for RUM filters - L0-9451, L0-9665, L0-9450… (#806) @adrien-k

  • fix(Build) remove use of PageContext (#805) @adrien-k

  • Fixed ordering purge history. (#788) @KaarelKelk
  • Visual Improvements (#787) @dijs

  • fix(Devtools): edge hit flag ignoring re-entering x-xdn-t values (#745) @adrien-k
  • Changelog script updates for cleaner output and entry title (#746) @tristanlee85
  • L0-9547 - Fix issue with matching excluded paths with serveStatic on… (#747) @markbrocato
  • Fix for updating cert with fewer domains (#740) @leotoll

  • RUM v1 (#655) @kevhender
  • Ssl get old domains view + rename site ui tweak (#755) @leotoll
  • increase metrics client timeout to 5mins (#747) @KaarelKelk

  • Fixed a bug where the Layer0 CLI doesn't output the server URL on startu… (#743) @markbrocato
  • fix(UserLambdaLogStreamer): Moved end user lambda log stream to deplo… (#741) @MarkusTarn

  • L0-8956 - @layer0/starter service-worker.js: “process” is not defined… (#734) @markbrocato
  • Adds typings for @layer0/devtools

  • fix(StremingUserLambdaLogs) Added try catch for ensureAppStarted to i… (#726) @MarkusTarn

  • L0-8963 - @layer0/vue-storefront lambda fails to start (#731) @markbrocato
  • L0-8955 - Fix layer0 init for frontity (#730) @markbrocato

  • Validate Nuxt dependencies on build (#714) @tristanlee85

  • L0-8410 - Suggest users go to the forums to get help when a deployme… (#729) @markbrocato

  • Add service worker and prefetch support to @layer0/frontity. (#727) @markbrocato
  • Fix regression that caused --site option to be ignored when deploying. (#728) @markbrocato

  • Improve support for Webpack 4 and 5 on Next.js (#722) @markbrocato

  • L0-8788 - Provide a connector for frontity (#725) @markbrocato

  • L0-8749 - TypeError: prompts is not a function (#719) @markbrocato
  • L0-8205_Capture-console-output-of-user-lambda-during-deployment-and-prerendering-in-build-logs_Markus-Tarn (#713) @MarkusTarn

  • Add encoding as a dependency of @layer0/next so that create-next-app wor… (#715) @markbrocato

  • L0-8466 - Add @layer0/starter connector (#702) @markbrocato

  • L0-8466 - Add @layer0/starter connector (#702) @markbrocato

  • L0-8650 - Add --disable-permanent-assets deploy option (#710) @markbrocato
  • Prerender top (#620) @KaarelKelk

  • Make NextRoutes.render404 public. (#709) @markbrocato
  • Add Webpack 5 support to Next.js apps. (#708) @markbrocato

  • tests(ConsoleRedirect/ForwardQS): enable integration test (#687) @adrien-k
  • feat: CLI/layer0 env pull (#700) @adrien-k
  • Add xdn_eid cookie and related RUM server timings (#704) @ierceg
  • fix(BrokenSnapshot): Added missing json.escape() (#705) @MarkusTarn
  • L0-6660_Do-not-log-to-s3-access-logs-on-free-tier_Markus-Tarn (#688) @MarkusTarn
  • L0-8464_Build-fails-schema-validation-when-setting-sources-in-layer0configjs_Markus-Tarn (#703) @MarkusTarn

  • Next.js rewrites: Don't add additional route to rewrite json data URLs. (#698) @markbrocato
  • Don't flush on Layer0 version upgrade (#699) @ierceg

  • L0-8397 - Add support for Next.js running in an nx monorepo (#695) @markbrocato
  • fix(devtools/style): isolate style a bit more (#692) @adrien-k

  • Fix bug in url logging where field was not escaped (#694) @phdunham
  • Don't populate geo/UA headers when behind edge (#693) @ierceg

  • Add image optimizer (#686) @markbrocato
  • Copy over includeFiles and nodeModules before loading the router at b… (#689) @markbrocato
  • Preserve colors in output when running "layer0 dev" (#690) @markbrocato

  • feat(ConsoleRedirect): trim qs option + match with sorted qs (#682) @adrien-k

  • bump version (#685) @KaarelKelk
  • fix(Axios) Fix failing deploymnts due to maxBodyLength (#684) @KaarelKelk

  • L0-8150 - Wrong route being run when proxy is used with path and tra… (#683) @markbrocato

  • fix(Build): double logs on build fail + external messages (#681) @adrien-k

  • Add support for nuxt generate and static pages which fall back to SSR. (#671) @markbrocato

  • Fixing VSF (#676) @dijs

  • L0-8116_L0-cli-process-should-reflect-same-exit-code-as-its-child-process_Markus-Tarn (#680) @MarkusTarn
  • Adds a --connector option to layer0 init. (#679) @markbrocato
  • Don't allow built-in envvars to be overriden through dev console (#677) @ierceg

  • L0-7802 Republish connectors to public repo (#665) @tristanlee85
  • Fix local permanent asset support in dev and prod modes. (#678) @markbrocato

  • Increase default header size to 64kb (#669) @ierceg
  • layer0 7974 fix include files (#670) @markbrocato
  • Fix regression in 2.34 where renderNextPage with rewritten path fails to render in dev mode. (#667) @markbrocato

  • Bump axios from 0.19.0 to 0.21.1 in /packages/cli (#675) @dependabot
  • Bump axios from 0.19.2 to 0.21.1 in /packages/build-lambda (#674) @dependabot
  • feat: Preserve Cache + permanent assets (#645) @adrien-k
  • Don't cache fallback route for Angular/Spartacus (#672) @kevhender
  • fix x-xdn-destination destinationName escape in edge_recv_evaluate_de… (#673) @KaarelKelk
  • fix(Prerender) fix types (#668) @KaarelKelk
  • User lambda errors during deployment are not reported to CLI (#648) @MarkusTarn

  • Fix redirects with queries (#666) @ierceg

  • core API docs update (#663) @ianand
  • Use layer0 dev (#660) @markbrocato

  • layer0 7579 layer0 init doesnt create dependency files mark brocato (#656) @markbrocato

  • Fix caching manifest generation issue (#661) @ierceg
  • fix(proxy/edge): path with no / + fix(proxy/cloud) query-string forwarding (#662) @adrien-k
  • fix(Prerendering) fix retry (#655) @KaarelKelk
  • Bump ini from 1.3.5 to 1.3.8 in /packages/build-lambda (#659) @dependabot

  • L0-7844 - Issues with Next Commerce support (#658) @markbrocato
  • L0-7849 - serveStatic does not support nested paths (#657) @markbrocato
  • Introduce a formal Layer0 connectors API (#637) @markbrocato

  • Add checks before using endsWith (#651) @ierceg

  • Fastly cert update + multiple domain activation fix (#653) @leotoll

  • Improved error message if project fails due to missing @layer0/next build plugins (#652) @ianand
  • L0-7810 - Add support for fallback: 'blocking' in getStaticPaths() (#654) @markbrocato

  • Remove content-length setting on unzipping (#601) @ierceg

  • Added missing appShell (#649) @ierceg

  • fix(Redirect): bug in initialise build (#647) @adrien-k
  • test(ConsoleRedirect): enable integration test (#646) @adrien-k
  • Do not reenable clustering and shielding on ISG+deployment restarts (#643) @ierceg

  • L0-7693 - Next: SSG static data paths are not correctly prerendered (#644) @markbrocato
  • fix(core/redirect): query params (fixes the devtools docs redirect) (#608) @adrien-k

  • Localized rewrites not working in next commerce app (#641) @markbrocato
  • feat(redirects): implement global redirects (#627) @adrien-k

  • Don't set long TTL on revalidated assets (#640) @ierceg
  • L0-7650 - Route for /layer0/cache-manifest.js fails if route is de… (#639) @markbrocato
  • L0-7592 - Build fails when serveStatic points to a non-existing asset. (#633) @markbrocato

  • Log AWS subaccount ID to our Sumo access logs (#638) @ierceg
  • Prohibit the manipulation of content-length header directly from the router (#635) @ierceg
  • feat(Prerender) dump body on 534 (#636) @KaarelKelk

  • Adds renderWithApp ResponseWriter method. (#634) @markbrocato
  • Fix decoding of params for prefetch when values already have a % sign (#630) @kevhender

  • Fix integration tests (#631) @ierceg
  • Enable ISG (#600) @ierceg
  • fix(Actions) test new workflow env variable (#629) @KaarelKelk

  • Fix another cache poisoning (#611) @ierceg

  • @layer0/apollo now supports converting queries to GETs by operation and compressing them. (#560) @markbrocato
  • The @layer0/next plugin now supports webpack 5. (#603) @markbrocato
  • layer0 init now supports TypeScript (#607) @markbrocato
  • L0-6813 - Webpack fails on importing of @layer0/core (#605) @markbrocato

  • L0-6213 Spartacus integration improvement - first steps (#598) @kevhender

  • L0-6756 - Support distDir in next.config.js (#599) @markbrocato

  • Fix Module decode-uri-component not found (#595) @markbrocato

  • Always log user agent in user facing logs (#594) @ierceg
  • Add devgetCompleteEdgeConfig job (#593) @ierceg
  • Fix using custom servers in development. (#589) @markbrocato

  • L0-6589 Fix browser.maxAge: 0 interfering with edge caching (#590) @ierceg

  • Bump version to 2.27.1 (#591) @KaarelKelk
  • L0-6513_Edge-config-validation-errors-are-not-properly-shown-to-the-user_Markus-Tarn (#587) @MarkusTarn
  • feat(Prerendering) log response (#582) @KaarelKelk
  • Fix browser.maxAge: 0 interfering with edge caching (#588) @ierceg

  • Allow users to run downloaded deployments. (#576) @markbrocato
  • fix(Devtools): preserve original req (#586) @adrien-k
  • chore(build-lambda): remove secrets from logs + remove altHostnames +… (#584) @adrien-k
  • L0-6217_Raise-an-error-durring-deployment-if-any-of-the-backends-use-one-of-the-sites-domains-as-domainOrIp_Markus-Tarn (#573) @MarkusTarn
  • L0-6397 - Add source maps to router bundle to making debugging easie… (#580) @markbrocato

  • Log x-xdn-hit-request-id (#583) @ierceg

  • Fix watching of links for prefetching (#585) @kevhender

  • fix(Prefetcher): check origin (#581) @adrien-k

  • Add more logging on edge signature check (#571) @ierceg
  • feat(FastlyClient): retry on clone 409 (#579) @adrien-k
  • chore(lint): cover and fix ts files (#561) @adrien-k
  • L0-5841_Allow-string-for-headercookiequery-matching-not-just-Regex_Markus-Tarn (#558) @MarkusTarn

  • Emulate edge locally by adding parameter interpolation in response.setHeader (#467) @phdunham
  • Update @layer0/prefetcher to check query parameters (CU-L0-514) (CU-L0-5937) (#539) @kevhender

  • Fix logo (#574) @ierceg
  • fix(Devtools): isolate Devtools style + fix reload + add clear btns (#570) @adrien-k
  • Raise 500 when router path matching is bad including partial splats (#556) @ierceg

  • Preloading logs (#566) @KaarelKelk

  • fix(withLayer0): try fixing integration tests (#569) @adrien-k
  • fix(Preloading) when no requests are sent back to le-deployer (#563) @KaarelKelk
  • Fix Layer0 reentry when clients forward all the headers including Fastly-FF (#567) @ierceg
  • feat(Devtools): Allow enabling/disabling the devtools (#554) @adrien-k
  • Adds layer0.config.js to the src directory in the uploaded bundle. (#568) @markbrocato
  • Fix the bad header name in Spartacus package (#565) @ierceg

  • fix(Build-lambda): override stable-2 (#564) @adrien-k

  • Bump version to 2.22.0 (#562) @KaarelKelk
  • feat(Preloading) Adds a static prerendering option to Router (#458) @markbrocato
  • L0-5390_Validate-domain-names_Markus-Tarn (#553) @MarkusTarn
  • Update readme to reflect spartacus integration tests required maintenance work (#538) @leotoll
  • Fix next peerDependency in @layer0 and automatically add @layer0/svelte whe… (#535) @markbrocato
  • chore(prettier): harmonize prettier and format more file types (#547) @adrien-k
  • fix(Fastly): expose invalid backend domain error (#550) @adrien-k
  • Remove xdn_pref_headers param (#518) @kevhender
  • feat(Devtools/Visualizer) (#509) @adrien-k

  • Add req.protocol (#551) @ierceg

  • Do not leak auth header upstream (#549) @ierceg
  • fix(CallbackApi): fix awaitFlushed, add timeout and retry + unit tests (#543) @adrien-k

  • Fix trailing query string in lambda (#546) @ierceg
  • Make createGroups param of addCookie optional (#540) @kevhender

  • fix(CallbackLogger) fixed message flush race condition (#542) @KaarelKelk
  • Fix initialization build problem (#544) @ierceg

  • Allow opt-in support for HTTP protocol (#533) @ierceg

  • L0-5643 - Environment variables from the Layer0 Developer Console are now accessible at build time when using a deploy token (#526) @markbrocato

  • Fix error with babel-loader not being found in Next.js apps starting … (#536) @markbrocato

  • Add --includeSources CLI option. (#523) @markbrocato
  • L0-5761 - Add @layer0/react when running layer0 init in gatsby app (#534) @markbrocato
  • L0-5749 - Improve Layer0 install time by removing serverless (#531) @markbrocato
  • L0-5753 - Fix issue with websocket requests failing during local dev… (#532) @markbrocato

  • L0-5686 - Minimize Nuxt.js serverless bundle size (#528) @markbrocato
  • Minimize router bundle size (#529) @markbrocato
  • Send custom message for Fastly 500 errors (#524) @ierceg

  • Enable build lambda deploys to sandbox (#527) @ierceg
  • Nuxt: static routes should take precedence over dynamic routes. (#525) @markbrocato
  • Use random fastly API tokens provided by LD, if available (#508) @ierceg
  • Fix console output to JSON doesn't capture all args (#521) @ierceg
  • L0-5466 - Embed the router in the uploaded build (#514) @markbrocato

  • L0-3005 - Support for basic auth (#519) @markbrocato
  • L0-5587 - Fix issue where catch-all routes incorrectly take preceden… (#520) @markbrocato
  • Improve error message that is shown when deployment fails due to an error in the user's application code. (#517) @markbrocato
  • Improve user errors on edge deploy (#502) @MarkusTarn
  • Add integration tests for force-private-caching override (#513) @ierceg

  • Added paths config support (#515) @dijs
  • Allow backends to have custom ports at and above 443 (#516) @ierceg

  • Allow for not-present matching for headers, cookies and query parameters (#511) @ierceg
  • Fix header name comparison to be case-insensitive (#511) @ierceg

  • Reset private caching to false only if explicitly requested in the router (#512) @ierceg

  • L0-5528 - Support hardcoded paths in Next.js rewrites (#510) @markbrocato

  • Improve CLI output: Add a clearer deployment complete message. (#505) @markbrocato

  • Don't add default router and service worker to the user's app on ever… (#507) @markbrocato

  • L0-5422 Ensure that manual edits to the changelog are preserved (#506) @tristanlee85
  • L0-5414 - Use --standalone to bundle dependencies when running nuxt … (#501) @markbrocato

  • Update Sapper integration test to match the docs and not include node… (#504) @markbrocato
  • Remove obsolete domain check to enable wildcard reverse proxy in edge (#503) @ierceg
  • Allow relative paths when deep fetching from JSON (#498) @kevhender

  • Apollo prefetching now uses GETs for all queries. (#500) @markbrocato

  • Fix L0-5364 - Next.js redirect to remove trailing slash prevents fal… (#496) @markbrocato
  • feat(CLI): Require node version: 12 or newer (#495) @adrien-k
  • L0-5258 Generate changelog when publishing release (#497) @tristanlee85
  • docs(README): add link to docs (#499) @adrien-k

  • Update integration tests for POST/GET&xdn_prefetch=1 caching (#494) @phdunham
  • Next.js: Fix layer0 build on windows (#492) @markbrocato
  • Fix coverage of nextRoutes (#493) @leotoll

  • feat(frameworks): add Gatsby support + serve static root document (#474) @adrien-k

  • Sapper: Remove extra service-worker route from the default routes.js file add… (#491) @markbrocato

  • Next.js: pages/404.js now properly functions as the default fallback (#478) @leotoll
  • Fix bug in @layer0/sapper where the service worker would not be loaded i… (#490) @markbrocato

  • Fix issue where pages/api/index.js was not being resolved by the Layer0 … (#488) @markbrocato

  • feat(Errors): enhance user-facing fastly errors (#480) @adrien-k
  • Fix bug when using proxy with path option and a catch-all or optional… (#482) @markbrocato
  • Run request/response header manipulation in compute/trasnform (#483) @ierceg
  • Add functionality for prefetching GQL requests. (CU-a6axpw) (#451) @markbrocato
  • Add x-xdn-user-t to server-timing response header (#484) @ierceg
  • Bump node-fetch from 2.6.0 to 2.6.1 in /integration-tests/edge (#487) @dependabot
  • Bump node-fetch from 2.6.0 to 2.6.1 in /packages/core (#486) @dependabot
  • Add support for running Sapper apps with layer0 run --production (#481) @markbrocato
  • Log 503 errors generated by shield (not just edge) (#479) @phdunham

  • Fix Layer0-on-Layer0 caching issues (#431) @ierceg
  • fix(MatchQuery) added edge config tests (#477) @KaarelKelk

  • Adds support for the Sapper framework (#462) @markbrocato
  • feat(CLI): log failed build output in LD (#452) @adrien-k
  • Bump yargs-parser from 15.0.0 to 15.0.1 in /packages/cli (#475) @dependabot

  • feat(MatchQuery) added criteria.query to match query params - L0-533 (#461) @KaarelKelk
  • Optimize router loop unrolling by using equivalency chains (#472) @ierceg
  • fix(handler/logs): wrap console AND streams + remove globals (#471) @adrien-k
  • fix(Route) Matching headers returned true for single header match (#469) @KaarelKelk

  • Lower the ACL limit to 900 to avoid Fastly's spurious API errors (#473) @ierceg

  • Move static method to RouteGroup (#465) @markbrocato

  • Fix bug where layer0 init fails if a supported web framework is not dete… (#470) @markbrocato
  • Ignore query params when watching links to prefetch (#444) @kevhender

  • Optimize x-xdn-original-qs to be injected only when qs are changed (#468) @ierceg

  • Fix caching of static pages in NextRoutes. (#464) @markbrocato
  • Fix memory overconsumption in moov_hash (#463) @ierceg
  • Router static implementation for next (#428) @leotoll
  • Improve ci time (#447) @leotoll
  • Inject example x-xdn-geo- headers when running locally for easier testing. (#460) @phdunham
  • Emulate edge by injecting headers based on user-agent (#457) @phdunham

  • feat(core/Router): prevent adding routes after fallback statement (#453) @adrien-k
  • fix(consoleWrapper): shim stdout/stderr to encapsulate in json (#432) @adrien-k
  • L0-1438 - Fix bug where using an async callback in compute() results… (#456) @markbrocato
  • fix(@layer0/angular) Fix link command (#436) @KaarelKelk
  • Update the color scheme of the logo in the CLI. (#455) @markbrocato
  • Emulate edge's x-xdn-client-ip header when running locally (#454) @phdunham

  • Corrected API documentation comment (#450) @ianand
  • Order predefined routes before dynamic routes (#440) @dijs
  • Angular fixups (#446) @tonylepmets

  • PC-2330 - add Fastly API retry on 500 or 503 errors (#441) @phdunham
  • Disable request coalesing on shield (#448) @ierceg

  • v1 back port Disable request coalescing on shield (#449) @ierceg

  • Fix bug where context.params was undefined in getServerSideProps and getInitialProps in development when using layer0 run. (#443) @dijs
  • Adds a compute() function to ResponseWriter to compute responses in t… (#442) @markbrocato
  • Support service workers and prefetching in Nuxt apps when running in … (#445) @markbrocato

  • v1: Add ability to completely turn off edge/browser caching for a route (back port of #435 to v1) (#437) @ierceg
  • Don't use latest tag any more (#434) @ierceg

  • No changes - releasing as the previous release went out incorrectly as 2.2.1

  • Add ability to completely turn off edge/browser caching for a route (#435) @ierceg

  • 1.x Adds a new timing API to allow users to track the performance of thei… (#430) (#433) @ierceg

  • Adds a new timing API to allow users to track the performance of thei… (#430) @markbrocato
  • Upgrade next tests to 9.5 (#429) @ierceg
  • Fix issue during layer0 build with Next.js apps that use source maps. (#423) @markbrocato
  • Add service worker to new Nuxt.js apps. (#427) @markbrocato
  • Fix bug when Next.js rewrites and redirects functions are async. (#425) @markbrocato

  • Install @layer0/vue as a runtime dependency. (#421) @markbrocato
  • Make cors config optional for prefetch options (#424) @kevhender
  • Fix VCL code generation with conditions containing double quotes (#426) @ierceg
  • Add spartacus tests (#415) @leotoll
  • Make cors config optional for prefetch options (#420) @kevhender
  • Update "current" folder with latest when pushing new docs (#422) @kevhender

  • Add NODE_ENV production to build lambdas (#419) @ierceg
  • Add appShell method to ResponseWriter. (#413) @markbrocato
  • PC-2313 - Fix nuxt es6 prod (#418) @markbrocato

  • Support src/pages in Next.js apps. (#417) @markbrocato