From e76a849a2e0647c375f98ed86b70e4aa959c2ee5 Mon Sep 17 00:00:00 2001 From: Kian Newman-Hazel Date: Tue, 11 Feb 2025 17:36:14 +0000 Subject: [PATCH 1/2] [Docs Site] Merge release-notes into changelogs --- .github/CODEOWNERS | 46 ++-- package-lock.json | 224 ++++++++++++------ package.json | 5 +- public/_redirects | 179 +++++++++++++- .../2024-02-03-terraform-v5-screenshot.png | Bin .../{changelog-next => changelog}/hero.svg | 0 src/components/ProductChangelog.astro | 147 +++--------- .../Header.astro | 8 +- .../ProductPills.astro | 0 src/content.config.ts | 13 +- .../2024-10-24-workflows-beta.mdx | 0 .../2024-11-11-cache-no-store.mdx | 0 .../2024-12-11-hyperdrive-caching-at-edge.mdx | 0 .../2024-12-29-faster-builds.mdx | 0 .../2025-01-07-aig-provider-deepseek.mdx | 0 .../2025-01-07-d1-faster-query.mdx | 0 .../2025-01-15-workflows-more-steps.mdx | 0 .../2025-01-26-worker-binding-methods.mdx | 0 ...5-01-27-kv-increased-namespaces-limits.mdx | 0 ...tomated-private-database-configuration.mdx | 0 .../2025-01-28-nodejs-compat-improvements.mdx | 0 ...01-30-browser-rendering-more-instances.mdx | 0 ...tream-generated-captions-new-languages.mdx | 0 .../2025-01-31-html-rewriter-streaming.mdx | 0 ...-01-31-workers-platforms-static-assets.mdx | 0 .../2025-02-03-terraform-v5-provider.mdx | 2 +- .../2025-02-03-workers-metrics-revamp.mdx | 0 ...-aig-provider-cartesia-eleven-cerebras.mdx | 0 .../2025-02-04-radar-ai-insights.mdx | 0 .../2025-02-05-aig-request-handling.mdx | 0 ...-07-new-ways-to-get-started-on-workers.mdx | 0 .../access.yaml | 0 .../ai-gateway.yaml | 0 .../api-deprecations.yaml | 0 .../api-shield.yaml | 0 .../beacon-min-js.yaml | 0 .../{changelogs => changelogs-old}/bots.yaml | 0 .../browser-isolation.yaml | 0 .../browser-rendering.yaml | 0 .../{changelogs => changelogs-old}/byoip.yaml | 0 .../{changelogs => changelogs-old}/cache.yaml | 0 .../{changelogs => changelogs-old}/calls.yaml | 0 .../{changelogs => changelogs-old}/casb.yaml | 0 .../{changelogs => changelogs-old}/d1.yaml | 0 .../data-localization.yaml | 0 .../ddos-http.yaml | 0 .../ddos-network.yaml | 0 .../{changelogs => changelogs-old}/ddos.yaml | 0 .../{changelogs => changelogs-old}/dex.yaml | 0 .../{changelogs => changelogs-old}/dlp.yaml | 0 .../{changelogs => changelogs-old}/dns.yaml | 0 .../durable-objects.yaml | 0 .../email-security.yaml | 0 .../fundamentals.yaml | 0 .../gateway.yaml | 0 .../hyperdrive.yaml | 0 .../images.yaml | 0 .../{changelogs => changelogs-old}/kv.yaml | 0 .../load-balancing.yaml | 0 .../{changelogs => changelogs-old}/logs.yaml | 0 .../magic-cloud-networking.yaml | 0 .../magic-firewall.yaml | 0 .../magic-network-monitoring.yaml | 0 .../magic-transit.yaml | 0 .../magic-wan.yaml | 0 .../network-interconnect.yaml | 0 .../notifications.yaml | 0 .../page-shield.yaml | 0 .../{changelogs => changelogs-old}/pages.yaml | 0 .../queues.yaml | 0 .../{changelogs => changelogs-old}/r2.yaml | 0 .../{changelogs => changelogs-old}/radar.yaml | 0 .../risk-score.yaml | 0 .../{changelogs => changelogs-old}/rules.yaml | 0 .../security-center.yaml | 0 .../spectrum.yaml | 0 .../{changelogs => changelogs-old}/ssl.yaml | 0 .../stream.yaml | 0 .../tenant.yaml | 0 .../{changelogs => changelogs-old}/trace.yaml | 0 .../tunnel.yaml | 0 .../turnstile.yaml | 0 .../vectorize.yaml | 0 .../version-management.yaml | 0 .../waf-general.yaml | 0 .../{changelogs => changelogs-old}/waf.yaml | 0 .../waiting-room.yaml | 0 .../{changelogs => changelogs-old}/warp.yaml | 0 .../workers-ai.yaml | 0 .../workers-for-platforms.yaml | 0 .../workers.yaml | 0 .../workflows.yaml | 0 .../{changelogs => changelogs-old}/zaraz.yaml | 0 src/content/docs/ai-gateway/changelog.mdx | 6 +- src/content/docs/api-shield/changelog.mdx | 6 +- src/content/docs/bots/changelog.mdx | 6 +- .../docs/browser-rendering/changelog.mdx | 7 +- src/content/docs/byoip/changelog.mdx | 6 +- src/content/docs/cache/changelog.mdx | 6 +- src/content/docs/calls/changelog.mdx | 6 +- .../platform/changelog.mdx | 4 +- .../docs/cloudflare-one/changelog/access.mdx | 6 +- .../changelog/browser-isolation.mdx | 6 +- .../docs/cloudflare-one/changelog/casb.mdx | 4 +- .../docs/cloudflare-one/changelog/dex.mdx | 7 +- .../docs/cloudflare-one/changelog/dlp.mdx | 6 +- .../changelog/email-security.mdx | 7 +- .../docs/cloudflare-one/changelog/gateway.mdx | 6 +- .../docs/cloudflare-one/changelog/index.mdx | 8 +- .../cloudflare-one/changelog/risk-score.mdx | 6 +- .../docs/cloudflare-one/changelog/tunnel.mdx | 6 +- .../docs/cloudflare-one/changelog/warp.mdx | 6 +- src/content/docs/d1/platform/changelog.mdx | 6 +- .../docs/data-localization/changelog.mdx | 6 +- .../change-log/general-updates.mdx | 6 +- src/content/docs/dns/changelog.mdx | 6 +- .../docs/durable-objects/changelog.mdx | 6 +- .../api/reference/deprecations.mdx | 6 +- src/content/docs/fundamentals/changelog.mdx | 6 +- .../reference/changelog/performance.mdx | 13 - .../reference/changelog/platform.mdx | 13 - .../reference/changelog/security.mdx | 13 - .../security/trace-request/changelog.mdx | 6 +- .../docs/hyperdrive/platform/changelog.mdx | 6 +- .../docs/images/platform/changelog.mdx | 6 +- src/content/docs/kv/platform/changelog.mdx | 6 +- src/content/docs/load-balancing/changelog.mdx | 6 +- src/content/docs/logs/changelog.mdx | 6 +- .../docs/magic-cloud-networking/changelog.mdx | 7 +- src/content/docs/magic-firewall/changelog.mdx | 6 +- .../magic-network-monitoring/changelog.mdx | 7 +- src/content/docs/magic-transit/changelog.mdx | 7 +- src/content/docs/magic-wan/changelog.mdx | 7 +- .../docs/network-interconnect/changelog.mdx | 7 +- src/content/docs/notifications/changelog.mdx | 6 +- src/content/docs/page-shield/changelog.mdx | 6 +- src/content/docs/pages/platform/changelog.mdx | 6 +- .../docs/queues/platform/changelog.mdx | 6 +- src/content/docs/r2/platform/changelog.mdx | 6 +- src/content/docs/radar/changelog.mdx | 7 +- src/content/docs/rules/changelog.mdx | 6 +- .../docs/security-center/changelog.mdx | 6 +- src/content/docs/spectrum/changelog.mdx | 6 +- src/content/docs/ssl/changelog.mdx | 6 +- src/content/docs/stream/changelog.mdx | 6 +- .../components/product-changelog.mdx | 27 +++ src/content/docs/tenant/changelog.mdx | 6 +- src/content/docs/turnstile/changelog.mdx | 6 +- .../docs/vectorize/platform/changelog.mdx | 6 +- .../docs/version-management/changelog.mdx | 6 +- .../docs/waf/change-log/general-updates.mdx | 7 +- .../docs/waf/change-log/managed-rulesets.mdx | 15 -- src/content/docs/waiting-room/changelog.mdx | 6 +- src/content/docs/web-analytics/changelog.mdx | 6 +- src/content/docs/workers-ai/changelog.mdx | 7 +- .../docs/workers/platform/changelog/index.mdx | 6 +- .../workers/platform/changelog/platform.mdx | 13 - .../workers/platform/changelog/wrangler.mdx | 16 -- .../docs/workflows/reference/changelog.mdx | 7 +- src/content/docs/zaraz/changelog.mdx | 6 +- src/pages/[...changelog].xml.ts | 143 ----------- src/pages/changelog/[...slug].astro | 6 +- src/pages/changelog/index.astro | 171 ++++++++----- src/pages/changelog/rss.xml.ts | 23 -- src/pages/changelog/rss/[area].xml.ts | 61 +++++ src/pages/changelog/rss/[product].xml.ts | 54 +++++ src/pages/changelog/rss/index.xml.ts | 19 ++ src/pages/release-notes/index.astro | 184 -------------- src/pages/release-notes/index.xml.ts | 96 -------- src/plugins/rehype/base-url.ts | 20 ++ src/plugins/rehype/filter-elements.ts | 142 +++++++++++ src/schemas/base.ts | 2 - .../{changelogs-next.ts => changelog.ts} | 8 +- src/schemas/changelogs.ts | 20 -- src/schemas/index.ts | 3 +- src/util/changelog.ts | 215 +++++++++++++++++ src/util/changelogs.ts | 105 -------- src/util/container.ts | 2 +- 178 files changed, 1117 insertions(+), 1261 deletions(-) rename src/assets/images/{changelog-next => changelog}/2024-02-03-terraform-v5-screenshot.png (100%) rename src/assets/images/{changelog-next => changelog}/hero.svg (100%) rename src/components/{changelog-next => changelog}/Header.astro (89%) rename src/components/{changelog-next => changelog}/ProductPills.astro (100%) rename src/content/{changelogs-next => changelog}/2024-10-24-workflows-beta.mdx (100%) rename src/content/{changelogs-next => changelog}/2024-11-11-cache-no-store.mdx (100%) rename src/content/{changelogs-next => changelog}/2024-12-11-hyperdrive-caching-at-edge.mdx (100%) rename src/content/{changelogs-next => changelog}/2024-12-29-faster-builds.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-01-07-aig-provider-deepseek.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-01-07-d1-faster-query.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-01-15-workflows-more-steps.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-01-26-worker-binding-methods.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-01-27-kv-increased-namespaces-limits.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-01-28-hyperdrive-automated-private-database-configuration.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-01-28-nodejs-compat-improvements.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-01-30-browser-rendering-more-instances.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-01-30-stream-generated-captions-new-languages.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-01-31-html-rewriter-streaming.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-01-31-workers-platforms-static-assets.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-02-03-terraform-v5-provider.mdx (97%) rename src/content/{changelogs-next => changelog}/2025-02-03-workers-metrics-revamp.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-02-04-aig-provider-cartesia-eleven-cerebras.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-02-04-radar-ai-insights.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-02-05-aig-request-handling.mdx (100%) rename src/content/{changelogs-next => changelog}/2025-02-07-new-ways-to-get-started-on-workers.mdx (100%) rename src/content/{changelogs => changelogs-old}/access.yaml (100%) rename src/content/{changelogs => changelogs-old}/ai-gateway.yaml (100%) rename src/content/{changelogs => changelogs-old}/api-deprecations.yaml (100%) rename src/content/{changelogs => changelogs-old}/api-shield.yaml (100%) rename src/content/{changelogs => changelogs-old}/beacon-min-js.yaml (100%) rename src/content/{changelogs => changelogs-old}/bots.yaml (100%) rename src/content/{changelogs => changelogs-old}/browser-isolation.yaml (100%) rename src/content/{changelogs => changelogs-old}/browser-rendering.yaml (100%) rename src/content/{changelogs => changelogs-old}/byoip.yaml (100%) rename src/content/{changelogs => changelogs-old}/cache.yaml (100%) rename src/content/{changelogs => changelogs-old}/calls.yaml (100%) rename src/content/{changelogs => changelogs-old}/casb.yaml (100%) rename src/content/{changelogs => changelogs-old}/d1.yaml (100%) rename src/content/{changelogs => changelogs-old}/data-localization.yaml (100%) rename src/content/{changelogs => changelogs-old}/ddos-http.yaml (100%) rename src/content/{changelogs => changelogs-old}/ddos-network.yaml (100%) rename src/content/{changelogs => changelogs-old}/ddos.yaml (100%) rename src/content/{changelogs => changelogs-old}/dex.yaml (100%) rename src/content/{changelogs => changelogs-old}/dlp.yaml (100%) rename src/content/{changelogs => changelogs-old}/dns.yaml (100%) rename src/content/{changelogs => changelogs-old}/durable-objects.yaml (100%) rename src/content/{changelogs => changelogs-old}/email-security.yaml (100%) rename src/content/{changelogs => changelogs-old}/fundamentals.yaml (100%) rename src/content/{changelogs => changelogs-old}/gateway.yaml (100%) rename src/content/{changelogs => changelogs-old}/hyperdrive.yaml (100%) rename src/content/{changelogs => changelogs-old}/images.yaml (100%) rename src/content/{changelogs => changelogs-old}/kv.yaml (100%) rename src/content/{changelogs => changelogs-old}/load-balancing.yaml (100%) rename src/content/{changelogs => changelogs-old}/logs.yaml (100%) rename src/content/{changelogs => changelogs-old}/magic-cloud-networking.yaml (100%) rename src/content/{changelogs => changelogs-old}/magic-firewall.yaml (100%) rename src/content/{changelogs => changelogs-old}/magic-network-monitoring.yaml (100%) rename src/content/{changelogs => changelogs-old}/magic-transit.yaml (100%) rename src/content/{changelogs => changelogs-old}/magic-wan.yaml (100%) rename src/content/{changelogs => changelogs-old}/network-interconnect.yaml (100%) rename src/content/{changelogs => changelogs-old}/notifications.yaml (100%) rename src/content/{changelogs => changelogs-old}/page-shield.yaml (100%) rename src/content/{changelogs => changelogs-old}/pages.yaml (100%) rename src/content/{changelogs => changelogs-old}/queues.yaml (100%) rename src/content/{changelogs => changelogs-old}/r2.yaml (100%) rename src/content/{changelogs => changelogs-old}/radar.yaml (100%) rename src/content/{changelogs => changelogs-old}/risk-score.yaml (100%) rename src/content/{changelogs => changelogs-old}/rules.yaml (100%) rename src/content/{changelogs => changelogs-old}/security-center.yaml (100%) rename src/content/{changelogs => changelogs-old}/spectrum.yaml (100%) rename src/content/{changelogs => changelogs-old}/ssl.yaml (100%) rename src/content/{changelogs => changelogs-old}/stream.yaml (100%) rename src/content/{changelogs => changelogs-old}/tenant.yaml (100%) rename src/content/{changelogs => changelogs-old}/trace.yaml (100%) rename src/content/{changelogs => changelogs-old}/tunnel.yaml (100%) rename src/content/{changelogs => changelogs-old}/turnstile.yaml (100%) rename src/content/{changelogs => changelogs-old}/vectorize.yaml (100%) rename src/content/{changelogs => changelogs-old}/version-management.yaml (100%) rename src/content/{changelogs => changelogs-old}/waf-general.yaml (100%) rename src/content/{changelogs => changelogs-old}/waf.yaml (100%) rename src/content/{changelogs => changelogs-old}/waiting-room.yaml (100%) rename src/content/{changelogs => changelogs-old}/warp.yaml (100%) rename src/content/{changelogs => changelogs-old}/workers-ai.yaml (100%) rename src/content/{changelogs => changelogs-old}/workers-for-platforms.yaml (100%) rename src/content/{changelogs => changelogs-old}/workers.yaml (100%) rename src/content/{changelogs => changelogs-old}/workflows.yaml (100%) rename src/content/{changelogs => changelogs-old}/zaraz.yaml (100%) delete mode 100644 src/content/docs/fundamentals/reference/changelog/performance.mdx delete mode 100644 src/content/docs/fundamentals/reference/changelog/platform.mdx delete mode 100644 src/content/docs/fundamentals/reference/changelog/security.mdx create mode 100644 src/content/docs/style-guide/components/product-changelog.mdx delete mode 100644 src/content/docs/waf/change-log/managed-rulesets.mdx delete mode 100644 src/content/docs/workers/platform/changelog/platform.mdx delete mode 100644 src/content/docs/workers/platform/changelog/wrangler.mdx delete mode 100644 src/pages/[...changelog].xml.ts delete mode 100644 src/pages/changelog/rss.xml.ts create mode 100644 src/pages/changelog/rss/[area].xml.ts create mode 100644 src/pages/changelog/rss/[product].xml.ts create mode 100644 src/pages/changelog/rss/index.xml.ts delete mode 100644 src/pages/release-notes/index.astro delete mode 100644 src/pages/release-notes/index.xml.ts create mode 100644 src/plugins/rehype/base-url.ts create mode 100644 src/plugins/rehype/filter-elements.ts rename src/schemas/{changelogs-next.ts => changelog.ts} (51%) delete mode 100644 src/schemas/changelogs.ts create mode 100644 src/util/changelog.ts delete mode 100644 src/util/changelogs.ts diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ac94083a2a1482..fbf074d46959ac 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -22,9 +22,9 @@ /src/content/docs/workers-ai/ @rita3ko @craigsdennis @markdembo @mchenco @daisyfaithauma @cloudflare/pcx-technical-writing /src/content/docs/vectorize/ @elithrar @vy-ton @sejoker @mchenco @cloudflare/pcx-technical-writing /src/content/partials/vectorize/ @elithrar @mchenco @sejoker @cloudflare/pcx-technical-writing -/src/content/changelogs/workers-ai.yaml @kathayl @G4brym @mchenco @daisyfaithauma @cloudflare/pcx-technical-writing -/src/content/changelogs/ai-gateway.yaml @kathayl @G4brym @mchenco @daisyfaithauma @cloudflare/pcx-technical-writing -/src/content/changelogs/vectorize.yaml @elithrar @mchenco @sejoker @cloudflare/pcx-technical-writing +workers-ai.yaml @kathayl @G4brym @mchenco @daisyfaithauma @cloudflare/pcx-technical-writing +ai-gateway.yaml @kathayl @G4brym @mchenco @daisyfaithauma @cloudflare/pcx-technical-writing +vectorize.yaml @elithrar @mchenco @sejoker @cloudflare/pcx-technical-writing # Analytics & Logs @@ -45,8 +45,8 @@ # Changelogs -/src/content/changelogs-next/ @cloudflare/pm-changelogs -/src/assets/images/changelog-next/ @cloudflare/pm-changelogs +/src/content/changelog/ @cloudflare/pm-changelogs +/src/assets/images/changelog/ @cloudflare/pm-changelogs # Cloudflare One @@ -62,8 +62,8 @@ /src/content/docs/cloudflare-one/policies/data-loss-prevention/ @maxvp @cloudflare/pcx-technical-writing /src/content/docs/cloudflare-one/insights/dex/ @deadlypants1973 @cloudflare/pcx-technical-writing /src/content/docs/email-security/ @Maddy-Cloudflare @cloudflare/pcx-technical-writing -/src/content/changelogs/access.yaml @ranbel @kennyj42 @cloudflare/pcx-technical-writing -/src/content/changelogs/warp.yaml @kokolocomotion1 @ranbel @cloudflare/pcx-technical-writing +access.yaml @ranbel @kennyj42 @cloudflare/pcx-technical-writing +warp.yaml @kokolocomotion1 @ranbel @cloudflare/pcx-technical-writing # Consumer products @@ -92,35 +92,35 @@ /src/assets/images/calls/ @cloudflare/pcx-technical-writing @cloudflare/calls /public/calls/ @cloudflare/pcx-technical-writing @cloudflare/calls /src/content/docs/d1/ @elithrar @rozenmd @vy-ton @joshthoward @oxyjun @cloudflare/pcx-technical-writing -/src/content/changelogs/d1.yaml @elithrar @rozenmd @vy-ton @joshthoward @oxyjun @cloudflare/pcx-technical-writing +d1.yaml @elithrar @rozenmd @vy-ton @joshthoward @oxyjun @cloudflare/pcx-technical-writing /src/content/partials/d1/ @elithrar @rozenmd @vy-ton @joshthoward @oxyjun @cloudflare/pcx-technical-writing /src/content/docs/durable-objects/ @elithrar @vy-ton @joshthoward @oxyjun @cloudflare/pcx-technical-writing -/src/content/changelogs/durable-objects.yaml @elithrar @rozenmd @vy-ton @joshthoward @oxyjun @cloudflare/pcx-technical-writing +durable-objects.yaml @elithrar @rozenmd @vy-ton @joshthoward @oxyjun @cloudflare/pcx-technical-writing /src/content/docs/email-routing/ @cloudflare/pcx-technical-writing /src/content/docs/hyperdrive/ @elithrar @thomasgauvin @sejoker @oxyjun @cloudflare/pcx-technical-writing -/src/content/changelogs/hyperdrive.yaml @elithrar @thomasgauvin @sejoker @oxyjun @cloudflare/pcx-technical-writing +hyperdrive.yaml @elithrar @thomasgauvin @sejoker @oxyjun @cloudflare/pcx-technical-writing /src/content/partials/hyperdrive/ @elithrar @thomasgauvin @sejoker @oxyjun @cloudflare/pcx-technical-writing -/src/content/changelogs/durable-objects.yaml @elithrar @vy-ton @joshthoward @oxyjun @cloudflare/pcx-technical-writing +durable-objects.yaml @elithrar @vy-ton @joshthoward @oxyjun @cloudflare/pcx-technical-writing /src/content/docs/images/ @dcpena @cloudflare/pcx-technical-writing @renandincer @third774 /src/content/docs/pages/ @cloudflare/workers-docs @GregBrimble @WalshyDev @aninibread @irvinebroque @cloudflare/pcx-technical-writing @ToriLindsay /src/assets/images/pages/ @cloudflare/workers-docs @GregBrimble @WalshyDev @aninibread @cloudflare/pcx-technical-writing @ToriLindsay -/src/content/changelogs/pages.yaml @cloudflare/workers-docs @GregBrimble @WalshyDev @aninibread @cloudflare/pcx-technical-writing +pages.yaml @cloudflare/workers-docs @GregBrimble @WalshyDev @aninibread @cloudflare/pcx-technical-writing /src/content/docs/kv/ @elithrar @thomasgauvin @rts-rob @oxyjun @cloudflare/pcx-technical-writing -/src/content/changelogs/kv.yaml @elithrar @thomasgauvin @rts-rob @oxyjun @cloudflare/pcx-technical-writing +kv.yaml @elithrar @thomasgauvin @rts-rob @oxyjun @cloudflare/pcx-technical-writing /src/content/partials/kv/ @elithrar @thomasgauvin @rts-rob @oxyjun @cloudflare/pcx-technical-writing /src/content/docs/pub-sub/ @elithrar @dcpena @cloudflare/pcx-technical-writing /src/content/docs/queues/ @elithrar @toddmantell @maheshwarip @cloudflare/pcx-technical-writing -/src/content/changelogs/queues.yaml @elithrar @toddmantell @maheshwarip @cloudflare/pcx-technical-writing +queues.yaml @elithrar @toddmantell @maheshwarip @cloudflare/pcx-technical-writing /src/content/docs/r2/ @oxyjun @elithrar @jonesphillip @cloudflare/workers-docs @cloudflare/pcx-technical-writing -/src/content/changelogs/r2.yaml @oxyjun @elithrar @cloudflare/workers-docs @cloudflare/pcx-technical-writing +r2.yaml @oxyjun @elithrar @cloudflare/workers-docs @cloudflare/pcx-technical-writing /src/content/docs/stream/ @tsmith512 @dcpena @cloudflare/pcx-technical-writing @renandincer @third774 -/src/content/changelogs/stream.yaml @tsmith512 @dcpena @cloudflare/pcx-technical-writing +stream.yaml @tsmith512 @dcpena @cloudflare/pcx-technical-writing /src/content/docs/workers/ @cloudflare/workers-docs @GregBrimble @irvinebroque @mikenomitch @WalshyDev @cloudflare/deploy-config @cloudflare/pcx-technical-writing @ToriLindsay /src/content/partials/workers/ @cloudflare/workers-docs @GregBrimble @irvinebroque @mikenomitch @WalshyDev @cloudflare/deploy-config @cloudflare/pcx-technical-writing @ToriLindsay /src/assets/images/workers/ @cloudflare/workers-docs @GregBrimble @irvinebroque @WalshyDev @cloudflare/deploy-config @cloudflare/pcx-technical-writing @ToriLindsay -/src/content/changelogs/workers.yaml @cloudflare/workers-docs @GregBrimble @WalshyDev @aninibread @cloudflare/deploy-config @cloudflare/pcx-technical-writing @irvinebroque @mikenomitch +workers.yaml @cloudflare/workers-docs @GregBrimble @WalshyDev @aninibread @cloudflare/deploy-config @cloudflare/pcx-technical-writing @irvinebroque @mikenomitch /src/content/docs/zaraz/ @bjesus @jonnyparris @simonabadoiu @cloudflare/pcx-technical-writing -/src/content/changelogs/zaraz.yaml @bjesus @jonnyparris @simonabadoiu @cloudflare/pcx-technical-writing +zaraz.yaml @bjesus @jonnyparris @simonabadoiu @cloudflare/pcx-technical-writing /src/content/docs/workers/ci-cd/ @irvinebroque @aninibread @GregBrimble @ToriLindsay @cloudflare/pcx-technical-writing /src/content/docs/workers/runtime-apis/ @irvinebroque @jasnell @mikenomitch @GregBrimble @ToriLindsay @cloudflare/pcx-technical-writing /src/content/docs/workers/runtime-apis/bindings/ @irvinebroque @mikenomitch @GregBrimble @ToriLindsay @cloudflare/pcx-technical-writing @@ -144,8 +144,8 @@ /src/content/docs/ddos-protection/ @patriciasantaana @cloudflare/pcx-technical-writing /src/content/docs/ddos-protection/change-log/ @antoinecordelle @patriciasantaana @cloudflare/pcx-technical-writing -/src/content/changelogs/ddos-http.yaml @antoinecordelle @patriciasantaana @cloudflare/pcx-technical-writing -/src/content/changelogs/ddos-network.yaml @antoinecordelle @patriciasantaana @cloudflare/pcx-technical-writing +ddos-http.yaml @antoinecordelle @patriciasantaana @cloudflare/pcx-technical-writing +ddos-network.yaml @antoinecordelle @patriciasantaana @cloudflare/pcx-technical-writing # Docs team areas @@ -184,7 +184,7 @@ # Radar /src/content/docs/radar/ @meddulla @G4brym @tiagoad @andre-j3sus @cloudflare/pcx-technical-writing -/src/content/changelogs/radar.yaml @meddulla @G4brym @tiagoad @andre-j3sus @cloudflare/pcx-technical-writing +radar.yaml @meddulla @G4brym @tiagoad @andre-j3sus @cloudflare/pcx-technical-writing # Reference architecture @@ -202,7 +202,7 @@ /src/content/docs/ssl/ @RebeccaTamachiro @cloudflare/pcx-technical-writing /src/content/docs/waf/ @pedrosousa @cloudflare/firewall @cloudflare/pcx-technical-writing /src/content/docs/waf/change-log/ @pedrosousa @cloudflare/firewall @vs-mg @cloudflare/pcx-technical-writing -/src/content/changelogs/waf.yaml @pedrosousa @cloudflare/firewall @vs-mg @cloudflare/pcx-technical-writing +waf.yaml @pedrosousa @cloudflare/firewall @vs-mg @cloudflare/pcx-technical-writing # Support @@ -216,7 +216,7 @@ # Waiting Room /src/content/docs/waiting-room/ @angelampcosta @cloudflare/pcx-technical-writing -/src/content/changelogs/waiting-room.yaml @angelampcosta @cloudflare/pcx-technical-writing +waiting-room.yaml @angelampcosta @cloudflare/pcx-technical-writing # Web Analytics diff --git a/package-lock.json b/package-lock.json index c3a9238ffad04d..306d5f48a86031 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "@types/react-dom": "19.0.3", "@typescript-eslint/parser": "8.24.0", "algoliasearch": "5.20.1", - "astro": "5.2.1", + "astro": "5.2.5", "astro-breadcrumbs": "3.3.1", "astro-icon": "1.1.5", "astro-live-code": "0.0.5", @@ -70,9 +70,12 @@ "rehype-autolink-headings": "7.1.0", "rehype-external-links": "3.0.0", "rehype-parse": "9.0.1", + "rehype-remark": "10.0.0", "rehype-stringify": "10.0.1", "rehype-title-figure": "0.1.2", "remark": "15.0.1", + "remark-gfm": "4.0.1", + "remark-stringify": "11.0.0", "sharp": "0.33.5", "solarflare-theme": "0.0.2", "starlight-image-zoom": "0.10.1", @@ -488,9 +491,9 @@ "license": "MIT" }, "node_modules/@astrojs/internal-helpers": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.5.0.tgz", - "integrity": "sha512-CgB5ZaZO1PFG+rbjF3HnA7G6gIBjJ070xb7bUjeu5Gqqufma+t6fpuRWMXnK2iEO3zVyX7e/xplPlqtFKy/lvw==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.5.1.tgz", + "integrity": "sha512-M7rAge1n2+aOSxNvKUFa0u/KFn0W+sZy7EW91KOSERotm2Ti8qs+1K0xx3zbOxtAVrmJb5/J98eohVvvEqtNkw==", "dev": true, "license": "MIT" }, @@ -3448,67 +3451,67 @@ ] }, "node_modules/@shikijs/core": { - "version": "1.29.1", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.29.1.tgz", - "integrity": "sha512-Mo1gGGkuOYjDu5H8YwzmOuly9vNr8KDVkqj9xiKhhhFS8jisAtDSEWB9hzqRHLVQgFdA310e8XRJcW4tYhRB2A==", + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.29.2.tgz", + "integrity": "sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/engine-javascript": "1.29.1", - "@shikijs/engine-oniguruma": "1.29.1", - "@shikijs/types": "1.29.1", + "@shikijs/engine-javascript": "1.29.2", + "@shikijs/engine-oniguruma": "1.29.2", + "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.4" } }, "node_modules/@shikijs/engine-javascript": { - "version": "1.29.1", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.29.1.tgz", - "integrity": "sha512-Hpi8k9x77rCQ7F/7zxIOUruNkNidMyBnP5qAGbLFqg4kRrg1HZhkB8btib5EXbQWTtLb5gBHOdBwshk20njD7Q==", + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-1.29.2.tgz", + "integrity": "sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "1.29.1", + "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "oniguruma-to-es": "^2.2.0" } }, "node_modules/@shikijs/engine-oniguruma": { - "version": "1.29.1", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.29.1.tgz", - "integrity": "sha512-gSt2WhLNgEeLstcweQOSp+C+MhOpTsgdNXRqr3zP6M+BUBZ8Md9OU2BYwUYsALBxHza7hwaIWtFHjQ/aOOychw==", + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.29.2.tgz", + "integrity": "sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "1.29.1", + "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1" } }, "node_modules/@shikijs/langs": { - "version": "1.29.1", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-1.29.1.tgz", - "integrity": "sha512-iERn4HlyuT044/FgrvLOaZgKVKf3PozjKjyV/RZ5GnlyYEAZFcgwHGkYboeBv2IybQG1KVS/e7VGgiAU4JY2Gw==", + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-1.29.2.tgz", + "integrity": "sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "1.29.1" + "@shikijs/types": "1.29.2" } }, "node_modules/@shikijs/themes": { - "version": "1.29.1", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-1.29.1.tgz", - "integrity": "sha512-lb11zf72Vc9uxkl+aec2oW1HVTHJ2LtgZgumb4Rr6By3y/96VmlU44bkxEb8WBWH3RUtbqAJEN0jljD9cF7H7g==", + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-1.29.2.tgz", + "integrity": "sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "1.29.1" + "@shikijs/types": "1.29.2" } }, "node_modules/@shikijs/types": { - "version": "1.29.1", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.29.1.tgz", - "integrity": "sha512-aBqAuhYRp5vSir3Pc9+QPu9WESBOjUo03ao0IHLC4TyTioSsp/SkbAZSrIH4ghYYC1T1KTEpRSBa83bas4RnPA==", + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.29.2.tgz", + "integrity": "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==", "dev": true, "license": "MIT", "dependencies": { @@ -5167,14 +5170,14 @@ } }, "node_modules/astro": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/astro/-/astro-5.2.1.tgz", - "integrity": "sha512-OYR2kUo9EqX6OYZ1OmM14xP8mjFwgrk1FzIr+3K3tS0gCCKJsXtfboCUhX3lODZFIsmY/on7NPZd+2PURA0R2Q==", + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/astro/-/astro-5.2.5.tgz", + "integrity": "sha512-AYXyYkc+c5xbKTm48FyQA91y81nXyNPAaoyafR0LUugE4lAwuvIUcXDBfMzmbuP1lGRvsE33G2oypv6gbGaPFg==", "dev": true, "license": "MIT", "dependencies": { "@astrojs/compiler": "^2.10.3", - "@astrojs/internal-helpers": "0.5.0", + "@astrojs/internal-helpers": "0.5.1", "@astrojs/markdown-remark": "6.1.0", "@astrojs/telemetry": "3.2.0", "@oslojs/encoding": "^1.1.0", @@ -5201,7 +5204,7 @@ "fast-glob": "^3.3.3", "flattie": "^1.1.1", "github-slugger": "^2.0.0", - "html-escaper": "^3.0.3", + "html-escaper": "3.0.3", "http-cache-semantics": "^4.1.1", "js-yaml": "^4.1.0", "kleur": "^4.1.5", @@ -5211,12 +5214,12 @@ "mrmime": "^2.0.0", "neotraverse": "^0.6.18", "p-limit": "^6.2.0", - "p-queue": "^8.0.1", - "preferred-pm": "^4.0.0", + "p-queue": "^8.1.0", + "preferred-pm": "^4.1.1", "prompts": "^2.4.2", "rehype": "^13.0.2", - "semver": "^7.6.3", - "shiki": "^1.29.1", + "semver": "^7.7.1", + "shiki": "^1.29.2", "tinyexec": "^0.3.2", "tsconfck": "^3.1.4", "ultrahtml": "^1.5.3", @@ -5225,10 +5228,10 @@ "vfile": "^6.0.3", "vite": "^6.0.11", "vitefu": "^1.0.5", - "which-pm": "^3.0.0", + "which-pm": "^3.0.1", "xxhash-wasm": "^1.1.0", "yargs-parser": "^21.1.1", - "yocto-spinner": "^0.1.2", + "yocto-spinner": "^0.2.0", "zod": "^3.24.1", "zod-to-json-schema": "^3.24.1", "zod-to-ts": "^1.2.0" @@ -10157,6 +10160,33 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-to-mdast": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/hast-util-to-mdast/-/hast-util-to-mdast-10.1.2.tgz", + "integrity": "sha512-FiCRI7NmOvM4y+f5w32jPRzcxDIz+PUqDwEqn1A+1q2cdp3B8Gx7aVrXORdOKjMNDQsD1ogOr896+0jJHW1EFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-phrasing": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "hast-util-to-text": "^4.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "mdast-util-to-string": "^4.0.0", + "rehype-minify-whitespace": "^6.0.0", + "trim-trailing-lines": "^2.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/hast-util-to-parse5": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", @@ -11644,13 +11674,6 @@ "node": ">=6" } }, - "node_modules/load-yaml-file/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true, - "license": "BSD-3-Clause" - }, "node_modules/local-pkg": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.1.tgz", @@ -13640,9 +13663,9 @@ } }, "node_modules/p-queue": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.0.1.tgz", - "integrity": "sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.0.tgz", + "integrity": "sha512-mxLDbbGIBEXTJL0zEx8JIylaj3xQ7Z/7eEVjcF9fJX4DBiH9oqe+oahYnlKKxm0Ci9TlWTyhSHgygxMxjIB2jw==", "dev": true, "license": "MIT", "dependencies": { @@ -14278,15 +14301,15 @@ } }, "node_modules/preferred-pm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-4.0.0.tgz", - "integrity": "sha512-gYBeFTZLu055D8Vv3cSPox/0iTPtkzxpLroSYYA7WXgRi31WCJ51Uyl8ZiPeUUjyvs2MBzK+S8v9JVUgHU/Sqw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-4.1.1.tgz", + "integrity": "sha512-rU+ZAv1Ur9jAUZtGPebQVQPzdGhNzaEiQ7VL9+cjsAWPHFYOccNXPNiev1CCDSOg/2j7UujM7ojNhpkuILEVNQ==", "dev": true, "license": "MIT", "dependencies": { "find-up-simple": "^1.0.0", "find-yarn-workspace-root2": "1.2.16", - "which-pm": "^3.0.0" + "which-pm": "^3.0.1" }, "engines": { "node": ">=18.12" @@ -14824,6 +14847,21 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/rehype-minify-whitespace": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/rehype-minify-whitespace/-/rehype-minify-whitespace-6.0.2.tgz", + "integrity": "sha512-Zk0pyQ06A3Lyxhe9vGtOtzz3Z0+qZ5+7icZ/PL/2x1SHPbKao5oB/g/rlc6BCTajqBb33JcOe71Ye1oFsuYbnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-minify-whitespace": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/rehype-parse": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", @@ -14872,6 +14910,24 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/rehype-remark": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/rehype-remark/-/rehype-remark-10.0.0.tgz", + "integrity": "sha512-+aDXY/icqMFOafJQomVjxe3BAP7aR3lIsQ3GV6VIwpbCD2nvNFOXjGvotMe5p0Ny+Gt6L13DhEf/FjOOpTuUbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "hast-util-to-mdast": "^10.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/rehype-stringify": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", @@ -15058,9 +15114,9 @@ } }, "node_modules/remark-gfm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", - "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", "dev": true, "license": "MIT", "dependencies": { @@ -15550,9 +15606,9 @@ "license": "MIT" }, "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, "license": "ISC", "bin": { @@ -15675,18 +15731,18 @@ } }, "node_modules/shiki": { - "version": "1.29.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.29.1.tgz", - "integrity": "sha512-TghWKV9pJTd/N+IgAIVJtr0qZkB7FfFCUrrEJc0aRmZupo3D1OCVRknQWVRVA7AX/M0Ld7QfoAruPzr3CnUJuw==", + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.29.2.tgz", + "integrity": "sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/core": "1.29.1", - "@shikijs/engine-javascript": "1.29.1", - "@shikijs/engine-oniguruma": "1.29.1", - "@shikijs/langs": "1.29.1", - "@shikijs/themes": "1.29.1", - "@shikijs/types": "1.29.1", + "@shikijs/core": "1.29.2", + "@shikijs/engine-javascript": "1.29.2", + "@shikijs/engine-oniguruma": "1.29.2", + "@shikijs/langs": "1.29.2", + "@shikijs/themes": "1.29.2", + "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4" } @@ -15910,6 +15966,13 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/stackback": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", @@ -16716,6 +16779,17 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/trim-trailing-lines": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-2.1.0.tgz", + "integrity": "sha512-5UR5Biq4VlVOtzqkm2AZlgvSlDJtME46uV0br0gENbwN4l5+mMKT4b9gJKqWtuL2zAIqajGJGuvbCbcAJUZqBg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/trough": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", @@ -18913,9 +18987,9 @@ } }, "node_modules/which-pm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-3.0.0.tgz", - "integrity": "sha512-ysVYmw6+ZBhx3+ZkcPwRuJi38ZOTLJJ33PSHaitLxSKUMsh0LkKd0nC69zZCwt5D+AYUcMK2hhw4yWny20vSGg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-3.0.1.tgz", + "integrity": "sha512-v2JrMq0waAI4ju1xU5x3blsxBBMgdgZve580iYMN5frDaLGjbA24fok7wKCsya8KLVO19Ju4XDc5+zTZCJkQfg==", "dev": true, "license": "MIT", "dependencies": { @@ -19460,9 +19534,9 @@ } }, "node_modules/yocto-spinner": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.1.2.tgz", - "integrity": "sha512-VfmLIh/ZSZOJnVRQZc/dvpPP90lWL4G0bmxQMP0+U/2vKBA8GSpcBuWv17y7F+CZItRuO97HN1wdbb4p10uhOg==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.0.tgz", + "integrity": "sha512-Qu6WAqNLGleB687CCGcmgHIo8l+J19MX/32UrSMfbf/4L8gLoxjpOYoiHT1asiWyqvjRZbgvOhLlvne6E5Tbdw==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index aede6cc92b7d68..97450da9ba0369 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "@types/react-dom": "19.0.3", "@typescript-eslint/parser": "8.24.0", "algoliasearch": "5.20.1", - "astro": "5.2.1", + "astro": "5.2.5", "astro-breadcrumbs": "3.3.1", "astro-icon": "1.1.5", "astro-live-code": "0.0.5", @@ -87,9 +87,12 @@ "rehype-autolink-headings": "7.1.0", "rehype-external-links": "3.0.0", "rehype-parse": "9.0.1", + "rehype-remark": "10.0.0", "rehype-stringify": "10.0.1", "rehype-title-figure": "0.1.2", "remark": "15.0.1", + "remark-gfm": "4.0.1", + "remark-stringify": "11.0.0", "sharp": "0.33.5", "solarflare-theme": "0.0.2", "starlight-image-zoom": "0.10.1", diff --git a/public/_redirects b/public/_redirects index c908414ac18ed3..3d7ae0560ac2ec 100644 --- a/public/_redirects +++ b/public/_redirects @@ -4,9 +4,186 @@ /dashboard-landing/ / 301 /tutorials/ /search/?content_type%5B0%5D=Tutorial 301 /sitemap.xml /sitemap-index.xml -/changelog/index.xml /release-notes/index.xml 301 /deprecations/ /fundamentals/api/reference/deprecations/ 301 +# changelogs + +## legacy +/release-notes/ /changelog/ 301 +/release-notes/index.xml /changelog/rss/index.xml 301 + +## rss +/changelog/index.xml /changelog/rss/index.xml 301 +/changelog/rss.xml /changelog/rss/index.xml 301 + +### areas +/cloudflare-one/changelog/index.xml /changelog/rss/cloudflare-one.xml 301 +/fundamentals/reference/changelog/performance/index.xml /changelog/rss/application-performance.xml 301 +/fundamentals/reference/changelog/platform/index.xml /changelog/rss/core-platform.xml 301 +/fundamentals/reference/changelog/security/index.xml /changelog/rss/application-security.xml 301 +/workers/platform/changelog/platform/index.xml /changelog/rss/developer-platform.xml 301 + +### products +/cloudflare-one/changelog/access/index.xml /changelog/rss/access.xml 301 +/ai-gateway/changelog/index.xml /changelog/rss/ai-gateway.xml 301 +/fundamentals/api/reference/deprecations/index.xml /changelog/rss/api-deprecations.xml 301 +/api-shield/changelog/index.xml /changelog/rss/api-shield.xml 301 +/web-analytics/changelog/index.xml /changelog/rss/beacon-min-js.xml 301 +/bots/changelog/index.xml /changelog/rss/bots.xml 301 +/cloudflare-one/changelog/browser-isolation/index.xml /changelog/rss/browser-isolation.xml 301 +/browser-rendering/changelog/index.xml /changelog/rss/browser-rendering.xml 301 +/byoip/changelog/index.xml /changelog/rss/byoip.xml 301 +/cache/changelog/index.xml /changelog/rss/cache.xml 301 +/calls/changelog/index.xml /changelog/rss/calls.xml 301 +/cloudflare-one/changelog/casb/index.xml /changelog/rss/casb.xml 301 +/d1/platform/changelog/index.xml /changelog/rss/d1.xml 301 + +/workers/platform/changelog/wrangler/ https://github.com/cloudflare/workers-sdk/releases 301 +/workers/platform/changelog/wrangler/index.xml https://github.com/cloudflare/workers-sdk/releases.atom 301 + +# todo + +# ddos-http.yaml +# "/ddos-protection/change-log/http/" + +# ddos-network.yaml +# "/ddos-protection/change-log/network/" + +# ddos.yaml +# "/ddos-protection/change-log/general-updates/" + +# dex.yaml +# "/cloudflare-one/changelog/dex/" + +# dlp.yaml +# "/cloudflare-one/changelog/dlp/" + +# dns.yaml +# "/dns/changelog/" + +# durable-objects.yaml +# "/durable-objects/changelog/" + +# email-security.yaml +# "/cloudflare-one/changelog/email-security/" + +# fundamentals.yaml +# "/fundamentals/changelog/" + +# gateway.yaml +# "/cloudflare-one/changelog/gateway/" + +# hyperdrive.yaml +# "/hyperdrive/platform/changelog/" + +# images.yaml +# "/images/platform/changelog/" + +# kv.yaml +# "/kv/platform/changelog/" + +# load-balancing.yaml +# "/load-balancing/changelog/" + +# logs.yaml +# "/logs/changelog/" + +# magic-cloud-networking.yaml +# "/magic-cloud-networking/changelog/" + +# magic-firewall.yaml +# "/magic-firewall/changelog/" + +# magic-network-monitoring.yaml +# "/magic-network-monitoring/changelog/" + +# magic-transit.yaml +# "/magic-transit/changelog/" + +# magic-wan.yaml +# "/magic-wan/changelog/" + +# network-interconnect.yaml +# "/network-interconnect/changelog/" + +# notifications.yaml +# "/notifications/changelog/" + +# pages.yaml +# "/pages/platform/changelog/" + +# queues.yaml +# "/queues/platform/changelog/" + +# r2.yaml +# "/r2/platform/changelog/" + +# radar.yaml +# "/radar/changelog/" + +# risk-score.yaml +# "/cloudflare-one/changelog/risk-score/" + +# rules.yaml +# "/rules/changelog/" + +# security-center.yaml +# "/security-center/changelog/" + +# spectrum.yaml +# "/spectrum/changelog/" + +# ssl.yaml +# "/ssl/changelog/" + +# stream.yaml +# "/stream/changelog/" + +# tenant.yaml +# "/tenant/changelog/" + +# trace.yaml +# "/fundamentals/security/trace-request/changelog/" + +# tunnel.yaml +# "/cloudflare-one/changelog/tunnel/" + +# turnstile.yaml +# "/turnstile/changelog/" + +# vectorize.yaml +# "/vectorize/platform/changelog/" + +# version-management.yaml +# "/version-management/changelog/" + +# waf-general.yaml +# "/waf/change-log/general-updates/" + +# waf.yaml +# "/waf/change-log/" + +# waiting-room.yaml +# "/waiting-room/changelog/" + +# warp.yaml +# "/cloudflare-one/changelog/warp/" + +# workers-ai.yaml +# "/workers-ai/changelog/" + +# workers-for-platforms.yaml +# "/cloudflare-for-platforms/workers-for-platforms/platform/changelog/" + +# workers.yaml +# "/workers/platform/changelog/" + +# workflows.yaml +# "/workflows/reference/changelog/" + +# zaraz.yaml +# "/zaraz/changelog/" + # 1dot1_redirect /1.1.1.1/1.1.1.1-for-families/ /1.1.1.1/setup/ 301 /1.1.1.1/1.1.1.1-for-families/android/ /1.1.1.1/setup/android/ 301 diff --git a/src/assets/images/changelog-next/2024-02-03-terraform-v5-screenshot.png b/src/assets/images/changelog/2024-02-03-terraform-v5-screenshot.png similarity index 100% rename from src/assets/images/changelog-next/2024-02-03-terraform-v5-screenshot.png rename to src/assets/images/changelog/2024-02-03-terraform-v5-screenshot.png diff --git a/src/assets/images/changelog-next/hero.svg b/src/assets/images/changelog/hero.svg similarity index 100% rename from src/assets/images/changelog-next/hero.svg rename to src/assets/images/changelog/hero.svg diff --git a/src/components/ProductChangelog.astro b/src/components/ProductChangelog.astro index 2c2274400ea3e9..fde22ac51842cd 100644 --- a/src/components/ProductChangelog.astro +++ b/src/components/ProductChangelog.astro @@ -1,133 +1,40 @@ --- -import { getEntry, type CollectionEntry } from "astro:content"; -import { marked } from "marked"; -import { getChangelogs } from "~/util/changelogs"; -import AnchorHeading from "~/components/AnchorHeading.astro"; -import { entryToString } from "~/util/container"; +import { getChangelogs, type GetChangelogsOptions } from "~/util/changelog"; +import { reference } from "astro:content"; +import { z } from "astro:schema"; +import { getCollection } from "astro:content"; -const page = await getEntry("docs", Astro.params.slug!); +const props = z.object({ + products: z.array(reference("products")), +}).or(z.object({ + area: z.string() +})); -if (!page) { - throw new Error( - `[ProductChangelog] Failed to find entry for ${Astro.params.slug}.`, - ); -} - -if (!page.data.changelog_file_name && !page.data.changelog_product_area_name) { - throw new Error( - `[ProductChangelog] ${Astro.params.slug} does not have a 'changelog_file_name' or 'changaelog_product_area_name' frontmatter property.`, - ); -} - -if (page.data.changelog_file_name && page.data.changelog_file_name.length > 1) { - throw new Error( - `[ProductChangelog] This component cannot be used on files that have more than 1 entry in their 'changelog_file_name' frontmatter property.`, - ); -} +const input = await props.parseAsync(Astro.props); -const name = - page.data.changelog_product_area_name ?? page.data.changelog_file_name?.[0]; +let filter: GetChangelogsOptions["filter"]; -let changelogs; - -if (page.data.changelog_product_area_name) { - const opts = { - filter: (entry: CollectionEntry<"changelogs">) => { - return entry.data.productArea === name; - }, - }; - ({ changelogs } = await getChangelogs(opts)); +if ("products" in input) { + filter = (e) => { + return e.data.products.some((x) => input.products.some((y) => x.id === y.id)) + } } else { - if (name === "wrangler") { - const opts = { - wranglerOnly: true, - }; - ({ changelogs } = await getChangelogs(opts)); - } else if (name === "api-deprecations") { - const opts = { - deprecationsOnly: true, - }; - ({ changelogs } = await getChangelogs(opts)); - } else { - const opts = { - filter: (entry: CollectionEntry<"changelogs">) => { - return entry.id === name; - }, - }; - ({ changelogs } = await getChangelogs(opts)); + const products = await getCollection("products", (e) => { + return e.data.product.group === input.area; + }); + + filter = (e) => { + return e.data.products.some((x) => products.some((y) => x.id === y.id)) } } -if (!changelogs) { - throw new Error( - `[ProductChangelog] Failed to find changelog called ${name}.`, - ); -} +const changelogs = await getChangelogs({ filter }); --- { - page.data.pcx_content_type === "changelog" && ( -

- - Subscribe to RSS - -

- ) -} -{ - changelogs.map(([date, entries]) => ( -
- {(entries ?? []).map(async (entry) => { - let description; - if (entry.individual_page) { - const link = entry.individual_page; - - if (!link) - throw new Error( - `Changelog entry points to individual page but no link is provided`, - ); - - const page = await getEntry("docs", link.slice(1, -1)); - - if (!page) - throw new Error( - `Changelog entry points to ${link.slice(1, -1)} but unable to find entry with that slug`, - ); - - description = (await entryToString(page, Astro.locals)) ?? page.body; - - return ( -
- - - -

{entry.date}

- {page.data.changelog_product_area_name && ( -

- {entry.product} -

- )} - {} -
- ); - } else { - description = marked.parse(entry.description as string); - return ( - <> - -
- {page.data.changelog_product_area_name && ( -

- {entry.product} -

- )} - {entry.title && {entry.title}} - {} -
- - ); - } - })} -
+ changelogs.map((entry) => ( +

{entry.data.date.toISOString().slice(0, 10)}

+

{entry.data.description}

+

For more information, refer to the dedicated changelog post.

)) -} +} \ No newline at end of file diff --git a/src/components/changelog-next/Header.astro b/src/components/changelog/Header.astro similarity index 89% rename from src/components/changelog-next/Header.astro rename to src/components/changelog/Header.astro index 1083309fd6d8e8..8886a3ef34bd54 100644 --- a/src/components/changelog-next/Header.astro +++ b/src/components/changelog/Header.astro @@ -4,7 +4,7 @@ import { z } from "astro:schema"; import { getEntry, type CollectionEntry } from "astro:content"; import { StarlightIcon } from ".."; -import HeroImage from "~/assets/images/changelog-next/hero.svg"; +import HeroImage from "~/assets/images/changelog/hero.svg"; type Props = z.input; @@ -14,9 +14,7 @@ const props = z.object({ const { notes } = props.parse(Astro.props); -async function uniqueProducts( - notes: Array>, -) { +async function uniqueProducts(notes: Array>) { const unique = [ ...new Set(notes.flatMap((e) => e.data.products.map((p) => p.id))), ]; @@ -49,7 +47,7 @@ const products = await uniqueProducts(notes); { products.length > 0 && (
- {products .sort((a, b) => a.id.localeCompare(b.id)) diff --git a/src/components/changelog-next/ProductPills.astro b/src/components/changelog/ProductPills.astro similarity index 100% rename from src/components/changelog-next/ProductPills.astro rename to src/components/changelog/ProductPills.astro diff --git a/src/content.config.ts b/src/content.config.ts index 5f8f1f01d0f4bb..52fa8335cb01db 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -7,7 +7,7 @@ import { glob } from "astro/loaders"; import { appsSchema, - changelogsSchema, + changelogSchema, baseSchema, notificationsSchema, pagesBuildEnvironmentSchema, @@ -18,7 +18,6 @@ import { videosSchema, workersAiModelsSchema, warpReleasesSchema, - changelogsNextSchema, fieldsSchema, } from "~/schemas"; @@ -51,9 +50,9 @@ export const collections = { loader: i18nLoader(), schema: i18nSchema(), }), - changelogs: defineCollection({ - loader: dataLoader("changelogs"), - schema: changelogsSchema, + changelog: defineCollection({ + loader: contentLoader("changelog"), + schema: changelogSchema, }), "compatibility-flags": defineCollection({ loader: contentLoader("compatibility-flags"), @@ -106,10 +105,6 @@ export const collections = { loader: dataLoader("warp-releases"), schema: warpReleasesSchema, }), - "changelogs-next": defineCollection({ - loader: contentLoader("changelogs-next"), - schema: changelogsNextSchema, - }), fields: defineCollection({ loader: dataLoader("fields"), schema: fieldsSchema, diff --git a/src/content/changelogs-next/2024-10-24-workflows-beta.mdx b/src/content/changelog/2024-10-24-workflows-beta.mdx similarity index 100% rename from src/content/changelogs-next/2024-10-24-workflows-beta.mdx rename to src/content/changelog/2024-10-24-workflows-beta.mdx diff --git a/src/content/changelogs-next/2024-11-11-cache-no-store.mdx b/src/content/changelog/2024-11-11-cache-no-store.mdx similarity index 100% rename from src/content/changelogs-next/2024-11-11-cache-no-store.mdx rename to src/content/changelog/2024-11-11-cache-no-store.mdx diff --git a/src/content/changelogs-next/2024-12-11-hyperdrive-caching-at-edge.mdx b/src/content/changelog/2024-12-11-hyperdrive-caching-at-edge.mdx similarity index 100% rename from src/content/changelogs-next/2024-12-11-hyperdrive-caching-at-edge.mdx rename to src/content/changelog/2024-12-11-hyperdrive-caching-at-edge.mdx diff --git a/src/content/changelogs-next/2024-12-29-faster-builds.mdx b/src/content/changelog/2024-12-29-faster-builds.mdx similarity index 100% rename from src/content/changelogs-next/2024-12-29-faster-builds.mdx rename to src/content/changelog/2024-12-29-faster-builds.mdx diff --git a/src/content/changelogs-next/2025-01-07-aig-provider-deepseek.mdx b/src/content/changelog/2025-01-07-aig-provider-deepseek.mdx similarity index 100% rename from src/content/changelogs-next/2025-01-07-aig-provider-deepseek.mdx rename to src/content/changelog/2025-01-07-aig-provider-deepseek.mdx diff --git a/src/content/changelogs-next/2025-01-07-d1-faster-query.mdx b/src/content/changelog/2025-01-07-d1-faster-query.mdx similarity index 100% rename from src/content/changelogs-next/2025-01-07-d1-faster-query.mdx rename to src/content/changelog/2025-01-07-d1-faster-query.mdx diff --git a/src/content/changelogs-next/2025-01-15-workflows-more-steps.mdx b/src/content/changelog/2025-01-15-workflows-more-steps.mdx similarity index 100% rename from src/content/changelogs-next/2025-01-15-workflows-more-steps.mdx rename to src/content/changelog/2025-01-15-workflows-more-steps.mdx diff --git a/src/content/changelogs-next/2025-01-26-worker-binding-methods.mdx b/src/content/changelog/2025-01-26-worker-binding-methods.mdx similarity index 100% rename from src/content/changelogs-next/2025-01-26-worker-binding-methods.mdx rename to src/content/changelog/2025-01-26-worker-binding-methods.mdx diff --git a/src/content/changelogs-next/2025-01-27-kv-increased-namespaces-limits.mdx b/src/content/changelog/2025-01-27-kv-increased-namespaces-limits.mdx similarity index 100% rename from src/content/changelogs-next/2025-01-27-kv-increased-namespaces-limits.mdx rename to src/content/changelog/2025-01-27-kv-increased-namespaces-limits.mdx diff --git a/src/content/changelogs-next/2025-01-28-hyperdrive-automated-private-database-configuration.mdx b/src/content/changelog/2025-01-28-hyperdrive-automated-private-database-configuration.mdx similarity index 100% rename from src/content/changelogs-next/2025-01-28-hyperdrive-automated-private-database-configuration.mdx rename to src/content/changelog/2025-01-28-hyperdrive-automated-private-database-configuration.mdx diff --git a/src/content/changelogs-next/2025-01-28-nodejs-compat-improvements.mdx b/src/content/changelog/2025-01-28-nodejs-compat-improvements.mdx similarity index 100% rename from src/content/changelogs-next/2025-01-28-nodejs-compat-improvements.mdx rename to src/content/changelog/2025-01-28-nodejs-compat-improvements.mdx diff --git a/src/content/changelogs-next/2025-01-30-browser-rendering-more-instances.mdx b/src/content/changelog/2025-01-30-browser-rendering-more-instances.mdx similarity index 100% rename from src/content/changelogs-next/2025-01-30-browser-rendering-more-instances.mdx rename to src/content/changelog/2025-01-30-browser-rendering-more-instances.mdx diff --git a/src/content/changelogs-next/2025-01-30-stream-generated-captions-new-languages.mdx b/src/content/changelog/2025-01-30-stream-generated-captions-new-languages.mdx similarity index 100% rename from src/content/changelogs-next/2025-01-30-stream-generated-captions-new-languages.mdx rename to src/content/changelog/2025-01-30-stream-generated-captions-new-languages.mdx diff --git a/src/content/changelogs-next/2025-01-31-html-rewriter-streaming.mdx b/src/content/changelog/2025-01-31-html-rewriter-streaming.mdx similarity index 100% rename from src/content/changelogs-next/2025-01-31-html-rewriter-streaming.mdx rename to src/content/changelog/2025-01-31-html-rewriter-streaming.mdx diff --git a/src/content/changelogs-next/2025-01-31-workers-platforms-static-assets.mdx b/src/content/changelog/2025-01-31-workers-platforms-static-assets.mdx similarity index 100% rename from src/content/changelogs-next/2025-01-31-workers-platforms-static-assets.mdx rename to src/content/changelog/2025-01-31-workers-platforms-static-assets.mdx diff --git a/src/content/changelogs-next/2025-02-03-terraform-v5-provider.mdx b/src/content/changelog/2025-02-03-terraform-v5-provider.mdx similarity index 97% rename from src/content/changelogs-next/2025-02-03-terraform-v5-provider.mdx rename to src/content/changelog/2025-02-03-terraform-v5-provider.mdx index 55e7e4533ce0cd..b626f32d65fe71 100644 --- a/src/content/changelogs-next/2025-02-03-terraform-v5-provider.mdx +++ b/src/content/changelog/2025-02-03-terraform-v5-provider.mdx @@ -5,7 +5,7 @@ products: - fundamentals date: 2025-02-03 --- -![Screenshot of Terraform defining a Zone](~/assets/images/changelog-next/2024-02-03-terraform-v5-screenshot.png) +![Screenshot of Terraform defining a Zone](~/assets/images/changelog/2024-02-03-terraform-v5-screenshot.png) Cloudflare's v5 Terraform Provider is now generally available. With this release, Terraform resources are now automatically generated based on OpenAPI Schemas. This change brings alignment across our SDKs, API documentation, and now Terraform Provider. The new provider boosts coverage by increasing support for API properties to 100%, adding 25% more resources, and more than 200 additional data sources. Going forward, this will also reduce the barriers to bringing more resources into Terraform across the broader Cloudflare API. This is a small, but important step to making more of our platform manageable through GitOps, making it easier for you to manage Cloudflare just like you do your other infrastructure. diff --git a/src/content/changelogs-next/2025-02-03-workers-metrics-revamp.mdx b/src/content/changelog/2025-02-03-workers-metrics-revamp.mdx similarity index 100% rename from src/content/changelogs-next/2025-02-03-workers-metrics-revamp.mdx rename to src/content/changelog/2025-02-03-workers-metrics-revamp.mdx diff --git a/src/content/changelogs-next/2025-02-04-aig-provider-cartesia-eleven-cerebras.mdx b/src/content/changelog/2025-02-04-aig-provider-cartesia-eleven-cerebras.mdx similarity index 100% rename from src/content/changelogs-next/2025-02-04-aig-provider-cartesia-eleven-cerebras.mdx rename to src/content/changelog/2025-02-04-aig-provider-cartesia-eleven-cerebras.mdx diff --git a/src/content/changelogs-next/2025-02-04-radar-ai-insights.mdx b/src/content/changelog/2025-02-04-radar-ai-insights.mdx similarity index 100% rename from src/content/changelogs-next/2025-02-04-radar-ai-insights.mdx rename to src/content/changelog/2025-02-04-radar-ai-insights.mdx diff --git a/src/content/changelogs-next/2025-02-05-aig-request-handling.mdx b/src/content/changelog/2025-02-05-aig-request-handling.mdx similarity index 100% rename from src/content/changelogs-next/2025-02-05-aig-request-handling.mdx rename to src/content/changelog/2025-02-05-aig-request-handling.mdx diff --git a/src/content/changelogs-next/2025-02-07-new-ways-to-get-started-on-workers.mdx b/src/content/changelog/2025-02-07-new-ways-to-get-started-on-workers.mdx similarity index 100% rename from src/content/changelogs-next/2025-02-07-new-ways-to-get-started-on-workers.mdx rename to src/content/changelog/2025-02-07-new-ways-to-get-started-on-workers.mdx diff --git a/src/content/changelogs/access.yaml b/src/content/changelogs-old/access.yaml similarity index 100% rename from src/content/changelogs/access.yaml rename to src/content/changelogs-old/access.yaml diff --git a/src/content/changelogs/ai-gateway.yaml b/src/content/changelogs-old/ai-gateway.yaml similarity index 100% rename from src/content/changelogs/ai-gateway.yaml rename to src/content/changelogs-old/ai-gateway.yaml diff --git a/src/content/changelogs/api-deprecations.yaml b/src/content/changelogs-old/api-deprecations.yaml similarity index 100% rename from src/content/changelogs/api-deprecations.yaml rename to src/content/changelogs-old/api-deprecations.yaml diff --git a/src/content/changelogs/api-shield.yaml b/src/content/changelogs-old/api-shield.yaml similarity index 100% rename from src/content/changelogs/api-shield.yaml rename to src/content/changelogs-old/api-shield.yaml diff --git a/src/content/changelogs/beacon-min-js.yaml b/src/content/changelogs-old/beacon-min-js.yaml similarity index 100% rename from src/content/changelogs/beacon-min-js.yaml rename to src/content/changelogs-old/beacon-min-js.yaml diff --git a/src/content/changelogs/bots.yaml b/src/content/changelogs-old/bots.yaml similarity index 100% rename from src/content/changelogs/bots.yaml rename to src/content/changelogs-old/bots.yaml diff --git a/src/content/changelogs/browser-isolation.yaml b/src/content/changelogs-old/browser-isolation.yaml similarity index 100% rename from src/content/changelogs/browser-isolation.yaml rename to src/content/changelogs-old/browser-isolation.yaml diff --git a/src/content/changelogs/browser-rendering.yaml b/src/content/changelogs-old/browser-rendering.yaml similarity index 100% rename from src/content/changelogs/browser-rendering.yaml rename to src/content/changelogs-old/browser-rendering.yaml diff --git a/src/content/changelogs/byoip.yaml b/src/content/changelogs-old/byoip.yaml similarity index 100% rename from src/content/changelogs/byoip.yaml rename to src/content/changelogs-old/byoip.yaml diff --git a/src/content/changelogs/cache.yaml b/src/content/changelogs-old/cache.yaml similarity index 100% rename from src/content/changelogs/cache.yaml rename to src/content/changelogs-old/cache.yaml diff --git a/src/content/changelogs/calls.yaml b/src/content/changelogs-old/calls.yaml similarity index 100% rename from src/content/changelogs/calls.yaml rename to src/content/changelogs-old/calls.yaml diff --git a/src/content/changelogs/casb.yaml b/src/content/changelogs-old/casb.yaml similarity index 100% rename from src/content/changelogs/casb.yaml rename to src/content/changelogs-old/casb.yaml diff --git a/src/content/changelogs/d1.yaml b/src/content/changelogs-old/d1.yaml similarity index 100% rename from src/content/changelogs/d1.yaml rename to src/content/changelogs-old/d1.yaml diff --git a/src/content/changelogs/data-localization.yaml b/src/content/changelogs-old/data-localization.yaml similarity index 100% rename from src/content/changelogs/data-localization.yaml rename to src/content/changelogs-old/data-localization.yaml diff --git a/src/content/changelogs/ddos-http.yaml b/src/content/changelogs-old/ddos-http.yaml similarity index 100% rename from src/content/changelogs/ddos-http.yaml rename to src/content/changelogs-old/ddos-http.yaml diff --git a/src/content/changelogs/ddos-network.yaml b/src/content/changelogs-old/ddos-network.yaml similarity index 100% rename from src/content/changelogs/ddos-network.yaml rename to src/content/changelogs-old/ddos-network.yaml diff --git a/src/content/changelogs/ddos.yaml b/src/content/changelogs-old/ddos.yaml similarity index 100% rename from src/content/changelogs/ddos.yaml rename to src/content/changelogs-old/ddos.yaml diff --git a/src/content/changelogs/dex.yaml b/src/content/changelogs-old/dex.yaml similarity index 100% rename from src/content/changelogs/dex.yaml rename to src/content/changelogs-old/dex.yaml diff --git a/src/content/changelogs/dlp.yaml b/src/content/changelogs-old/dlp.yaml similarity index 100% rename from src/content/changelogs/dlp.yaml rename to src/content/changelogs-old/dlp.yaml diff --git a/src/content/changelogs/dns.yaml b/src/content/changelogs-old/dns.yaml similarity index 100% rename from src/content/changelogs/dns.yaml rename to src/content/changelogs-old/dns.yaml diff --git a/src/content/changelogs/durable-objects.yaml b/src/content/changelogs-old/durable-objects.yaml similarity index 100% rename from src/content/changelogs/durable-objects.yaml rename to src/content/changelogs-old/durable-objects.yaml diff --git a/src/content/changelogs/email-security.yaml b/src/content/changelogs-old/email-security.yaml similarity index 100% rename from src/content/changelogs/email-security.yaml rename to src/content/changelogs-old/email-security.yaml diff --git a/src/content/changelogs/fundamentals.yaml b/src/content/changelogs-old/fundamentals.yaml similarity index 100% rename from src/content/changelogs/fundamentals.yaml rename to src/content/changelogs-old/fundamentals.yaml diff --git a/src/content/changelogs/gateway.yaml b/src/content/changelogs-old/gateway.yaml similarity index 100% rename from src/content/changelogs/gateway.yaml rename to src/content/changelogs-old/gateway.yaml diff --git a/src/content/changelogs/hyperdrive.yaml b/src/content/changelogs-old/hyperdrive.yaml similarity index 100% rename from src/content/changelogs/hyperdrive.yaml rename to src/content/changelogs-old/hyperdrive.yaml diff --git a/src/content/changelogs/images.yaml b/src/content/changelogs-old/images.yaml similarity index 100% rename from src/content/changelogs/images.yaml rename to src/content/changelogs-old/images.yaml diff --git a/src/content/changelogs/kv.yaml b/src/content/changelogs-old/kv.yaml similarity index 100% rename from src/content/changelogs/kv.yaml rename to src/content/changelogs-old/kv.yaml diff --git a/src/content/changelogs/load-balancing.yaml b/src/content/changelogs-old/load-balancing.yaml similarity index 100% rename from src/content/changelogs/load-balancing.yaml rename to src/content/changelogs-old/load-balancing.yaml diff --git a/src/content/changelogs/logs.yaml b/src/content/changelogs-old/logs.yaml similarity index 100% rename from src/content/changelogs/logs.yaml rename to src/content/changelogs-old/logs.yaml diff --git a/src/content/changelogs/magic-cloud-networking.yaml b/src/content/changelogs-old/magic-cloud-networking.yaml similarity index 100% rename from src/content/changelogs/magic-cloud-networking.yaml rename to src/content/changelogs-old/magic-cloud-networking.yaml diff --git a/src/content/changelogs/magic-firewall.yaml b/src/content/changelogs-old/magic-firewall.yaml similarity index 100% rename from src/content/changelogs/magic-firewall.yaml rename to src/content/changelogs-old/magic-firewall.yaml diff --git a/src/content/changelogs/magic-network-monitoring.yaml b/src/content/changelogs-old/magic-network-monitoring.yaml similarity index 100% rename from src/content/changelogs/magic-network-monitoring.yaml rename to src/content/changelogs-old/magic-network-monitoring.yaml diff --git a/src/content/changelogs/magic-transit.yaml b/src/content/changelogs-old/magic-transit.yaml similarity index 100% rename from src/content/changelogs/magic-transit.yaml rename to src/content/changelogs-old/magic-transit.yaml diff --git a/src/content/changelogs/magic-wan.yaml b/src/content/changelogs-old/magic-wan.yaml similarity index 100% rename from src/content/changelogs/magic-wan.yaml rename to src/content/changelogs-old/magic-wan.yaml diff --git a/src/content/changelogs/network-interconnect.yaml b/src/content/changelogs-old/network-interconnect.yaml similarity index 100% rename from src/content/changelogs/network-interconnect.yaml rename to src/content/changelogs-old/network-interconnect.yaml diff --git a/src/content/changelogs/notifications.yaml b/src/content/changelogs-old/notifications.yaml similarity index 100% rename from src/content/changelogs/notifications.yaml rename to src/content/changelogs-old/notifications.yaml diff --git a/src/content/changelogs/page-shield.yaml b/src/content/changelogs-old/page-shield.yaml similarity index 100% rename from src/content/changelogs/page-shield.yaml rename to src/content/changelogs-old/page-shield.yaml diff --git a/src/content/changelogs/pages.yaml b/src/content/changelogs-old/pages.yaml similarity index 100% rename from src/content/changelogs/pages.yaml rename to src/content/changelogs-old/pages.yaml diff --git a/src/content/changelogs/queues.yaml b/src/content/changelogs-old/queues.yaml similarity index 100% rename from src/content/changelogs/queues.yaml rename to src/content/changelogs-old/queues.yaml diff --git a/src/content/changelogs/r2.yaml b/src/content/changelogs-old/r2.yaml similarity index 100% rename from src/content/changelogs/r2.yaml rename to src/content/changelogs-old/r2.yaml diff --git a/src/content/changelogs/radar.yaml b/src/content/changelogs-old/radar.yaml similarity index 100% rename from src/content/changelogs/radar.yaml rename to src/content/changelogs-old/radar.yaml diff --git a/src/content/changelogs/risk-score.yaml b/src/content/changelogs-old/risk-score.yaml similarity index 100% rename from src/content/changelogs/risk-score.yaml rename to src/content/changelogs-old/risk-score.yaml diff --git a/src/content/changelogs/rules.yaml b/src/content/changelogs-old/rules.yaml similarity index 100% rename from src/content/changelogs/rules.yaml rename to src/content/changelogs-old/rules.yaml diff --git a/src/content/changelogs/security-center.yaml b/src/content/changelogs-old/security-center.yaml similarity index 100% rename from src/content/changelogs/security-center.yaml rename to src/content/changelogs-old/security-center.yaml diff --git a/src/content/changelogs/spectrum.yaml b/src/content/changelogs-old/spectrum.yaml similarity index 100% rename from src/content/changelogs/spectrum.yaml rename to src/content/changelogs-old/spectrum.yaml diff --git a/src/content/changelogs/ssl.yaml b/src/content/changelogs-old/ssl.yaml similarity index 100% rename from src/content/changelogs/ssl.yaml rename to src/content/changelogs-old/ssl.yaml diff --git a/src/content/changelogs/stream.yaml b/src/content/changelogs-old/stream.yaml similarity index 100% rename from src/content/changelogs/stream.yaml rename to src/content/changelogs-old/stream.yaml diff --git a/src/content/changelogs/tenant.yaml b/src/content/changelogs-old/tenant.yaml similarity index 100% rename from src/content/changelogs/tenant.yaml rename to src/content/changelogs-old/tenant.yaml diff --git a/src/content/changelogs/trace.yaml b/src/content/changelogs-old/trace.yaml similarity index 100% rename from src/content/changelogs/trace.yaml rename to src/content/changelogs-old/trace.yaml diff --git a/src/content/changelogs/tunnel.yaml b/src/content/changelogs-old/tunnel.yaml similarity index 100% rename from src/content/changelogs/tunnel.yaml rename to src/content/changelogs-old/tunnel.yaml diff --git a/src/content/changelogs/turnstile.yaml b/src/content/changelogs-old/turnstile.yaml similarity index 100% rename from src/content/changelogs/turnstile.yaml rename to src/content/changelogs-old/turnstile.yaml diff --git a/src/content/changelogs/vectorize.yaml b/src/content/changelogs-old/vectorize.yaml similarity index 100% rename from src/content/changelogs/vectorize.yaml rename to src/content/changelogs-old/vectorize.yaml diff --git a/src/content/changelogs/version-management.yaml b/src/content/changelogs-old/version-management.yaml similarity index 100% rename from src/content/changelogs/version-management.yaml rename to src/content/changelogs-old/version-management.yaml diff --git a/src/content/changelogs/waf-general.yaml b/src/content/changelogs-old/waf-general.yaml similarity index 100% rename from src/content/changelogs/waf-general.yaml rename to src/content/changelogs-old/waf-general.yaml diff --git a/src/content/changelogs/waf.yaml b/src/content/changelogs-old/waf.yaml similarity index 100% rename from src/content/changelogs/waf.yaml rename to src/content/changelogs-old/waf.yaml diff --git a/src/content/changelogs/waiting-room.yaml b/src/content/changelogs-old/waiting-room.yaml similarity index 100% rename from src/content/changelogs/waiting-room.yaml rename to src/content/changelogs-old/waiting-room.yaml diff --git a/src/content/changelogs/warp.yaml b/src/content/changelogs-old/warp.yaml similarity index 100% rename from src/content/changelogs/warp.yaml rename to src/content/changelogs-old/warp.yaml diff --git a/src/content/changelogs/workers-ai.yaml b/src/content/changelogs-old/workers-ai.yaml similarity index 100% rename from src/content/changelogs/workers-ai.yaml rename to src/content/changelogs-old/workers-ai.yaml diff --git a/src/content/changelogs/workers-for-platforms.yaml b/src/content/changelogs-old/workers-for-platforms.yaml similarity index 100% rename from src/content/changelogs/workers-for-platforms.yaml rename to src/content/changelogs-old/workers-for-platforms.yaml diff --git a/src/content/changelogs/workers.yaml b/src/content/changelogs-old/workers.yaml similarity index 100% rename from src/content/changelogs/workers.yaml rename to src/content/changelogs-old/workers.yaml diff --git a/src/content/changelogs/workflows.yaml b/src/content/changelogs-old/workflows.yaml similarity index 100% rename from src/content/changelogs/workflows.yaml rename to src/content/changelogs-old/workflows.yaml diff --git a/src/content/changelogs/zaraz.yaml b/src/content/changelogs-old/zaraz.yaml similarity index 100% rename from src/content/changelogs/zaraz.yaml rename to src/content/changelogs-old/zaraz.yaml diff --git a/src/content/docs/ai-gateway/changelog.mdx b/src/content/docs/ai-gateway/changelog.mdx index b2bcb4da785a07..77a4abdbddd599 100644 --- a/src/content/docs/ai-gateway/changelog.mdx +++ b/src/content/docs/ai-gateway/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - ai-gateway sidebar: order: 9 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/api-shield/changelog.mdx b/src/content/docs/api-shield/changelog.mdx index 6ef6a203349ae4..54f0817d0cedee 100644 --- a/src/content/docs/api-shield/changelog.mdx +++ b/src/content/docs/api-shield/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - api-shield sidebar: order: 10 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/bots/changelog.mdx b/src/content/docs/bots/changelog.mdx index a0eaa23fb38cd8..8563298c0848fc 100644 --- a/src/content/docs/bots/changelog.mdx +++ b/src/content/docs/bots/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - bots sidebar: order: 13 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/browser-rendering/changelog.mdx b/src/content/docs/browser-rendering/changelog.mdx index f614e3025e4f74..7e5facb0b4c297 100644 --- a/src/content/docs/browser-rendering/changelog.mdx +++ b/src/content/docs/browser-rendering/changelog.mdx @@ -1,16 +1,11 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - browser-rendering sidebar: order: 9 -head: [] description: Review recent changes to Worker Browser Rendering. --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/byoip/changelog.mdx b/src/content/docs/byoip/changelog.mdx index 3459aa7dcc5845..6c80feb31100c1 100644 --- a/src/content/docs/byoip/changelog.mdx +++ b/src/content/docs/byoip/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - byoip sidebar: order: 15 --- import { ProductChangelog } from "~/components"; -{/* */} - - \ No newline at end of file + \ No newline at end of file diff --git a/src/content/docs/cache/changelog.mdx b/src/content/docs/cache/changelog.mdx index 5e8884e069b7c8..d12c9090e9af9b 100644 --- a/src/content/docs/cache/changelog.mdx +++ b/src/content/docs/cache/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - cache sidebar: order: 12 --- import { ProductChangelog } from "~/components"; -{/* */} - - \ No newline at end of file + \ No newline at end of file diff --git a/src/content/docs/calls/changelog.mdx b/src/content/docs/calls/changelog.mdx index cedae5bc1e110e..8eea2a427956a7 100644 --- a/src/content/docs/calls/changelog.mdx +++ b/src/content/docs/calls/changelog.mdx @@ -1,12 +1,8 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - calls --- import { ProductChangelog } from "~/components"; -{/* */} - - \ No newline at end of file + \ No newline at end of file diff --git a/src/content/docs/cloudflare-for-platforms/workers-for-platforms/platform/changelog.mdx b/src/content/docs/cloudflare-for-platforms/workers-for-platforms/platform/changelog.mdx index 2d5f80eac92f9a..6e026256a0691f 100644 --- a/src/content/docs/cloudflare-for-platforms/workers-for-platforms/platform/changelog.mdx +++ b/src/content/docs/cloudflare-for-platforms/workers-for-platforms/platform/changelog.mdx @@ -9,6 +9,4 @@ import { ProductChangelog } from "~/components"; Workers for Platforms users might also be interested in [the Workers changelog](/workers/platform/changelog/) which has detailed changes to the Workers runtime and the various configuration options available to your dispatch and user Workers. -{/* */} - - \ No newline at end of file + \ No newline at end of file diff --git a/src/content/docs/cloudflare-one/changelog/access.mdx b/src/content/docs/cloudflare-one/changelog/access.mdx index 34b46d7bf9daf3..f9c10deba99aa3 100644 --- a/src/content/docs/cloudflare-one/changelog/access.mdx +++ b/src/content/docs/cloudflare-one/changelog/access.mdx @@ -1,8 +1,6 @@ --- pcx_content_type: changelog title: Access -changelog_file_name: - - access head: - tag: title content: Access Changelog @@ -12,6 +10,4 @@ description: Review recent changes to Cloudflare Access. import { ProductChangelog } from "~/components" -{/* */} - - + \ No newline at end of file diff --git a/src/content/docs/cloudflare-one/changelog/browser-isolation.mdx b/src/content/docs/cloudflare-one/changelog/browser-isolation.mdx index cf080589278dbe..4069555fe1d39e 100644 --- a/src/content/docs/cloudflare-one/changelog/browser-isolation.mdx +++ b/src/content/docs/cloudflare-one/changelog/browser-isolation.mdx @@ -1,8 +1,6 @@ --- pcx_content_type: changelog title: Browser Isolation -changelog_file_name: - - browser-isolation head: - tag: title content: Browser Isolation Changelog @@ -12,6 +10,4 @@ description: Review recent changes to Cloudflare Browser Isolation. import { ProductChangelog } from "~/components" -{/* */} - - + diff --git a/src/content/docs/cloudflare-one/changelog/casb.mdx b/src/content/docs/cloudflare-one/changelog/casb.mdx index 51c43c5eb74bd4..64d510db2e701f 100644 --- a/src/content/docs/cloudflare-one/changelog/casb.mdx +++ b/src/content/docs/cloudflare-one/changelog/casb.mdx @@ -12,6 +12,4 @@ description: Review recent changes to Cloudflare CASB. import { ProductChangelog } from "~/components" -{/* */} - - + diff --git a/src/content/docs/cloudflare-one/changelog/dex.mdx b/src/content/docs/cloudflare-one/changelog/dex.mdx index 3fec8379e36e5f..bf720185a50726 100644 --- a/src/content/docs/cloudflare-one/changelog/dex.mdx +++ b/src/content/docs/cloudflare-one/changelog/dex.mdx @@ -1,17 +1,12 @@ --- pcx_content_type: changelog title: Digital Experience Monitoring -changelog_file_name: - - dex head: - tag: title content: Digital Experience Monitoring Changelog description: Review recent changes to Digital Experience Monitoring. - --- import { ProductChangelog } from "~/components" -{/* */} - - + \ No newline at end of file diff --git a/src/content/docs/cloudflare-one/changelog/dlp.mdx b/src/content/docs/cloudflare-one/changelog/dlp.mdx index a58281c9d636cf..7621f27966b981 100644 --- a/src/content/docs/cloudflare-one/changelog/dlp.mdx +++ b/src/content/docs/cloudflare-one/changelog/dlp.mdx @@ -1,8 +1,6 @@ --- pcx_content_type: changelog title: Data Loss Prevention -changelog_file_name: - - dlp head: - tag: title content: DLP Changelog @@ -12,6 +10,4 @@ description: Review recent changes to Cloudflare DLP. import { ProductChangelog } from "~/components" -{/* */} - - + diff --git a/src/content/docs/cloudflare-one/changelog/email-security.mdx b/src/content/docs/cloudflare-one/changelog/email-security.mdx index e873250b1ac578..9b09259db673ac 100644 --- a/src/content/docs/cloudflare-one/changelog/email-security.mdx +++ b/src/content/docs/cloudflare-one/changelog/email-security.mdx @@ -1,13 +1,8 @@ --- pcx_content_type: changelog title: Email Security -changelog_file_name: - - email-security - --- import { ProductChangelog } from "~/components" -{/* */} - - \ No newline at end of file + \ No newline at end of file diff --git a/src/content/docs/cloudflare-one/changelog/gateway.mdx b/src/content/docs/cloudflare-one/changelog/gateway.mdx index ac38a6fb6fab4c..378c336f807f28 100644 --- a/src/content/docs/cloudflare-one/changelog/gateway.mdx +++ b/src/content/docs/cloudflare-one/changelog/gateway.mdx @@ -1,8 +1,6 @@ --- pcx_content_type: changelog title: Gateway -changelog_file_name: - - gateway head: - tag: title content: Gateway Changelog @@ -12,6 +10,4 @@ description: Review recent changes to Cloudflare Gateway. import { ProductChangelog } from "~/components" -{/* */} - - + diff --git a/src/content/docs/cloudflare-one/changelog/index.mdx b/src/content/docs/cloudflare-one/changelog/index.mdx index e8c6e5ac9c5486..d45a5e27bcb997 100644 --- a/src/content/docs/cloudflare-one/changelog/index.mdx +++ b/src/content/docs/cloudflare-one/changelog/index.mdx @@ -1,17 +1,11 @@ --- pcx_content_type: changelog title: Changelog -changelog_name: Cloudflare One -changelog_product_area_name: Cloudflare One sidebar: order: 15 -head: [] description: Review recent changes to Cloudflare One. - --- import { ProductChangelog } from "~/components" -{/* */} - - \ No newline at end of file + diff --git a/src/content/docs/cloudflare-one/changelog/risk-score.mdx b/src/content/docs/cloudflare-one/changelog/risk-score.mdx index a20b567ea78c9b..9684590767b632 100644 --- a/src/content/docs/cloudflare-one/changelog/risk-score.mdx +++ b/src/content/docs/cloudflare-one/changelog/risk-score.mdx @@ -1,8 +1,6 @@ --- pcx_content_type: changelog title: Risk score -changelog_file_name: - - risk-score head: - tag: title content: Risk score Changelog @@ -12,6 +10,4 @@ description: Review recent changes to Cloudflare Zero Trust user risk scoring. import { ProductChangelog } from "~/components" -{/* */} - - + diff --git a/src/content/docs/cloudflare-one/changelog/tunnel.mdx b/src/content/docs/cloudflare-one/changelog/tunnel.mdx index 077ace2e0c5211..c641a2f67302aa 100644 --- a/src/content/docs/cloudflare-one/changelog/tunnel.mdx +++ b/src/content/docs/cloudflare-one/changelog/tunnel.mdx @@ -1,8 +1,6 @@ --- pcx_content_type: changelog title: Cloudflare Tunnel -changelog_file_name: - - tunnel head: - tag: title content: Cloudflare Tunnel Changelog @@ -12,6 +10,4 @@ description: Review recent changes to Cloudflare Tunnel. import { ProductChangelog } from "~/components" -{/* */} - - + diff --git a/src/content/docs/cloudflare-one/changelog/warp.mdx b/src/content/docs/cloudflare-one/changelog/warp.mdx index 4fcb4def0a3078..a054076c241e30 100644 --- a/src/content/docs/cloudflare-one/changelog/warp.mdx +++ b/src/content/docs/cloudflare-one/changelog/warp.mdx @@ -1,8 +1,6 @@ --- pcx_content_type: changelog title: Zero Trust WARP Client -changelog_file_name: - - warp head: - tag: title content: Zero Trust WARP Client Changelog @@ -12,6 +10,4 @@ description: Review recent changes to the Zero Trust WARP client. import { ProductChangelog } from "~/components" -{/* */} - - + diff --git a/src/content/docs/d1/platform/changelog.mdx b/src/content/docs/d1/platform/changelog.mdx index f06c985f05db59..ac824c52c55919 100644 --- a/src/content/docs/d1/platform/changelog.mdx +++ b/src/content/docs/d1/platform/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - d1 sidebar: order: 4 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/data-localization/changelog.mdx b/src/content/docs/data-localization/changelog.mdx index f606f5be05eea7..f7f89ae90b0b7f 100644 --- a/src/content/docs/data-localization/changelog.mdx +++ b/src/content/docs/data-localization/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - data-localization sidebar: order: 11 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/ddos-protection/change-log/general-updates.mdx b/src/content/docs/ddos-protection/change-log/general-updates.mdx index 6e054d044f5a28..bf9f2c2739c216 100644 --- a/src/content/docs/ddos-protection/change-log/general-updates.mdx +++ b/src/content/docs/ddos-protection/change-log/general-updates.mdx @@ -1,8 +1,6 @@ --- title: "General updates" pcx_content_type: concept -changelog_file_name: - - ddos changelog_name: DDoS protection sidebar: order: 5 @@ -13,6 +11,4 @@ head: import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/dns/changelog.mdx b/src/content/docs/dns/changelog.mdx index c3cf530d634c70..346ad64ffe5880 100644 --- a/src/content/docs/dns/changelog.mdx +++ b/src/content/docs/dns/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - dns sidebar: order: 25 --- import { ProductChangelog } from "~/components"; -{/* */} - - \ No newline at end of file + \ No newline at end of file diff --git a/src/content/docs/durable-objects/changelog.mdx b/src/content/docs/durable-objects/changelog.mdx index 21f060a49073f9..78f636f6ebcaf5 100644 --- a/src/content/docs/durable-objects/changelog.mdx +++ b/src/content/docs/durable-objects/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - durable-objects sidebar: order: 15 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/fundamentals/api/reference/deprecations.mdx b/src/content/docs/fundamentals/api/reference/deprecations.mdx index ba9e3ab04a191f..591a3ba10c6b52 100644 --- a/src/content/docs/fundamentals/api/reference/deprecations.mdx +++ b/src/content/docs/fundamentals/api/reference/deprecations.mdx @@ -9,12 +9,10 @@ sidebar: import { ProductChangelog } from "~/components"; -{/* */} - Cloudflare occasionally makes updates to our APIs that result in behavior changes or deprecations. When this happens, we will communicate when the API will no longer be available and whether there will be a replacement. :::note -Subscribe to all API deprecation posts via [RSS](/release-notes/index.xml). +Subscribe to all API deprecation posts via [RSS](/changelog/rss/api-deprecations.xml). ::: - + diff --git a/src/content/docs/fundamentals/changelog.mdx b/src/content/docs/fundamentals/changelog.mdx index e91b4cb0c45460..e033c93ac5a2d1 100644 --- a/src/content/docs/fundamentals/changelog.mdx +++ b/src/content/docs/fundamentals/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - fundamentals sidebar: order: 9 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/fundamentals/reference/changelog/performance.mdx b/src/content/docs/fundamentals/reference/changelog/performance.mdx deleted file mode 100644 index a7cd180a30bbf2..00000000000000 --- a/src/content/docs/fundamentals/reference/changelog/performance.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -pcx_content_type: changelog -title: Changelog -changelog_name: Application performance -changelog_product_area_name: Application performance -sidebar: - order: 4 - hidden: true -head: [] -description: Review recent changes to Cloudflare's Application Performance products. ---- - -{/* */} diff --git a/src/content/docs/fundamentals/reference/changelog/platform.mdx b/src/content/docs/fundamentals/reference/changelog/platform.mdx deleted file mode 100644 index 0fcce2d88d19fd..00000000000000 --- a/src/content/docs/fundamentals/reference/changelog/platform.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -pcx_content_type: changelog -title: Changelog -changelog_name: Core platform -changelog_product_area_name: Core platform -sidebar: - order: 4 - hidden: true -head: [] -description: Review recent changes to Cloudflare's core platform. ---- - -{/* */} diff --git a/src/content/docs/fundamentals/reference/changelog/security.mdx b/src/content/docs/fundamentals/reference/changelog/security.mdx deleted file mode 100644 index ae756378358e79..00000000000000 --- a/src/content/docs/fundamentals/reference/changelog/security.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -pcx_content_type: changelog -title: Changelog -changelog_name: Application security -changelog_product_area_name: Application security -sidebar: - order: 4 - hidden: true -head: [] -description: Review recent changes to Cloudflare's Application Security products. ---- - -{/* */} diff --git a/src/content/docs/fundamentals/security/trace-request/changelog.mdx b/src/content/docs/fundamentals/security/trace-request/changelog.mdx index ff8402d166c59f..2b10a596334402 100644 --- a/src/content/docs/fundamentals/security/trace-request/changelog.mdx +++ b/src/content/docs/fundamentals/security/trace-request/changelog.mdx @@ -1,8 +1,6 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - trace sidebar: order: 4 head: @@ -12,6 +10,4 @@ head: import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/hyperdrive/platform/changelog.mdx b/src/content/docs/hyperdrive/platform/changelog.mdx index 32a31e0372d2de..89a9008e5a95eb 100644 --- a/src/content/docs/hyperdrive/platform/changelog.mdx +++ b/src/content/docs/hyperdrive/platform/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - hyperdrive sidebar: order: 4 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/images/platform/changelog.mdx b/src/content/docs/images/platform/changelog.mdx index 5efd69f78d1128..e9b545e7a5c6b7 100644 --- a/src/content/docs/images/platform/changelog.mdx +++ b/src/content/docs/images/platform/changelog.mdx @@ -1,12 +1,8 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - images --- import { ProductChangelog } from "~/components"; -{/* */} - - \ No newline at end of file + \ No newline at end of file diff --git a/src/content/docs/kv/platform/changelog.mdx b/src/content/docs/kv/platform/changelog.mdx index 95d9c858250017..dc8e2bae2f2702 100644 --- a/src/content/docs/kv/platform/changelog.mdx +++ b/src/content/docs/kv/platform/changelog.mdx @@ -3,12 +3,8 @@ pcx_content_type: changelog title: Changelog sidebar: order: 8 -changelog_file_name: - - kv --- import { ProductChangelog } from "~/components"; -{/* Actual content lives in /src/content/changelogs/kv.yaml. Update the file there for new entries to appear here. For more details, refer to https://developers.cloudflare.com/style-guide/documentation-content-strategy/content-types/changelog/#yaml-file */} - - + diff --git a/src/content/docs/load-balancing/changelog.mdx b/src/content/docs/load-balancing/changelog.mdx index ac95272db2c937..437204bc21692f 100644 --- a/src/content/docs/load-balancing/changelog.mdx +++ b/src/content/docs/load-balancing/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - load-balancing sidebar: order: 153 --- import { ProductChangelog } from "~/components"; -{/* */} - - \ No newline at end of file + \ No newline at end of file diff --git a/src/content/docs/logs/changelog.mdx b/src/content/docs/logs/changelog.mdx index 3c538098dcdb12..167c89dee1c799 100644 --- a/src/content/docs/logs/changelog.mdx +++ b/src/content/docs/logs/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - logs sidebar: order: 140 --- import { ProductChangelog } from "~/components"; -{/* */} - - \ No newline at end of file + \ No newline at end of file diff --git a/src/content/docs/magic-cloud-networking/changelog.mdx b/src/content/docs/magic-cloud-networking/changelog.mdx index 2be52840515a20..82cdce489ef817 100644 --- a/src/content/docs/magic-cloud-networking/changelog.mdx +++ b/src/content/docs/magic-cloud-networking/changelog.mdx @@ -1,16 +1,11 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - magic-cloud-networking sidebar: order: 6 -head: [] description: Review recent changes to Magic Cloud Networking. --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/magic-firewall/changelog.mdx b/src/content/docs/magic-firewall/changelog.mdx index bcf89f96d7e745..5022b729238778 100644 --- a/src/content/docs/magic-firewall/changelog.mdx +++ b/src/content/docs/magic-firewall/changelog.mdx @@ -1,12 +1,8 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - magic-firewall --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/magic-network-monitoring/changelog.mdx b/src/content/docs/magic-network-monitoring/changelog.mdx index 78e5c887eeb03d..bae71a785015e0 100644 --- a/src/content/docs/magic-network-monitoring/changelog.mdx +++ b/src/content/docs/magic-network-monitoring/changelog.mdx @@ -1,16 +1,11 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - magic-network-monitoring sidebar: order: 12 -head: [] description: Review recent changes to Magic Network Monitoring. --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/magic-transit/changelog.mdx b/src/content/docs/magic-transit/changelog.mdx index 90c8aa2ac6d557..103df48254b358 100644 --- a/src/content/docs/magic-transit/changelog.mdx +++ b/src/content/docs/magic-transit/changelog.mdx @@ -1,16 +1,11 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - magic-transit sidebar: order: 14 -head: [] description: Review recent changes to Magic Transit. --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/magic-wan/changelog.mdx b/src/content/docs/magic-wan/changelog.mdx index f51424a51583d2..3c77f9a2b566c5 100644 --- a/src/content/docs/magic-wan/changelog.mdx +++ b/src/content/docs/magic-wan/changelog.mdx @@ -1,16 +1,11 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - magic-wan sidebar: order: 13 -head: [] description: Review recent changes to Magic WAN. --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/network-interconnect/changelog.mdx b/src/content/docs/network-interconnect/changelog.mdx index 73260c6c759f4d..907f5eae2dd409 100644 --- a/src/content/docs/network-interconnect/changelog.mdx +++ b/src/content/docs/network-interconnect/changelog.mdx @@ -1,16 +1,11 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - network-interconnect sidebar: order: 6 -head: [] description: Review recent changes to Cloudflare Network Interconnect. --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/notifications/changelog.mdx b/src/content/docs/notifications/changelog.mdx index f2bd6280739121..14597588f1c9fa 100644 --- a/src/content/docs/notifications/changelog.mdx +++ b/src/content/docs/notifications/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - notifications sidebar: order: 7 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/page-shield/changelog.mdx b/src/content/docs/page-shield/changelog.mdx index 36d38b5c7eb6b1..c3c0c87b943233 100644 --- a/src/content/docs/page-shield/changelog.mdx +++ b/src/content/docs/page-shield/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - page-shield sidebar: order: 11 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/pages/platform/changelog.mdx b/src/content/docs/pages/platform/changelog.mdx index b861a128d6da48..98d9330c40f679 100644 --- a/src/content/docs/pages/platform/changelog.mdx +++ b/src/content/docs/pages/platform/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - pages sidebar: order: 3 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/queues/platform/changelog.mdx b/src/content/docs/queues/platform/changelog.mdx index b15a05806f96bd..9c84bb41467652 100644 --- a/src/content/docs/queues/platform/changelog.mdx +++ b/src/content/docs/queues/platform/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - queues sidebar: order: 4 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/r2/platform/changelog.mdx b/src/content/docs/r2/platform/changelog.mdx index ae9828b86c9d07..874dd8f103da17 100644 --- a/src/content/docs/r2/platform/changelog.mdx +++ b/src/content/docs/r2/platform/changelog.mdx @@ -1,12 +1,8 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - r2 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/radar/changelog.mdx b/src/content/docs/radar/changelog.mdx index 1b78d6d66b7e1a..f81a2df339af43 100644 --- a/src/content/docs/radar/changelog.mdx +++ b/src/content/docs/radar/changelog.mdx @@ -1,16 +1,11 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - radar sidebar: order: 8 -head: [] description: Review recent changes to Cloudflare Radar. --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/rules/changelog.mdx b/src/content/docs/rules/changelog.mdx index 2ea604896ebddb..287889acc5e50a 100644 --- a/src/content/docs/rules/changelog.mdx +++ b/src/content/docs/rules/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - rules sidebar: order: 25 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/security-center/changelog.mdx b/src/content/docs/security-center/changelog.mdx index b830a8aa3c1338..47e8ab2f3191e3 100644 --- a/src/content/docs/security-center/changelog.mdx +++ b/src/content/docs/security-center/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - security-center sidebar: order: 13 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/spectrum/changelog.mdx b/src/content/docs/spectrum/changelog.mdx index 8da1cccc3168c9..f71193c49bc785 100644 --- a/src/content/docs/spectrum/changelog.mdx +++ b/src/content/docs/spectrum/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - spectrum sidebar: order: 11 --- import { ProductChangelog } from "~/components"; -{/* */} - - \ No newline at end of file + \ No newline at end of file diff --git a/src/content/docs/ssl/changelog.mdx b/src/content/docs/ssl/changelog.mdx index fad2d01842c5a1..6f5febe6507266 100644 --- a/src/content/docs/ssl/changelog.mdx +++ b/src/content/docs/ssl/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - ssl sidebar: order: 24 --- import { ProductChangelog } from "~/components"; -{/* */} - - \ No newline at end of file + \ No newline at end of file diff --git a/src/content/docs/stream/changelog.mdx b/src/content/docs/stream/changelog.mdx index 0922c682c81637..2779d2fcf4d434 100644 --- a/src/content/docs/stream/changelog.mdx +++ b/src/content/docs/stream/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - stream sidebar: order: 12 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/style-guide/components/product-changelog.mdx b/src/content/docs/style-guide/components/product-changelog.mdx new file mode 100644 index 00000000000000..457f646f206a59 --- /dev/null +++ b/src/content/docs/style-guide/components/product-changelog.mdx @@ -0,0 +1,27 @@ +--- +title: Product changelog +--- + +import { Type, MetaInfo } from "~/components"; + +## Component + +```mdx live +import { ProductChangelog } from "~/components"; + + +``` + +### Inputs + +The `products` and `area` options are mutually exclusive. + +- `products` + + An array of product names, matching the filename without the extension suffix from the [`products` collection](https://github.com/cloudflare/cloudflare-docs/tree/production/src/content/products). + +- `area` + + A product area, controlled by the `product.group` value inside the aforementioned `products` collection files. \ No newline at end of file diff --git a/src/content/docs/tenant/changelog.mdx b/src/content/docs/tenant/changelog.mdx index 57088293c8a41c..2fe6777774204d 100644 --- a/src/content/docs/tenant/changelog.mdx +++ b/src/content/docs/tenant/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - tenant sidebar: order: 11 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/turnstile/changelog.mdx b/src/content/docs/turnstile/changelog.mdx index 5d14a99118cf4a..06709369da9c90 100644 --- a/src/content/docs/turnstile/changelog.mdx +++ b/src/content/docs/turnstile/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - turnstile sidebar: order: 13 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/vectorize/platform/changelog.mdx b/src/content/docs/vectorize/platform/changelog.mdx index 2010b62f141637..dfb85d4ae82d60 100644 --- a/src/content/docs/vectorize/platform/changelog.mdx +++ b/src/content/docs/vectorize/platform/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - vectorize sidebar: order: 4 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/version-management/changelog.mdx b/src/content/docs/version-management/changelog.mdx index 7aeffa3437d581..e17ebb449d2360 100644 --- a/src/content/docs/version-management/changelog.mdx +++ b/src/content/docs/version-management/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - version-management sidebar: order: 6 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/waf/change-log/general-updates.mdx b/src/content/docs/waf/change-log/general-updates.mdx index 6e50c7ae2eb908..8de1d1eee2ad60 100644 --- a/src/content/docs/waf/change-log/general-updates.mdx +++ b/src/content/docs/waf/change-log/general-updates.mdx @@ -1,9 +1,6 @@ --- title: "General updates" pcx_content_type: concept -changelog_file_name: - - waf-general -changelog_name: WAF sidebar: order: 1 head: @@ -13,6 +10,4 @@ head: import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/waf/change-log/managed-rulesets.mdx b/src/content/docs/waf/change-log/managed-rulesets.mdx deleted file mode 100644 index cb046c2d82080a..00000000000000 --- a/src/content/docs/waf/change-log/managed-rulesets.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Changelog for managed rulesets only" -pcx_content_type: concept -changelog_file_name: - - waf -changelog_name: WAF -sidebar: - order: 15000 - hidden: true -head: - - tag: title - content: Changelog for WAF managed rulesets only ---- - -{/* */} diff --git a/src/content/docs/waiting-room/changelog.mdx b/src/content/docs/waiting-room/changelog.mdx index cd26975c55905f..e3b133a414169a 100644 --- a/src/content/docs/waiting-room/changelog.mdx +++ b/src/content/docs/waiting-room/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - waiting-room sidebar: order: 11 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/web-analytics/changelog.mdx b/src/content/docs/web-analytics/changelog.mdx index dcdca480a4e862..4dc953acd629a0 100644 --- a/src/content/docs/web-analytics/changelog.mdx +++ b/src/content/docs/web-analytics/changelog.mdx @@ -1,8 +1,6 @@ --- title: Changelog pcx_content_type: changelog -changelog_file_name: - - beacon-min-js sidebar: order: 8 head: @@ -14,6 +12,4 @@ import { ProductChangelog } from "~/components"; Cloudflare occasionally updates the `beacon.min.js` file to improve Web Analytics functionality. The table below includes a log of what changed in the `beacon.min.js` file and when. -{/* */} - - + diff --git a/src/content/docs/workers-ai/changelog.mdx b/src/content/docs/workers-ai/changelog.mdx index 09ff17666355d9..146731b5268a4b 100644 --- a/src/content/docs/workers-ai/changelog.mdx +++ b/src/content/docs/workers-ai/changelog.mdx @@ -1,16 +1,11 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - workers-ai sidebar: order: 8 -head: [] description: Review recent changes to Cloudflare Workers AI. --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/content/docs/workers/platform/changelog/index.mdx b/src/content/docs/workers/platform/changelog/index.mdx index 9fa3d86b6fb322..5703faa63d3c9c 100644 --- a/src/content/docs/workers/platform/changelog/index.mdx +++ b/src/content/docs/workers/platform/changelog/index.mdx @@ -1,8 +1,6 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - workers sidebar: order: 2 head: @@ -17,6 +15,4 @@ This changelog details meaningful changes made to Workers across the Cloudflare This is *different* from [compatibility dates](/workers/configuration/compatibility-dates/) and [compatibility flags](/workers/configuration/compatibility-flags/), which let you explicitly opt-in to or opt-out of specific changes to the Workers Runtime. -{/* */} - - + diff --git a/src/content/docs/workers/platform/changelog/platform.mdx b/src/content/docs/workers/platform/changelog/platform.mdx deleted file mode 100644 index 8b66c1e41441bb..00000000000000 --- a/src/content/docs/workers/platform/changelog/platform.mdx +++ /dev/null @@ -1,13 +0,0 @@ ---- -pcx_content_type: changelog -title: Changelog -changelog_name: Developer Platform -changelog_product_area_name: Developer platform -sidebar: - order: 4 - hidden: true -head: [] -description: Review recent changes to the Cloudflare Developer Platform. ---- - -{/* */} diff --git a/src/content/docs/workers/platform/changelog/wrangler.mdx b/src/content/docs/workers/platform/changelog/wrangler.mdx deleted file mode 100644 index fe2d0584410ab3..00000000000000 --- a/src/content/docs/workers/platform/changelog/wrangler.mdx +++ /dev/null @@ -1,16 +0,0 @@ ---- -pcx_content_type: changelog -title: Wrangler -changelog_file_name: - - wrangler -head: - - tag: title - content: Wrangler Changelog -description: Review recent changes to Cloudflare Wrangler. ---- - -import { ProductChangelog } from "~/components"; - -{/* */} - - diff --git a/src/content/docs/workflows/reference/changelog.mdx b/src/content/docs/workflows/reference/changelog.mdx index 1e63decb2fa089..b92916ad07da1f 100644 --- a/src/content/docs/workflows/reference/changelog.mdx +++ b/src/content/docs/workflows/reference/changelog.mdx @@ -1,15 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - workflows sidebar: order: 99 - --- import { ProductChangelog } from "~/components" -{/* */} - - + diff --git a/src/content/docs/zaraz/changelog.mdx b/src/content/docs/zaraz/changelog.mdx index 5e555fde494712..1f089d22ce57ca 100644 --- a/src/content/docs/zaraz/changelog.mdx +++ b/src/content/docs/zaraz/changelog.mdx @@ -1,14 +1,10 @@ --- pcx_content_type: changelog title: Changelog -changelog_file_name: - - zaraz sidebar: order: 11 --- import { ProductChangelog } from "~/components"; -{/* */} - - + diff --git a/src/pages/[...changelog].xml.ts b/src/pages/[...changelog].xml.ts deleted file mode 100644 index 531a2888c7eeed..00000000000000 --- a/src/pages/[...changelog].xml.ts +++ /dev/null @@ -1,143 +0,0 @@ -import rss from "@astrojs/rss"; -import { getCollection, getEntry } from "astro:content"; -import type { APIRoute } from "astro"; -import { marked, type Token } from "marked"; -import { getWranglerChangelog } from "~/util/changelogs"; -import { slug } from "github-slugger"; -import { entryToString } from "~/util/container"; - -export async function getStaticPaths() { - const changelogs = await getCollection("docs", (entry) => { - return ( - (entry.data.pcx_content_type === "changelog" && - entry.data.changelog_file_name) || - entry.data.changelog_product_area_name - ); - }); - - return changelogs.map((entry) => { - return { - params: { - changelog: entry.id + `/index`, - }, - props: { - entry, - }, - }; - }); -} - -export const GET: APIRoute = async (context) => { - function walkTokens(token: Token) { - if (token.type === "image" || token.type === "link") { - if (token.href.startsWith("/")) { - token.href = context.site + token.href.slice(1); - } - } - } - - marked.use({ walkTokens }); - - const entry = context.props.entry; - - if ( - !entry.data.changelog_file_name && - !entry.data.changelog_product_area_name - ) { - throw new Error( - `One of changelog_file_name or changelog_product_area_name is required on ${entry.id}, to generate RSS feeds.`, - ); - } - - const changelogs = await getCollection("changelogs", (changelog) => { - return ( - entry.data.changelog_file_name?.includes(changelog.id) || - changelog.data.productArea === entry.data.changelog_product_area_name - ); - }); - - if (entry.data.changelog_file_name?.includes("wrangler")) { - changelogs.push(await getWranglerChangelog()); - } - - const mapped = await Promise.all( - changelogs.flatMap((product) => { - return product.data.entries.map(async (entry) => { - let description; - if (entry.individual_page) { - const link = entry.link; - - if (!link) - throw new Error( - `Changelog entry points to individual page but no link is provided`, - ); - - const page = await getEntry("docs", link.slice(1, -1)); - - if (!page) - throw new Error( - `Changelog entry points to ${link.slice(1, -1)} but unable to find entry with that slug`, - ); - - description = - (await entryToString(page, context.locals)) ?? page.body; - } else { - description = entry.description; - } - - let link; - if (entry.link) { - link = entry.link; - } else { - const anchor = slug(entry.title ?? entry.publish_date); - link = product.data.link.concat(`#${anchor}`); - } - - let title; - if (entry.scheduled) { - title = `Scheduled for ${entry.scheduled_date}`; - } else { - title = entry.title; - } - - return { - product: product.data.productName, - link, - date: entry.publish_date, - description, - title, - }; - }); - }), - ); - - const entries = mapped.sort((a, b) => { - return a.date < b.date ? 1 : a.date > b.date ? -1 : 0; - }); - - const rssName = - entry.data.changelog_product_area_name || changelogs[0].data.productName; - - const site = new URL(context.site ?? ""); - site.pathname = entry.id.concat("/"); - - const isArea = Boolean(entry.data.changelog_product_area_name); - - return rss({ - title: `Changelog | ${rssName}`, - description: `Updates to ${rssName}`, - site, - trailingSlash: false, - items: entries.map((entry) => { - return { - title: `${entry.product} - ${entry.title ?? entry.date}`, - description: marked.parse(entry.description ?? "", { - async: false, - }) as string, - pubDate: new Date(entry.date), - link: entry.link, - customData: isArea ? `${entry.product}` : undefined, - }; - }), - }); -}; diff --git a/src/pages/changelog/[...slug].astro b/src/pages/changelog/[...slug].astro index 73eec29116bd49..7a4829bfdfc045 100644 --- a/src/pages/changelog/[...slug].astro +++ b/src/pages/changelog/[...slug].astro @@ -4,12 +4,12 @@ import StarlightPage, { } from "@astrojs/starlight/components/StarlightPage.astro"; import type { GetStaticPaths } from "astro"; import { getCollection, render } from "astro:content"; -import Header from "~/components/changelog-next/Header.astro"; -import ProductPills from "~/components/changelog-next/ProductPills.astro"; +import Header from "~/components/changelog/Header.astro"; +import ProductPills from "~/components/changelog/ProductPills.astro"; import { format } from "date-fns"; export const getStaticPaths = (async () => { - const notes = await getCollection("changelogs-next"); + const notes = await getCollection("changelog"); return notes.map((note) => { return { diff --git a/src/pages/changelog/index.astro b/src/pages/changelog/index.astro index 3e6c77a8ceb102..e59b454aa50c63 100644 --- a/src/pages/changelog/index.astro +++ b/src/pages/changelog/index.astro @@ -2,17 +2,16 @@ import StarlightPage, { type StarlightPageProps, } from "@astrojs/starlight/components/StarlightPage.astro"; -import { getCollection, render } from "astro:content"; +import { render } from "astro:content"; +import { getChangelogs } from "~/util/changelog"; -import Header from "~/components/changelog-next/Header.astro"; -import ProductPills from "~/components/changelog-next/ProductPills.astro"; +import Header from "~/components/changelog/Header.astro"; +import ProductPills from "~/components/changelog/ProductPills.astro"; import { Steps } from "~/components"; import { format } from "date-fns"; -const notes = await getCollection("changelogs-next"); - -notes.sort((a, b) => b.data.date.getTime() - a.data.date.getTime()); +const notes = await getChangelogs({}); const props = { frontmatter: { @@ -27,68 +26,93 @@ const props = {
- { - notes.map(async (entry) => { - const date = format(entry.data.date, "MMM dd, yyyy"); - - const productIds = JSON.stringify( - entry.data.products.map((product) => product.id), - ); - - const { Content } = await render(entry); - - return ( -
-
+ ); + }) + } +
+
+ +
diff --git a/src/pages/release-notes/index.xml.ts b/src/pages/release-notes/index.xml.ts deleted file mode 100644 index e463d5fb7b660e..00000000000000 --- a/src/pages/release-notes/index.xml.ts +++ /dev/null @@ -1,96 +0,0 @@ -import rss from "@astrojs/rss"; -import { getCollection, getEntry } from "astro:content"; -import type { APIRoute } from "astro"; -import { marked, type Token } from "marked"; -import { getWranglerChangelog } from "~/util/changelogs"; -import { slug } from "github-slugger"; -import { entryToString } from "~/util/container"; - -export const GET: APIRoute = async (context) => { - function walkTokens(token: Token) { - if (token.type === "image" || token.type === "link") { - if (token.href.startsWith("/")) { - token.href = context.site + token.href.slice(1); - } - } - } - - marked.use({ walkTokens }); - - const changelogs = await getCollection("changelogs"); - - changelogs.push(await getWranglerChangelog()); - - const mapped = await Promise.all( - changelogs.flatMap((product) => { - return product.data.entries.map(async (entry) => { - let description; - if (entry.individual_page) { - const link = entry.link; - - if (!link) - throw new Error( - `Changelog entry points to individual page but no link is provided`, - ); - - const page = await getEntry("docs", link.slice(1, -1)); - - if (!page) - throw new Error( - `Changelog entry points to ${link.slice(1, -1)} but unable to find entry with that slug`, - ); - - description = - (await entryToString(page, context.locals)) ?? page.body; - } else { - description = entry.description; - } - - let link; - if (entry.link) { - link = entry.link; - } else { - const anchor = slug(entry.title ?? entry.publish_date); - link = product.data.link.concat(`#${anchor}`); - } - - let title; - if (entry.scheduled) { - title = `Scheduled for ${entry.scheduled_date}`; - } else { - title = entry.title; - } - - return { - product: product.data.productName, - link, - date: entry.publish_date, - description, - title, - }; - }); - }), - ); - - const entries = mapped.sort((a, b) => { - return a.date < b.date ? 1 : a.date > b.date ? -1 : 0; - }); - - return rss({ - title: `Cloudflare release notes`, - description: `Updates to various Cloudflare products.`, - site: "https://developers.cloudflare.com/release-notes/", - trailingSlash: false, - items: entries.map((entry) => { - return { - title: `${entry.product} - ${entry.title ?? entry.date}`, - description: marked.parse(entry.description ?? "", { - async: false, - }) as string, - pubDate: new Date(entry.date), - link: entry.link, - customData: `${entry.product}`, - }; - }), - }); -}; diff --git a/src/plugins/rehype/base-url.ts b/src/plugins/rehype/base-url.ts new file mode 100644 index 00000000000000..a7f26e45f25952 --- /dev/null +++ b/src/plugins/rehype/base-url.ts @@ -0,0 +1,20 @@ +import { visit } from "unist-util-visit"; +import type { Root } from "hast"; + +export default function () { + return function (tree: Root) { + visit(tree, "element", function (element) { + if (element.tagName === "a") { + const href = element.properties.href as string | undefined; + + if (href) { + if (href.startsWith("/")) { + const url = new URL(href, "https://developers.cloudflare.com/"); + + element.properties.href = url.href; + } + } + } + }); + }; +} diff --git a/src/plugins/rehype/filter-elements.ts b/src/plugins/rehype/filter-elements.ts new file mode 100644 index 00000000000000..251db3eb0933e0 --- /dev/null +++ b/src/plugins/rehype/filter-elements.ts @@ -0,0 +1,142 @@ +import { SKIP, visit, type VisitorResult } from "unist-util-visit"; +import type { Root, Element, Parents } from "hast"; + +const remove = (index: number, parent: Parents): VisitorResult => { + parent.children.splice(index, 1); + return [SKIP, index]; +}; + +const unwrap = ( + index: number, + parent: Parents, + element: Element, +): VisitorResult => { + parent.children.splice(index, 1, ...element.children); + return [SKIP, index]; +}; + +const ALLOWED_ELEMENTS = [ + // Content sectioning + "address", + "article", + "aside", + "footer", + "header", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "hgroup", + "main", + "nav", + "section", + // Text content + "blockquote", + "dd", + "div", + "dl", + "dt", + "figcaption", + "figure", + "hr", + "li", + "menu", + "ol", + "p", + "pre", + "ul", + // Inline text semantics + "a", + "abbr", + "b", + "bdi", + "bdo", + "br", + "cite", + "code", + "data", + "dfn", + "em", + "i", + "kbd", + "mark", + "q", + "rb", + "rp", + "rt", + "rtc", + "ruby", + "s", + "samp", + "small", + "span", + "strong", + "sub", + "sup", + "time", + "u", + "var", + "wbr", + // Table content + "caption", + "col", + "colgroup", + "table", + "tbody", + "td", + "tfoot", + "th", + "thead", + "tr", + // Custom elements + "rule-id", +]; + +const ALLOWED_ATTRIBUTES: Record = { + a: ["href", "id", "target"], + "rule-id": ["id"], +}; + +const UNWRAP_CLASS_NAMES = ["heading-wrapper"]; + +const DISALLOWED_CLASS_NAMES = ["external-link", "anchor-link"]; + +export default function () { + return function (tree: Root) { + visit(tree, "element", function (element, index, parent) { + if (typeof index === "number" && parent) { + const tag = element.tagName; + const classNames = (element.properties.className as string[]) ?? []; + + if (!ALLOWED_ELEMENTS.includes(tag)) { + return remove(index, parent); + } + + if (DISALLOWED_CLASS_NAMES.some((v) => classNames.includes(v))) { + return remove(index, parent); + } + + if (UNWRAP_CLASS_NAMES.some((v) => classNames.includes(v))) { + return unwrap(index, parent, element); + } + + for (const key of Object.keys(element.properties)) { + if (!ALLOWED_ATTRIBUTES[tag]?.includes(key)) { + delete element.properties[key]; + } + } + + if (tag === "rule-id") { + return unwrap(index, parent, { + ...element, + children: [ + { type: "text", value: element.properties.id as string }, + ], + }); + } + } + }); + }; +} diff --git a/src/schemas/base.ts b/src/schemas/base.ts index 03d5f4a5fb4e03..66b66cbce14ee6 100644 --- a/src/schemas/base.ts +++ b/src/schemas/base.ts @@ -66,8 +66,6 @@ export const baseSchema = z.object({ "This is used to automatically add the LastReviewed component to a page. Refer to https://developers.cloudflare.com/style-guide/components/last-reviewed/.", ), spotlight: spotlightAuthorDetails, - changelog_file_name: z.string().array().optional(), - changelog_product_area_name: z.string().optional(), products: z.string().array().optional(), languages: z.string().array().optional(), summary: z.string().optional(), diff --git a/src/schemas/changelogs-next.ts b/src/schemas/changelog.ts similarity index 51% rename from src/schemas/changelogs-next.ts rename to src/schemas/changelog.ts index f1ef260920bb4d..57a0efd7e47d46 100644 --- a/src/schemas/changelogs-next.ts +++ b/src/schemas/changelog.ts @@ -1,9 +1,15 @@ import { reference } from "astro:content"; import { z } from "astro:schema"; -export const changelogsNextSchema = z.object({ +export const changelogSchema = z.object({ title: z.string(), description: z.string(), date: z.coerce.date(), products: z.array(reference("products")), + link: z + .string() + .optional() + .describe( + 'Please do not use the "link" property in changelog entry frontmatter, it is reserved.', + ), }); diff --git a/src/schemas/changelogs.ts b/src/schemas/changelogs.ts deleted file mode 100644 index a637d8ecd70e97..00000000000000 --- a/src/schemas/changelogs.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { z } from "astro:schema"; - -export const changelogsSchema = z.object({ - link: z.string(), - productName: z.string(), - productLink: z.string(), - productArea: z.string(), - productAreaLink: z.string(), - entries: z - .object({ - publish_date: z.string(), - title: z.string().optional(), - description: z.string().optional(), - individual_page: z.boolean().optional(), - link: z.string().optional(), - scheduled: z.boolean().optional(), - scheduled_date: z.string().optional(), - }) - .array(), -}); diff --git a/src/schemas/index.ts b/src/schemas/index.ts index 1e47fcdc05af01..a85e9a1574c59c 100644 --- a/src/schemas/index.ts +++ b/src/schemas/index.ts @@ -1,7 +1,6 @@ export * from "./apps"; export * from "./base"; -export * from "./changelogs-next"; -export * from "./changelogs"; +export * from "./changelog"; export * from "./compatibility-flags"; export * from "./fields"; export * from "./glossary"; diff --git a/src/util/changelog.ts b/src/util/changelog.ts new file mode 100644 index 00000000000000..b69b1019a1761e --- /dev/null +++ b/src/util/changelog.ts @@ -0,0 +1,215 @@ +import type { RSSFeedItem } from "@astrojs/rss"; +import { getCollection, getEntries, type CollectionEntry } from "astro:content"; +import { entryToString } from "~/util/container"; + +import { unified, type PluggableList } from "unified"; + +import rehypeParse from "rehype-parse"; +import rehypeStringify from "rehype-stringify"; +import rehypeBaseUrl from "~/plugins/rehype/base-url"; +import rehypeFilterElements from "~/plugins/rehype/filter-elements"; + +import rehypeRemark from "rehype-remark"; +import remarkGfm from "remark-gfm"; +import remarkStringify from "remark-stringify"; + +// TODO +// function toISODate(date: Date) { +// return date.toISOString().slice(0, 10); +// } + +// type DocsToChangelogOptions = { +// /** +// * An optional title to be prefixed before the date. +// * This is only necessary if you require an extra product name. +// * +// * @example +// * `HTTP DDoS managed ruleset` +// */ +// name?: string; +// /** +// * Name of a product which must match a filename in the +// * src/content/products/ collection, without the +// * file extension. +// * +// * @example +// * `ddos-protection` +// */ +// product: string; +// /** +// * A changelog entry from the `getChangelogs({})` function. +// * @see {@link getChangelogs} +// */ +// entry: CollectionEntry<"docs">; +// }; + +// function docsToChangelog({ +// name, +// product, +// entry, +// }: DocsToChangelogOptions): CollectionEntry<"changelog"> { +// const { data } = entry; + +// // `data.changelog` will exist as the existence of this +// // property is part of the `getChangelogs` filter. +// const date = data.changelog!.date; +// const scheduled = data.changelog!.scheduled; + +// const iso8601 = toISODate(date); + +// let title; +// if (scheduled) { +// title = `Scheduled for ${toISODate(scheduled)}`; +// } else { +// title = iso8601; +// } + +// if (name) { +// title = `${name} - ${title}`; +// } + +// return { +// ...entry, +// collection: "changelog", +// data: { +// title, +// description: `${name} - ${toISODate(date)}`, +// date, +// products: [{ collection: "products", id: product }], +// link: `/${entry.id}/`, +// }, +// }; +// } + +export type GetChangelogsOptions = { + filter?: (entry: CollectionEntry<"changelog">) => boolean; +}; + +export async function getChangelogs({ + filter, +}: GetChangelogsOptions): Promise>> { + let entries = await getCollection("changelog"); + + entries = entries.map((e) => { + e.data.link = `/changelog/${e.id}/`; + + return e; + }); + + // TODO + // const ddosHttp = await getCollection("docs", (e) => { + // return ( + // e.id.startsWith("ddos-protection/change-log/http/") && e.data.changelog + // ); + // }); + + // ddosHttp + // .map((e) => + // docsToChangelog({ + // name: "HTTP DDoS managed ruleset", + // product: "ddos-protection", + // entry: e, + // }), + // ) + // .forEach((e) => entries.push(e)); + + // const ddosNetwork = await getCollection("docs", (e) => { + // return ( + // e.id.startsWith("ddos-protection/change-log/network/") && e.data.changelog + // ); + // }); + + // ddosNetwork + // .map((e) => + // docsToChangelog({ + // name: "Network-layer DDoS managed ruleset", + // product: "ddos-protection", + // entry: e, + // }), + // ) + // .forEach((e) => entries.push(e)); + + // const waf = await getCollection("docs", (e) => { + // return e.id.startsWith("waf/change-log/") && e.data.changelog; + // }); + + // waf + // .map((e) => + // docsToChangelog({ + // product: "waf", + // entry: e, + // }), + // ) + // .forEach((e) => entries.push(e)); + + if (filter) { + entries = entries.filter((e) => filter(e)); + } + + return entries.sort((a, b) => b.data.date.getTime() - a.data.date.getTime()); +} + +type GetRSSItemsOptions = { + /** + * An array of changelog entries from the `getChangelogs({})` function. + * @see {@link getChangelogs} + */ + notes: Array>; + /** + * `locals`, either from `Astro.locals` in custom pages or + * `context.locals` in endpoints. + * @see {@link https://docs.astro.build/en/reference/api-reference/#locals} + */ + locals: App.Locals; + /** + * Returns Markdown in the `` field instead of HTML. + */ + markdown?: boolean; +}; + +export async function getRSSItems({ + notes, + locals, + markdown, +}: GetRSSItemsOptions): Promise> { + return await Promise.all( + notes.map(async (note) => { + const { title, date, products, link } = note.data; + + const productEntries = await getEntries(products); + const productTitles = productEntries.map((p) => p.data.name as string); + + const html = await entryToString(note, locals); + + const plugins: PluggableList = [ + rehypeParse, + rehypeBaseUrl, + rehypeFilterElements, + ]; + + if (markdown) { + plugins.push(...[rehypeRemark, remarkGfm, remarkStringify]); + } else { + plugins.push(...[rehypeStringify]); + } + + const file = await unified() + .data("settings", { + fragment: true, + }) + .use(plugins) + .process(html); + + const content = String(file).trim(); + + return { + title: `${productTitles.join(", ")} - ${title}`, + description: content, + pubDate: date, + categories: productTitles, + link, + customData: `${productTitles.at(0)}`, + }; + }), + ); +} diff --git a/src/util/changelogs.ts b/src/util/changelogs.ts deleted file mode 100644 index 21cc14bf00c63f..00000000000000 --- a/src/util/changelogs.ts +++ /dev/null @@ -1,105 +0,0 @@ -import { z } from "astro:schema"; -import { getCollection } from "astro:content"; -import { type CollectionEntry } from "astro:content"; - -export async function getChangelogs(opts?: { - filter?: Parameters>[1]; - wranglerOnly?: boolean; - deprecationsOnly?: boolean; -}) { - let changelogs; - - if (opts?.wranglerOnly) { - changelogs = [await getWranglerChangelog()]; - } else if (opts?.filter) { - changelogs = await getCollection("changelogs", opts.filter); - } else { - changelogs = await getCollection("changelogs"); - } - - if (!changelogs) { - throw new Error( - `[getChangelogs] Unable to find any changelogs with ${JSON.stringify(opts)}`, - ); - } - - if (opts?.deprecationsOnly) { - changelogs = changelogs.filter((x) => x.id === "api-deprecations"); - } else { - changelogs = changelogs.filter((x) => x.id !== "api-deprecations"); - } - - const products = [...new Set(changelogs.flatMap((x) => x.data.productName))]; - const productAreas = [ - ...new Set(changelogs.flatMap((x) => x.data.productArea)), - ]; - - const mapped = changelogs.flatMap((product) => { - return product.data.entries.map((entry) => { - return { - product: product.data.productName, - link: product.data.link, - date: entry.publish_date, - description: entry.description, - title: entry.title, - scheduled: entry.scheduled, - productLink: product.data.productLink, - productAreaName: product.data.productArea, - productAreaLink: product.data.productAreaLink, - individual_page: entry.individual_page && entry.link, - }; - }); - }); - - const grouped = Object.entries(Object.groupBy(mapped, (entry) => entry.date)); - const entries = grouped.sort().reverse(); - - return { products, productAreas, changelogs: entries }; -} - -export async function getWranglerChangelog(): Promise< - CollectionEntry<"changelogs"> -> { - const response = await fetch( - "https://api.github.com/repos/cloudflare/workers-sdk/releases?per_page=100", - ); - - if (!response.ok) { - throw new Error( - `[GetWranglerChangelog] Received ${response.status} response from GitHub API.`, - ); - } - - const json = await response.json(); - - let releases = z - .object({ - published_at: z.coerce.date(), - name: z.string(), - body: z.string(), - }) - .array() - .parse(json); - - releases = releases.filter((x) => x.name.startsWith("wrangler@")); - - return { - id: "wrangler", - collection: "changelogs", - data: { - link: "/workers/platform/changelog/wrangler/", - productName: "wrangler", - productLink: "/workers/wrangler/", - productArea: "Developer platform", - productAreaLink: "/workers/platform/changelog/platform/", - entries: releases.map((release) => { - return { - publish_date: release.published_at.toISOString().substring(0, 10), - title: release.name.split("@")[1], - link: `https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%40${release.name.split("@")[1]}`, - description: release.body, - }; - }), - }, - }; -} diff --git a/src/util/container.ts b/src/util/container.ts index e4424e5ba22895..df2d0d3cb48483 100644 --- a/src/util/container.ts +++ b/src/util/container.ts @@ -4,7 +4,7 @@ import { loadRenderers } from "astro:container"; import { render, type CollectionEntry } from "astro:content"; export async function entryToString( - entry: CollectionEntry<"docs">, + entry: CollectionEntry<"docs" | "changelog">, locals: any, ) { if (entry.rendered?.html) { From 230813ffe6d8381c0b06b175941382f7ca3f595d Mon Sep 17 00:00:00 2001 From: Kian Newman-Hazel Date: Tue, 11 Feb 2025 17:38:41 +0000 Subject: [PATCH 2/2] fix old codeowners entries --- .github/CODEOWNERS | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index fbf074d46959ac..56e4d01cba4892 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -22,9 +22,6 @@ /src/content/docs/workers-ai/ @rita3ko @craigsdennis @markdembo @mchenco @daisyfaithauma @cloudflare/pcx-technical-writing /src/content/docs/vectorize/ @elithrar @vy-ton @sejoker @mchenco @cloudflare/pcx-technical-writing /src/content/partials/vectorize/ @elithrar @mchenco @sejoker @cloudflare/pcx-technical-writing -workers-ai.yaml @kathayl @G4brym @mchenco @daisyfaithauma @cloudflare/pcx-technical-writing -ai-gateway.yaml @kathayl @G4brym @mchenco @daisyfaithauma @cloudflare/pcx-technical-writing -vectorize.yaml @elithrar @mchenco @sejoker @cloudflare/pcx-technical-writing # Analytics & Logs @@ -62,8 +59,6 @@ vectorize.yaml @elithrar @mchenco @sejoker @cloudflare/pcx-technical-writing /src/content/docs/cloudflare-one/policies/data-loss-prevention/ @maxvp @cloudflare/pcx-technical-writing /src/content/docs/cloudflare-one/insights/dex/ @deadlypants1973 @cloudflare/pcx-technical-writing /src/content/docs/email-security/ @Maddy-Cloudflare @cloudflare/pcx-technical-writing -access.yaml @ranbel @kennyj42 @cloudflare/pcx-technical-writing -warp.yaml @kokolocomotion1 @ranbel @cloudflare/pcx-technical-writing # Consumer products @@ -92,42 +87,30 @@ warp.yaml @kokolocomotion1 @ranbel @cloudflare/pcx-technical-writing /src/assets/images/calls/ @cloudflare/pcx-technical-writing @cloudflare/calls /public/calls/ @cloudflare/pcx-technical-writing @cloudflare/calls /src/content/docs/d1/ @elithrar @rozenmd @vy-ton @joshthoward @oxyjun @cloudflare/pcx-technical-writing -d1.yaml @elithrar @rozenmd @vy-ton @joshthoward @oxyjun @cloudflare/pcx-technical-writing /src/content/partials/d1/ @elithrar @rozenmd @vy-ton @joshthoward @oxyjun @cloudflare/pcx-technical-writing /src/content/docs/durable-objects/ @elithrar @vy-ton @joshthoward @oxyjun @cloudflare/pcx-technical-writing -durable-objects.yaml @elithrar @rozenmd @vy-ton @joshthoward @oxyjun @cloudflare/pcx-technical-writing /src/content/docs/email-routing/ @cloudflare/pcx-technical-writing /src/content/docs/hyperdrive/ @elithrar @thomasgauvin @sejoker @oxyjun @cloudflare/pcx-technical-writing -hyperdrive.yaml @elithrar @thomasgauvin @sejoker @oxyjun @cloudflare/pcx-technical-writing /src/content/partials/hyperdrive/ @elithrar @thomasgauvin @sejoker @oxyjun @cloudflare/pcx-technical-writing -durable-objects.yaml @elithrar @vy-ton @joshthoward @oxyjun @cloudflare/pcx-technical-writing /src/content/docs/images/ @dcpena @cloudflare/pcx-technical-writing @renandincer @third774 /src/content/docs/pages/ @cloudflare/workers-docs @GregBrimble @WalshyDev @aninibread @irvinebroque @cloudflare/pcx-technical-writing @ToriLindsay /src/assets/images/pages/ @cloudflare/workers-docs @GregBrimble @WalshyDev @aninibread @cloudflare/pcx-technical-writing @ToriLindsay -pages.yaml @cloudflare/workers-docs @GregBrimble @WalshyDev @aninibread @cloudflare/pcx-technical-writing /src/content/docs/kv/ @elithrar @thomasgauvin @rts-rob @oxyjun @cloudflare/pcx-technical-writing -kv.yaml @elithrar @thomasgauvin @rts-rob @oxyjun @cloudflare/pcx-technical-writing /src/content/partials/kv/ @elithrar @thomasgauvin @rts-rob @oxyjun @cloudflare/pcx-technical-writing /src/content/docs/pub-sub/ @elithrar @dcpena @cloudflare/pcx-technical-writing /src/content/docs/queues/ @elithrar @toddmantell @maheshwarip @cloudflare/pcx-technical-writing -queues.yaml @elithrar @toddmantell @maheshwarip @cloudflare/pcx-technical-writing /src/content/docs/r2/ @oxyjun @elithrar @jonesphillip @cloudflare/workers-docs @cloudflare/pcx-technical-writing -r2.yaml @oxyjun @elithrar @cloudflare/workers-docs @cloudflare/pcx-technical-writing /src/content/docs/stream/ @tsmith512 @dcpena @cloudflare/pcx-technical-writing @renandincer @third774 -stream.yaml @tsmith512 @dcpena @cloudflare/pcx-technical-writing /src/content/docs/workers/ @cloudflare/workers-docs @GregBrimble @irvinebroque @mikenomitch @WalshyDev @cloudflare/deploy-config @cloudflare/pcx-technical-writing @ToriLindsay /src/content/partials/workers/ @cloudflare/workers-docs @GregBrimble @irvinebroque @mikenomitch @WalshyDev @cloudflare/deploy-config @cloudflare/pcx-technical-writing @ToriLindsay /src/assets/images/workers/ @cloudflare/workers-docs @GregBrimble @irvinebroque @WalshyDev @cloudflare/deploy-config @cloudflare/pcx-technical-writing @ToriLindsay -workers.yaml @cloudflare/workers-docs @GregBrimble @WalshyDev @aninibread @cloudflare/deploy-config @cloudflare/pcx-technical-writing @irvinebroque @mikenomitch /src/content/docs/zaraz/ @bjesus @jonnyparris @simonabadoiu @cloudflare/pcx-technical-writing -zaraz.yaml @bjesus @jonnyparris @simonabadoiu @cloudflare/pcx-technical-writing /src/content/docs/workers/ci-cd/ @irvinebroque @aninibread @GregBrimble @ToriLindsay @cloudflare/pcx-technical-writing /src/content/docs/workers/runtime-apis/ @irvinebroque @jasnell @mikenomitch @GregBrimble @ToriLindsay @cloudflare/pcx-technical-writing /src/content/docs/workers/runtime-apis/bindings/ @irvinebroque @mikenomitch @GregBrimble @ToriLindsay @cloudflare/pcx-technical-writing /src/content/docs/workers/platform/ @irvinebroque @GregBrimble @cloudflare/deploy-config @cloudflare/pcx-technical-writing /src/content/docs/workers/configuration/compatibility-dates.mdx @irvinebroque @mikenomitch @GregBrimble @ToriLindsay @cloudflare/deploy-config @cloudflare/pcx-technical-writing /src/content/docs/workers/configuration/compatibility-flags.mdx @irvinebroque @mikenomitch @GregBrimble @ToriLindsay @cloudflare/deploy-config @cloudflare/pcx-technical-writing - /src/content/docs/workers/reference/migrate-to-module-workers.mdx @irvinebroque @GregBrimble @ToriLindsay @cloudflare/deploy-config @cloudflare/pcx-technical-writing /src/content/docs/workers/reference/security-model.mdx @irvinebroque @GregBrimble @ToriLindsay @cloudflare/pcx-technical-writing /src/content/compatibility-flags/ @irvinebroque @mikenomitch @GregBrimble @cloudflare/pcx-technical-writing @@ -144,8 +127,6 @@ zaraz.yaml @bjesus @jonnyparris @simonabadoiu @cloudflare/pcx-technical-writing /src/content/docs/ddos-protection/ @patriciasantaana @cloudflare/pcx-technical-writing /src/content/docs/ddos-protection/change-log/ @antoinecordelle @patriciasantaana @cloudflare/pcx-technical-writing -ddos-http.yaml @antoinecordelle @patriciasantaana @cloudflare/pcx-technical-writing -ddos-network.yaml @antoinecordelle @patriciasantaana @cloudflare/pcx-technical-writing # Docs team areas @@ -184,7 +165,6 @@ ddos-network.yaml @antoinecordelle @patriciasantaana @cloudflare/pcx-technical-w # Radar /src/content/docs/radar/ @meddulla @G4brym @tiagoad @andre-j3sus @cloudflare/pcx-technical-writing -radar.yaml @meddulla @G4brym @tiagoad @andre-j3sus @cloudflare/pcx-technical-writing # Reference architecture @@ -202,7 +182,6 @@ radar.yaml @meddulla @G4brym @tiagoad @andre-j3sus @cloudflare/pcx-technical-wri /src/content/docs/ssl/ @RebeccaTamachiro @cloudflare/pcx-technical-writing /src/content/docs/waf/ @pedrosousa @cloudflare/firewall @cloudflare/pcx-technical-writing /src/content/docs/waf/change-log/ @pedrosousa @cloudflare/firewall @vs-mg @cloudflare/pcx-technical-writing -waf.yaml @pedrosousa @cloudflare/firewall @vs-mg @cloudflare/pcx-technical-writing # Support @@ -216,7 +195,6 @@ waf.yaml @pedrosousa @cloudflare/firewall @vs-mg @cloudflare/pcx-technical-writi # Waiting Room /src/content/docs/waiting-room/ @angelampcosta @cloudflare/pcx-technical-writing -waiting-room.yaml @angelampcosta @cloudflare/pcx-technical-writing # Web Analytics