diff --git a/bin/plugin/commands/changelog.js b/bin/plugin/commands/changelog.js index 2aa494b6156a06..999e992e594309 100644 --- a/bin/plugin/commands/changelog.js +++ b/bin/plugin/commands/changelog.js @@ -538,6 +538,27 @@ function getEntry( issue ) { : `- ${ title } ([${ issue.number }](${ issue.html_url }))`; } +/** + * Returns a formatted changelog entry for a given issue object and matching feature name, or undefined + * if entry should be omitted. + * + * @param {IssuesListForRepoResponseItem} issue Issue object. + * @param {string} featureName Feature name. + * + * @return {string=} Formatted changelog entry, or undefined to omit. + */ +function getFeatureEntry( issue, featureName ) { + return getEntry( issue ) + ?.replace( + new RegExp( `\\[${ featureName.toLowerCase() } \- `, 'i' ), + '[' + ) + .replace( + new RegExp( `(?<=^- )${ featureName.toLowerCase() }: `, 'i' ), + '' + ); +} + /** * Returns the latest release for a given series * @@ -682,8 +703,9 @@ function formatChangelog( pullRequests ) { const featureGroupPRs = featureGroups[ featureName ]; const featureGroupEntries = featureGroupPRs - .map( getEntry ) - .filter( Boolean ); + .map( ( issue ) => getFeatureEntry( issue, featureName ) ) + .filter( Boolean ) + .sort(); // Don't create feature sections when there are no PRs. if ( ! featureGroupEntries.length ) { @@ -702,9 +724,6 @@ function formatChangelog( pullRequests ) { // Add a
  • for each PR in the Feature. featureGroupEntries.forEach( ( entry ) => { - // Strip feature name from entry if present. - entry = entry && entry.replace( `[${ featureName } - `, '[' ); - // Add a new bullet point to the list. changelog += `${ entry }\n`; } ); diff --git a/bin/plugin/commands/test/__snapshots__/changelog.js.snap b/bin/plugin/commands/test/__snapshots__/changelog.js.snap index ea5ac24724ef6c..3defc341e94e55 100644 --- a/bin/plugin/commands/test/__snapshots__/changelog.js.snap +++ b/bin/plugin/commands/test/__snapshots__/changelog.js.snap @@ -7,16 +7,16 @@ exports[`formatChangelog verify that the changelog is properly formatted 1`] = ` - Scripts: Webpack configuration update to minimize CSS. ([33676](https://github.com/WordPress/gutenberg/pull/33676)) #### Components -- components: Use updated range styles. ([33824](https://github.com/WordPress/gutenberg/pull/33824)) -- Components: Update snackbar to use framer motion instead of react spring. ([33717](https://github.com/WordPress/gutenberg/pull/33717)) -- components: Add new ColorPicker. ([33714](https://github.com/WordPress/gutenberg/pull/33714)) -- Components: Promote \`ItemGroup\`. ([33701](https://github.com/WordPress/gutenberg/pull/33701)) +- Add new ColorPicker. ([33714](https://github.com/WordPress/gutenberg/pull/33714)) +- Promote \`ItemGroup\`. ([33701](https://github.com/WordPress/gutenberg/pull/33701)) +- Update snackbar to use framer motion instead of react spring. ([33717](https://github.com/WordPress/gutenberg/pull/33717)) +- Use updated range styles. ([33824](https://github.com/WordPress/gutenberg/pull/33824)) #### Block Library - [Post Featured Image]: Add basic dimension controls. ([31634](https://github.com/WordPress/gutenberg/pull/31634)) #### Site Editor -- Site Editor: Add error boundary. ([33921](https://github.com/WordPress/gutenberg/pull/33921)) +- Add error boundary. ([33921](https://github.com/WordPress/gutenberg/pull/33921)) #### Widgets Editor - Add error boundaries to widget screens. ([33771](https://github.com/WordPress/gutenberg/pull/33771)) @@ -36,47 +36,47 @@ exports[`formatChangelog verify that the changelog is properly formatted 1`] = ` ### Bug Fixes +- Correct \`function_exists()\` check typo introduced in #33331. ([33513](https://github.com/WordPress/gutenberg/pull/33513)) +- ESLint Plugin: Include .jsx extenstion when linting import statements. ([33746](https://github.com/WordPress/gutenberg/pull/33746)) - Fix block appender position in classic themes. ([33895](https://github.com/WordPress/gutenberg/pull/33895)) -- Fix positioning discrepancy with draggable chip. ([33893](https://github.com/WordPress/gutenberg/pull/33893)) - Fix misspelling of \\"queries\\" in filter documentation. ([33799](https://github.com/WordPress/gutenberg/pull/33799)) -- ESLint Plugin: Include .jsx extenstion when linting import statements. ([33746](https://github.com/WordPress/gutenberg/pull/33746)) -- Correct \`function_exists()\` check typo introduced in #33331. ([33513](https://github.com/WordPress/gutenberg/pull/33513)) +- Fix positioning discrepancy with draggable chip. ([33893](https://github.com/WordPress/gutenberg/pull/33893)) #### Block Library +- Fix justification for button block when selected. ([33739](https://github.com/WordPress/gutenberg/pull/33739)) - Fix navigation block appender invalid html. ([33964](https://github.com/WordPress/gutenberg/pull/33964)) - Image Block: Fix issue with canInsertCover not being set to false for empty arrays. ([33863](https://github.com/WordPress/gutenberg/pull/33863)) -- Fix justification for button block when selected. ([33739](https://github.com/WordPress/gutenberg/pull/33739)) - [Query Pagination Numbers]: Fix first page's link. ([33629](https://github.com/WordPress/gutenberg/pull/33629)) #### Components -- \`useBreakpointIndex\`: Attach \`resize\` event listener to \`window\` instead of \`document\`. ([33902](https://github.com/WordPress/gutenberg/pull/33902)) -- Components: Fix RTL on custom gradient picker. ([33831](https://github.com/WordPress/gutenberg/pull/33831)) +- Fix RTL on custom gradient picker. ([33831](https://github.com/WordPress/gutenberg/pull/33831)) - FontSizePicker: Use number values when the initial value is a number. ([33679](https://github.com/WordPress/gutenberg/pull/33679)) - FormTokenField: Avoid error when maxLength value is hit. ([33623](https://github.com/WordPress/gutenberg/pull/33623)) +- \`useBreakpointIndex\`: Attach \`resize\` event listener to \`window\` instead of \`document\`. ([33902](https://github.com/WordPress/gutenberg/pull/33902)) #### Block Editor -- URL Details: Avoid PHP notice when parsing protocol-relative icon URLs. ([33779](https://github.com/WordPress/gutenberg/pull/33779)) - Force link text to wrap in the Link UI when encountering extra long link text. ([33753](https://github.com/WordPress/gutenberg/pull/33753)) -- Only show rich preview for image and description if data is available. ([33660](https://github.com/WordPress/gutenberg/pull/33660)) - Improve display of LinkURL menu and fix spacing. ([33652](https://github.com/WordPress/gutenberg/pull/33652)) +- Only show rich preview for image and description if data is available. ([33660](https://github.com/WordPress/gutenberg/pull/33660)) +- URL Details: Avoid PHP notice when parsing protocol-relative icon URLs. ([33779](https://github.com/WordPress/gutenberg/pull/33779)) #### Global Styles +- Avoid rendering duplicate elements stylesheet. ([33680](https://github.com/WordPress/gutenberg/pull/33680)) +- Fix Global Styles transient key clash. ([33844](https://github.com/WordPress/gutenberg/pull/33844)) - Site editor: Fix presets for blocks with multiple selectors. ([33951](https://github.com/WordPress/gutenberg/pull/33951)) -- Global Styles: Fix Global Styles transient key clash. ([33844](https://github.com/WordPress/gutenberg/pull/33844)) -- Global Styles: Avoid rendering duplicate elements stylesheet. ([33680](https://github.com/WordPress/gutenberg/pull/33680)) #### CSS & Styling - Fix navigation block placeholder preview markup. ([33963](https://github.com/WordPress/gutenberg/pull/33963)) #### Navigation Screen -- Navigation Editor: Avoid React warning when creating a new menu. ([33843](https://github.com/WordPress/gutenberg/pull/33843)) - Fix regressed menu selection dropdown placeholder value for Nav Editor menu locations UI. ([33748](https://github.com/WordPress/gutenberg/pull/33748)) +- Navigation Editor: Avoid React warning when creating a new menu. ([33843](https://github.com/WordPress/gutenberg/pull/33843)) #### Site Editor - Fix the site editor breaking in firefox. ([33896](https://github.com/WordPress/gutenberg/pull/33896)) #### Editor -- Editor: Safer isPreviewingPost check. ([33840](https://github.com/WordPress/gutenberg/pull/33840)) +- Safer isPreviewingPost check. ([33840](https://github.com/WordPress/gutenberg/pull/33840)) #### Meta Boxes - Fix Safari 13 metaboxes from overlapping the content. ([33817](https://github.com/WordPress/gutenberg/pull/33817)) @@ -96,12 +96,12 @@ exports[`formatChangelog verify that the changelog is properly formatted 1`] = ` - Avoid double parsing the content when loading the editor. ([33727](https://github.com/WordPress/gutenberg/pull/33727)) #### Block Library -- Improve the rendering/update performance of the image block. ([33974](https://github.com/WordPress/gutenberg/pull/33974)) - Do not add to the block-library CSS bundle the colors that come from \`theme.json\`. ([33924](https://github.com/WordPress/gutenberg/pull/33924)) +- Improve the rendering/update performance of the image block. ([33974](https://github.com/WordPress/gutenberg/pull/33974)) #### Block Editor -- Lazy render the inserter search results. ([33868](https://github.com/WordPress/gutenberg/pull/33868)) - Lazy render block types in the inserter. ([33749](https://github.com/WordPress/gutenberg/pull/33749)) +- Lazy render the inserter search results. ([33868](https://github.com/WordPress/gutenberg/pull/33868)) #### Parsing - Improve the performance of the parser by removing the automatic custom classnames handling. ([33903](https://github.com/WordPress/gutenberg/pull/33903)) @@ -117,8 +117,8 @@ exports[`formatChangelog verify that the changelog is properly formatted 1`] = ` #### Full Site Editing - Site Editor: Implement a settings object filter. ([33737](https://github.com/WordPress/gutenberg/pull/33737)) -- Template part selection popover - minor style updates for visiblity. ([33733](https://github.com/WordPress/gutenberg/pull/33733)) - Template Part placeholder - Add title step to creation flow. ([33703](https://github.com/WordPress/gutenberg/pull/33703)) +- Template part selection popover - minor style updates for visiblity. ([33733](https://github.com/WordPress/gutenberg/pull/33733)) #### Block Library - Enable ability to remove a link from the Nav Link block in the Nav Block. ([33777](https://github.com/WordPress/gutenberg/pull/33777)) @@ -128,15 +128,15 @@ exports[`formatChangelog verify that the changelog is properly formatted 1`] = ` ### Documentation - Add documentation to disable remote calls for block patterns. ([33930](https://github.com/WordPress/gutenberg/pull/33930)) -- Docs: Add more details about block attributes. ([33880](https://github.com/WordPress/gutenberg/pull/33880)) +- Add missing comma. ([33764](https://github.com/WordPress/gutenberg/pull/33764)) +- Add spaces in add_theme_support documentation code. ([33796](https://github.com/WordPress/gutenberg/pull/33796)) - Correct spelling and grammar in documentation. ([33860](https://github.com/WordPress/gutenberg/pull/33860)) +- Docs: Add more details about block attributes. ([33880](https://github.com/WordPress/gutenberg/pull/33880)) +- Example for rest_endpoints filter in PHP. ([33738](https://github.com/WordPress/gutenberg/pull/33738)) - Fix gutenberg_resolve_template() return documentation. ([33800](https://github.com/WordPress/gutenberg/pull/33800)) -- Add spaces in add_theme_support documentation code. ([33796](https://github.com/WordPress/gutenberg/pull/33796)) +- Update documentation to reflect new automated process for feature grouping. ([33573](https://github.com/WordPress/gutenberg/pull/33573)) - [docs] fix: \`supports.color.gradients\` is plural. ([33781](https://github.com/WordPress/gutenberg/pull/33781)) - fix: Broken link in documentation to block support mechanism. ([33780](https://github.com/WordPress/gutenberg/pull/33780)) -- Add missing comma. ([33764](https://github.com/WordPress/gutenberg/pull/33764)) -- Example for rest_endpoints filter in PHP. ([33738](https://github.com/WordPress/gutenberg/pull/33738)) -- Update documentation to reflect new automated process for feature grouping. ([33573](https://github.com/WordPress/gutenberg/pull/33573)) - link fix: Block editor Sidebar Tutorial. ([33308](https://github.com/WordPress/gutenberg/pull/33308)) @@ -145,20 +145,20 @@ exports[`formatChangelog verify that the changelog is properly formatted 1`] = ` - Scripts: Fix typo in format change message. ([33945](https://github.com/WordPress/gutenberg/pull/33945)) #### Components -- Components: Use the \`__unsafe_useEmotionCache\` in the \`useCx\` hook. ([33982](https://github.com/WordPress/gutenberg/pull/33982)) - Components utils: \`rtl()\` return type, \`rtl.watch()\` utility. ([33882](https://github.com/WordPress/gutenberg/pull/33882)) -- components: InputControl to TypeScript. ([33696](https://github.com/WordPress/gutenberg/pull/33696)) +- InputControl to TypeScript. ([33696](https://github.com/WordPress/gutenberg/pull/33696)) +- Use the \`__unsafe_useEmotionCache\` in the \`useCx\` hook. ([33982](https://github.com/WordPress/gutenberg/pull/33982)) #### Block Library -- Site Logo: Use getMedia shorthand. ([33992](https://github.com/WordPress/gutenberg/pull/33992)) - Featured Image: Use getMedia shorthand. ([33943](https://github.com/WordPress/gutenberg/pull/33943)) +- Site Logo: Use getMedia shorthand. ([33992](https://github.com/WordPress/gutenberg/pull/33992)) #### Global Styles -- Remove the experimental prefix and rename \`theme.json\` files. ([33925](https://github.com/WordPress/gutenberg/pull/33925)) - No longer read from \`experimental-theme.json\`. ([33904](https://github.com/WordPress/gutenberg/pull/33904)) +- Remove the experimental prefix and rename \`theme.json\` files. ([33925](https://github.com/WordPress/gutenberg/pull/33925)) #### Plugin -- Plugin: Fix \`jsdoc/check-line-alignment\` ESLint warnings. ([33901](https://github.com/WordPress/gutenberg/pull/33901)) +- Fix \`jsdoc/check-line-alignment\` ESLint warnings. ([33901](https://github.com/WordPress/gutenberg/pull/33901)) #### Post Editor - Refactor MetaBoxesArea to to functional components using hooks. ([30542](https://github.com/WordPress/gutenberg/pull/30542)) @@ -166,8 +166,8 @@ exports[`formatChangelog verify that the changelog is properly formatted 1`] = ` ### Tools -- GitHub Templates: Format bug report template. ([33786](https://github.com/WordPress/gutenberg/pull/33786)) - GitHub Templates: Fix spacing in bug report template. ([33761](https://github.com/WordPress/gutenberg/pull/33761)) +- GitHub Templates: Format bug report template. ([33786](https://github.com/WordPress/gutenberg/pull/33786)) - Update bug issue template to use forms. ([33713](https://github.com/WordPress/gutenberg/pull/33713)) #### Testing @@ -180,10 +180,10 @@ exports[`formatChangelog verify that the changelog is properly formatted 1`] = ` ### Various -- Tune appender margin. ([33866](https://github.com/WordPress/gutenberg/pull/33866)) -- RNMobile: Add integration test guide. ([33833](https://github.com/WordPress/gutenberg/pull/33833)) - Core Data: Deprecate \`getAuthors\` in favor of \`getUsers\`. ([33725](https://github.com/WordPress/gutenberg/pull/33725)) +- RNMobile: Add integration test guide. ([33833](https://github.com/WordPress/gutenberg/pull/33833)) - RNMobile: Try unifying the unit test command on mobile. ([33657](https://github.com/WordPress/gutenberg/pull/33657)) +- Tune appender margin. ([33866](https://github.com/WordPress/gutenberg/pull/33866)) #### Block Library - Search Block: Removed components class from icon button and polished css. ([33961](https://github.com/WordPress/gutenberg/pull/33961))