diff --git a/docs/develop/java/activities/standalone-activities.mdx b/docs/develop/java/activities/standalone-activities.mdx index 24d316b4f8..e2341df20f 100644 --- a/docs/develop/java/activities/standalone-activities.mdx +++ b/docs/develop/java/activities/standalone-activities.mdx @@ -15,6 +15,7 @@ import { ReleaseNoteHeader } from '@site/src/components'; [Standalone Activities](/standalone-activity) are Activities that run independently, without being orchestrated by a diff --git a/docs/develop/typescript/best-practices/data-handling/external-storage.mdx b/docs/develop/typescript/best-practices/data-handling/external-storage.mdx index fda6df5e20..d4aefe8ebd 100644 --- a/docs/develop/typescript/best-practices/data-handling/external-storage.mdx +++ b/docs/develop/typescript/best-practices/data-handling/external-storage.mdx @@ -12,7 +12,7 @@ description: Offload large payloads to external storage using the claim check pa import { ReleaseNoteHeader } from '@site/src/components'; - + APIs and configuration may change before General Availability. Join the [#large-payloads Slack channel](https://temporalio.slack.com/archives/C09VA2DE15Y) to provide feedback or ask for help. diff --git a/docs/evaluate/development-production-features/release-stages.mdx b/docs/evaluate/development-production-features/release-stages.mdx index d4a112cb0f..08b2c94227 100644 --- a/docs/evaluate/development-production-features/release-stages.mdx +++ b/docs/evaluate/development-production-features/release-stages.mdx @@ -8,6 +8,8 @@ tags: - Temporal --- +import { FeatureStageTable } from '@site/src/components'; + :::tip CHANGELOG To stay up-to-date with the latest feature changes, visit the [changelog](https://temporal.io/change-log). ::: @@ -27,6 +29,8 @@ Product Release Guide Expectations: | **Feature Cloud pricing** | No additional cost. | Pricing changes are kept to a minimum. | Pricing is stable. | | **Feature Interoperability** | Limited. | Features are compatible with each other, unless otherwise stated. | Features are compatible with each other. | + + ## Pre-release {/* #pre-release */} **Access:** Most Pre-release features are released in the open source Temporal software and are publicly available. diff --git a/readme/COMPONENTS.md b/readme/COMPONENTS.md index 4fb41058e4..436438bfdb 100644 --- a/readme/COMPONENTS.md +++ b/readme/COMPONENTS.md @@ -27,6 +27,8 @@ Whether you’re using core components or experimenting with new ones, this guid - [Using SdkGuideLinks](#using-sdkguidelinks) - [Using AnnotatedCode](#using-annotatedcode) - [Using ReleaseNoteHeader](#using-release-note-header) +- [Using FeatureStageLabel](#using-featurestagelabel) +- [Using FeatureStageTable](#using-featurestagetable) ## Finding Components @@ -521,9 +523,22 @@ Role: To provide a consistent component for adding, updating, and removing relea Usage: -In `/src/constants`, update the [`featureReleaseTypes.js`](../src/constants/featureReleaseTypes.js) file to include the release stage for the feature you want. +In `/src/constants`, update the [`featureReleaseTypes.js`](../src/constants/featureReleaseTypes.js) file to include the feature you want, its stage, and its display metadata (used by the `FeatureStageTable` on the [release stages page](../docs/evaluate/development-production-features/release-stages.mdx)). -Example: `serverlessWorkers: "prerelease"` +```js +serverlessWorkers: { + stage: "prerelease", + name: "Serverless Workers", + description: "Run a Temporal Worker as a serverless function invoked by Temporal Cloud.", + infoLink: "/serverless-workers", + // Optional — only add this when a feature's stage genuinely differs by SDK + // language. Keys must match ReleaseNoteHeader's SDK language vocabulary + // (".NET" | "Go" | "Java" | "PHP" | "Python" | "Ruby" | "Rust" | "TypeScript"). + languageOverrides: { + Java: "publicPreview", + }, +}, +``` Then on the pages you want it to show, add this to the top of the content, right below the frontmatter. The `featureName` prop is how you share the release stages you add to `featureReleaseTypes.js` across pages. @@ -569,4 +584,42 @@ Use the `href` prop to make the `children` content a link. > Sign up for updates to be notified when Serverless Workers reach Public Preview. -``` \ No newline at end of file +``` + +If a feature's `languageOverrides` includes the SDK this page is about, add the `language` prop so the badge resolves to that language's stage instead of the feature's default. +```js + +``` + +## Using FeatureStageLabel + +Role: The inline sibling of `ReleaseNoteHeader`, for mentioning a feature's stage mid-sentence in prose instead of as a page-level banner. Sourced from the same [`featureReleaseTypes.js`](../src/constants/featureReleaseTypes.js) registry, so these mentions can't drift out of sync with the banner the way a hand-written `[Public Preview](/evaluate/development-production-features/release-stages#public-preview)` link can. + +Usage: + +```js +import { FeatureStageLabel } from '@site/src/components'; + +The Rust SDK is in , and its API can change between releases. +``` + +Accepts the same `featureName`, `language`, and `type` props as `ReleaseNoteHeader`, resolved the same way. Renders a plain prose link — no pill/badge styling — since it's meant to sit inline in a sentence. + +## Using FeatureStageTable + +Role: Renders every feature currently in `featureReleaseTypes.js`, grouped by stage, as a Markdown-style table. Used on the [release stages page](../docs/evaluate/development-production-features/release-stages.mdx) to give a single, always-current view of what's non-GA — no separate list to hand-maintain. + +Usage: + +```js +import { FeatureStageTable } from '@site/src/components'; + + +``` + +Takes no props — it reads `featureReleaseTypes.js` directly, so a feature appears here automatically once it has a registry entry with `name`, `description`, and `infoLink`. Each stage section (Pre-release, Public Preview) is its own table with two columns, Feature and Details — there's no separate Stage column, since the section heading already says it. The Details cell is the feature's `description`; a feature with a `languageOverrides` entry gets a bolded note appended (e.g. "…without a Workflow orchestrating it. **Note:** Java support is in Pre-release.") instead of a separate row per language. + +Write `description` as its own brief, feature-specific summary — what the feature actually does, in one sentence — rather than reusing the target page's meta `description` verbatim. A page's meta description is written for the whole page and SEO, so it's often too broad (e.g. a general SDK setup page) or too generic ("Learn how...") for a table row about one specific feature. \ No newline at end of file diff --git a/readme/COMPONENT_REGISTRY.md b/readme/COMPONENT_REGISTRY.md index 57c55de5ba..ca3d0c0b43 100644 --- a/readme/COMPONENT_REGISTRY.md +++ b/readme/COMPONENT_REGISTRY.md @@ -2,13 +2,13 @@ Generated by `scripts/audit-components.mjs`. Run to update. -**Coverage: 43/51 (84%)** +**Coverage: 44/52 (85%)** | Component | File Count | Strategy | Covered | |-----------|------------|----------|---------| +| `ReleaseNoteHeader` | 84 | `release-note-header` | ✅ | | `TabItem` | 84 | `tabitem` | ✅ | | `Tabs` | 83 | `tabs` | ✅ | -| `ReleaseNoteHeader` | 76 | `release-note-header` | ✅ | | `NoZoom` | 60 | `UNKNOWN` | ❌ | | `RelatedReadContainer` | 23 | `related-read-container` | ✅ | | `RelatedReadItem` | 20 | `related-read-item` | ✅ | @@ -44,6 +44,7 @@ Generated by `scripts/audit-components.mjs`. Run to update. | `CallerWorkflow` | 1 | `UNKNOWN` | ❌ | | `SdkOverviewCards` | 1 | `sdk-overview-cards` | ✅ | | `TemporalLifecycleDemo` | 1 | `UNKNOWN` | ❌ | +| `FeatureStageTable` | 1 | `feature-stage-table` | ✅ | | `CloudRegionCount` | 1 | `strip-block` | ✅ | | `GuidesGrid` | 1 | `UNKNOWN` | ❌ | | `HeroWrapper` | 1 | `strip-tag` | ✅ | diff --git a/readme/MARKDOWN_PIPELINE.md b/readme/MARKDOWN_PIPELINE.md index a78c9925fc..01eee1b839 100644 --- a/readme/MARKDOWN_PIPELINE.md +++ b/readme/MARKDOWN_PIPELINE.md @@ -130,6 +130,8 @@ Each component maps to a strategy in `COMPONENT_REGISTRY` (in `scripts/mdx-to-md | YouTube/`