From 4edf71cade5c73a8f9a7dbf80994490eeb400b60 Mon Sep 17 00:00:00 2001 From: Kamil Piechaczek Date: Tue, 15 Oct 2024 15:06:15 +0200 Subject: [PATCH 1/5] getNpmTagFromVersion() supports a nightly version. --- .../lib/utils/getnpmtagfromversion.js | 9 +++++++++ .../tests/utils/getnpmtagfromversion.js | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/packages/ckeditor5-dev-release-tools/lib/utils/getnpmtagfromversion.js b/packages/ckeditor5-dev-release-tools/lib/utils/getnpmtagfromversion.js index b3a45becd..8044fdd52 100644 --- a/packages/ckeditor5-dev-release-tools/lib/utils/getnpmtagfromversion.js +++ b/packages/ckeditor5-dev-release-tools/lib/utils/getnpmtagfromversion.js @@ -6,11 +6,20 @@ import semver from 'semver'; /** + * Returns a version tag from specified `version`. + * + * For the official release, returns the "latest" tag. For a non-official release (pre-release), + * returns the version tag extracted from the passed version. + * * @param {string} version * @returns {string} */ export default function getNpmTagFromVersion( version ) { const [ versionTag ] = semver.prerelease( version ) || [ 'latest' ]; + if ( versionTag.startsWith( 'nightly' ) ) { + return 'nightly'; + } + return versionTag; } diff --git a/packages/ckeditor5-dev-release-tools/tests/utils/getnpmtagfromversion.js b/packages/ckeditor5-dev-release-tools/tests/utils/getnpmtagfromversion.js index 1a457e85b..38b0c823b 100644 --- a/packages/ckeditor5-dev-release-tools/tests/utils/getnpmtagfromversion.js +++ b/packages/ckeditor5-dev-release-tools/tests/utils/getnpmtagfromversion.js @@ -24,4 +24,10 @@ describe( 'getNpmTagFromVersion()', () => { expect( getNpmTagFromVersion( '2.1.0-alpha.0' ) ).to.equal( 'alpha' ); expect( getNpmTagFromVersion( '3.2.1-alpha.0' ) ).to.equal( 'alpha' ); } ); + + it( 'should return "nightly" when processing a 0.0.0-nightly-YYYYMMDD.X version', () => { + vi.mocked( semver.prerelease ).mockReturnValue( [ 'nightly', 0 ] ); + + expect( getNpmTagFromVersion( '0.0.0-nightly-20230517.0' ) ).to.equal( 'nightly' ); + } ); } ); From 1d4dafd99bf2b60610f9e8fb128d9c9e943b50bd Mon Sep 17 00:00:00 2001 From: Kamil Piechaczek Date: Tue, 15 Oct 2024 15:07:20 +0200 Subject: [PATCH 2/5] Reduced a duplicated util. Support for releasing stable releases on the `next` tag. --- .../lib/tasks/creategithubrelease.js | 16 +---- .../lib/utils/assertnpmtag.js | 30 +++----- .../tests/tasks/creategithubrelease.js | 5 ++ .../tests/utils/assertnpmtag.js | 71 +++++++++++++++++-- 4 files changed, 80 insertions(+), 42 deletions(-) diff --git a/packages/ckeditor5-dev-release-tools/lib/tasks/creategithubrelease.js b/packages/ckeditor5-dev-release-tools/lib/tasks/creategithubrelease.js index 5da69a476..a07fcaacb 100644 --- a/packages/ckeditor5-dev-release-tools/lib/tasks/creategithubrelease.js +++ b/packages/ckeditor5-dev-release-tools/lib/tasks/creategithubrelease.js @@ -4,8 +4,8 @@ */ import { Octokit } from '@octokit/rest'; -import semver from 'semver'; import * as transformCommitUtils from '../utils/transformcommitutils.js'; +import getNpmTagFromVersion from '../utils/getnpmtagfromversion.js'; const { getRepositoryUrl } = transformCommitUtils; @@ -41,25 +41,13 @@ export default async function createGithubRelease( options ) { owner: repositoryOwner, repo: repositoryName, body: description, - prerelease: getVersionTag( version ) !== 'latest' + prerelease: getNpmTagFromVersion( version ) !== 'latest' } ); } return `https://github.com/${ repositoryOwner }/${ repositoryName }/releases/tag/v${ version }`; } -/** - * Returns an npm tag based on the specified release version. - * - * @param {string} version - * @returns {string} - */ -function getVersionTag( version ) { - const [ versionTag ] = semver.prerelease( version ) || [ 'latest' ]; - - return versionTag; -} - /** * Resolves a promise containing a flag if the GitHub contains the release page for given version. * diff --git a/packages/ckeditor5-dev-release-tools/lib/utils/assertnpmtag.js b/packages/ckeditor5-dev-release-tools/lib/utils/assertnpmtag.js index 8c8aa60ca..857cf8645 100644 --- a/packages/ckeditor5-dev-release-tools/lib/utils/assertnpmtag.js +++ b/packages/ckeditor5-dev-release-tools/lib/utils/assertnpmtag.js @@ -5,7 +5,12 @@ import fs from 'fs-extra'; import upath from 'upath'; -import semver from 'semver'; +import getNpmTagFromVersion from './getnpmtagfromversion.js'; + +const ALLOWED_NPM_LATEST_TAGS = [ + 'staging', + 'next' +]; /** * Checks if the npm tag matches the tag calculated from the package version. Verification takes place for all packages. @@ -20,13 +25,13 @@ export default async function assertNpmTag( packagePaths, npmTag ) { for ( const packagePath of packagePaths ) { const packageJsonPath = upath.join( packagePath, 'package.json' ); const packageJson = await fs.readJson( packageJsonPath ); - const versionTag = getVersionTag( packageJson.version ); + const versionTag = getNpmTagFromVersion( packageJson.version ); if ( versionTag === npmTag ) { continue; } - if ( versionTag === 'latest' && npmTag === 'staging' ) { + if ( versionTag === 'latest' && ALLOWED_NPM_LATEST_TAGS.includes( npmTag ) ) { continue; } @@ -37,22 +42,3 @@ export default async function assertNpmTag( packagePaths, npmTag ) { throw new Error( errors.join( '\n' ) ); } } - -/** - * Returns the version tag for the package. - * - * For the official release, returns the "latest" tag. For a non-official release (pre-release), returns the version tag extracted from - * the package version. - * - * @param {string} version - * @returns {string} - */ -function getVersionTag( version ) { - const [ versionTag ] = semver.prerelease( version ) || [ 'latest' ]; - - if ( versionTag.startsWith( 'nightly' ) ) { - return 'nightly'; - } - - return versionTag; -} diff --git a/packages/ckeditor5-dev-release-tools/tests/tasks/creategithubrelease.js b/packages/ckeditor5-dev-release-tools/tests/tasks/creategithubrelease.js index 2f1ac7bec..958a93572 100644 --- a/packages/ckeditor5-dev-release-tools/tests/tasks/creategithubrelease.js +++ b/packages/ckeditor5-dev-release-tools/tests/tasks/creategithubrelease.js @@ -5,6 +5,7 @@ import { beforeEach, describe, expect, it, vi } from 'vitest'; import createGithubRelease from '../../lib/tasks/creategithubrelease.js'; +import getNpmTagFromVersion from '../../lib/utils/getnpmtagfromversion.js'; import * as transformCommitUtils from '../../lib/utils/transformcommitutils.js'; const stubs = vi.hoisted( () => ( { @@ -27,6 +28,7 @@ vi.mock( '@octokit/rest', () => ( { } ) ); vi.mock( '../../lib/utils/transformcommitutils.js' ); +vi.mock( '../../lib/utils/getnpmtagfromversion.js' ); describe( 'createGithubRelease()', () => { let options; @@ -43,6 +45,7 @@ describe( 'createGithubRelease()', () => { stubs.getLatestRelease.mockRejectedValue( { status: 404 } ); stubs.createRelease.mockResolvedValue(); + vi.mocked( getNpmTagFromVersion ).mockReturnValue( 'latest' ); vi.mocked( transformCommitUtils.getRepositoryUrl ).mockReturnValue( 'https://github.com/ckeditor/ckeditor5-dev' ); } ); @@ -80,6 +83,8 @@ describe( 'createGithubRelease()', () => { } ); it( 'creates a prerelease page when passing a major.minor.patch-prerelease version', async () => { + vi.mocked( getNpmTagFromVersion ).mockReturnValue( 'alpha' ); + options.version = '1.3.5-alpha.0'; await createGithubRelease( options ); diff --git a/packages/ckeditor5-dev-release-tools/tests/utils/assertnpmtag.js b/packages/ckeditor5-dev-release-tools/tests/utils/assertnpmtag.js index 716ca19e1..167ed33ca 100644 --- a/packages/ckeditor5-dev-release-tools/tests/utils/assertnpmtag.js +++ b/packages/ckeditor5-dev-release-tools/tests/utils/assertnpmtag.js @@ -3,13 +3,19 @@ * For licensing, see LICENSE.md. */ -import { describe, expect, it, vi } from 'vitest'; +import { beforeEach, describe, expect, it, vi } from 'vitest'; import fs from 'fs-extra'; import assertNpmTag from '../../lib/utils/assertnpmtag.js'; +import getNpmTagFromVersion from '../../lib/utils/getnpmtagfromversion.js'; vi.mock( 'fs-extra' ); +vi.mock( '../../lib/utils/getnpmtagfromversion.js' ); describe( 'assertNpmTag()', () => { + beforeEach( () => { + vi.mocked( getNpmTagFromVersion ).mockReturnValue( 'latest' ); + } ); + it( 'should resolve the promise if list of packages is empty', async () => { await assertNpmTag( [] ); } ); @@ -45,7 +51,7 @@ describe( 'assertNpmTag()', () => { await assertNpmTag( [ 'ckeditor5-foo' ], 'latest' ); } ); - it( 'should not throw if version tag matches npm tag (version tag = "latest", npm tag = "staging")', async () => { + it( 'should not throw if version tag (latest) matches npm tag (staging)', async () => { vi.mocked( fs ).readJson.mockResolvedValue( { name: 'ckeditor5-foo', version: '1.0.0' @@ -54,7 +60,18 @@ describe( 'assertNpmTag()', () => { await assertNpmTag( [ 'ckeditor5-foo' ], 'staging' ); } ); + it( 'should not throw if version tag (latest) matches npm tag (next)', async () => { + vi.mocked( fs ).readJson.mockResolvedValue( { + name: 'ckeditor5-foo', + version: '1.0.0' + } ); + + await assertNpmTag( [ 'ckeditor5-foo' ], 'next' ); + } ); + it( 'should not throw if version tag matches npm tag (both "alpha")', async () => { + vi.mocked( getNpmTagFromVersion ).mockReturnValue( 'alpha' ); + vi.mocked( fs ).readJson.mockResolvedValue( { name: 'ckeditor5-foo', version: '1.0.0-alpha.0' @@ -64,6 +81,8 @@ describe( 'assertNpmTag()', () => { } ); it( 'should not throw if version tag matches npm tag (both "nightly")', async () => { + vi.mocked( getNpmTagFromVersion ).mockReturnValue( 'nightly' ); + vi.mocked( fs ).readJson.mockResolvedValue( { name: 'ckeditor5-foo', version: '0.0.0-nightly-20230517.0' @@ -72,7 +91,7 @@ describe( 'assertNpmTag()', () => { await assertNpmTag( [ 'ckeditor5-foo' ], 'nightly' ); } ); - it( 'should throw if version tag does not match npm tag (version tag = "latest", npm tag = "alpha")', async () => { + it( 'should throw if version tag (latest) does not match npm tag (alpha)', async () => { vi.mocked( fs ).readJson.mockResolvedValue( { name: 'ckeditor5-foo', version: '1.0.0' @@ -82,7 +101,7 @@ describe( 'assertNpmTag()', () => { .rejects.toThrow( 'The version tag "latest" from "ckeditor5-foo" package does not match the npm tag "alpha".' ); } ); - it( 'should throw if version tag does not match npm tag (version tag = "latest", npm tag = "nightly")', async () => { + it( 'should throw if version (latest) tag does not match npm tag (nightly)', async () => { vi.mocked( fs ).readJson.mockResolvedValue( { name: 'ckeditor5-foo', version: '1.0.0' @@ -92,7 +111,9 @@ describe( 'assertNpmTag()', () => { .rejects.toThrow( 'The version tag "latest" from "ckeditor5-foo" package does not match the npm tag "nightly".' ); } ); - it( 'should throw if version tag does not match npm tag (version tag = "alpha", npm tag = "staging")', async () => { + it( 'should throw if version tag (alpha) does not match npm tag (staging)', async () => { + vi.mocked( getNpmTagFromVersion ).mockReturnValue( 'alpha' ); + vi.mocked( fs ).readJson.mockResolvedValue( { name: 'ckeditor5-foo', version: '1.0.0-alpha.0' @@ -102,7 +123,9 @@ describe( 'assertNpmTag()', () => { .rejects.toThrow( 'The version tag "alpha" from "ckeditor5-foo" package does not match the npm tag "staging".' ); } ); - it( 'should throw if version tag does not match npm tag (version tag = "nightly", npm tag = "staging")', async () => { + it( 'should throw if version tag (nightly) does not match npm tag (staging)', async () => { + vi.mocked( getNpmTagFromVersion ).mockReturnValue( 'nightly' ); + vi.mocked( fs ).readJson.mockResolvedValue( { name: 'ckeditor5-foo', version: '0.0.0-nightly-20230517.0' @@ -112,7 +135,43 @@ describe( 'assertNpmTag()', () => { .rejects.toThrow( 'The version tag "nightly" from "ckeditor5-foo" package does not match the npm tag "staging".' ); } ); + it( 'should throw if version tag (alpha) does not match npm tag (next)', async () => { + vi.mocked( getNpmTagFromVersion ).mockReturnValue( 'alpha' ); + + vi.mocked( fs ).readJson.mockResolvedValue( { + name: 'ckeditor5-foo', + version: '1.0.0-alpha.0' + } ); + + await expect( assertNpmTag( [ 'ckeditor5-foo' ], 'next' ) ) + .rejects.toThrow( 'The version tag "alpha" from "ckeditor5-foo" package does not match the npm tag "next".' ); + } ); + + it( 'should throw if version tag (nightly) does not match npm tag (next)', async () => { + vi.mocked( getNpmTagFromVersion ).mockReturnValue( 'nightly' ); + + vi.mocked( fs ).readJson.mockResolvedValue( { + name: 'ckeditor5-foo', + version: '0.0.0-nightly-20230517.0' + } ); + + await expect( assertNpmTag( [ 'ckeditor5-foo' ], 'next' ) ) + .rejects.toThrow( 'The version tag "nightly" from "ckeditor5-foo" package does not match the npm tag "next".' ); + } ); + it( 'should throw one error for all packages with incorrect tags', async () => { + vi.mocked( getNpmTagFromVersion ).mockImplementation( input => { + if ( input === '1.0.0-alpha' ) { + return 'alpha'; + } + if ( input === '0.0.0-nightly-20230517.0' ) { + return 'nightly'; + } + if ( input === '0.0.1-rc.5' ) { + return 'rc'; + } + } ); + vi.mocked( fs ).readJson.mockImplementation( input => { if ( input === 'ckeditor5-foo/package.json' ) { return Promise.resolve( { From 1fb58ee57ee6c8612712a305eb9a0652bac9af5b Mon Sep 17 00:00:00 2001 From: Kamil Piechaczek Date: Tue, 15 Oct 2024 15:07:39 +0200 Subject: [PATCH 3/5] Switch to npm "next" tag when releasing packages. --- .circleci/template.yml | 2 +- scripts/ci/is-project-ready-to-release.js | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.circleci/template.yml b/.circleci/template.yml index 5b153d1b6..fbc7cb521 100644 --- a/.circleci/template.yml +++ b/.circleci/template.yml @@ -204,7 +204,7 @@ jobs: command: npm run release:prepare-packages -- --verbose - run: name: Publish the packages - command: npm run release:publish-packages -- --verbose + command: npm run release:publish-packages -- --verbose --npm-tag next - run: name: Enable the redundant workflows option command: yarn ckeditor5-dev-ci-circle-enable-auto-cancel-builds diff --git a/scripts/ci/is-project-ready-to-release.js b/scripts/ci/is-project-ready-to-release.js index d2ffd7e56..a3a751631 100644 --- a/scripts/ci/is-project-ready-to-release.js +++ b/scripts/ci/is-project-ready-to-release.js @@ -12,7 +12,11 @@ import * as releaseTools from '@ckeditor/ckeditor5-dev-release-tools'; const changelogVersion = releaseTools.getLastFromChangelog(); const npmTag = releaseTools.getNpmTagFromVersion( changelogVersion ); -releaseTools.isVersionPublishableForTag( '@ckeditor/ckeditor5-dev-release-tools', changelogVersion, npmTag ) +// As long as CKEditor 5 supports the old installation methods, to avoid breaking the existing configurations, +// packages from `ckeditor5-dev` are released as `@next`. +const temporaryTagToCheck = npmTag === 'latest' ? 'next' : npmTag; + +releaseTools.isVersionPublishableForTag( '@ckeditor/ckeditor5-dev-release-tools', changelogVersion, temporaryTagToCheck ) .then( result => { if ( !result ) { console.error( `The proposed changelog (${ changelogVersion }) version is not higher than the already published one.` ); From e65502623073bdabceb1ab0ab454e5839459042f Mon Sep 17 00:00:00 2001 From: Kamil Piechaczek Date: Tue, 15 Oct 2024 15:08:31 +0200 Subject: [PATCH 4/5] Docs: Changelog. [skip ci] --- CHANGELOG.md | 77 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 33 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c0f32626..0131f4da2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,50 @@ Changelog ========= +## [44.1.0](https://github.com/ckeditor/ckeditor5-dev/compare/v44.0.0...v44.1.0) (2024-10-15) + +### Features + +* **[ci](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-ci)**: Created a new binary script called `ckeditor5-dev-ci-is-workflow-restarted` that returns with a non-zero exit code if a given workflow is executed for the first time. The restarted workflows exit with a zero exit code. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ff7d7387cc46fc24d7992178f331f29df50f7e53)) +* **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: A user-provided version will be checked against npm availability while generating a changelog. If it is already taken, the tools will not allow it to be used. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ff7d7387cc46fc24d7992178f331f29df50f7e53)) + +### Other changes + +* **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: The `updateVersions()` task will no longer verify if the specified `version` is available on npm. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ff7d7387cc46fc24d7992178f331f29df50f7e53)) +* **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: The `publishPackages()` task filters out already published packages to avoid pushing the same archive twice. Thanks to that, it can be a part of a process that would be restarted. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ff7d7387cc46fc24d7992178f331f29df50f7e53)) +* **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: The `publishPackages()` task tries to publish the package once again when it fails independently from the returned error code. Previously, it was scheduled only when the `E409` error occurred. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ff7d7387cc46fc24d7992178f331f29df50f7e53)) +* **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: The `verifyPackagesPublishedCorrectly()` task is no longer available as its responsibility has been merged into the `publishPackages()` task. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ff7d7387cc46fc24d7992178f331f29df50f7e53)) +* **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: The `commitAndTag()` task does not commit files if a tag for the specified version is already created. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ff7d7387cc46fc24d7992178f331f29df50f7e53)) +* **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: We do not spawn an npm process to download a package manifest from the npm registry. Instead, we send an HTTP request using the `pacote` package. Closes [ckeditor/ckeditor5#17191](https://github.com/ckeditor/ckeditor5/issues/17191). ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/a155390a2ee45190ce6edc49ed48f8e871aa641f)) + +### Released packages + +Check out the [Versioning policy](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/versioning-policy.html) guide for more information. + +
+Released packages (summary) + +Releases containing new features: + +* [@ckeditor/ckeditor5-dev-ci](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-ci/v/44.1.0): v44.0.0 => v44.1.0 +* [@ckeditor/ckeditor5-dev-release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools/v/44.1.0): v44.0.0 => v44.1.0 + +Other releases: + +* [@ckeditor/ckeditor5-dev-build-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-build-tools/v/44.1.0): v44.0.0 => v44.1.0 +* [@ckeditor/ckeditor5-dev-bump-year](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-bump-year/v/44.1.0): v44.0.0 => v44.1.0 +* [@ckeditor/ckeditor5-dev-dependency-checker](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-dependency-checker/v/44.1.0): v44.0.0 => v44.1.0 +* [@ckeditor/ckeditor5-dev-docs](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-docs/v/44.1.0): v44.0.0 => v44.1.0 +* [@ckeditor/ckeditor5-dev-stale-bot](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-stale-bot/v/44.1.0): v44.0.0 => v44.1.0 +* [@ckeditor/ckeditor5-dev-tests](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-tests/v/44.1.0): v44.0.0 => v44.1.0 +* [@ckeditor/ckeditor5-dev-transifex](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-transifex/v/44.1.0): v44.0.0 => v44.1.0 +* [@ckeditor/ckeditor5-dev-translations](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-translations/v/44.1.0): v44.0.0 => v44.1.0 +* [@ckeditor/ckeditor5-dev-utils](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-utils/v/44.1.0): v44.0.0 => v44.1.0 +* [@ckeditor/ckeditor5-dev-web-crawler](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-web-crawler/v/44.1.0): v44.0.0 => v44.1.0 +* [@ckeditor/typedoc-plugins](https://www.npmjs.com/package/@ckeditor/typedoc-plugins/v/44.1.0): v44.0.0 => v44.1.0 +
+ + ## [44.0.0](https://github.com/ckeditor/ckeditor5-dev/compare/v43.0.0...v44.0.0) (2024-10-02) ### MAJOR BREAKING CHANGES [ℹ️](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/versioning-policy.html#major-and-minor-breaking-changes) @@ -157,39 +201,6 @@ Other releases: * [@ckeditor/typedoc-plugins](https://www.npmjs.com/package/@ckeditor/typedoc-plugins/v/44.0.0-alpha.3): v44.0.0-alpha.2 => v44.0.0-alpha.3 - -## [44.0.0-alpha.2](https://github.com/ckeditor/ckeditor5-dev/compare/v44.0.0-alpha.1...v44.0.0-alpha.2) (2024-09-23) - -### Other changes - -* **[docs](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-docs)**: Support for passing an array of files to ignore when preparing API. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/3c858289a5826c9fceddfb380a4e35d48b44a099)) -* **[tests](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-tests)**: Restored the previous version of Chai and sinon-chai packages due to issues with processing ESM in Karma. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/833ac929e4193b6791c79cdc5df05e67539c0c7f)) -* Use the "2021" edition as a default preset for CKEditor 5 files (`postcss-nesting`). ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ce3902d5855f1b3ba886dea1db195a5b27e22026)) - -### Released packages - -Check out the [Versioning policy](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/versioning-policy.html) guide for more information. - -
-Released packages (summary) - -Other releases: - -* [@ckeditor/ckeditor5-dev-build-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-build-tools/v/44.0.0-alpha.2): v44.0.0-alpha.1 => v44.0.0-alpha.2 -* [@ckeditor/ckeditor5-dev-bump-year](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-bump-year/v/44.0.0-alpha.2): v44.0.0-alpha.1 => v44.0.0-alpha.2 -* [@ckeditor/ckeditor5-dev-ci](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-ci/v/44.0.0-alpha.2): v44.0.0-alpha.1 => v44.0.0-alpha.2 -* [@ckeditor/ckeditor5-dev-dependency-checker](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-dependency-checker/v/44.0.0-alpha.2): v44.0.0-alpha.1 => v44.0.0-alpha.2 -* [@ckeditor/ckeditor5-dev-docs](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-docs/v/44.0.0-alpha.2): v44.0.0-alpha.1 => v44.0.0-alpha.2 -* [@ckeditor/ckeditor5-dev-release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools/v/44.0.0-alpha.2): v44.0.0-alpha.1 => v44.0.0-alpha.2 -* [@ckeditor/ckeditor5-dev-stale-bot](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-stale-bot/v/44.0.0-alpha.2): v44.0.0-alpha.1 => v44.0.0-alpha.2 -* [@ckeditor/ckeditor5-dev-tests](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-tests/v/44.0.0-alpha.2): v44.0.0-alpha.1 => v44.0.0-alpha.2 -* [@ckeditor/ckeditor5-dev-transifex](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-transifex/v/44.0.0-alpha.2): v44.0.0-alpha.1 => v44.0.0-alpha.2 -* [@ckeditor/ckeditor5-dev-translations](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-translations/v/44.0.0-alpha.2): v44.0.0-alpha.1 => v44.0.0-alpha.2 -* [@ckeditor/ckeditor5-dev-utils](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-utils/v/44.0.0-alpha.2): v44.0.0-alpha.1 => v44.0.0-alpha.2 -* [@ckeditor/ckeditor5-dev-web-crawler](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-web-crawler/v/44.0.0-alpha.2): v44.0.0-alpha.1 => v44.0.0-alpha.2 -* [@ckeditor/typedoc-plugins](https://www.npmjs.com/package/@ckeditor/typedoc-plugins/v/44.0.0-alpha.2): v44.0.0-alpha.1 => v44.0.0-alpha.2 -
- --- To see all releases, visit the [release page](https://github.com/ckeditor/ckeditor5-dev/releases). From c039d8c78c70c94988af84173a8ffeac41c46100 Mon Sep 17 00:00:00 2001 From: Kamil Piechaczek Date: Tue, 15 Oct 2024 15:16:09 +0200 Subject: [PATCH 5/5] Changelog for v44.1.0. --- CHANGELOG.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0131f4da2..03dbd1394 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ Changelog ## [44.1.0](https://github.com/ckeditor/ckeditor5-dev/compare/v44.0.0...v44.1.0) (2024-10-15) +> [!NOTE] +> The release channel for this release is `next`. + ### Features * **[ci](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-ci)**: Created a new binary script called `ckeditor5-dev-ci-is-workflow-restarted` that returns with a non-zero exit code if a given workflow is executed for the first time. The restarted workflows exit with a zero exit code. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ff7d7387cc46fc24d7992178f331f29df50f7e53)) @@ -12,10 +15,11 @@ Changelog * **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: The `updateVersions()` task will no longer verify if the specified `version` is available on npm. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ff7d7387cc46fc24d7992178f331f29df50f7e53)) * **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: The `publishPackages()` task filters out already published packages to avoid pushing the same archive twice. Thanks to that, it can be a part of a process that would be restarted. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ff7d7387cc46fc24d7992178f331f29df50f7e53)) -* **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: The `publishPackages()` task tries to publish the package once again when it fails independently from the returned error code. Previously, it was scheduled only when the `E409` error occurred. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ff7d7387cc46fc24d7992178f331f29df50f7e53)) -* **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: The `verifyPackagesPublishedCorrectly()` task is no longer available as its responsibility has been merged into the `publishPackages()` task. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ff7d7387cc46fc24d7992178f331f29df50f7e53)) +* **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: The `publishPackages()` task tries to publish the package once again when it fails independently of the returned error code. Previously, it was scheduled only when the `E409` error occurred. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ff7d7387cc46fc24d7992178f331f29df50f7e53)) +* **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: Marked the `verifyPackagesPublishedCorrectly()` function is deprecated. Its responsibility has been merged with `publishPackages()`. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ff7d7387cc46fc24d7992178f331f29df50f7e53)) * **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: The `commitAndTag()` task does not commit files if a tag for the specified version is already created. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/ff7d7387cc46fc24d7992178f331f29df50f7e53)) * **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: We do not spawn an npm process to download a package manifest from the npm registry. Instead, we send an HTTP request using the `pacote` package. Closes [ckeditor/ckeditor5#17191](https://github.com/ckeditor/ckeditor5/issues/17191). ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/a155390a2ee45190ce6edc49ed48f8e871aa641f)) +* **[release-tools](https://www.npmjs.com/package/@ckeditor/ckeditor5-dev-release-tools)**: The `getNpmTagFromVersion()` function returns a `'nightly'` string when passing a CKEditor 5 nightly version. ([commit](https://github.com/ckeditor/ckeditor5-dev/commit/4edf71cade5c73a8f9a7dbf80994490eeb400b60)) ### Released packages