diff --git a/.changeset/actionbar-text-button.md b/.changeset/actionbar-text-button.md deleted file mode 100644 index 05d7b1bf4a0..00000000000 --- a/.changeset/actionbar-text-button.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': minor ---- - -ActionBar: Add `ActionBar.Button` for rendering text buttons that overflow into the menu, alongside the existing `ActionBar.IconButton` diff --git a/.changeset/announce-avoid-commit-per-change.md b/.changeset/announce-avoid-commit-per-change.md deleted file mode 100644 index 54df35bdf75..00000000000 --- a/.changeset/announce-avoid-commit-per-change.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -Announce, AriaStatus, AriaAlert: Avoid an extra React render on every content change (e.g. per keystroke when tied to an input) diff --git a/.changeset/confirm-dialog-host-cleanup.md b/.changeset/confirm-dialog-host-cleanup.md deleted file mode 100644 index 27b2c8114e6..00000000000 --- a/.changeset/confirm-dialog-host-cleanup.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -ConfirmationDialog: `useConfirm`/`confirm` now removes its host element from `document.body` after the dialog is closed, and uses a fresh host element per call, so the empty container no longer lingers or leaks into other components and tests diff --git a/.changeset/mcp-scenario-patterns.md b/.changeset/mcp-scenario-patterns.md deleted file mode 100644 index e49e7a39165..00000000000 --- a/.changeset/mcp-scenario-patterns.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/mcp': minor ---- - -MCP server: Add Copy, Delete, Filter and Search scenario patterns to the `list_patterns` and `get_pattern` tools. Scenario patterns take precedence over UI patterns when a name matches. diff --git a/.changeset/navlist-heading-slot.md b/.changeset/navlist-heading-slot.md deleted file mode 100644 index 4e2cb3e7558..00000000000 --- a/.changeset/navlist-heading-slot.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@primer/react': minor ---- - -Add a `NavList.Heading` slot that names the navigation region. It renders an `h2` -by default (configurable to `h3` via `as`), supports a `visuallyHidden` variant, -labels the `nav` landmark via `aria-labelledby`, and makes `NavList.Group` -headings default to one level deeper (`h3`, or `h4` under an `h3` heading) for a -correct heading hierarchy. diff --git a/.changeset/perf-css-bucketable-selectors.md b/.changeset/perf-css-bucketable-selectors.md deleted file mode 100644 index 2b1ac139a08..00000000000 --- a/.changeset/perf-css-bucketable-selectors.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -Improve style-recalc performance by making ButtonGroup, DataTable Pagination, and Checkbox CSS selectors bucketable (removing universal `*`/`:not([attr])` subjects and `:is()` selector-list merges) diff --git a/.changeset/public-bags-retire.md b/.changeset/public-bags-retire.md deleted file mode 100644 index f6844a30dad..00000000000 --- a/.changeset/public-bags-retire.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -"@primer/react": minor ---- - -Add data-component attributes and associated tests for: - -Radio -RadioGroup -RelativeTime -ScrollableRegion -SegmentedControl -Select -SideNav -SkeletonBox -SkeletonAvatar -SkeletonText -Spinner diff --git a/.changeset/select-panel-css-anchor-positioning-settings.md b/.changeset/select-panel-css-anchor-positioning-settings.md deleted file mode 100644 index 2d3fc1e1b8e..00000000000 --- a/.changeset/select-panel-css-anchor-positioning-settings.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': minor ---- - -SelectPanel: Add `cssAnchorPositioningSettings` prop to customize CSS anchor positioning behavior diff --git a/.changeset/textarea-character-counter-performance.md b/.changeset/textarea-character-counter-performance.md deleted file mode 100644 index b5939a13897..00000000000 --- a/.changeset/textarea-character-counter-performance.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -Textarea: Improve typing performance by deriving the character counter in render instead of in effects, removing extra re-renders on each keystroke. diff --git a/.changeset/textinput-character-counter-performance.md b/.changeset/textinput-character-counter-performance.md deleted file mode 100644 index dec55affcf3..00000000000 --- a/.changeset/textinput-character-counter-performance.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@primer/react': patch ---- - -TextInput: Improve typing performance by deriving the character counter in render instead of in effects, removing extra re-renders on each keystroke. diff --git a/.changeset/underline-nav-css-overflow.md b/.changeset/underline-nav-css-overflow.md deleted file mode 100644 index e504c01bcc1..00000000000 --- a/.changeset/underline-nav-css-overflow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@primer/react": minor ---- - -Refactors `UnderlineNav` overflow handling to use CSS-based overflow detection instead of JavaScript width measurements, eliminating layout shift (CLS) issues and improving performance. The overflow menu is now implemented with `ActionMenu`, and item registration uses a descendant registry instead of the `React.Children` API. Consumer-facing changes: items can now be wrapped in fragments or wrapper components; the current item may appear in the overflow menu when the viewport is narrow; and the overflow menu button is right-aligned. diff --git a/examples/codesandbox/package.json b/examples/codesandbox/package.json index f7d9ff16f24..0d1fe381d06 100644 --- a/examples/codesandbox/package.json +++ b/examples/codesandbox/package.json @@ -14,7 +14,7 @@ "react-dom": "^18.3.1" }, "devDependencies": { - "@primer/react": "38.29.0", + "@primer/react": "38.30.0", "@primer/styled-react": "1.1.0", "@types/react": "^18.3.11", "@types/react-dom": "^18.3.0", diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json index 7648da98e29..242cb2b2d72 100644 --- a/examples/nextjs/package.json +++ b/examples/nextjs/package.json @@ -10,7 +10,7 @@ "type-check": "tsc --noEmit" }, "dependencies": { - "@primer/react": "38.29.0", + "@primer/react": "38.30.0", "@primer/styled-react": "1.1.0", "next": "^16.1.7", "react": "^19.2.0", diff --git a/examples/theming/package.json b/examples/theming/package.json index f100e31c335..259a5976b2f 100644 --- a/examples/theming/package.json +++ b/examples/theming/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@primer/octicons-react": "^19.21.0", - "@primer/react": "38.29.0", + "@primer/react": "38.30.0", "clsx": "^2.1.1", "next": "^16.1.7", "react": "^19.2.0", diff --git a/packages/mcp/CHANGELOG.md b/packages/mcp/CHANGELOG.md index ce006da2881..458f9e406c5 100644 --- a/packages/mcp/CHANGELOG.md +++ b/packages/mcp/CHANGELOG.md @@ -1,5 +1,16 @@ # @primer/mcp +## 0.4.0 + +### Minor Changes + +- [#8058](https://github.com/primer/react/pull/8058) [`0a49d7d`](https://github.com/primer/react/commit/0a49d7d2fad0ff897c53a7b77583d6058b79005a) Thanks [@mattobee](https://github.com/mattobee)! - MCP server: Add Copy, Delete, Filter and Search scenario patterns to the `list_patterns` and `get_pattern` tools. Scenario patterns take precedence over UI patterns when a name matches. + +### Patch Changes + +- Updated dependencies [[`0add561`](https://github.com/primer/react/commit/0add5615720d17d69c77b014786c5e17e4337bb0), [`6131a94`](https://github.com/primer/react/commit/6131a9424b5bd5bb98b7ae05771d8187fe2f58cd), [`5b3c806`](https://github.com/primer/react/commit/5b3c806305cfa09d33d42fc2957d55105725ea3b), [`cb79351`](https://github.com/primer/react/commit/cb79351f29b9a1aea7bacf890eca97a5c9d97590), [`f052126`](https://github.com/primer/react/commit/f0521263c85a8d665f7c031bd711b3568bdac8e2), [`b906268`](https://github.com/primer/react/commit/b906268b7ebe8d684d8b5e9b1c4e9b528a5dd67a), [`73a45df`](https://github.com/primer/react/commit/73a45dfe11c3a297e4f2f8317caa4a535a70ce80), [`6131a94`](https://github.com/primer/react/commit/6131a9424b5bd5bb98b7ae05771d8187fe2f58cd), [`6131a94`](https://github.com/primer/react/commit/6131a9424b5bd5bb98b7ae05771d8187fe2f58cd), [`e58907c`](https://github.com/primer/react/commit/e58907c5559f5ef8133a1d98a05e2e4a6c1ca6cb)]: + - @primer/react@38.30.0 + ## 0.3.3 ### Patch Changes diff --git a/packages/mcp/package.json b/packages/mcp/package.json index edf4b193bcc..85206fc8d4f 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,7 +1,7 @@ { "name": "@primer/mcp", "description": "An MCP server that connects AI tools to the Primer Design System", - "version": "0.3.3", + "version": "0.4.0", "type": "module", "bin": { "mcp": "./bin/mcp.js" @@ -37,7 +37,7 @@ "@modelcontextprotocol/sdk": "^1.24.0", "@primer/octicons": "^19.15.5", "@primer/primitives": "10.x || 11.x", - "@primer/react": "^38.28.0", + "@primer/react": "^38.30.0", "cheerio": "^1.0.0", "turndown": "^7.2.0", "zod": "^4.3.5" diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 23657db58d1..7e44552406e 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,5 +1,47 @@ # @primer/react +## 38.30.0 + +### Minor Changes + +- [#8048](https://github.com/primer/react/pull/8048) [`0add561`](https://github.com/primer/react/commit/0add5615720d17d69c77b014786c5e17e4337bb0) Thanks [@copilot-swe-agent](https://github.com/apps/copilot-swe-agent)! - ActionBar: Add `ActionBar.Button` for rendering text buttons that overflow into the menu, alongside the existing `ActionBar.IconButton` + +- [#8031](https://github.com/primer/react/pull/8031) [`cb79351`](https://github.com/primer/react/commit/cb79351f29b9a1aea7bacf890eca97a5c9d97590) Thanks [@janmaarten-a11y](https://github.com/janmaarten-a11y)! - Add a `NavList.Heading` slot that names the navigation region. It renders an `h2` + by default (configurable to `h3` via `as`), supports a `visuallyHidden` variant, + labels the `nav` landmark via `aria-labelledby`, and makes `NavList.Group` + headings default to one level deeper (`h3`, or `h4` under an `h3` heading) for a + correct heading hierarchy. + +- [#7991](https://github.com/primer/react/pull/7991) [`b906268`](https://github.com/primer/react/commit/b906268b7ebe8d684d8b5e9b1c4e9b528a5dd67a) Thanks [@llastflowers](https://github.com/llastflowers)! - Add data-component attributes and associated tests for: + + Radio + RadioGroup + RelativeTime + ScrollableRegion + SegmentedControl + Select + SideNav + SkeletonBox + SkeletonAvatar + SkeletonText + Spinner + +- [#8026](https://github.com/primer/react/pull/8026) [`73a45df`](https://github.com/primer/react/commit/73a45dfe11c3a297e4f2f8317caa4a535a70ce80) Thanks [@TylerJDev](https://github.com/TylerJDev)! - SelectPanel: Add `cssAnchorPositioningSettings` prop to customize CSS anchor positioning behavior + +- [#7506](https://github.com/primer/react/pull/7506) [`e58907c`](https://github.com/primer/react/commit/e58907c5559f5ef8133a1d98a05e2e4a6c1ca6cb) Thanks [@iansan5653](https://github.com/iansan5653)! - Refactors `UnderlineNav` overflow handling to use CSS-based overflow detection instead of JavaScript width measurements, eliminating layout shift (CLS) issues and improving performance. The overflow menu is now implemented with `ActionMenu`, and item registration uses a descendant registry instead of the `React.Children` API. Consumer-facing changes: items can now be wrapped in fragments or wrapper components; the current item may appear in the overflow menu when the viewport is narrow; and the overflow menu button is right-aligned. + +### Patch Changes + +- [#8021](https://github.com/primer/react/pull/8021) [`6131a94`](https://github.com/primer/react/commit/6131a9424b5bd5bb98b7ae05771d8187fe2f58cd) Thanks [@mattcosta7](https://github.com/mattcosta7)! - Announce, AriaStatus, AriaAlert: Avoid an extra React render on every content change (e.g. per keystroke when tied to an input) + +- [#7935](https://github.com/primer/react/pull/7935) [`5b3c806`](https://github.com/primer/react/commit/5b3c806305cfa09d33d42fc2957d55105725ea3b) Thanks [@copilot-swe-agent](https://github.com/apps/copilot-swe-agent)! - ConfirmationDialog: `useConfirm`/`confirm` now removes its host element from `document.body` after the dialog is closed, and uses a fresh host element per call, so the empty container no longer lingers or leaks into other components and tests + +- [#8007](https://github.com/primer/react/pull/8007) [`f052126`](https://github.com/primer/react/commit/f0521263c85a8d665f7c031bd711b3568bdac8e2) Thanks [@copilot-swe-agent](https://github.com/apps/copilot-swe-agent)! - Improve style-recalc performance by making ButtonGroup, DataTable Pagination, and Checkbox CSS selectors bucketable (removing universal `*`/`:not([attr])` subjects and `:is()` selector-list merges) + +- [#8021](https://github.com/primer/react/pull/8021) [`6131a94`](https://github.com/primer/react/commit/6131a9424b5bd5bb98b7ae05771d8187fe2f58cd) Thanks [@mattcosta7](https://github.com/mattcosta7)! - Textarea: Improve typing performance by deriving the character counter in render instead of in effects, removing extra re-renders on each keystroke. + +- [#8021](https://github.com/primer/react/pull/8021) [`6131a94`](https://github.com/primer/react/commit/6131a9424b5bd5bb98b7ae05771d8187fe2f58cd) Thanks [@mattcosta7](https://github.com/mattcosta7)! - TextInput: Improve typing performance by deriving the character counter in render instead of in effects, removing extra re-renders on each keystroke. + ## 38.29.0 ### Minor Changes diff --git a/packages/react/package.json b/packages/react/package.json index 8d1446ff5d1..a36e389a3e8 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,7 +1,7 @@ { "name": "@primer/react", "type": "module", - "version": "38.29.0", + "version": "38.30.0", "description": "An implementation of GitHub's Primer Design System using React", "main": "./dist/index.js", "module": "./dist/index.js",