[Docs Site] changelog-next (#18894)

* [Docs Site] changelog-next

* fix type errors, only add padding to direct steps list items

* changelog: workflows beta

* Update workflows-beta.mdx

* Anni/add build changelog next (#18920)

* adding a changelog

* added changelog and assets

* Update src/content/changelogs-next/12-22-2024-builds.mdx

Co-authored-by: hyperlint-ai[bot] <154288675+hyperlint-ai[bot]@users.noreply.github.com>

* add link for monorepos

* mb and line-spacing fix

* Update src/content/changelogs-next/12-22-2024-builds.mdx

Co-authored-by: Brendan Irvine-Broque <birvine-broque@cloudflare.com>

* Update src/content/changelogs-next/12-22-2024-builds.mdx

Co-authored-by: Brendan Irvine-Broque <birvine-broque@cloudflare.com>

* Update src/content/changelogs-next/12-22-2024-builds.mdx

Co-authored-by: Brendan Irvine-Broque <birvine-broque@cloudflare.com>

* Update src/content/changelogs-next/12-22-2024-builds.mdx

Co-authored-by: Brendan Irvine-Broque <birvine-broque@cloudflare.com>

* small fixes

---------

Co-authored-by: hyperlint-ai[bot] <154288675+hyperlint-ai[bot]@users.noreply.github.com>
Co-authored-by: Brendan Irvine-Broque <birvine-broque@cloudflare.com>

* added overflow-auto (#18976)

* Fixed issue that produced duplicate products in the changelog-next header (#18972)

* Ranamed workflows post to fit date-title format

---------

Co-authored-by: Matt Silverlock <msilverlock@cloudflare.com>
Co-authored-by: Anni Wang <54481763+aninibread@users.noreply.github.com>
Co-authored-by: hyperlint-ai[bot] <154288675+hyperlint-ai[bot]@users.noreply.github.com>
Co-authored-by: Brendan Irvine-Broque <birvine-broque@cloudflare.com>
Co-authored-by: Phillip Jones <pjones@cloudflare.com>
This commit is contained in:
Kian 2025-01-02 22:11:13 +00:00 committed by GitHub
parent a845405aaa
commit 9e8ebdc5ba
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 676 additions and 13 deletions

View file

@ -1,7 +1,7 @@
// @ts-check
/** @type {import("prettier").Config} */
export default {
plugins: ["prettier-plugin-astro"],
plugins: ["prettier-plugin-astro", "prettier-plugin-tailwindcss"],
useTabs: true,
overrides: [
{

80
package-lock.json generated
View file

@ -55,6 +55,7 @@
"playwright": "^1.49.1",
"prettier": "^3.4.2",
"prettier-plugin-astro": "^0.14.1",
"prettier-plugin-tailwindcss": "^0.6.9",
"puppeteer": "^23.11.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
@ -13010,6 +13011,85 @@
"node": "^14.15.0 || >=16.0.0"
}
},
"node_modules/prettier-plugin-tailwindcss": {
"version": "0.6.9",
"resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.9.tgz",
"integrity": "sha512-r0i3uhaZAXYP0At5xGfJH876W3HHGHDp+LCRUJrs57PBeQ6mYHMwr25KH8NPX44F2yGTvdnH7OqCshlQx183Eg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=14.21.3"
},
"peerDependencies": {
"@ianvs/prettier-plugin-sort-imports": "*",
"@prettier/plugin-pug": "*",
"@shopify/prettier-plugin-liquid": "*",
"@trivago/prettier-plugin-sort-imports": "*",
"@zackad/prettier-plugin-twig-melody": "*",
"prettier": "^3.0",
"prettier-plugin-astro": "*",
"prettier-plugin-css-order": "*",
"prettier-plugin-import-sort": "*",
"prettier-plugin-jsdoc": "*",
"prettier-plugin-marko": "*",
"prettier-plugin-multiline-arrays": "*",
"prettier-plugin-organize-attributes": "*",
"prettier-plugin-organize-imports": "*",
"prettier-plugin-sort-imports": "*",
"prettier-plugin-style-order": "*",
"prettier-plugin-svelte": "*"
},
"peerDependenciesMeta": {
"@ianvs/prettier-plugin-sort-imports": {
"optional": true
},
"@prettier/plugin-pug": {
"optional": true
},
"@shopify/prettier-plugin-liquid": {
"optional": true
},
"@trivago/prettier-plugin-sort-imports": {
"optional": true
},
"@zackad/prettier-plugin-twig-melody": {
"optional": true
},
"prettier-plugin-astro": {
"optional": true
},
"prettier-plugin-css-order": {
"optional": true
},
"prettier-plugin-import-sort": {
"optional": true
},
"prettier-plugin-jsdoc": {
"optional": true
},
"prettier-plugin-marko": {
"optional": true
},
"prettier-plugin-multiline-arrays": {
"optional": true
},
"prettier-plugin-organize-attributes": {
"optional": true
},
"prettier-plugin-organize-imports": {
"optional": true
},
"prettier-plugin-sort-imports": {
"optional": true
},
"prettier-plugin-style-order": {
"optional": true
},
"prettier-plugin-svelte": {
"optional": true
}
}
},
"node_modules/printable-characters": {
"version": "1.0.42",
"resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz",

View file

@ -71,6 +71,7 @@
"playwright": "^1.49.1",
"prettier": "^3.4.2",
"prettier-plugin-astro": "^0.14.1",
"prettier-plugin-tailwindcss": "^0.6.9",
"puppeteer": "^23.11.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",

View file

@ -0,0 +1,111 @@
<svg width="282" height="240" viewBox="0 0 282 240" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_205_2650)">
<path d="M30.1181 99.793C30.5846 102.438 32.6559 104.51 35.3014 104.976C32.6559 105.443 30.5846 107.514 30.1181 110.16C29.6516 107.514 27.5803 105.443 24.9348 104.976C27.5803 104.51 29.6516 102.438 30.1181 99.793Z" fill="#FFE1B7"/>
<path d="M5.05133 56.0376C5.4248 58.1555 7.08295 59.8136 9.20081 60.1871C7.08295 60.5605 5.4248 62.2187 5.05133 64.3365C4.67787 62.2187 3.01971 60.5605 0.901855 60.1871C3.01971 59.8136 4.67787 58.1555 5.05133 56.0376Z" fill="#FBAD41"/>
<path d="M273.147 124.396L273.306 125.542C273.65 128.021 275.603 129.967 278.083 130.301C275.608 130.635 273.664 132.588 273.344 135.065L273.147 136.583L272.951 135.065C272.63 132.588 270.687 130.635 268.211 130.301C270.691 129.967 272.645 128.021 272.988 125.542L273.147 124.396Z" fill="#FBAD41"/>
<path d="M248.053 148.669L248.854 156.578C249.065 158.653 250.666 160.314 252.732 160.6L255.788 161.023L252.737 161.445C250.669 161.731 249.066 163.396 248.859 165.473L248.053 173.55L247.247 165.473C247.039 163.396 245.437 161.731 243.369 161.445L240.318 161.023L243.374 160.6C245.44 160.314 247.041 158.653 247.252 156.578L248.053 148.669Z" fill="#FFE1B7"/>
<path d="M250.162 14.177L250.904 20.83C251.136 22.9061 252.76 24.5529 254.833 24.8132L257.749 25.1796L254.839 25.5452C252.763 25.8059 251.138 27.4567 250.909 29.5358L250.162 36.3368L249.414 29.5358C249.186 27.4567 247.56 25.8059 245.485 25.5452L242.574 25.1796L245.491 24.8132C247.564 24.5529 249.188 22.9061 249.419 20.83L250.162 14.177Z" fill="#FBAD41"/>
<rect x="95.3089" y="117.334" width="31.4674" height="2.98112" fill="#FFE9CB"/>
<rect x="95.375" y="111.523" width="31.3157" height="2.84688" fill="#FFE9CB"/>
<path d="M116.429 162.526C116.429 158.938 115.09 155.878 112.742 153.839C110.748 152.153 108.216 151.237 105.605 151.256C105.145 147.18 103.236 143.404 100.226 140.619C97.0828 137.66 92.9827 135.908 89.2165 135.908C82.0594 135.908 74.9405 140.065 72.4212 146.965C65.6427 146.596 59.1409 152.188 59.1409 159.959C59.1377 161.718 59.4886 163.459 60.1728 165.079C60.857 166.7 61.8605 168.166 63.1234 169.39C65.35 171.569 68.232 172.911 70.7576 172.911H106.26C109.03 172.911 111.569 171.585 113.385 169.705C115.201 167.825 116.429 165.242 116.429 162.526Z" fill="#E2F5FA" stroke="white" stroke-width="3.63054"/>
<path opacity="0.5" d="M250.881 180L250.881 59.9998L147.083 -0.000488281L43.2849 59.9998L43.2849 180L147.083 240.001L250.881 180Z" fill="url(#paint0_linear_205_2650)"/>
<path d="M238.728 172.912L238.728 67.0886L147.082 14.177L55.4365 67.0886L55.4365 172.912L147.082 225.823L238.728 172.912Z" fill="white"/>
<path d="M227.831 165.55V74.4485L147.082 28.8977L66.3333 74.4485L66.3333 165.55L147.082 211.101L227.831 165.55Z" fill="url(#paint1_linear_205_2650)" stroke="white" stroke-width="2.72723" stroke-linejoin="round"/>
<path d="M241.447 65.9124C241.772 67.7525 243.212 69.1932 245.053 69.5177C243.212 69.8422 241.772 71.2829 241.447 73.123C241.123 71.2829 239.682 69.8422 237.842 69.5177C239.682 69.1932 241.123 67.7525 241.447 65.9124Z" fill="#FFE1B7"/>
<mask id="path-13-inside-1_205_2650" fill="white">
<path fill-rule="evenodd" clip-rule="evenodd" d="M244.785 44.8817C242.083 33.0321 230.85 25.4873 221.709 25.4873C210.446 25.4873 199.532 32.4924 196.711 43.5163C186.727 41.5887 176.197 49.6218 176.197 61.3293C176.197 72.3997 185.743 79.3277 192.062 79.3277H232.748C232.784 79.3282 232.821 79.3285 232.858 79.3285H271.092C275.329 79.3285 281.73 74.6832 281.73 67.2604C281.73 59.4105 274.669 54.0241 267.975 55.3167C266.083 47.925 258.765 43.228 251.214 43.228C249.14 43.228 246.905 43.8073 244.785 44.8817Z"/>
</mask>
<path fill-rule="evenodd" clip-rule="evenodd" d="M244.785 44.8817C242.083 33.0321 230.85 25.4873 221.709 25.4873C210.446 25.4873 199.532 32.4924 196.711 43.5163C186.727 41.5887 176.197 49.6218 176.197 61.3293C176.197 72.3997 185.743 79.3277 192.062 79.3277H232.748C232.784 79.3282 232.821 79.3285 232.858 79.3285H271.092C275.329 79.3285 281.73 74.6832 281.73 67.2604C281.73 59.4105 274.669 54.0241 267.975 55.3167C266.083 47.925 258.765 43.228 251.214 43.228C249.14 43.228 246.905 43.8073 244.785 44.8817Z" fill="#E0EDFF"/>
<path d="M244.785 44.8817L243.317 45.2166L243.746 47.0979L245.467 46.2254L244.785 44.8817ZM196.711 43.5163L196.425 44.9956L197.819 45.2646L198.17 43.8899L196.711 43.5163ZM232.748 79.3277L232.77 77.8212L232.759 77.8211H232.748V79.3277ZM267.975 55.3167L266.515 55.6902L266.867 57.065L268.26 56.7959L267.975 55.3167ZM246.254 44.5467C243.392 31.9926 231.533 23.9807 221.709 23.9807V26.9939C230.167 26.9939 240.775 34.0716 243.317 45.2166L246.254 44.5467ZM221.709 23.9807C209.893 23.9807 198.274 31.3299 195.251 43.1428L198.17 43.8899C200.79 33.6549 211 26.9939 221.709 26.9939V23.9807ZM196.996 42.0371C186.07 39.9274 174.69 48.6886 174.69 61.3293H177.703C177.703 50.5551 187.384 43.2499 196.425 44.9956L196.996 42.0371ZM174.69 61.3293C174.69 67.3233 177.28 72.1967 180.705 75.5554C184.09 78.8767 188.417 80.8343 192.062 80.8343V77.8211C189.387 77.8211 185.781 76.3146 182.815 73.4044C179.886 70.5316 177.703 66.4058 177.703 61.3293H174.69ZM192.062 80.8343H232.748V77.8211H192.062V80.8343ZM232.858 77.8219C232.828 77.8219 232.799 77.8217 232.77 77.8212L232.725 80.8341C232.769 80.8347 232.813 80.8351 232.858 80.8351V77.8219ZM271.092 77.8219H232.858V80.8351H271.092V77.8219ZM280.223 67.2604C280.223 70.5131 278.827 73.1563 276.945 75.0025C275.024 76.8861 272.725 77.8219 271.092 77.8219V80.8351C273.696 80.8351 276.715 79.4482 279.055 77.1535C281.432 74.8214 283.236 71.4306 283.236 67.2604H280.223ZM268.26 56.7959C274.012 55.6854 280.223 60.3437 280.223 67.2604H283.236C283.236 58.4772 275.326 52.3629 267.689 53.8374L268.26 56.7959ZM251.214 44.7346C258.212 44.7346 264.826 49.0875 266.515 55.6902L269.434 54.9431C267.341 46.7625 259.318 41.7214 251.214 41.7214V44.7346ZM245.467 46.2254C247.409 45.241 249.411 44.7346 251.214 44.7346V41.7214C248.868 41.7214 246.401 42.3736 244.104 43.5379L245.467 46.2254Z" fill="#FFCD89" mask="url(#path-13-inside-1_205_2650)"/>
<circle cx="225.039" cy="48.7346" r="19.0418" fill="white"/>
<circle cx="203.824" cy="57.8861" r="10.9708" fill="white"/>
<circle cx="251.704" cy="56.3641" r="12.1151" fill="white"/>
<mask id="path-18-inside-2_205_2650" fill="white">
<path fill-rule="evenodd" clip-rule="evenodd" d="M244.785 44.8817C242.083 33.0321 230.85 25.4873 221.709 25.4873C210.446 25.4873 199.532 32.4924 196.711 43.5163C186.727 41.5887 176.197 49.6218 176.197 61.3293C176.197 72.3997 185.743 79.3277 192.062 79.3277H232.748C232.784 79.3282 232.821 79.3285 232.858 79.3285H271.092C275.329 79.3285 281.73 74.6832 281.73 67.2604C281.73 59.4105 274.669 54.0241 267.975 55.3167C266.083 47.925 258.765 43.228 251.214 43.228C249.14 43.228 246.905 43.8073 244.785 44.8817Z"/>
</mask>
<path d="M244.785 44.8817L243.317 45.2166L243.746 47.0979L245.467 46.2254L244.785 44.8817ZM196.711 43.5163L196.425 44.9956L197.819 45.2646L198.17 43.8899L196.711 43.5163ZM232.748 79.3277L232.77 77.8212L232.759 77.8211H232.748V79.3277ZM267.975 55.3167L266.515 55.6902L266.867 57.065L268.26 56.7959L267.975 55.3167ZM246.254 44.5467C243.392 31.9926 231.533 23.9807 221.709 23.9807V26.9939C230.167 26.9939 240.775 34.0716 243.317 45.2166L246.254 44.5467ZM221.709 23.9807C209.893 23.9807 198.274 31.3299 195.251 43.1428L198.17 43.8899C200.79 33.6549 211 26.9939 221.709 26.9939V23.9807ZM196.996 42.0371C186.07 39.9274 174.69 48.6886 174.69 61.3293H177.703C177.703 50.5551 187.384 43.2499 196.425 44.9956L196.996 42.0371ZM174.69 61.3293C174.69 67.3233 177.28 72.1967 180.705 75.5554C184.09 78.8767 188.417 80.8343 192.062 80.8343V77.8211C189.387 77.8211 185.781 76.3146 182.815 73.4044C179.886 70.5316 177.703 66.4058 177.703 61.3293H174.69ZM192.062 80.8343H232.748V77.8211H192.062V80.8343ZM232.858 77.8219C232.828 77.8219 232.799 77.8217 232.77 77.8212L232.725 80.8341C232.769 80.8347 232.813 80.8351 232.858 80.8351V77.8219ZM271.092 77.8219H232.858V80.8351H271.092V77.8219ZM280.223 67.2604C280.223 70.5131 278.827 73.1563 276.945 75.0025C275.024 76.8861 272.725 77.8219 271.092 77.8219V80.8351C273.696 80.8351 276.715 79.4482 279.055 77.1535C281.432 74.8214 283.236 71.4306 283.236 67.2604H280.223ZM268.26 56.7959C274.012 55.6854 280.223 60.3437 280.223 67.2604H283.236C283.236 58.4772 275.326 52.3629 267.689 53.8374L268.26 56.7959ZM251.214 44.7346C258.212 44.7346 264.826 49.0875 266.515 55.6902L269.434 54.9431C267.341 46.7625 259.318 41.7214 251.214 41.7214V44.7346ZM245.467 46.2254C247.409 45.241 249.411 44.7346 251.214 44.7346V41.7214C248.868 41.7214 246.401 42.3736 244.104 43.5379L245.467 46.2254Z" fill="#FFCD89" mask="url(#path-18-inside-2_205_2650)"/>
<path d="M227.156 73.5661V72.4947C227.156 66.843 224.658 62.1378 221.145 58.833C217.618 55.5138 213.123 53.6601 209.228 53.6601C200.6 53.6601 192.343 59.0268 190.221 67.3177L190.001 68.177L189.131 68.0088C181.765 66.5866 173.905 72.5325 173.905 81.2779C173.905 85.4016 175.679 88.7534 178.055 91.0842C180.455 93.4384 183.39 94.6775 185.605 94.6775H231.041C233.567 94.6775 236.03 93.4597 237.877 91.5448C239.725 89.6294 240.884 87.0903 240.884 84.5592L227.156 73.5661ZM227.156 73.5661L228.218 73.4285M227.156 73.5661L228.218 73.4285M228.218 73.4285C231.873 72.9551 235.027 73.9024 237.259 75.84M228.218 73.4285L237.259 75.84M237.259 75.84C239.489 77.7757 240.883 80.7715 240.884 84.559L237.259 75.84Z" fill="#FFF7EC" stroke="#FFCD89" stroke-width="1.88323"/>
<path d="M197.166 71C196.841 70.6636 196.85 70.1271 197.186 69.8017L202.669 64.4996C203.005 64.1742 203.542 64.1832 203.867 64.5197C204.192 64.8561 204.183 65.3926 203.847 65.718L198.973 70.431L203.686 75.3045C204.012 75.6409 204.003 76.1774 203.666 76.5028C203.33 76.8281 202.793 76.8192 202.468 76.4827L197.166 71ZM197.789 69.5636C197.778 69.5634 197.796 69.5635 197.892 69.5567C197.966 69.5514 198.084 69.5424 198.211 69.5338C198.475 69.5158 198.831 69.4956 199.257 69.4885C200.109 69.4743 201.247 69.5123 202.524 69.7259C205.076 70.1529 208.224 71.2894 210.728 74.1478L209.453 75.2646C205.089 70.2823 198.492 71.2705 197.761 71.2582L197.789 69.5636ZM210.728 74.1478C213.246 77.0227 213.798 80.2911 213.731 82.7997C213.698 84.054 213.51 85.1302 213.33 85.8946C213.24 86.2775 213.151 86.5842 213.084 86.7983C213.05 86.9054 213.022 86.9895 213.001 87.0486C212.991 87.0781 212.983 87.1014 212.977 87.1182C212.974 87.1266 212.971 87.1334 212.969 87.1385C212.968 87.141 212.967 87.1432 212.967 87.1449C212.966 87.1458 212.966 87.1465 212.966 87.1472C212.966 87.1475 212.966 87.1479 212.966 87.1481C212.965 87.1485 212.965 87.1488 212.173 86.8475C211.381 86.5463 211.381 86.5466 211.381 86.5468C211.381 86.5469 211.381 86.5472 211.381 86.5473C211.381 86.5475 211.381 86.5477 211.381 86.5477C211.381 86.5478 211.381 86.5474 211.381 86.5467C211.381 86.5452 211.383 86.5421 211.384 86.5375C211.388 86.5282 211.393 86.5126 211.401 86.491C211.416 86.4477 211.439 86.3803 211.467 86.2909C211.523 86.1119 211.6 85.8451 211.68 85.5064C211.84 84.8277 212.007 83.8686 212.037 82.7543C212.096 80.5257 211.607 77.7233 209.453 75.2646L210.728 74.1478Z" fill="#FF6633"/>
<path d="M187.051 76.1309H86.9228V147.864H187.051V76.1309Z" fill="white" stroke="#FF6633" stroke-width="1.38337" stroke-miterlimit="10"/>
<rect x="94.5223" y="107.398" width="45.5518" height="2.84699" fill="#FFE9CB"/>
<rect x="94.5223" y="113.092" width="45.5518" height="2.84699" fill="#FFE9CB"/>
<rect x="94.5223" y="118.481" width="45.5518" height="2.84699" fill="#FFE9CB"/>
<rect x="94.5223" y="124.395" width="45.5518" height="2.84699" fill="#FFE9CB"/>
<rect x="94.5223" y="130.31" width="48.3988" height="2.84699" fill="#FFE9CB"/>
<rect x="94.5223" y="136.119" width="48.3988" height="2.84699" fill="#FFE9CB"/>
<rect x="94.5222" y="85.0271" width="84.9304" height="16.2227" fill="#FFE9CB"/>
<path d="M207.241 90.4038H102.791V163.869H207.241V90.4038Z" fill="white" stroke="#FF6633" stroke-width="1.33367" stroke-miterlimit="10"/>
<rect x="112.593" y="103.177" width="38.9246" height="2.37754" fill="url(#paint2_linear_205_2650)"/>
<rect x="112.593" y="117.307" width="33.6434" height="2.37745" fill="url(#paint3_linear_205_2650)"/>
<rect x="112.593" y="131.383" width="38.9246" height="2.37754" fill="url(#paint4_linear_205_2650)"/>
<rect x="112.593" y="150.941" width="81.028" height="2.37758" fill="url(#paint5_linear_205_2650)"/>
<rect x="112.304" y="145.486" width="48.735" height="2.37754" fill="url(#paint6_linear_205_2650)"/>
<rect x="112.593" y="136.561" width="84.9888" height="2.37758" fill="url(#paint7_linear_205_2650)"/>
<rect x="112.593" y="122.457" width="73.4809" height="2.37758" fill="url(#paint8_linear_205_2650)"/>
<rect x="112.593" y="108.297" width="64.1013" height="2.37758" fill="url(#paint9_linear_205_2650)"/>
<path d="M48.3532 148.665C48.0288 150.505 46.588 151.946 44.7479 152.271C46.588 152.595 48.0288 154.036 48.3532 155.876C48.6777 154.036 50.1184 152.595 51.9586 152.271C50.1184 151.946 48.6777 150.505 48.3532 148.665Z" fill="#FFE1B7"/>
<mask id="path-40-inside-3_205_2650" fill="white">
<path fill-rule="evenodd" clip-rule="evenodd" d="M45.0154 127.635C47.7171 115.785 58.9511 108.24 68.0925 108.24C79.3546 108.24 90.269 115.245 93.0901 126.269C103.074 124.341 113.604 132.374 113.604 144.082C113.604 155.152 104.058 162.08 97.739 162.08H57.0812C57.0351 162.081 56.9889 162.081 56.9427 162.081H18.7085C14.4713 162.081 8.07069 157.436 8.07069 150.013C8.07069 142.163 15.1317 136.777 21.8256 138.07C23.7173 130.678 31.0354 125.981 38.5868 125.981C40.661 125.981 42.8959 126.56 45.0154 127.635Z"/>
</mask>
<path fill-rule="evenodd" clip-rule="evenodd" d="M45.0154 127.635C47.7171 115.785 58.9511 108.24 68.0925 108.24C79.3546 108.24 90.269 115.245 93.0901 126.269C103.074 124.341 113.604 132.374 113.604 144.082C113.604 155.152 104.058 162.08 97.739 162.08H57.0812C57.0351 162.081 56.9889 162.081 56.9427 162.081H18.7085C14.4713 162.081 8.07069 157.436 8.07069 150.013C8.07069 142.163 15.1317 136.777 21.8256 138.07C23.7173 130.678 31.0354 125.981 38.5868 125.981C40.661 125.981 42.8959 126.56 45.0154 127.635Z" fill="#E0EDFF"/>
<path d="M45.0154 127.635L46.4843 127.97L46.0553 129.851L44.3342 128.979L45.0154 127.635ZM93.0901 126.269L93.3758 127.748L91.9824 128.017L91.6306 126.642L93.0901 126.269ZM57.0812 162.08L57.0532 160.574L57.0672 160.574H57.0812V162.08ZM21.8256 138.07L23.2852 138.443L22.9334 139.818L21.54 139.549L21.8256 138.07ZM43.5465 127.3C46.4089 114.745 58.2679 106.733 68.0925 106.733V109.746C59.6343 109.746 49.0254 116.824 46.4843 127.97L43.5465 127.3ZM68.0925 106.733C79.908 106.733 91.5266 114.082 94.5497 125.895L91.6306 126.642C89.0113 116.407 78.8013 109.746 68.0925 109.746V106.733ZM92.8045 124.79C103.73 122.68 115.111 131.441 115.111 144.082H112.098C112.098 133.308 102.417 126.002 93.3758 127.748L92.8045 124.79ZM115.111 144.082C115.111 150.076 112.521 154.949 109.096 158.308C105.711 161.629 101.384 163.587 97.739 163.587V160.574C100.413 160.574 104.02 159.067 106.986 156.157C109.915 153.284 112.098 149.158 112.098 144.082H115.111ZM97.739 163.587H57.0812V160.574H97.739V163.587ZM56.9427 160.575C56.9795 160.575 57.0164 160.574 57.0532 160.574L57.1092 163.586C57.0538 163.587 56.9983 163.588 56.9427 163.588V160.575ZM18.7085 160.575H56.9427V163.588H18.7085V160.575ZM9.57728 150.013C9.57728 153.266 10.9736 155.909 12.8557 157.755C14.7759 159.639 17.0751 160.575 18.7085 160.575V163.588C16.1047 163.588 13.085 162.201 10.7457 159.906C8.36813 157.574 6.56411 154.184 6.56411 150.013H9.57728ZM21.54 139.549C15.7887 138.438 9.57728 143.097 9.57728 150.013H6.56411C6.56411 141.23 14.4747 135.116 22.1113 136.59L21.54 139.549ZM38.5868 127.488C31.5888 127.488 24.9749 131.84 23.2852 138.443L20.3661 137.696C22.4596 129.515 30.4821 124.474 38.5868 124.474V127.488ZM44.3342 128.979C42.392 127.994 40.3891 127.488 38.5868 127.488V124.474C40.9329 124.474 43.3998 125.127 45.6966 126.291L44.3342 128.979Z" fill="#FFCD89" mask="url(#path-40-inside-3_205_2650)"/>
<circle cx="19.0418" cy="19.0418" r="19.0418" transform="matrix(-1 0 0 1 83.803 112.445)" fill="white"/>
<circle cx="10.9708" cy="10.9708" r="10.9708" transform="matrix(-1 0 0 1 96.948 129.668)" fill="white"/>
<circle cx="12.1151" cy="12.1151" r="12.1151" transform="matrix(-1 0 0 1 50.2117 127.002)" fill="white"/>
<mask id="path-45-inside-4_205_2650" fill="white">
<path fill-rule="evenodd" clip-rule="evenodd" d="M45.0154 127.635C47.7171 115.785 58.9511 108.24 68.0925 108.24C79.3546 108.24 90.269 115.245 93.0901 126.269C103.074 124.341 113.604 132.374 113.604 144.082C113.604 155.152 104.058 162.08 97.739 162.08H57.0812C57.0351 162.081 56.9889 162.081 56.9427 162.081H18.7085C14.4713 162.081 8.07069 157.436 8.07069 150.013C8.07069 142.163 15.1317 136.777 21.8256 138.07C23.7173 130.678 31.0354 125.981 38.5868 125.981C40.661 125.981 42.8959 126.56 45.0154 127.635Z"/>
</mask>
<path d="M45.0154 127.635L46.4843 127.97L46.0553 129.851L44.3342 128.979L45.0154 127.635ZM93.0901 126.269L93.3758 127.748L91.9824 128.017L91.6306 126.642L93.0901 126.269ZM57.0812 162.08L57.0532 160.574L57.0672 160.574H57.0812V162.08ZM21.8256 138.07L23.2852 138.443L22.9334 139.818L21.54 139.549L21.8256 138.07ZM43.5465 127.3C46.4089 114.745 58.2679 106.733 68.0925 106.733V109.746C59.6343 109.746 49.0254 116.824 46.4843 127.97L43.5465 127.3ZM68.0925 106.733C79.908 106.733 91.5266 114.082 94.5497 125.895L91.6306 126.642C89.0113 116.407 78.8013 109.746 68.0925 109.746V106.733ZM92.8045 124.79C103.73 122.68 115.111 131.441 115.111 144.082H112.098C112.098 133.308 102.417 126.002 93.3758 127.748L92.8045 124.79ZM115.111 144.082C115.111 150.076 112.521 154.949 109.096 158.308C105.711 161.629 101.384 163.587 97.739 163.587V160.574C100.413 160.574 104.02 159.067 106.986 156.157C109.915 153.284 112.098 149.158 112.098 144.082H115.111ZM97.739 163.587H57.0812V160.574H97.739V163.587ZM56.9427 160.575C56.9795 160.575 57.0164 160.574 57.0532 160.574L57.1092 163.586C57.0538 163.587 56.9983 163.588 56.9427 163.588V160.575ZM18.7085 160.575H56.9427V163.588H18.7085V160.575ZM9.57728 150.013C9.57728 153.266 10.9736 155.909 12.8557 157.755C14.7759 159.639 17.0751 160.575 18.7085 160.575V163.588C16.1047 163.588 13.085 162.201 10.7457 159.906C8.36813 157.574 6.56411 154.184 6.56411 150.013H9.57728ZM21.54 139.549C15.7887 138.438 9.57728 143.097 9.57728 150.013H6.56411C6.56411 141.23 14.4747 135.116 22.1113 136.59L21.54 139.549ZM38.5868 127.488C31.5888 127.488 24.9749 131.84 23.2852 138.443L20.3661 137.696C22.4596 129.515 30.4821 124.474 38.5868 124.474V127.488ZM44.3342 128.979C42.392 127.994 40.3891 127.488 38.5868 127.488V124.474C40.9329 124.474 43.3998 125.127 45.6966 126.291L44.3342 128.979Z" fill="#FFCD89" mask="url(#path-45-inside-4_205_2650)"/>
<path d="M117.196 160.431V159.359C117.196 153.708 114.697 149.002 111.185 145.698C107.657 142.378 103.163 140.525 99.2673 140.525C90.6393 140.525 82.3828 145.891 80.2611 154.182L80.0412 155.041L79.1703 154.873C71.8046 153.451 63.9445 159.397 63.9445 168.142C63.9445 172.266 65.7187 175.618 68.0949 177.949C70.4949 180.303 73.4302 181.542 75.6446 181.542H121.081C123.606 181.542 126.069 180.324 127.917 178.409C129.764 176.494 130.924 173.955 130.924 171.424L117.196 160.431ZM117.196 160.431L118.258 160.293M117.196 160.431L118.258 160.293M118.258 160.293C121.913 159.82 125.067 160.767 127.299 162.705M118.258 160.293L127.299 162.705M127.299 162.705C129.529 164.64 130.923 167.636 130.924 171.424L127.299 162.705Z" fill="#FFF7EC" stroke="#FFCD89" stroke-width="1.88323"/>
<path d="M107.662 168.885C107.987 169.222 107.978 169.758 107.642 170.084L102.159 175.386C101.823 175.711 101.286 175.702 100.961 175.366C100.636 175.029 100.645 174.493 100.981 174.168L105.855 169.455L101.142 164.581C100.816 164.245 100.825 163.708 101.162 163.383C101.498 163.057 102.035 163.066 102.36 163.403L107.662 168.885ZM107.039 170.322C107.05 170.322 107.032 170.322 106.936 170.329C106.862 170.334 106.744 170.343 106.617 170.352C106.353 170.37 105.998 170.39 105.571 170.397C104.719 170.411 103.581 170.373 102.304 170.16C99.7518 169.733 96.604 168.596 94.1002 165.738L95.3751 164.621C99.7395 169.603 106.337 168.615 107.067 168.627L107.039 170.322ZM94.1002 165.738C91.5818 162.863 91.03 159.594 91.097 157.086C91.1306 155.832 91.3185 154.755 91.4984 153.991C91.5885 153.608 91.677 153.301 91.7442 153.087C91.7778 152.98 91.8061 152.896 91.8267 152.837C91.837 152.807 91.8453 152.784 91.8514 152.767C91.8545 152.759 91.857 152.752 91.8589 152.747C91.8599 152.744 91.8607 152.742 91.8613 152.741C91.8616 152.74 91.8619 152.739 91.8622 152.738C91.8623 152.738 91.8625 152.738 91.8625 152.737C91.8627 152.737 91.8628 152.737 92.6549 153.038C93.447 153.339 93.4471 153.339 93.4472 153.339C93.4472 153.339 93.4473 153.338 93.4474 153.338C93.4475 153.338 93.4475 153.338 93.4475 153.338C93.4475 153.338 93.4474 153.338 93.4471 153.339C93.4466 153.34 93.4455 153.343 93.4438 153.348C93.4404 153.357 93.4348 153.373 93.4272 153.395C93.4122 153.438 93.3894 153.505 93.3613 153.595C93.3052 153.774 93.2279 154.04 93.1482 154.379C92.9886 155.058 92.8211 156.017 92.7913 157.131C92.7318 159.36 93.2213 162.162 95.3751 164.621L94.1002 165.738Z" fill="#FF6633"/>
<path d="M50.0477 76.9463L50.8491 84.8553C51.0593 86.9297 52.6611 88.5911 54.7264 88.8768L57.7829 89.2997L54.7319 89.7218C52.6641 90.0078 51.0612 91.6728 50.8539 93.75L50.0477 101.827L49.2415 93.75C49.0342 91.6728 47.4313 90.0078 45.3635 89.7218L42.3125 89.2997L45.369 88.8768C47.4342 88.5911 49.0361 86.9297 49.2463 84.8553L50.0477 76.9463Z" fill="#FBAD41"/>
</g>
<defs>
<linearGradient id="paint0_linear_205_2650" x1="147.083" y1="240.001" x2="147.083" y2="-0.000488281" gradientUnits="userSpaceOnUse">
<stop stop-color="#FFE9CB"/>
<stop offset="0.368911" stop-color="white" stop-opacity="0.5"/>
<stop offset="0.665804" stop-color="#F8F8F8" stop-opacity="0.569565"/>
<stop offset="0.837689" stop-color="#FFE9CB"/>
</linearGradient>
<linearGradient id="paint1_linear_205_2650" x1="147.082" y1="-76.0443" x2="147.082" y2="314.914" gradientUnits="userSpaceOnUse">
<stop stop-color="#FFF7EC"/>
<stop offset="0.320496" stop-color="#FFE1B7"/>
<stop offset="1" stop-color="#FBAD41"/>
</linearGradient>
<linearGradient id="paint2_linear_205_2650" x1="113.721" y1="104.366" x2="151.517" y2="104.366" gradientUnits="userSpaceOnUse">
<stop stop-color="#FF6633"/>
<stop offset="1" stop-color="#FBAD41"/>
</linearGradient>
<linearGradient id="paint3_linear_205_2650" x1="113.568" y1="118.496" x2="146.236" y2="118.496" gradientUnits="userSpaceOnUse">
<stop stop-color="#FF6633"/>
<stop offset="1" stop-color="#FBAD41"/>
</linearGradient>
<linearGradient id="paint4_linear_205_2650" x1="113.721" y1="132.572" x2="151.517" y2="132.572" gradientUnits="userSpaceOnUse">
<stop stop-color="#FF6633"/>
<stop offset="1" stop-color="#FBAD41"/>
</linearGradient>
<linearGradient id="paint5_linear_205_2650" x1="114.942" y1="152.13" x2="193.621" y2="152.13" gradientUnits="userSpaceOnUse">
<stop stop-color="#FF6633"/>
<stop offset="1" stop-color="#FBAD41"/>
</linearGradient>
<linearGradient id="paint6_linear_205_2650" x1="113.717" y1="146.675" x2="161.039" y2="146.675" gradientUnits="userSpaceOnUse">
<stop stop-color="#FF6633"/>
<stop offset="1" stop-color="#FBAD41"/>
</linearGradient>
<linearGradient id="paint7_linear_205_2650" x1="115.056" y1="137.75" x2="197.581" y2="137.75" gradientUnits="userSpaceOnUse">
<stop stop-color="#FF6633"/>
<stop offset="1" stop-color="#FBAD41"/>
</linearGradient>
<linearGradient id="paint8_linear_205_2650" x1="114.723" y1="123.646" x2="186.074" y2="123.646" gradientUnits="userSpaceOnUse">
<stop stop-color="#FF6633"/>
<stop offset="1" stop-color="#FBAD41"/>
</linearGradient>
<linearGradient id="paint9_linear_205_2650" x1="114.451" y1="109.486" x2="176.694" y2="109.486" gradientUnits="userSpaceOnUse">
<stop stop-color="#FF6633"/>
<stop offset="1" stop-color="#FBAD41"/>
</linearGradient>
<clipPath id="clip0_205_2650">
<rect width="280.828" height="240.001" fill="white" transform="translate(0.901855 -0.000488281)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View file

@ -0,0 +1,84 @@
---
import { Image } from "astro:assets";
import { z } from "astro:schema";
import { getEntry, type CollectionEntry } from "astro:content";
import { StarlightIcon } from "..";
import HeroImage from "~/assets/images/changelog-next/hero.svg";
type Props = z.infer<typeof props>;
const props = z.object({
entries: z.array(z.any()).optional(),
});
const { entries } = props.parse(Astro.props);
async function uniqueProducts(
entries?: Array<CollectionEntry<"changelogs-next">>,
) {
const products = entries?.flatMap((entry) => entry.data.products ?? []);
const unique = [
...new Map(products?.map((product) => [product.id, product])).values(),
];
return Promise.all(
unique.map(async (product) => {
return getEntry(product);
}),
);
}
const products = await uniqueProducts(entries);
---
<div
class="mb-16 flex w-full justify-center border-b-2 border-b-[#EAEAEA] bg-gradient-to-r from-[#FFE9CB99] to-[#FFFFFF99] dark:border-b-[#2C2C2C] dark:from-[#FBAD411F] dark:to-[#2C2C2C00] sm:h-[300px]"
>
<div class="flex justify-between self-center py-4 sm:py-0 md:w-[64rem]">
<div class="w-full self-center max-sm:text-center sm:items-start">
<div class="!mt-0 justify-items-center sm:hidden">
<Image src={HeroImage} alt="hero image" height="240" />
</div>
<h1 class="sm:!mt-0">Changelog</h1>
<p>
New updates and improvements at Cloudflare.
<span>
<a
href="/changelog-next/rss.xml"
class="px-2 text-[#056DFF] no-underline hover:rounded-[4px] hover:bg-[#DCEBFF] hover:!text-[#056DFF] dark:text-[#79B1FF] dark:hover:bg-[#002B66] dark:hover:!text-[#79B1FF]"
>
Subscribe to RSS
<StarlightIcon
name="rss"
size="18px"
class="!inline align-text-top"
/>
</a>
</span>
</p>
{
entries && (
<div>
<select id="changelogs-next-filter" class="mt-2 h-8 w-52">
<option value="all">All products</option>
{products
.sort((a, b) => a.id.localeCompare(b.id))
.map(async (product) => {
return (
<option value={product.id}>
{product.data.product.title}
</option>
);
})}
</select>
</div>
)
}
</div>
<div class="!mt-0 hidden sm:block">
<Image src={HeroImage} alt="hero image" height="240" />
</div>
</div>
</div>

View file

@ -0,0 +1,27 @@
---
import { getEntries } from "astro:content";
import { reference } from "astro:content";
import { z } from "astro:schema";
type Props = z.infer<typeof props>;
const props = z.object({
products: z.array(reference("products")),
});
const { products } = Astro.props;
const data = await getEntries(products);
---
<div class="flex flex-row gap-2">
{
data.map((product) => (
<a href={product.data.product.url} class="no-underline">
<span class="ml-1 rounded-full bg-orange-200 px-2 py-0.5 text-xs text-orange-900">
{product.data.product.title}
</span>
</a>
))
}
</div>

View file

@ -92,7 +92,7 @@ if (
<ul class="list-none pl-0">
{links.map((link) => (
<li>
<a href={link.href} class="no-underline text-white">
<a href={link.href} class="text-white no-underline">
{link.text}
</a>
</li>
@ -103,7 +103,7 @@ if (
</div>
</div>
<div>
<ul class="flex gap-x-4 text-xs list-outside pl-0 justify-center text-gray-600 dark:!text-gray-400">
<ul class="flex list-outside justify-center gap-x-4 pl-0 text-xs text-gray-600 dark:!text-gray-400">
<li class="list-none text-gray-600 dark:text-gray-400">
2024 Cloudflare, Inc.
</li>
@ -111,7 +111,7 @@ if (
<li>
<a
href={href}
class="no-underline text-gray-600 dark:!text-gray-400"
class="text-gray-600 no-underline dark:!text-gray-400"
>
{text}
</a>
@ -126,17 +126,17 @@ if (
) : (
<>
<Default {...Astro.props} />
<div class="items-center flex flex-wrap">
<div id="footer-links" class="flex flex-wrap items-center">
{Object.entries(links).map(([text, href]) => (
<a
href={href}
class="mx-2 my-2 text-xs text-black dark:text-white decoration-accent-600 dark:decoration-accent-200"
class="mx-2 my-2 text-xs text-black decoration-accent-600 dark:text-white dark:decoration-accent-200"
>
<span>{text}</span>
</a>
))}
{isProduction && (
<div class="mx-2 my-2 text-xs text-black dark:text-white underline decoration-accent-600 dark:decoration-accent-200">
<div class="mx-2 my-2 text-xs text-black underline decoration-accent-600 dark:text-white dark:decoration-accent-200">
<OneTrust />
</div>
)}

View file

@ -21,8 +21,6 @@ const summary = Astro.props.entry.data.summary;
const slug = Astro.props.entry.slug;
const showBreadcrumbs = !["products"].includes(slug);
const breadcrumbProps: Record<string, any> = {
crumbs: [
{
@ -73,10 +71,11 @@ for (let i = 0; i < segments.length; i++) {
// Currently the officially sanctioned way to alter behaviour on specific routes
// https://starlight.astro.build/guides/overriding-components/#only-override-on-specific-pages
const hideTitle = Astro.props.hideTitle;
const hideBreadcrumbs = Astro.props.hideBreadcrumbs;
---
{
showBreadcrumbs && (
!hideBreadcrumbs && (
<Breadcrumbs {...breadcrumbProps}>
<svg
slot="separator"
@ -119,3 +118,13 @@ const hideTitle = Astro.props.hideTitle;
--color-link-breadcrumbs: var(--sl-color-text-accent);
}
</style>
{ hideTitle && hideBreadcrumbs &&
<style>
main {
.content-panel:first-of-type {
display: none;
}
}
</style>
}

View file

@ -191,11 +191,11 @@ const lookupProductTitle = async (slug: string) => {
<a
href={"/" + currentSection + "/"}
class="items-center flex hover:opacity-80 decoration-[color:var(--orange-accent-200)]"
class="flex items-center decoration-[color:var(--orange-accent-200)] hover:opacity-80"
>
<AstroIcon
name={currentSection}
class="text-[color:var(--orange-accent-200)] text-4xl mr-2"
class="mr-2 text-4xl text-[color:var(--orange-accent-200)]"
/>
<span class="text-black dark:text-white">
<strong>

View file

@ -27,6 +27,8 @@ const links = Object.entries({
<style>
:root {
--sl-icon-color: var(--sl-color-text);
.social-icons {
--sl-icon-color: var(--sl-color-text);
}
}
</style>

View file

@ -0,0 +1,28 @@
---
title: Workflows is now in open beta
description: Build long-running, reliable and durable applications on Cloudflare Workers
products:
- workers
- workflows
date: 2024-10-24T14:00:00Z
---
import { Render, PackageManagers } from "~/components"
Workflows is now in open beta, and available to any developer a free or paid Workers plan.
Workflows allow you to build multi-step applications that can automatically retry, persist state and run for minutes, hours, days, or weeks. Workflows introduces a programming model that makes it easier to build reliable, long-running tasks, observe as they progress, and programatically trigger instances based on events across your services.
### Get started
You can get started with Workflows by [following our get started guide](/workflows/get-started/guide/) and/or using `npm create cloudflare` to pull down the starter project:
```sh
npm create cloudflare@latest workflows-starter -- --template "cloudflare/workflows-starter"
```
You can open the `src/index.ts` file, extend it, and use `wrangler deploy` to deploy your first Workflow. From there, you can:
* Learn the [Workflows API](/workflows/build/workers-api/)
* [Trigger Workflows](/workflows/build/trigger-workflows/) via your Workers apps.
* Understand the [Rules of Workflows](/workflows/build/rules-of-workflows/) and how to adopt best practices

View file

@ -0,0 +1,18 @@
---
title: Faster Workers Builds with Build Caching and Watch Paths
description: Speed up your builds with build caching and build watch paths in Workers Builds (beta).
products:
- workers
date: 2024-12-29T11:00:00Z
---
![Build caching settings](~/assets/images/workers/platform/ci-cd/workers-build-caching.png)
![Build watch path settings](~/assets/images/workers/platform/ci-cd/workers-build-watch-paths.png)
[**Workers Builds**](/workers/ci-cd/builds/), the integrated CI/CD system for Workers (currently in beta), now lets you cache artifacts across builds, speeding up build jobs by eliminating repeated work, such as downloading dependencies at the start of each build.
- **[Build Caching](/workers/ci-cd/builds/build-caching/)**: Cache dependencies and build outputs between builds with a shared project-wide cache, ensuring faster builds for the entire team.
- **[Build Watch Paths](/workers/ci-cd/builds/build-watch-paths/)**: Define paths to include or exclude from the build process, ideal for [monorepos](/workers/ci-cd/builds/advanced-setups/#monorepos) to target only the files that need to be rebuilt per Workers project.
To get started, select your Worker on the [Cloudflare dashboard](https://dash.cloudflare.com) then go to **Settings** > **Builds**, and connect a GitHub or GitLab repository. Once connected, you'll see options to configure Build Caching and Build Watch Paths.

View file

@ -12,6 +12,7 @@ import {
learningPathsSchema,
videosSchema,
workersAiSchema,
changelogsNextSchema,
} from "~/schemas";
const partialSchema = z.object({
@ -74,4 +75,7 @@ export const collections = {
schema: appsSchema,
type: "data",
}),
"changelogs-next": defineCollection({
schema: changelogsNextSchema,
}),
};

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 49"><path d="m18.63 37.418-9.645-12.9 9.592-12.533-1.852-2.527L5.917 23.595l-.015 1.808 10.86 14.542z"/><path d="M21.997 6.503h-3.712l13.387 18.3-13.072 17.7h3.735L35.4 24.81z"/><path d="M29.175 6.503h-3.758l13.598 18.082-13.598 17.918h3.765l12.908-17.01v-1.808z"/></svg>

After

Width:  |  Height:  |  Size: 327 B

View file

@ -0,0 +1,100 @@
---
import StarlightPage, {
type StarlightPageProps,
} from "@astrojs/starlight/components/StarlightPage.astro";
import type { GetStaticPaths } from "astro";
import { getCollection } from "astro:content";
import Header from "~/components/changelog-next/Header.astro";
import ProductPills from "~/components/changelog-next/ProductPills.astro";
import { format } from "date-fns";
export const getStaticPaths = (async () => {
const notes = await getCollection("changelogs-next");
return notes.map((note) => {
return {
params: {
slug: note.slug,
},
props: {
note,
},
};
});
}) satisfies GetStaticPaths;
const { note } = Astro.props;
const { Content, headings } = await note.render();
const props = {
frontmatter: {
title: note.data.title,
template: "splash",
},
headings,
hideTitle: true,
hideBreadcrumbs: true,
} as StarlightPageProps;
---
<StarlightPage {...props}>
<Header />
<div class="w-full max-w-[50rem] justify-self-center">
<div class="!mt-0 mb-10">
<a href="/changelog-next/" class="no-underline">
<span class="text-accent">← </span>
<span class="text-black">Back to all posts</span>
</a>
</div>
<div class="w-full justify-self-center">
<h2>{note.data.title}</h2>
<div>
<strong
>{format(note.data.date, "MMM dd, yyyy")}, {
format(note.data.date, "hh:mm a")
}</strong
>
<ProductPills products={note.data.products} />
</div>
<div>
<Content />
</div>
</div>
</div>
</StarlightPage>
<style>
:root {
--sl-content-width: 100% !important;
.sl-markdown-content {
margin-top: 0px !important;
}
.content-panel {
padding: 0px !important;
}
#feedback-thumbs,
#footer-links {
justify-self: center;
}
.sl-markdown-content
:not(a, strong, em, del, span, input, code, br)
+ :not(
a,
strong,
em,
del,
span,
input,
code,
br,
:where(.not-content *)
) {
margin-top: 1.5rem;
}
}
</style>

View file

@ -0,0 +1,163 @@
---
import StarlightPage, {
type StarlightPageProps,
} from "@astrojs/starlight/components/StarlightPage.astro";
import { getCollection } from "astro:content";
import Header from "~/components/changelog-next/Header.astro";
import ProductPills from "~/components/changelog-next/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 props = {
frontmatter: {
title: "Changelogs",
tableOfContents: false,
template: "splash",
},
hideTitle: true,
hideBreadcrumbs: true,
} as StarlightPageProps;
---
<StarlightPage {...props}>
<Header entries={notes} />
<div
class="w-full max-w-[50rem] justify-self-center px-4 md:grid md:grid-cols-[15%_auto]"
>
{
notes.map(async (entry) => {
const date = format(entry.data.date, "MMM dd, yyyy");
const time = format(entry.data.date, "hh:mm a");
const productIds = JSON.stringify(
entry.data.products.map((product) => product.id),
);
const { Content } = await entry.render();
return (
<>
<div class="!mt-0" data-products={productIds}>
<p class="md:content-center md:pr-4 md:text-right md:leading-none">
<strong class="text-xs">{date}</strong>
<span class="text-xs">{time}</span>
</p>
</div>
<Steps>
<ol class="!mt-0 overflow-x-auto" data-products={productIds}>
<li class="mb-16">
<div>
<a
href={`/changelog-next/${entry.slug}/`}
class="no-underline hover:underline"
>
<h3 class="mb-4 !leading-[36px] text-black">
{entry.data.title}
</h3>
</a>
<ProductPills products={entry.data.products} />
</div>
<p>
<Content />
</p>
</li>
</ol>
</Steps>
</>
);
})
}
</div>
</StarlightPage>
<script>
const filter = document.querySelector<HTMLSelectElement>(
"#changelogs-next-filter",
);
filter?.addEventListener("change", () => {
const entries = document.querySelectorAll<HTMLElement>("[data-products]");
if (!entries) return;
const value = filter.value;
if (value === "all") {
entries.forEach((entry) => (entry.style.display = ""));
return;
}
for (const entry of entries) {
if (!entry.dataset.products) continue;
const products = JSON.parse(entry.dataset.products);
const show = products.includes(value);
if (show) {
entry.style.display = "";
} else {
entry.style.display = "none";
}
}
});
</script>
<style>
:root {
--sl-content-width: 100% !important;
.sl-markdown-content
:not(a, strong, em, del, span, input, code, br)
+ :not(
a,
strong,
em,
del,
span,
input,
code,
br,
:where(.not-content *)
) {
margin-top: 1.5rem;
}
.sl-markdown-content {
margin-top: 0px !important;
}
.content-panel {
padding: 0px !important;
}
.feedback-prompt-content {
display: none !important;
}
#footer-links {
justify-self: center;
}
.sl-steps {
--bullet-size: 24px !important;
& > li {
padding-inline-start: calc(var(--bullet-size) + 2.5rem) !important;
&::before {
content: "•" !important;
font-size: calc(var(--bullet-size) * 2) !important;
line-height: calc(var(--bullet-size) / 1.5) !important;
color: var(--orange-accent-200) !important;
}
}
}
}
</style>

View file

@ -0,0 +1,21 @@
import rss from "@astrojs/rss";
import { getCollection } from "astro:content";
import type { APIRoute } from "astro";
export const GET: APIRoute = async () => {
const notes = await getCollection("changelogs-next");
return rss({
title: "Changelogs",
description: `Cloudflare changelogs`,
site: "https://developers.cloudflare.com",
items: notes.map((entry) => {
return {
title: entry.data.title,
description: entry.data.description,
pubDate: entry.data.date,
link: `/changelog-next/${entry.slug}/`,
};
}),
});
};

View file

@ -0,0 +1,9 @@
import { reference } from "astro:content";
import { z } from "astro:schema";
export const changelogsNextSchema = z.object({
title: z.string(),
description: z.string(),
date: z.coerce.date(),
products: z.array(reference("products")),
});

View file

@ -1,5 +1,6 @@
export * from "./apps";
export * from "./base";
export * from "./changelogs-next";
export * from "./changelogs";
export * from "./compatibility-flags";
export * from "./glossary";

View file

@ -18,7 +18,11 @@ export default {
theme: {
extend: {
colors: {
black: {
DEFAULT: "var(--sl-color-white)",
},
accent: {
DEFAULT: "var(--sl-color-accent)",
200: "var(--tw-accent-200)",
600: "var(--tw-accent-600)",
900: "var(--tw-accent-900)",