diff --git a/public/__redirects b/public/__redirects index a1d884a29fa76a..1aacdc909c0c04 100644 --- a/public/__redirects +++ b/public/__redirects @@ -9,6 +9,12 @@ # changelog /changelog/rss.xml /changelog/rss/index.xml 301 +/api-shield/changelog/index.xml /changelog/rss/api-shield.xml 301 +/cache/changelog/index.xml /changelog/rss/cache.xml 301 +/dns/changelog/index.xml /changelog/rss/dns.xml 301 +/fundamentals/changelog/index.xml /changelog/rss/fundamentals.xml 301 +/logs/changelog/index.xml /changelog/rss/logs.xml 301 +/ssl/changelog/index.xml /changelog/rss/ssl.xml 301 ## legacy /changelog/index.xml /release-notes/index.xml 301 diff --git a/src/components/ProductChangelog.astro b/src/components/ProductChangelog.astro new file mode 100644 index 00000000000000..b0ac1cbd7b2fda --- /dev/null +++ b/src/components/ProductChangelog.astro @@ -0,0 +1,54 @@ +--- +import { getChangelogs, type GetChangelogsOptions } from "~/util/changelog"; +import { reference } from "astro:content"; +import { z } from "astro:schema"; +import { getCollection, render } from "astro:content"; +import { slug } from "github-slugger"; +import RSSButton from "~/components/RSSButton.astro"; +import AnchorHeading from "~/components/AnchorHeading.astro"; +import { format } from "date-fns"; +const props = z + .object({ + product: reference("products"), + }) + .or( + z.object({ + area: z.string(), + }), + ); +const input = await props.parseAsync(Astro.props); +let filter: GetChangelogsOptions["filter"]; +let rss: string; +if ("product" in input) { + rss = `/changelog/rss/${input.product.id}.xml`; + filter = (e) => { + return !e.data.hidden && e.data.products.some(({ id }) => id === input.product.id); + }; +} else { + rss = `/changelog/rss/${slug(input.area)}.xml`; + 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)); + }; +} +const changelogs = await getChangelogs({ filter }); +--- + + + +{ + changelogs.map(async (entry) => { + + + const { Content } = await render(entry); + return ( + +
+ {entry.data.title} +
+ + ); + }) +} \ No newline at end of file diff --git a/src/components/index.ts b/src/components/index.ts index 4bbaa0056cd739..87b3e91eac7126 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -42,6 +42,7 @@ export { default as PagesBuildPresetsTable } from "./PagesBuildPresetsTable.astr export { default as PagesLanguageSupport } from "./PagesLanguageSupport.astro"; export { default as Plan } from "./Plan.astro"; export { default as PlanInfo } from "./PlanInfo.astro"; +export { default as ProductChangelog } from "./ProductChangelog.astro"; export { default as ProductReleaseNotes } from "./ProductReleaseNotes.astro"; export { default as ProductFeatures } from "./ProductFeatures.astro"; export { default as ProductsByTag } from "./ProductsByTag.astro"; diff --git a/src/content/changelog/access/2025-03-03-saml-oidc-fields-saml-transformations.mdx b/src/content/changelog/access/2025-03-03-saml-oidc-fields-saml-transformations.mdx index 57f1541cf3d911..d83d3d8c19e089 100644 --- a/src/content/changelog/access/2025-03-03-saml-oidc-fields-saml-transformations.mdx +++ b/src/content/changelog/access/2025-03-03-saml-oidc-fields-saml-transformations.mdx @@ -6,7 +6,7 @@ date: 2025-03-03T6:00:00Z [Access for SaaS applications](/cloudflare-one/applications/configure-apps/saas-apps/) now include more configuration options to support a wider array of SaaS applications. -### SAML and OIDC Field Additions +**SAML and OIDC Field Additions** OIDC apps now include: @@ -21,7 +21,7 @@ SAML apps now include improved SAML attribute mapping from an IdP. ![SAML field additions](~/assets/images/changelog/access/saml-attribute-statements.png) -### SAML transformations +**SAML transformations** SAML identities sent to Access applications can be fully customized using JSONata expressions. This allows admins to configure the precise identity SAML statement sent to a SaaS application. diff --git a/src/content/changelog/cache/2025-02-04-easier-onboarding-for-csam-scanning-tool.mdx b/src/content/changelog/cache/2025-02-04-easier-onboarding-for-csam-scanning-tool.mdx index e79f63edb54f56..65540043038d76 100644 --- a/src/content/changelog/cache/2025-02-04-easier-onboarding-for-csam-scanning-tool.mdx +++ b/src/content/changelog/cache/2025-02-04-easier-onboarding-for-csam-scanning-tool.mdx @@ -8,14 +8,14 @@ date: 2025-02-04T12:00:00Z You can now implement our **child safety tooling**, the **[CSAM Scanning Tool](/cache/reference/csam-scanning/)**, more easily. Instead of requiring external reporting credentials, you only need a verified email address for notifications to onboard. This change makes the tool more accessible to a wider range of customers. -## **How It Works** +**How It Works** -When enabled, the tool automatically [hashes images for enabled websites as they enter the Cloudflare cache](https://blog.cloudflare.com/the-csam-scanning-tool/). These hashes are then checked against a database of **known abusive images**. +When enabled, the tool automatically [hashes images for enabled websites as they enter the Cloudflare cache](https://blog.cloudflare.com/the-csam-scanning-tool/). These hashes are then checked against a database of **known abusive images**. -- **Potential match detected?** - - The **content URL is blocked**, and - - **Cloudflare will notify you** about the found matches via the provided email address. +- **Potential match detected?** + - The **content URL is blocked**, and + - **Cloudflare will notify you** about the found matches via the provided email address. -## **Updated Service-Specific Terms** +**Updated Service-Specific Terms** We have also made updates to our **[Service-Specific Terms](https://www.cloudflare.com/service-specific-terms-application-services/#csam-scanning-tool-terms)** to reflect these changes. diff --git a/src/content/docs/api-shield/changelog.mdx b/src/content/docs/api-shield/changelog.mdx index afe4afe0d13374..ffaad7f9839a22 100644 --- a/src/content/docs/api-shield/changelog.mdx +++ b/src/content/docs/api-shield/changelog.mdx @@ -1,14 +1,84 @@ --- pcx_content_type: changelog title: Changelog -release_notes_file_name: - - api-shield sidebar: order: 10 --- -import { ProductReleaseNotes } from "~/components"; +import { ProductChangelog } from "~/components"; -{/* */} +{/* */} +{/* */} +{/* */} +{/* */} +{/* */} +{/*