• fix DnsCheckScheduler failure @adrien-k (#1350)

  • fix DnsCheckScheduler failure @adrien-k (#1350)

  • Adding Nuxt3 connector (#1214) @dijs
  • Improves the developer experience when using the Layer0 Express connector (#1212) @markbrocato
  • Added flags for local, dev and stage (#1040) @MarkusTarn

  • fix(Metrics): fix cache metrics for v4 @adrien-k (#1344)

  • Mark build completed when theres any success receipts and check after… @KaarelKelk (#1337)

  • Mark build completed when theres any success receipts and check after… @KaarelKelk (#1337)

  • fix(DNS): add cname back as alternative @adrien-k (#1331)

  • Updating JSCodeshift (#1189) @dijs
  • Added canceled build status (#1112) @MarkusTarn

  • fix(waf): domain based on subaccount + fix schema.rb @adrien-k (#1327)
  • fix(NodeSync/Cert): potential cache poisoning @adrien-k (#1325)
  • Fix the layout of text components within build status when wrapping @markbrocato (#1324)

  • Fixed running compileEdgeCode job on v1-3 @KaarelKelk (#1318)
  • Added flag to skip fastly deployment for v1-3. @KaarelKelk (#1313)

  • Bump version to 4.8.4 (#1178) @KaarelKelk
  • Bumped compiler to 1.2.1 (#1177) @KaarelKelk
  • Allow manipulation of non-critical x-0-* headers (#1147) @KaarelKelk

  • Fixed running compileEdgeCode job on v1-3 @KaarelKelk (#1318)
  • Added flag to skip fastly deployment for v1-3. @KaarelKelk (#1313)

  • Fix Couldn't find BuildPreload with 'id' @KatreMetsvahi (#1307)
  • DNS setup: only show A record setup @KatreMetsvahi (#1304)
  • chore(xdn-version): retire v3 below v3.17.7 / v2 below v2.53.4 @adrien-k (#1297)
  • fix(onboading): active url for staging @adrien-k (#1302)
  • Get anycast IP list from env var @KaarelKelk (#1306)
  • Fix broken not found page when not logged in @KatreMetsvahi (#1279)
  • Contain framework icon width @tonylepmets (#1305)

  • feat(Onboarding): use CNAME for origin, if any @adrien-k (#1301)
  • chore(CertScheduler): reduce pull interval to 2minutes @adrien-k (#1300)
  • chore(xdn): keep using BWI for 3 below v3.17.7 / v2 below v2.53.4 @adrien-k (#1298)
  • Implement new site creation flow @tonylepmets (#1268)
  • Implement SSL generation UX redesign @KatreMetsvahi (#1285)
  • Upgrade navi and react-navi @KatreMetsvahi (#1293)
  • Updated shield on us-east. bwi=>iad @KaarelKelk (#1294)
  • Debounce search query on spotlight search @KatreMetsvahi (#1292)
  • fix(Onboarding): site site+onboarding+cert deletion + other improvements @adrien-k (#1291)
  • feat(UploadSSL): finalise security cleanup @adrien-k (#1289)
  • Onboarding improvements v3 @tonylepmets (#1287)
  • feat(Onboarding): refresh TSL step on cert activation @adrien-k (#1290)

  • Remap BWI and DCA to IAD; add IAD (#1169) @ierceg

  • 0 init now handles the case where package.json is missing the name field + fixes (#1167) @markbrocato
  • Snyk Upgrade: @babel/parser, @babel/traverse (#1128) @MEGrimshaw
  • Snyk Upgrade: @babel/parser, @babel/traverse (#1141) @MEGrimshaw
  • Snyk Upgrade pino from 6.11.2 to 6.13.3 (#1156) @MEGrimshaw
  • Snyk Upgrade pino from 6.11.2 to 6.13.3 (#1166) @MEGrimshaw

  • Bumped version to 4.7.1 (#1160) @KaarelKelk
  • Added retry on compiler EPIPE error (#1158) @KaarelKelk

  • Bumped version to 4.7.1 (#1160) @KaarelKelk
  • Added retry on compiler EPIPE error (#1158) @KaarelKelk

  • fix(bl/UploadSSL): pkey from ASM and activate cert only on active domains (#1135) @adrien-k

  • feat(StableJob): allow overriding alias function @adrien-k (#1280)
  • fix(NodeSync/cache-purge): max payload size @adrien-k (#1284)
  • Request build page logs on demand @tonylepmets (#1277)
  • fix(Onboarding): active url for CLI + production env @adrien-k (#1283)

  • Check if directory already exists when creating a new app. (#1157) @markbrocato
  • Adds a connector for Astro (#1068) @markbrocato

  • Fix dark mode in support page @tonylepmets (#1278)

  • Fix broken caching tab @kevhender (#1276)

  • feat(Domain): put wildcard domain behind featureflag @adrien-k (#1275)

  • Further enhancements to the Layer0 CLI init command to improve onboarding. (#1144) @markbrocato
  • Warn when existing SW configuration found in next config (#1133) @tonylepmets
  • Add isPlatform flag (#1142) @ierceg

  • fix(Onboarding): edge case @adrien-k (#1253)

  • Bump version to 4.5.1 (#1140) @KaarelKelk
  • Bump compiler to 1.0.6 (#1139) @KaarelKelk
  • fix(devtools): use layer0 logo when minimized (#1137) @adrien-k

  • fix(Onboarding): step checks @adrien-k (#1251)

  • fix(Onboarding): step checks @adrien-k (#1251)

  • Show existing split testing rules when conditions not met @tonylepmets (#1248)

  • layer0 init command can now create new apps or add layer0 to an existing app (#1132) @markbrocato
  • Added edge test route for escape sequences on synthetic response (#1136) @KaarelKelk

  • Add setHeader, removeHeader, and getHeader functions to Request to give it parity with Response. (#1121) @markbrocato

  • fix(build-lambda/UploadSSL: skip domains not managed on Fastly (#1134) @adrien-k

  • Bumped version to 4.3.2 (#1131) @KaarelKelk
  • Bumped compiler version to 1.0.5 (#1130) @KaarelKelk
  • Added edge tests for synthetic response encodings (#1129) @KaarelKelk

  • Bump to v4.3.1 (#1120) @adrien-k
  • Fix compiler domain (#1066) @ierceg
  • fix(Devtools): CachingStatus layout + local timing headers (#1116) @adrien-k
  • fix(cli/git): silent error when no repository (#1119) @adrien-k

  • Bumped compiler version to 1.0.4 (#1117) @KaarelKelk
  • Log build output when build is successful (#964) @KaarelKelk
  • Add compiler version to console (#1105) @KaarelKelk
  • fix(Devtools): edge header parsing (#1114) @adrien-k
  • Update peer dependencies major version (#1113) @tonylepmets
  • esbuild output should always go to .js file (#1111) @tristanlee85
  • Add 'config set-backend' subcommand to CLI (#1106) @tristanlee85

  • feature: CDN onboarding @adrien-k (#1227)
  • Added compiler and varnish version to UI @KaarelKelk (#1220)
  • fix(BuildDeletion): skip after_retire hook @adrien-k (#1225)

  • Added transformation for empty response set-header value. (#1110) @KaarelKelk

  • Added transformation for empty response set-header value. (#1110) @KaarelKelk


  • fix(UpdateTeam): dont track update if update fails @adrien-k (#1231)
  • Provisioning improvements @tonylepmets (#1228)
  • feat(Account/ApiKeys): fix wording @adrien-k (#1229)

  • Update project setup instructions @KatreMetsvahi (#1226)
  • Increase server concurrency + fix cache purge progress for old CLI @adrien-k (#1224)
  • Fix M1 local env @tonylepmets (#1223)

  • Added table for api keys @MarkusTarn (#1221)

  • Bump compiler version to 1.0.2 (#1096) @KaarelKelk
  • Sveltekit support (#1093) @dijs

  • Handle all possible format requests in controllers @tonylepmets (#1222)
  • cli-login-vulnerability @MarkusTarn (#1216)
  • Allow specifying image override when provisioning accounts @tonylepmets (#1219)
  • Fix staff mode bugs @KaarelKelk (#1214)
  • chore(Security): increase min password length to 8 @adrien-k (#1215)
  • Only send browser errors to Airbrake in Production @kevhender (#1218)
  • Added missing receipts to airbrake error @KaarelKelk (#1217)
  • 1 click deploy improvements @dijs (#1168)
  • Fixed edge case where user can get stuck in deploy screen @dijs (#1140)
  • chore(User): add @llnw.com as internal email domain @adrien-k (#1213)
  • fix(Build): retirement race condition @adrien-k (#1211)

  • Bump compiler version to 1.0.2 (#1096) @KaarelKelk
  • Sveltekit support (#1093) @dijs

  • fix(Build): race condition leading to active build being retired @adrien-k (#1210)
  • fix(LLNW): fail build if no receipts at all after 60s @adrien-k (#1209)
  • Show all build jobs @leotoll (#1144)

  • Revert "Sveltekit Connector Updates (#1086)" (#1091) @KaarelKelk

  • Feature: Edge deployments on updated global infrastructure
  • Feature: EdgeJS support for caching based on request POST body
  • Feature: EdgeJS support for caching GraphQL by operation
  • Sveltekit Connector Updates (#1086) @dijs
  • fix(core/handler): remove env scrubbing (#1088) @adrien-k

  • fix(Airbrake): cert global version conflict + progress_pct @adrien-k (#1206)
  • Caching tab fixes: total cache rate calculation, extraneous labels @kevhender (#1207)

  • Add cache rate graph to route details page @kevhender (#1193)
  • Show "no serverless function" message when memory chart is empty @kevhender (#1194)
  • Some responsive view cleanup @kevhender (#1189)
  • Add button to filter routes table for cacheable routes @kevhender (#1196)
  • Fixed 500 error on build promotion @KaarelKelk (#1200)

  • Added support for next project without next config (#1079) @dijs

  • Added cookie options to addResponseCookie (#1074) @dijs

  • Log cache purge user errors @adrien-k (#1191)

  • Log cache purge user errors @adrien-k (#1191)

  • fix(NodeSync): receipts in redis and other perf fixes @adrien-k (#1186)
  • Fix threshold gradient colors @kevhender (#1187)
  • Temporarily disable cache purge tracking @kevhender (#1185)

  • Fixing jscodeshift version issue (#1069) @dijs

  • fix(NodeSync): receipts in redis and other perf fixes @adrien-k (#1186)
  • Fix threshold gradient colors @kevhender (#1187)
  • Temporarily disable cache purge tracking @kevhender (#1185)

  • fix(LambdaJob): limit logs to 2MB @adrien-k (#1176)
  • Fixed links for readme.md on rake tasks docs @KaarelKelk (#1177)

  • Show log statements without accordions when Deep Request Inspection isn't enabled @kevhender (#1173)
  • Fix encoded responses shown in Deep Request Inspection @kevhender (#1174)
  • Added timestamp to edge config and purges response @KaarelKelk (#1175)

  • Leo script for validating certs on llnw @KaarelKelk (#1172)
  • Updated rake task to recompile fastly+v4 deployments @KaarelKelk (#1171)
  • chore(NodeSync): speed-up EdgeConfiguration#edge_artifact preloader @adrien-k (#1170)

  • chore(NodeSync): fix order and N+1 queries @adrien-k (#1169)
  • chore(NodeSync): enable caching with redis @adrien-k (#1165)
  • Only copy layer0 workflow in 1 click deploy process @dijs (#1167)
  • fix(BuildPage-perf): truncate routes to 300LOC by default @adrien-k (#1166)

  • chore(LambdaJob): clear old cache purge jobs + add index @adrien-k (#1161)
  • fix(Environment): ensure default subdomain max length @adrien-k (#1159)
  • Fixed hostname for split testing rules @KaarelKelk (#1164)

  • chore(NodeSync): skip cache until fix @adrien-k (#1163)

  • NodeSync Performance tweaks @adrien-k (#1160)
  • Use Rails cache for faster v4 API calls @kevhender (#1150)

  • V4 cache purging @leotoll (#1114)
  • added LL backup IP @MEGrimshaw (#1157)

  • fix(NodePing): update last_ping max every 30s @adrien-k (#1152)
  • chore(deploys): deprecate v1 \& v2 deploys @adrien-k (#1149)

  • Added task to recompile environments @KaarelKelk (#1141)

  • Fixed issue where github deploy would allow you to deploy without being authenticated @dijs (#1138)
  • Include nat_gateway ips in whitelisting @KaarelKelk (#1139)

  • Allow for nested objects to be passed as query params (#1038) @kevhender
  • fix(BuildLambda) Fixed lambda updated state mechanism (#1041) @KaarelKelk

  • fix(SubAccount): prevent status stuck in progress @adrien-k (#1133)
  • Added node ping endpoint @KaarelKelk (#1134)

  • Minor Console updates (#1129, #1130, #1131)

  • forbid all AWS* env vars @leotoll (#1127)

  • fix(GithubDeploy) incorrect branch on deploys causing failures. @KaarelKelk (#1125)

  • Add additional validation, make intermediate required @leotoll (#1119)
  • Fix node_sync cert api @leotoll (#1123)

  • Cache manifest 500 (#1018) @leotoll

  • Added new build domains @KaarelKelk (#1120)

  • Add default backend so init -> deploy works immediately for React (#1015) @kevhender

  • Update peer dependencies to include Next 11 (#1006) @kevhender

  • Fix doc comments on ResponseWriter (#1007) @tristanlee85

  • Add is_valid_for_haproxy scope to certs @markbrocato (#1118)
  • Clear leading zero from split testing config @kevhender (#1115)

  • NextJS Bundle Update (#994) @dijs
  • Allow for modifying existing next.config.js files (Next.js 11 compatibility) (#1001) @kevhender

  • Add an error message for when query param misses query times out @kevhender (#1107)

  • Use unix-style paths for includeFiles (#995) @tristanlee85

  • Log more edge data for easier troubleshooting (#985) @ierceg
  • Add missing typedocs for prefetch (#978) @tristanlee85

  • Improve certificate errors @leotoll (#1102)
  • Hide missing data and show warning when metrics are backfilling @kevhender (#1097)

  • Add URL to redirect to a build by environment id and build number @markbrocato (#1096)
  • Increased TTL on build upload to 1h @KaarelKelk (#1095)
  • Fixed Deleting env @KaarelKelk (#1099)
  • Fixed cache purge history in UI @KaarelKelk (#1098)

  • Fixed filter keys @KaarelKelk (#1094)

  • Added User-Agent to build-snapshot @KaarelKelk (#1085)

  • XDN-12736 - Set correct preload type as defined or inferred from extension (#972) @tristanlee85

  • Show correct value for access log status @kevhender (#1077)
  • Fix staff metrics ID override to not combine stats @kevhender (#1072)

  • fix frozen cert state @leotoll (#1069)
  • Remove autopilot on invite @leotoll (#1068)

  • Add script to easily restart ECS Service @Th0masL (#1065)
  • Debug cert frozen state @leotoll (#1064)

  • Use alpine image with specific image sha @KaarelKelk (#1058)

  • XDN-12736 - Set correct preload type as defined or inferred from extension (#972) @tristanlee85

  • Hide buggy graphs @kevhender (#1054)
  • Fix code tooltips in light mode @kevhender (#1053)
  • Hide unused column @kevhender (#1052)

  • Bumped version to 3.16.1 (#971) @KaarelKelk
  • XDN 11469 Support Router.catch for rendering error pages (#957) @KaarelKelk
  • Add byof tests (#966) @leotoll

  • Memory Over Time traffic chart @kevhender (#1046)
  • XDN-10957 - Add most frequently shifted element to CLS, ILS @kevhender (#943)
  • XDN-10781 - Queuing and Concurrency UI @kevhender (#930)

  • Added perimeter 81 ips to network tab whitelisting @MarkusTarn (#1049)
  • Fix axis label for Queuing chart @kevhender (#1050)

  • Build subdomain is now slugified @MarkusTarn (#1028)
  • Deep Request Inspection improvements - More timestamps, don't clear on pause, alignment fixes @kevhender (#1047)
  • Fix auto cert renewal @leotoll (#1051)
  • Fix incorrect path for S3 sync @tristanlee85 (#1048)

  • Fixed a bug where dns information is not available for staff @KaarelKelk (#1045)
  • XDN-12367 Update publish workflow to push changelog to S3 @tristanlee85 (#1043)
  • Fix pagination bug for logging-tokens @phdunham (#1044)

  • Use google dns @leotoll (#1042)

  • More Responsive Work @dijs (#1036)
  • Fixed React warnings around Avatar Tooltip @dijs (#1037)
  • Fix TLS for staff @leotoll (#1040)

  • XDN-12560 - Allow non-fallback routes after router.use() (#965) @markbrocato

  • MIGRATIONS BYO Fastly @leotoll (#1022)
  • Added optional tooltip to user avatar. @dijs (#1030)

  • BYOF polishing @leotoll (#1034)
  • add email to deploy identify @leotoll (#1033)

  • Fix header items being cut off, empty team page responsive layout @kevhender (#1032)
  • Invalid metrics query will not be executed when no fastly_service_id @MarkusTarn (#1024)

  • XDN-12520 - Next.js: support rewrites to 3rd party origins (#963) @markbrocato

  • Validated Layer0 support for Next.js 11. Updated Layer0's Next.js examples to Next.js 11.
  • XDN-12516 - Next.js: rewrites.fallback loaded in the wrong order (#962) @markbrocato
  • XDN-12514 - Next.js: Static pages with revalidate return 404 status w… (#961) @markbrocato
  • Added new prefetch query param (#955) @dijs
  • Reworded customer facing error message for domain already taken (#959) @dijs
  • XDN-11746 Warn if deploying to private space if site exists on another team (#938) @tristanlee85

  • Http logging enhancements @MarkusTarn (#1023)
  • feat(Metrics) Support .catch error page routes in metrics @KaarelKelk (#1029)
  • Fixed Layer0 messaging in 1 click deploy @dijs (#1027)

  • Next.js: Fix bug where static pages with dynamic routes and no getStaticProps are not routed correctly @markbrocato

  • Add req.connection.encrypted flag (#951) @ierceg

  • Improve reliability of certificate activation (#953) @leotoll
  • Fix a bug where deployments are marked as failed if the user quits the CLI while waiting for the release to propagate to the nearest global POP (#952) @KaarelKelk

  • Added Domain query @MarkusTarn (#1021)
  • More mobile-friendly responsiveness fixes - Support form, My Account, others @kevhender (#1019)

  • Fix setting headers to array broken in production mode (#941) @ierceg

  • Mobile-friendly header/menu and login page @kevhender (#979)
  • Added information about 15s delay on server logs @MarkusTarn (#1009)
  • Remove nowrap from DateValue @KaarelKelk (#1020)
  • Using 1 commit to clone for 1 click deploy @dijs (#1016)
  • Fix background of some code tags @kevhender (#1006)

  • Next.js: Fix regression in 3.12.0 where deploys fail with a message a… (#945) @markbrocato

  • Next.js: Fixes a bug where a statically built homepage is never revalidated. (#944) @markbrocato
  • Add connector for nuxt/nitro (#927) @markbrocato

  • Log AWS region (#935) @dijs
  • XDN-11818 - Improve type annotations (#930) @markbrocato
  • Add new worker metrics (#932) @ierceg

  • Fix provisioning page may be served on already activated services (#942) @ierceg

  • Added option to search for both, server logs and deployment logs. @MarkusTarn (#1012)
  • Added statuspage embed code @KaarelKelk (#1014)

  • Query variable now overrides the selectedRoute from withQueryNavigati… @MarkusTarn (#1000)

  • feat(BuildSnapshot) Implemented snapshot model MIGRATION @KaarelKelk (#959)

  • Added robots noindex to provisioning page @KaarelKelk (#1004)
  • Fixed local env not having RELEASE_NR env var breaks console @MarkusTarn (#1008)

  • Remove console.log from NextRoutes when processing rewrites (#936) @markbrocato
  • XDN-11105 - Spartacus - Prefetching Header size issue (reapply #877 to 3.x) (#928) @ierceg

  • Removed environment limit for free tier @KaarelKelk (#998)
  • Fixed metrics service returning criteria string not parsable @MarkusTarn (#999)
  • Add "Copy as cURL" button to requests on full-stack debugger @kevhender (#992)
  • Allow unauthenticated Layer0 support ticket form, add reCAPTCHA @kevhender (#990)
  • Set min width for MenuItem to be same as Button @dijs (#997)
  • Added information about whitelisting domains @dijs (#978)
  • Change cert renewal to 40 days @leotoll (#996)

  • XDN-11726 - Add tooltips to status codes on Traffic tab @kevhender (#994)
  • Change from CWV -> Regular site when deploying @kevhender (#995)
  • Add Wildcard support for Layer0 SSL Certificate @Th0masL (#993)
  • Fix background color for CWV labels @kevhender (#991)

  • XDN-11436 - Next.js support rewrites.has (#915) @markbrocato
  • Add edge ping built-in route (#918) @ierceg

  • XDN-9763 Request logging (#868) @ierceg
  • Snyk Upgrade ts-loader from 8.0.18 to 8.2.0 (#921) @MEGrimshaw
  • Always force pass on disabled caching (#924) @ierceg

  • Full-stack debugger: Fix fullscreen, auto-pause when messages stop coming @kevhender (#987)
  • Correct XDN text for github deploy steps @tristanlee85 (#984)


  • Temporarily remove recaptcha for help form @kevhender (#986)

  • XDN-11658 - Routers that use #dir and build on windows can fail in th… (#920) @markbrocato

  • Always force pass on disabled caching (#922) @ierceg

  • Spotlight Search @MarkusTarn (#901)

  • Allow setting of a wider set of CDN headers through the router (#917) @ierceg

  • 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