Przeglądaj źródła

Merge branch 'master' into i/7444-2SCM-refactor

Tomek Wytrębowicz 5 lat temu
rodzic
commit
a11501deed
81 zmienionych plików z 1696 dodań i 790 usunięć
  1. 0 10
      .github/ISSUE_TEMPLATE/4-security-issue.md
  2. 10 0
      .github/ISSUE_TEMPLATE/config.yml
  3. 1 1
      .travis.yml
  4. 158 0
      CHANGELOG.md
  5. 57 57
      package.json
  6. 2 2
      packages/ckeditor-cloud-services-core/package.json
  7. 13 13
      packages/ckeditor5-adapter-ckfinder/package.json
  8. 13 13
      packages/ckeditor5-alignment/package.json
  9. 13 13
      packages/ckeditor5-autoformat/package.json
  10. 5 5
      packages/ckeditor5-autosave/package.json
  11. 9 9
      packages/ckeditor5-basic-styles/package.json
  12. 14 14
      packages/ckeditor5-block-quote/package.json
  13. 0 0
      packages/ckeditor5-build-balloon-block/build/ckeditor.js
  14. 0 0
      packages/ckeditor5-build-balloon-block/build/ckeditor.js.map
  15. 22 22
      packages/ckeditor5-build-balloon-block/package.json
  16. 0 0
      packages/ckeditor5-build-balloon/build/ckeditor.js
  17. 0 0
      packages/ckeditor5-build-balloon/build/ckeditor.js.map
  18. 21 21
      packages/ckeditor5-build-balloon/package.json
  19. 0 0
      packages/ckeditor5-build-classic/build/ckeditor.js
  20. 0 0
      packages/ckeditor5-build-classic/build/ckeditor.js.map
  21. 21 21
      packages/ckeditor5-build-classic/package.json
  22. 0 0
      packages/ckeditor5-build-decoupled-document/build/ckeditor.js
  23. 0 0
      packages/ckeditor5-build-decoupled-document/build/ckeditor.js.map
  24. 24 24
      packages/ckeditor5-build-decoupled-document/package.json
  25. 0 0
      packages/ckeditor5-build-inline/build/ckeditor.js
  26. 0 0
      packages/ckeditor5-build-inline/build/ckeditor.js.map
  27. 21 21
      packages/ckeditor5-build-inline/package.json
  28. 11 11
      packages/ckeditor5-ckfinder/package.json
  29. 9 9
      packages/ckeditor5-clipboard/package.json
  30. 4 4
      packages/ckeditor5-cloud-services/package.json
  31. 14 14
      packages/ckeditor5-code-block/package.json
  32. 17 17
      packages/ckeditor5-core/package.json
  33. 10 10
      packages/ckeditor5-easy-image/package.json
  34. 11 11
      packages/ckeditor5-editor-balloon/package.json
  35. 11 11
      packages/ckeditor5-editor-classic/package.json
  36. 11 11
      packages/ckeditor5-editor-decoupled/package.json
  37. 11 11
      packages/ckeditor5-editor-inline/package.json
  38. 17 17
      packages/ckeditor5-engine/package.json
  39. 3 0
      packages/ckeditor5-engine/src/view/downcastwriter.js
  40. 10 10
      packages/ckeditor5-enter/package.json
  41. 9 9
      packages/ckeditor5-essentials/package.json
  42. 8 8
      packages/ckeditor5-font/package.json
  43. 16 16
      packages/ckeditor5-heading/package.json
  44. 13 13
      packages/ckeditor5-highlight/package.json
  45. 11 11
      packages/ckeditor5-horizontal-line/package.json
  46. 8 3
      packages/ckeditor5-image/docs/_snippets/features/image-link.html
  47. 20 20
      packages/ckeditor5-image/docs/features/image.md
  48. 22 22
      packages/ckeditor5-image/package.json
  49. 8 8
      packages/ckeditor5-indent/package.json
  50. 4 0
      packages/ckeditor5-link/docs/_snippets/features/autolink.html
  51. 23 0
      packages/ckeditor5-link/docs/_snippets/features/autolink.js
  52. 5 0
      packages/ckeditor5-link/docs/_snippets/features/build-link-source.js
  53. 21 0
      packages/ckeditor5-link/docs/features/link.md
  54. 16 15
      packages/ckeditor5-link/package.json
  55. 248 0
      packages/ckeditor5-link/src/autolink.js
  56. 372 0
      packages/ckeditor5-link/tests/autolink.js
  57. 11 0
      packages/ckeditor5-link/tests/manual/autolink.html
  58. 30 0
      packages/ckeditor5-link/tests/manual/autolink.js
  59. 25 0
      packages/ckeditor5-link/tests/manual/autolink.md
  60. 19 19
      packages/ckeditor5-list/package.json
  61. 2 2
      packages/ckeditor5-markdown-gfm/package.json
  62. 17 17
      packages/ckeditor5-media-embed/package.json
  63. 16 16
      packages/ckeditor5-mention/package.json
  64. 11 11
      packages/ckeditor5-page-break/package.json
  65. 13 13
      packages/ckeditor5-paragraph/package.json
  66. 17 17
      packages/ckeditor5-paste-from-office/package.json
  67. 15 15
      packages/ckeditor5-remove-format/package.json
  68. 14 14
      packages/ckeditor5-restricted-editing/package.json
  69. 12 12
      packages/ckeditor5-select-all/package.json
  70. 9 9
      packages/ckeditor5-special-characters/package.json
  71. 18 18
      packages/ckeditor5-table/package.json
  72. 25 25
      packages/ckeditor5-theme-lark/package.json
  73. 16 16
      packages/ckeditor5-typing/package.json
  74. 18 18
      packages/ckeditor5-ui/package.json
  75. 12 12
      packages/ckeditor5-undo/package.json
  76. 4 4
      packages/ckeditor5-upload/package.json
  77. 5 5
      packages/ckeditor5-utils/package.json
  78. 1 1
      packages/ckeditor5-utils/src/version.js
  79. 6 6
      packages/ckeditor5-watchdog/package.json
  80. 20 20
      packages/ckeditor5-widget/package.json
  81. 13 13
      packages/ckeditor5-word-count/package.json

+ 0 - 10
.github/ISSUE_TEMPLATE/4-security-issue.md

@@ -1,10 +0,0 @@
----
-name: "\U0001F6A8 Security issue"
-about: Report a security issue.
-title: ''
-labels: ''
-assignees: ''
-
----
-
-⚠️ Please **DO NOT report security issues here**, use the contact form at [https://ckeditor.com/contact/](https://ckeditor.com/contact/) instead. ⚠️

+ 10 - 0
.github/ISSUE_TEMPLATE/config.yml

@@ -0,0 +1,10 @@
+blank_issues_enabled: false
+contact_links:
+  - name: "\U0001F6A8 Security issue"
+    url: https://ckeditor.com/contact
+    about: |
+      Please **DO NOT report security issues here**,
+      use the contact form at https://ckeditor.com/contact/ instead.
+  - name: "\U0001F4F1 Licensed Customers support"
+    about: Support channel for Licensed Customers.
+    url: https://support.ckeditor.com/hc/en-us/requests/new

+ 1 - 1
.travis.yml

@@ -22,7 +22,7 @@ script:
 - node ./scripts/continuous-integration-script.js
 - yarn run lint
 - yarn run stylelint
-- yarn run docs:api --validate-only
+- yarn run docs --strict
 - 'if [ $TRAVIS_TEST_RESULT -eq 0 ]; then
     travis_wait 30 yarn run docs:build-and-publish-nightly;
   fi'

+ 158 - 0
CHANGELOG.md

@@ -1,6 +1,164 @@
 Changelog
 =========
 
+## [20.0.0](https://github.com/ckeditor/ckeditor5/compare/v19.1.1...v20.0.0) (2020-06-24)
+
+### Release highlights
+
+We are happy to announce the release of CKEditor 5 v20.0.0.
+
+This release brings some highly anticipated features:
+
+* Support for [linking images](https://github.com/ckeditor/ckeditor5/issues/702).
+* [Typing around widgets](https://github.com/ckeditor/ckeditor5/issues/407).
+* An option to [automatically set link protocol](https://github.com/ckeditor/ckeditor5/issues/4858).
+* [Improved selection handling when working with links](https://github.com/ckeditor/ckeditor5/issues/1016).
+
+New features were also accompanied by a set of bug fixes, to name a few:
+
+* [Autoformatting will no longer change formatting when typing in an inline code](https://github.com/ckeditor/ckeditor5/issues/1239).
+* Editor will no longer [crash if there's a HTML comment in the source data](https://github.com/ckeditor/ckeditor5/issues/5734).
+
+TODO: Add a link to the blog post.
+
+### Collaboration features
+
+The CKEditor 5 Collaboration features changelog can be found here: https://ckeditor.com/collaboration/changelog.
+
+### MAJOR BREAKING CHANGES [ℹ️](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/versioning-policy.html#major-and-minor-breaking-changes)
+
+* **[ckeditor5](https://www.npmjs.com/package/ckeditor5)**: Node `>=12.0.0` is required now.
+
+### MINOR BREAKING CHANGES [ℹ️](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/versioning-policy.html#major-and-minor-breaking-changes)
+
+* **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: The `TableNavigation` plugin was renamed to `TableKeyboard`.
+* **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: The values returned by the `TableWalker` iterator have changed. See [#6785](https://github.com/ckeditor/ckeditor5/issues/6785).
+* **[widget](https://www.npmjs.com/package/@ckeditor/ckeditor5-widget)**: Removed the `getWidgetTypeAroundPositions()` helper since the "Insert new paragraph" buttons are now visible regardless of the widget location in the document
+* The `isTableWidget()` and `toTableWidget()` utility functions were removed.
+* The functions `getSelectedTableWidget()` and `getTableWidgetAncestor()` from `table/utils` module were moved to the `table/utils/widget` module.
+* The functions `getSelectedTableCells()`, `getTableCellsContainingSelection()`, `getSelectionAffectedTableCells()`, `getRowIndexes()`, `getColumnIndexes()`, and `isSelectionRectangular()` from `table/utils` module were moved to `table/utils/selection` module.
+* The functions `getVerticallyOverlappingCells()`, `splitHorizontally()`, `getHorizontallyOverlappingCells()`, and `splitVertically()` from `table/utils` module were moved to `table/utils/structure` module.
+* The functions `findAncestor()`, `updateNumericAttribute()`, `createEmptyTableCell()`, and `isHeadingColumnCell()` from `table/commands/utils` module were moved to `table/utils/common` module.
+* The functions `getSingleValue()` and `addDefaultUnitToNumericValue()` from `table/commands/utils` module were moved to `table/utils/table-properties` module.
+* The functions `cropTableToDimensions()` and `trimTableCellIfNeeded()` from `table/tableselection/croptable` module were moved to `table/utils/structure` module.
+* The functions `repositionContextualBalloon()`, `getBalloonTablePositionData()`, and `getBalloonCellPositionData()` from `table/ui/utils` module were moved to `table/utils/ui/contextualballoon` module.
+* The functions `getBorderStyleLabels()`, `getLocalizedColorErrorText()`, `getLocalizedLengthErrorText()`, `colorFieldValidator()`, `lengthFieldValidator()`, `lineWidthFieldValidator()`, `getBorderStyleDefinitions()`, `fillToolbar()`, and `getLabeledColorInputCreator()` from `table/ui/utils` module were moved to `table/utils/ui/table-properties` module.
+* The `defaultColors` constant from `table/ui/utils` module was moved to `table/utils/ui/table-properties` module.
+
+### Features
+
+* **[link](https://www.npmjs.com/package/@ckeditor/ckeditor5-link)**: Introduced the linking images feature. Closes [#7330](https://github.com/ckeditor/ckeditor5/issues/7330). ([commit](https://github.com/ckeditor/ckeditor5/commit/cc0e69478e00012089857ba9ddf871aefa065677))
+* **[link](https://www.npmjs.com/package/@ckeditor/ckeditor5-link)**: Introduced the `LinkImageUI` plugin that brings a UI to wrap images in links. Closes [#7331](https://github.com/ckeditor/ckeditor5/issues/7331). ([commit](https://github.com/ckeditor/ckeditor5/commit/878257e43d9b0135aacec841ed5e085ca8b5c3df))
+* **[link](https://www.npmjs.com/package/@ckeditor/ckeditor5-link)**: A fake caret (selection) should be displayed in the content when the link input has focus and the browser does not render the native caret (selection). Closes [#4721](https://github.com/ckeditor/ckeditor5/issues/4721). ([commit](https://github.com/ckeditor/ckeditor5/commit/ffac139a3e16dd013b68dfc1da34aba7bbd5b685))
+* **[link](https://www.npmjs.com/package/@ckeditor/ckeditor5-link)**: Introduced the `config.link.defaultProtocol` option for adding it automatically to the links when it's not provided by the user in the link form. Closes [#4858](https://github.com/ckeditor/ckeditor5/issues/4858). ([commit](https://github.com/ckeditor/ckeditor5/commit/76c762e5a6549cb20de4331046bd324c992e95a0))
+* **[theme-lark](https://www.npmjs.com/package/@ckeditor/ckeditor5-theme-lark)**: Added styles for the fake link caret (selection) (see [#4721](https://github.com/ckeditor/ckeditor5/issues/4721)). ([commit](https://github.com/ckeditor/ckeditor5/commit/ffac139a3e16dd013b68dfc1da34aba7bbd5b685))
+* **[theme-lark](https://www.npmjs.com/package/@ckeditor/ckeditor5-theme-lark)**: Added styles for a "fake caret" brought by the `WidgetTypeAround` plugin (see [#6693](https://github.com/ckeditor/ckeditor5/issues/6693)). ([commit](https://github.com/ckeditor/ckeditor5/commit/eb8dd9f0e616cd5d15c3dc673508679d3061f547))
+* **[typing](https://www.npmjs.com/package/@ckeditor/ckeditor5-typing)**: Created a public `isNonTypingKeystroke()` helper (see [#6693](https://github.com/ckeditor/ckeditor5/issues/6693)). ([commit](https://github.com/ckeditor/ckeditor5/commit/eb8dd9f0e616cd5d15c3dc673508679d3061f547))
+* **[upload](https://www.npmjs.com/package/@ckeditor/ckeditor5-upload)**: Introduced the `config.simpleUpload.withCredentials` request configuration. Closes [#7282](https://github.com/ckeditor/ckeditor5/issues/7282). ([commit](https://github.com/ckeditor/ckeditor5/commit/5a34216fadebeaf3acc5b88002eec4b841a1b17d))
+* **[utils](https://www.npmjs.com/package/@ckeditor/ckeditor5-utils)**: Created `isArrowKeyCode()`, `getLocalizedArrowKeyCodeDirection()`, and `isForwardArrowKeyCode()` helpers (see [#6693](https://github.com/ckeditor/ckeditor5/issues/6693)). ([commit](https://github.com/ckeditor/ckeditor5/commit/eb8dd9f0e616cd5d15c3dc673508679d3061f547))
+* **[widget](https://www.npmjs.com/package/@ckeditor/ckeditor5-widget)**: Implemented keyboard support for inserting paragraphs around block widgets using a "fake horizontal caret" (`WidgetTypeAround`). Both "Insert new paragraph" buttons are now always displayed for all block widgets regardless of their location in the document. Closes [#6693](https://github.com/ckeditor/ckeditor5/issues/6693), [#6825](https://github.com/ckeditor/ckeditor5/issues/6825), [#6694](https://github.com/ckeditor/ckeditor5/issues/6694). ([commit](https://github.com/ckeditor/ckeditor5/commit/eb8dd9f0e616cd5d15c3dc673508679d3061f547))
+
+### Bug fixes
+
+* **[autoformat](https://www.npmjs.com/package/@ckeditor/ckeditor5-autoformat)**: Autoformatting should not occur inside an existing text with a model `code` attribute. Closes [#1239](https://github.com/ckeditor/ckeditor5/issues/1239). ([commit](https://github.com/ckeditor/ckeditor5/commit/ad3562a2d3b6d5a1e8de276e7f032371ba260d63))
+* **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: The editor should not crash when the initial data includes HTML comments. Closes [#5734](https://github.com/ckeditor/ckeditor5/issues/5734). ([commit](https://github.com/ckeditor/ckeditor5/commit/377d142d9089e92a83d27eb386a3ef722fce847f))
+* **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: The model selection post-fixer should not set a new selection if the ranges before and after post-fixing are the same (see [#6693](https://github.com/ckeditor/ckeditor5/issues/6693)). ([commit](https://github.com/ckeditor/ckeditor5/commit/eb8dd9f0e616cd5d15c3dc673508679d3061f547))
+* **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: Backspace will no longer change the type of the trailing block. Closes [#6680](https://github.com/ckeditor/ckeditor5/issues/6680). ([commit](https://github.com/ckeditor/ckeditor5/commit/a87b364cce3fc70412031243ea0123333a91b821))
+* **[font](https://www.npmjs.com/package/@ckeditor/ckeditor5-font)**: The Font Family feature should apply the complete family value from the configuration when `config.fontFamily.supportAllValues` is `true`. Closes [#7285](https://github.com/ckeditor/ckeditor5/issues/7285). ([commit](https://github.com/ckeditor/ckeditor5/commit/c7b8f037891b885ae9d5d8c483747550ea8d6bd9))
+* **[image](https://www.npmjs.com/package/@ckeditor/ckeditor5-image)**: The widget toolbar won't be shown if an empty collection of items was provided in the editor's configuration. Closes [#5857](https://github.com/ckeditor/ckeditor5/issues/5857). ([commit](https://github.com/ckeditor/ckeditor5/commit/64e53153737458bb0e64db16049b581e0ff8aae9))
+* **[image](https://www.npmjs.com/package/@ckeditor/ckeditor5-image)**: The `src` and `alt` attributes for the image element will be always added to the editor's data. Even if they are empty. Closes [#5033](https://github.com/ckeditor/ckeditor5/issues/5033). ([commit](https://github.com/ckeditor/ckeditor5/commit/e81cbbba4bd0ccddc4ce0e59260c8f733bf12ca4))
+* **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: Table multi-cell selection should not be possible with the keystrokes when the `TableSelection` plugin is disabled. Closes [#7483](https://github.com/ckeditor/ckeditor5/issues/7483). ([commit](https://github.com/ckeditor/ckeditor5/commit/2fee736a59ee6e1da2b85aff429398d96fd5c57b))
+* **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: Copied and pasted table fragment should maintain the proper structure when the fragment contains merged table cells. Closes [#7245](https://github.com/ckeditor/ckeditor5/issues/7245). ([commit](https://github.com/ckeditor/ckeditor5/commit/17d7bd7390aeae841f6d2116a3528ea288367b3f))
+* **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: Removing empty rows will no longer produce an invalid table model in certain scenarios. Closes [#6609](https://github.com/ckeditor/ckeditor5/issues/6609). ([commit](https://github.com/ckeditor/ckeditor5/commit/11d69fc808b4db5184ff90e0d0a2756761db4707))
+* **[ui](https://www.npmjs.com/package/@ckeditor/ckeditor5-ui)**: The `BalloonToolbar` should not show up when multiple objects (for instance, table cells) are selected at a time. Closes [#6443](https://github.com/ckeditor/ckeditor5/issues/6443). ([commit](https://github.com/ckeditor/ckeditor5/commit/6036d4a4983aba4f5e43704300dc38aeba7369f3))
+
+### Other changes
+
+* **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: Added the `ignoreMarkers` option to the `Model#hasContent()` method. ([commit](https://github.com/ckeditor/ckeditor5/commit/61a6110dc204717bce88367b94a0287cc9d57816))
+* **[engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine)**: Added Writer#cloneElement(). Closes [#6819](https://github.com/ckeditor/ckeditor5/issues/6819). ([commit](https://github.com/ckeditor/ckeditor5/commit/4c7114014afcfd06a304183a3b077d84dec6db3e))
+* **[horizontal-line](https://www.npmjs.com/package/@ckeditor/ckeditor5-horizontal-line)**: Improved the look of horizontal lines in the editor content. Closes [#7418](https://github.com/ckeditor/ckeditor5/issues/7418). ([commit](https://github.com/ckeditor/ckeditor5/commit/e8bff81931d31fb341cd88f87977d6ef7db45a74))
+* **[link](https://www.npmjs.com/package/@ckeditor/ckeditor5-link)**: The selection after inserting a link will land after the inserted element. Thanks to that a user will be able to type directly after the link without extending the link element. Closes [#1016](https://github.com/ckeditor/ckeditor5/issues/1016). ([commit](https://github.com/ckeditor/ckeditor5/commit/0bf66e47ee02484d694d786023cc153312409287))
+* **[link](https://www.npmjs.com/package/@ckeditor/ckeditor5-link)**: After clicking at the beginning or end of the link element, the selection will land before/after the clicked element. Thanks to that a user will be able to typing before or after the link element as normal text without extending the link. See [#1016](https://github.com/ckeditor/ckeditor5/issues/1016). ([commit](https://github.com/ckeditor/ckeditor5/commit/0bf66e47ee02484d694d786023cc153312409287))
+* **[paragraph](https://www.npmjs.com/package/@ckeditor/ckeditor5-paragraph)**: The `InsertParagraphCommand` should split ancestors of the `Position` to find a parent that allows `'paragraph'` (see [#6693](https://github.com/ckeditor/ckeditor5/issues/6693)). ([commit](https://github.com/ckeditor/ckeditor5/commit/eb8dd9f0e616cd5d15c3dc673508679d3061f547))
+* **[select-all](https://www.npmjs.com/package/@ckeditor/ckeditor5-select-all)**: Improved the select-all feature so that it includes more and more content if the selection was anchored in a nested editable. Closes [#6621](https://github.com/ckeditor/ckeditor5/issues/6621). ([commit](https://github.com/ckeditor/ckeditor5/commit/6f59c78eb88335cabf0d39612b40c3b50fade41f))
+* **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: Removed `options.asWidget` from most of the table converters which are never run in data pipeline. ([commit](https://github.com/ckeditor/ckeditor5/commit/b127f41163559b4c12ccf100be309c0dbf7c2355))
+* **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: Marker on table cells should be downcasted to CSS classes on cells (instead of wrapping the content). Closes [#7360](https://github.com/ckeditor/ckeditor5/issues/7360). ([commit](https://github.com/ckeditor/ckeditor5/commit/48d80cb955eecae9e9f0afad51ac1c5cdc7c00c1))
+* **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: Pasting a table into a table is more tolerant for whitespaces around a pasted table. Closes [#7379](https://github.com/ckeditor/ckeditor5/issues/7379). ([commit](https://github.com/ckeditor/ckeditor5/commit/669d54f688bf1017cb6c09c557cee084ea01be90))
+* **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: Extracted `TableMouse` plugin from `TableSelection` plugin. Closes [#6757](https://github.com/ckeditor/ckeditor5/issues/6757). ([commit](https://github.com/ckeditor/ckeditor5/commit/4d2f5f9b9f298601b332f304da66333c52673cb8))
+* **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: Refactor values returned by the `TableWalker` iterator. Closes [#6785](https://github.com/ckeditor/ckeditor5/issues/6785). ([commit](https://github.com/ckeditor/ckeditor5/commit/65cfa13ec9a3f983b94a27b5a86e031687fad25d))
+* **[table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table)**: Add `row`, `startColumn`, and `endColumn` options to `TableWalker` constructor. See [#6785](https://github.com/ckeditor/ckeditor5/issues/6785). ([commit](https://github.com/ckeditor/ckeditor5/commit/65cfa13ec9a3f983b94a27b5a86e031687fad25d))
+
+### Released packages
+
+Check out the [Versioning policy](https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/versioning-policy.html) guide for more information.
+
+<details>
+<summary>Released packages (summary)</summary>
+
+Minor releases (contain minor breaking changes):
+
+* [@ckeditor/ckeditor5-table](https://www.npmjs.com/package/@ckeditor/ckeditor5-table): v19.1.0 => v20.0.0
+* [@ckeditor/ckeditor5-widget](https://www.npmjs.com/package/@ckeditor/ckeditor5-widget): v19.1.0 => v20.0.0
+
+Releases containing new features:
+
+* [@ckeditor/ckeditor5-engine](https://www.npmjs.com/package/@ckeditor/ckeditor5-engine): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-image](https://www.npmjs.com/package/@ckeditor/ckeditor5-image): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-link](https://www.npmjs.com/package/@ckeditor/ckeditor5-link): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-paragraph](https://www.npmjs.com/package/@ckeditor/ckeditor5-paragraph): v19.1.0 => v20.0.0
+* [@ckeditor/ckeditor5-theme-lark](https://www.npmjs.com/package/@ckeditor/ckeditor5-theme-lark): v19.1.0 => v20.0.0
+* [@ckeditor/ckeditor5-typing](https://www.npmjs.com/package/@ckeditor/ckeditor5-typing): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-upload](https://www.npmjs.com/package/@ckeditor/ckeditor5-upload): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-utils](https://www.npmjs.com/package/@ckeditor/ckeditor5-utils): v19.0.2 => v20.0.0
+
+Other releases:
+
+* [@ckeditor/ckeditor-cloud-services-core](https://www.npmjs.com/package/@ckeditor/ckeditor-cloud-services-core): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-adapter-ckfinder](https://www.npmjs.com/package/@ckeditor/ckeditor5-adapter-ckfinder): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-alignment](https://www.npmjs.com/package/@ckeditor/ckeditor5-alignment): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-autoformat](https://www.npmjs.com/package/@ckeditor/ckeditor5-autoformat): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-autosave](https://www.npmjs.com/package/@ckeditor/ckeditor5-autosave): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-basic-styles](https://www.npmjs.com/package/@ckeditor/ckeditor5-basic-styles): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-block-quote](https://www.npmjs.com/package/@ckeditor/ckeditor5-block-quote): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-build-balloon](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-balloon): v19.0.2 => v20.0.0
+* [@ckeditor/ckeditor5-build-balloon-block](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-balloon-block): v19.0.2 => v20.0.0
+* [@ckeditor/ckeditor5-build-classic](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-classic): v19.0.2 => v20.0.0
+* [@ckeditor/ckeditor5-build-decoupled-document](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-decoupled-document): v19.0.2 => v20.0.0
+* [@ckeditor/ckeditor5-build-inline](https://www.npmjs.com/package/@ckeditor/ckeditor5-build-inline): v19.0.2 => v20.0.0
+* [@ckeditor/ckeditor5-ckfinder](https://www.npmjs.com/package/@ckeditor/ckeditor5-ckfinder): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-clipboard](https://www.npmjs.com/package/@ckeditor/ckeditor5-clipboard): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-cloud-services](https://www.npmjs.com/package/@ckeditor/ckeditor5-cloud-services): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-code-block](https://www.npmjs.com/package/@ckeditor/ckeditor5-code-block): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-core](https://www.npmjs.com/package/@ckeditor/ckeditor5-core): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-easy-image](https://www.npmjs.com/package/@ckeditor/ckeditor5-easy-image): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-editor-balloon](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-balloon): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-editor-classic](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-classic): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-editor-decoupled](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-decoupled): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-editor-inline](https://www.npmjs.com/package/@ckeditor/ckeditor5-editor-inline): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-enter](https://www.npmjs.com/package/@ckeditor/ckeditor5-enter): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-essentials](https://www.npmjs.com/package/@ckeditor/ckeditor5-essentials): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-font](https://www.npmjs.com/package/@ckeditor/ckeditor5-font): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-heading](https://www.npmjs.com/package/@ckeditor/ckeditor5-heading): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-highlight](https://www.npmjs.com/package/@ckeditor/ckeditor5-highlight): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-horizontal-line](https://www.npmjs.com/package/@ckeditor/ckeditor5-horizontal-line): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-indent](https://www.npmjs.com/package/@ckeditor/ckeditor5-indent): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-list](https://www.npmjs.com/package/@ckeditor/ckeditor5-list): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-markdown-gfm](https://www.npmjs.com/package/@ckeditor/ckeditor5-markdown-gfm): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-media-embed](https://www.npmjs.com/package/@ckeditor/ckeditor5-media-embed): v19.1.0 => v20.0.0
+* [@ckeditor/ckeditor5-mention](https://www.npmjs.com/package/@ckeditor/ckeditor5-mention): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-page-break](https://www.npmjs.com/package/@ckeditor/ckeditor5-page-break): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-paste-from-office](https://www.npmjs.com/package/@ckeditor/ckeditor5-paste-from-office): v19.0.2 => v20.0.0
+* [@ckeditor/ckeditor5-remove-format](https://www.npmjs.com/package/@ckeditor/ckeditor5-remove-format): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-restricted-editing](https://www.npmjs.com/package/@ckeditor/ckeditor5-restricted-editing): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-select-all](https://www.npmjs.com/package/@ckeditor/ckeditor5-select-all): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-special-characters](https://www.npmjs.com/package/@ckeditor/ckeditor5-special-characters): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-ui](https://www.npmjs.com/package/@ckeditor/ckeditor5-ui): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-undo](https://www.npmjs.com/package/@ckeditor/ckeditor5-undo): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-watchdog](https://www.npmjs.com/package/@ckeditor/ckeditor5-watchdog): v19.0.1 => v20.0.0
+* [@ckeditor/ckeditor5-word-count](https://www.npmjs.com/package/@ckeditor/ckeditor5-word-count): v19.0.1 => v20.0.0
+</details>
+
+
 ## [19.1.1](https://github.com/ckeditor/ckeditor5/compare/v19.1.0...v19.1.1) (2020-05-29)
 
 ### Bug fixes

+ 57 - 57
package.json

@@ -1,6 +1,6 @@
 {
   "name": "ckeditor5",
-  "version": "19.1.1",
+  "version": "20.0.0",
   "description": "The development environment of CKEditor 5 – the best browser-based rich text editor.",
   "private": true,
   "keywords": [
@@ -21,62 +21,62 @@
     "framework"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor-cloud-services-core": "^19.0.1",
-    "@ckeditor/ckeditor5-adapter-ckfinder": "^19.0.1",
-    "@ckeditor/ckeditor5-alignment": "^19.0.1",
-    "@ckeditor/ckeditor5-autoformat": "^19.0.1",
-    "@ckeditor/ckeditor5-autosave": "^19.0.1",
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-build-balloon": "^19.0.2",
-    "@ckeditor/ckeditor5-build-balloon-block": "^19.0.2",
-    "@ckeditor/ckeditor5-build-classic": "^19.0.2",
-    "@ckeditor/ckeditor5-build-decoupled-document": "^19.0.2",
-    "@ckeditor/ckeditor5-build-inline": "^19.0.2",
-    "@ckeditor/ckeditor5-ckfinder": "^19.0.1",
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-cloud-services": "^19.0.1",
-    "@ckeditor/ckeditor5-code-block": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-easy-image": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-balloon": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-decoupled": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-inline": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-essentials": "^19.0.1",
-    "@ckeditor/ckeditor5-font": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-highlight": "^19.0.1",
-    "@ckeditor/ckeditor5-horizontal-line": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-indent": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-markdown-gfm": "^19.0.1",
-    "@ckeditor/ckeditor5-media-embed": "^19.1.0",
-    "@ckeditor/ckeditor5-mention": "^19.0.1",
-    "@ckeditor/ckeditor5-page-break": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-paste-from-office": "^19.0.2",
-    "@ckeditor/ckeditor5-remove-format": "^19.0.1",
-    "@ckeditor/ckeditor5-restricted-editing": "^19.0.1",
-    "@ckeditor/ckeditor5-select-all": "^19.0.1",
-    "@ckeditor/ckeditor5-special-characters": "^19.0.1",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-theme-lark": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1",
-    "@ckeditor/ckeditor5-upload": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.2",
-    "@ckeditor/ckeditor5-watchdog": "^19.0.1",
-    "@ckeditor/ckeditor5-widget": "^19.1.0",
-    "@ckeditor/ckeditor5-word-count": "^19.0.1"
+    "@ckeditor/ckeditor-cloud-services-core": "^20.0.0",
+    "@ckeditor/ckeditor5-adapter-ckfinder": "^20.0.0",
+    "@ckeditor/ckeditor5-alignment": "^20.0.0",
+    "@ckeditor/ckeditor5-autoformat": "^20.0.0",
+    "@ckeditor/ckeditor5-autosave": "^20.0.0",
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-build-balloon": "^20.0.0",
+    "@ckeditor/ckeditor5-build-balloon-block": "^20.0.0",
+    "@ckeditor/ckeditor5-build-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-build-decoupled-document": "^20.0.0",
+    "@ckeditor/ckeditor5-build-inline": "^20.0.0",
+    "@ckeditor/ckeditor5-ckfinder": "^20.0.0",
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-cloud-services": "^20.0.0",
+    "@ckeditor/ckeditor5-code-block": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-easy-image": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-balloon": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-decoupled": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-inline": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-essentials": "^20.0.0",
+    "@ckeditor/ckeditor5-font": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-highlight": "^20.0.0",
+    "@ckeditor/ckeditor5-horizontal-line": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-indent": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-markdown-gfm": "^20.0.0",
+    "@ckeditor/ckeditor5-media-embed": "^20.0.0",
+    "@ckeditor/ckeditor5-mention": "^20.0.0",
+    "@ckeditor/ckeditor5-page-break": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-paste-from-office": "^20.0.0",
+    "@ckeditor/ckeditor5-remove-format": "^20.0.0",
+    "@ckeditor/ckeditor5-restricted-editing": "^20.0.0",
+    "@ckeditor/ckeditor5-select-all": "^20.0.0",
+    "@ckeditor/ckeditor5-special-characters": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-theme-lark": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0",
+    "@ckeditor/ckeditor5-upload": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
+    "@ckeditor/ckeditor5-watchdog": "^20.0.0",
+    "@ckeditor/ckeditor5-widget": "^20.0.0",
+    "@ckeditor/ckeditor5-word-count": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-comments": "^19.0.2",
+    "@ckeditor/ckeditor5-comments": "^20.0.0",
     "@ckeditor/ckeditor5-dev-docs": "^21.0.0",
     "@ckeditor/ckeditor5-dev-env": "^21.0.0",
     "@ckeditor/ckeditor5-dev-tests": "^21.0.0",
@@ -84,8 +84,8 @@
     "@ckeditor/ckeditor5-dev-webpack-plugin": "^21.0.0",
     "@ckeditor/ckeditor5-inspector": "^2.1.0",
     "@ckeditor/ckeditor5-react": "^2.1.0",
-    "@ckeditor/ckeditor5-real-time-collaboration": "^19.0.2",
-    "@ckeditor/ckeditor5-track-changes": "^19.1.0",
+    "@ckeditor/ckeditor5-real-time-collaboration": "^20.0.0",
+    "@ckeditor/ckeditor5-track-changes": "^20.0.0",
     "@wiris/mathtype-ckeditor5": "7.20.0",
     "babel-standalone": "^6.26.0",
     "coveralls": "^3.1.0",

+ 2 - 2
packages/ckeditor-cloud-services-core/package.json

@@ -1,13 +1,13 @@
 {
   "name": "@ckeditor/ckeditor-cloud-services-core",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "CKEditor Cloud Services Core API.",
   "keywords": [
     "ckeditor5",
     "ckeditor5-lib"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 13 - 13
packages/ckeditor5-adapter-ckfinder/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-adapter-ckfinder",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "CKFinder adapter for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,20 +10,20 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-upload": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-upload": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 13 - 13
packages/ckeditor5-alignment/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-alignment",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Text alignment feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,20 +10,20 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 13 - 13
packages/ckeditor5-autoformat/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-autoformat",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Autoformatting feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,20 +10,20 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-typing": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-code-block": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-code-block": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 5 - 5
packages/ckeditor5-autosave/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-autosave",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Autosave feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,13 +10,13 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0"
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 9 - 9
packages/ckeditor5-basic-styles/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-basic-styles",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Basic styles feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,16 +10,16 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-essentials": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-remove-format": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-essentials": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-remove-format": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 14 - 14
packages/ckeditor5-block-quote/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-block-quote",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Block quote feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,21 +10,21 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

Plik diff jest za duży
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/ckeditor.js


Plik diff jest za duży
+ 0 - 0
packages/ckeditor5-build-balloon-block/build/ckeditor.js.map


+ 22 - 22
packages/ckeditor5-build-balloon-block/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-build-balloon-block",
-  "version": "19.0.2",
+  "version": "20.0.0",
   "description": "The balloon editor build of CKEditor 5 with a block toolbar – the best browser-based rich text editor.",
   "keywords": [
     "wysiwyg",
@@ -25,29 +25,29 @@
     "build"
   ],
   "devDependencies": {
-    "@ckeditor/ckeditor5-adapter-ckfinder": "^19.0.1",
-    "@ckeditor/ckeditor5-autoformat": "^19.0.1",
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-ckfinder": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1",
+    "@ckeditor/ckeditor5-adapter-ckfinder": "^20.0.0",
+    "@ckeditor/ckeditor5-autoformat": "^20.0.0",
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-ckfinder": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
     "@ckeditor/ckeditor5-dev-utils": "^20.0.0",
     "@ckeditor/ckeditor5-dev-webpack-plugin": "^20.0.0",
-    "@ckeditor/ckeditor5-easy-image": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-balloon": "^19.0.1",
-    "@ckeditor/ckeditor5-essentials": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-indent": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-media-embed": "^19.1.0",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-paste-from-office": "^19.0.2",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-theme-lark": "^19.1.0",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
+    "@ckeditor/ckeditor5-easy-image": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-balloon": "^20.0.0",
+    "@ckeditor/ckeditor5-essentials": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-indent": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-media-embed": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-paste-from-office": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-theme-lark": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
     "postcss-loader": "^3.0.0",
     "raw-loader": "^4.0.1",
     "style-loader": "^1.2.1",

Plik diff jest za duży
+ 0 - 0
packages/ckeditor5-build-balloon/build/ckeditor.js


Plik diff jest za duży
+ 0 - 0
packages/ckeditor5-build-balloon/build/ckeditor.js.map


+ 21 - 21
packages/ckeditor5-build-balloon/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-build-balloon",
-  "version": "19.0.2",
+  "version": "20.0.0",
   "description": "The balloon editor build of CKEditor 5 – the best browser-based rich text editor.",
   "keywords": [
     "wysiwyg",
@@ -25,28 +25,28 @@
     "build"
   ],
   "devDependencies": {
-    "@ckeditor/ckeditor5-adapter-ckfinder": "^19.0.1",
-    "@ckeditor/ckeditor5-autoformat": "^19.0.1",
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-ckfinder": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1",
+    "@ckeditor/ckeditor5-adapter-ckfinder": "^20.0.0",
+    "@ckeditor/ckeditor5-autoformat": "^20.0.0",
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-ckfinder": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
     "@ckeditor/ckeditor5-dev-utils": "^20.0.0",
     "@ckeditor/ckeditor5-dev-webpack-plugin": "^20.0.0",
-    "@ckeditor/ckeditor5-easy-image": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-balloon": "^19.0.1",
-    "@ckeditor/ckeditor5-essentials": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-indent": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-media-embed": "^19.1.0",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-paste-from-office": "^19.0.2",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-theme-lark": "^19.1.0",
+    "@ckeditor/ckeditor5-easy-image": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-balloon": "^20.0.0",
+    "@ckeditor/ckeditor5-essentials": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-indent": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-media-embed": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-paste-from-office": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-theme-lark": "^20.0.0",
     "postcss-loader": "^3.0.0",
     "raw-loader": "^4.0.1",
     "style-loader": "^1.2.1",

Plik diff jest za duży
+ 0 - 0
packages/ckeditor5-build-classic/build/ckeditor.js


Plik diff jest za duży
+ 0 - 0
packages/ckeditor5-build-classic/build/ckeditor.js.map


+ 21 - 21
packages/ckeditor5-build-classic/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-build-classic",
-  "version": "19.0.2",
+  "version": "20.0.0",
   "description": "The classic editor build of CKEditor 5 – the best browser-based rich text editor.",
   "keywords": [
     "ckeditor5-build",
@@ -25,28 +25,28 @@
     "build"
   ],
   "devDependencies": {
-    "@ckeditor/ckeditor5-adapter-ckfinder": "^19.0.1",
-    "@ckeditor/ckeditor5-autoformat": "^19.0.1",
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-ckfinder": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1",
+    "@ckeditor/ckeditor5-adapter-ckfinder": "^20.0.0",
+    "@ckeditor/ckeditor5-autoformat": "^20.0.0",
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-ckfinder": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
     "@ckeditor/ckeditor5-dev-utils": "^20.0.0",
     "@ckeditor/ckeditor5-dev-webpack-plugin": "^20.0.0",
-    "@ckeditor/ckeditor5-easy-image": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-essentials": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-indent": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-media-embed": "^19.1.0",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-paste-from-office": "^19.0.2",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-theme-lark": "^19.1.0",
+    "@ckeditor/ckeditor5-easy-image": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-essentials": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-indent": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-media-embed": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-paste-from-office": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-theme-lark": "^20.0.0",
     "postcss-loader": "^3.0.0",
     "raw-loader": "^4.0.1",
     "style-loader": "^1.2.1",

Plik diff jest za duży
+ 0 - 0
packages/ckeditor5-build-decoupled-document/build/ckeditor.js


Plik diff jest za duży
+ 0 - 0
packages/ckeditor5-build-decoupled-document/build/ckeditor.js.map


+ 24 - 24
packages/ckeditor5-build-decoupled-document/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-build-decoupled-document",
-  "version": "19.0.2",
+  "version": "20.0.0",
   "description": "The document editor build of CKEditor 5 – the best browser-based rich text editor.",
   "keywords": [
     "ckeditor5-build",
@@ -25,31 +25,31 @@
     "build"
   ],
   "devDependencies": {
-    "@ckeditor/ckeditor5-adapter-ckfinder": "^19.0.1",
-    "@ckeditor/ckeditor5-alignment": "^19.0.1",
-    "@ckeditor/ckeditor5-autoformat": "^19.0.1",
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-ckfinder": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1",
+    "@ckeditor/ckeditor5-adapter-ckfinder": "^20.0.0",
+    "@ckeditor/ckeditor5-alignment": "^20.0.0",
+    "@ckeditor/ckeditor5-autoformat": "^20.0.0",
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-ckfinder": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
     "@ckeditor/ckeditor5-dev-utils": "^20.0.0",
     "@ckeditor/ckeditor5-dev-webpack-plugin": "^20.0.0",
-    "@ckeditor/ckeditor5-easy-image": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-decoupled": "^19.0.1",
-    "@ckeditor/ckeditor5-essentials": "^19.0.1",
-    "@ckeditor/ckeditor5-font": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-highlight": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-indent": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-media-embed": "^19.1.0",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-paste-from-office": "^19.0.2",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-theme-lark": "^19.1.0",
+    "@ckeditor/ckeditor5-easy-image": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-decoupled": "^20.0.0",
+    "@ckeditor/ckeditor5-essentials": "^20.0.0",
+    "@ckeditor/ckeditor5-font": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-highlight": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-indent": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-media-embed": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-paste-from-office": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-theme-lark": "^20.0.0",
     "postcss-loader": "^3.0.0",
     "raw-loader": "^4.0.1",
     "style-loader": "^1.2.1",

Plik diff jest za duży
+ 0 - 0
packages/ckeditor5-build-inline/build/ckeditor.js


Plik diff jest za duży
+ 0 - 0
packages/ckeditor5-build-inline/build/ckeditor.js.map


+ 21 - 21
packages/ckeditor5-build-inline/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-build-inline",
-  "version": "19.0.2",
+  "version": "20.0.0",
   "description": "The inline editor build of CKEditor 5 – the best browser-based rich text editor.",
   "keywords": [
     "ckeditor5-build",
@@ -25,28 +25,28 @@
     "build"
   ],
   "devDependencies": {
-    "@ckeditor/ckeditor5-adapter-ckfinder": "^19.0.1",
-    "@ckeditor/ckeditor5-autoformat": "^19.0.1",
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-ckfinder": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1",
+    "@ckeditor/ckeditor5-adapter-ckfinder": "^20.0.0",
+    "@ckeditor/ckeditor5-autoformat": "^20.0.0",
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-ckfinder": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
     "@ckeditor/ckeditor5-dev-utils": "^20.0.0",
     "@ckeditor/ckeditor5-dev-webpack-plugin": "^20.0.0",
-    "@ckeditor/ckeditor5-easy-image": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-inline": "^19.0.1",
-    "@ckeditor/ckeditor5-essentials": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-indent": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-media-embed": "^19.1.0",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-paste-from-office": "^19.0.2",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-theme-lark": "^19.1.0",
+    "@ckeditor/ckeditor5-easy-image": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-inline": "^20.0.0",
+    "@ckeditor/ckeditor5-essentials": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-indent": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-media-embed": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-paste-from-office": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-theme-lark": "^20.0.0",
     "postcss-loader": "^3.0.0",
     "raw-loader": "^4.0.1",
     "style-loader": "^1.2.1",

+ 11 - 11
packages/ckeditor5-ckfinder/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-ckfinder",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "CKFinder integration for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,18 +10,18 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-adapter-ckfinder": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1"
+    "@ckeditor/ckeditor5-adapter-ckfinder": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 9 - 9
packages/ckeditor5-clipboard/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-clipboard",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Clipboard integration for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,16 +10,16 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 4 - 4
packages/ckeditor5-cloud-services/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-cloud-services",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "CKEditor 5's Cloud Services integration layer.",
   "keywords": [
     "ckeditor",
@@ -9,11 +9,11 @@
     "ckeditor5-lib"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor-cloud-services-core": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1"
+    "@ckeditor/ckeditor-cloud-services-core": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1"
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 14 - 14
packages/ckeditor5-code-block/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-code-block",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Code Block feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,22 +10,22 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-alignment": "^19.0.1",
-    "@ckeditor/ckeditor5-autoformat": "^19.0.1",
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-indent": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-alignment": "^20.0.0",
+    "@ckeditor/ckeditor5-autoformat": "^20.0.0",
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-indent": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 17 - 17
packages/ckeditor5-core/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-core",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "The core architecture of CKEditor 5 – the best browser-based rich text editor.",
   "keywords": [
     "ckeditor5-lib",
@@ -21,25 +21,25 @@
     "framework"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-autoformat": "^19.0.1",
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-essentials": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-indent": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-media-embed": "^19.1.0",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-ui": "^19.0.1"
+    "@ckeditor/ckeditor5-autoformat": "^20.0.0",
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-essentials": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-indent": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-media-embed": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 10 - 10
packages/ckeditor5-easy-image/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-easy-image",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Easy Image feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,17 +10,17 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor-cloud-services-core": "^19.0.1",
-    "@ckeditor/ckeditor5-cloud-services": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-upload": "^19.0.1"
+    "@ckeditor/ckeditor-cloud-services-core": "^20.0.0",
+    "@ckeditor/ckeditor5-cloud-services": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-upload": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 11 - 11
packages/ckeditor5-editor-balloon/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-editor-balloon",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Balloon editor implementation for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -9,19 +9,19 @@
     "ckeditor5-editor"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 11 - 11
packages/ckeditor5-editor-classic/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-editor-classic",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Classic editor implementation for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -9,19 +9,19 @@
     "ckeditor5-editor"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 11 - 11
packages/ckeditor5-editor-decoupled/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-editor-decoupled",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Decoupled editor implementation for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -9,19 +9,19 @@
     "ckeditor5-editor"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 11 - 11
packages/ckeditor5-editor-inline/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-editor-inline",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Inline editor implementation for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -9,19 +9,19 @@
     "ckeditor5-editor"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 17 - 17
packages/ckeditor5-engine/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-engine",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "The editing engine of CKEditor 5 – the best browser-based rich text editor.",
   "keywords": [
     "wysiwyg",
@@ -21,25 +21,25 @@
     "ckeditor 5"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-essentials": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-theme-lark": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1",
-    "@ckeditor/ckeditor5-widget": "^19.1.0"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-essentials": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-theme-lark": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0",
+    "@ckeditor/ckeditor5-widget": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 3 - 0
packages/ckeditor5-engine/src/view/downcastwriter.js

@@ -214,6 +214,9 @@ export default class DowncastWriter {
 	 *		writer.createEditableElement( 'div' );
 	 *		writer.createEditableElement( 'div', { id: 'foo-1234' } );
 	 *
+	 * Note: The editable element is to be used in the editing pipeline. Usually, together with
+	 * {@link module:widget/utils~toWidgetEditable `toWidgetEditable()`}.
+	 *
 	 * @param {String} name Name of the element.
 	 * @param {Object} [attributes] Elements attributes.
 	 * @returns {module:engine/view/editableelement~EditableElement} Created element.

+ 10 - 10
packages/ckeditor5-enter/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-enter",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Enter feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,17 +10,17 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 9 - 9
packages/ckeditor5-essentials/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-essentials",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Essential editing features for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,16 +10,16 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-select-all": "^19.0.1",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-select-all": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0"
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 8 - 8
packages/ckeditor5-font/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-font",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Font feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,15 +10,15 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-highlight": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0"
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-highlight": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 16 - 16
packages/ckeditor5-heading/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-heading",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Headings feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,23 +10,23 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-alignment": "^19.0.1",
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1",
-    "@ckeditor/ckeditor5-upload": "^19.0.1"
+    "@ckeditor/ckeditor5-alignment": "^20.0.0",
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0",
+    "@ckeditor/ckeditor5-upload": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 13 - 13
packages/ckeditor5-highlight/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-highlight",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Highilght feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,20 +10,20 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 11 - 11
packages/ckeditor5-horizontal-line/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-horizontal-line",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Horizontal line feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,18 +10,18 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-widget": "^19.1.0"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-widget": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-cloud-services": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-easy-image": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-cloud-services": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-easy-image": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 8 - 3
packages/ckeditor5-image/docs/_snippets/features/image-link.html

@@ -1,10 +1,15 @@
+<style>
+	.image > a {
+		display: block;
+		border: solid 2px #1b3af2; /* The color of the link text on this page. */
+	}
+</style>
 <div id="snippet-image-link">
-	<h3>Click me!</h3>
+	<h3>Linked image</h3>
 
-	<figure class="image image-style-side">
+	<figure class="image">
 		<a href="https://cksource.com">
 			<img src="%BASE_PATH%/assets/img/fields.jpg" alt="Autumn fields">
 		</a>
-		<figcaption>Autumn fields by Aleksander Nowodziński</figcaption>
 	</figure>
 </div>

+ 20 - 20
packages/ckeditor5-image/docs/features/image.md

@@ -17,7 +17,7 @@ The [`@ckeditor/ckeditor5-image`](https://www.npmjs.com/package/@ckeditor/ckedit
 * {@link module:link/linkimage~LinkImage} adds support for linking images.
 
 <info-box info>
-	All features listed above except the image resize are enabled by default in all WYSIWYG editor builds.
+	All features listed above except the image resize and image linking are enabled by default in all WYSIWYG editor builds.
 
 	Check the documentation of each subfeature to learn more about it.
 </info-box>
@@ -257,17 +257,6 @@ ClassicEditor
 
 {@snippet features/image-resize-px}
 
-### Future development
-
-Resizing by dragging handles displayed over the image is the first option provided, but we consider implementing more with time. Some of the possible next steps include:
-
-* [Buttons such as "50%", "75%" and "100%" in the image toolbar](https://github.com/ckeditor/ckeditor5-image/issues/322), allowing the user to choose only from predefined widths.
-* [A traditional "width" input](https://github.com/ckeditor/ckeditor5-image/issues/319). Or an option to set both width and height separately.
-* [An option to restore the original image size](https://github.com/ckeditor/ckeditor5-image/issues/318).
-* [Limiting image resize](https://github.com/ckeditor/ckeditor5-image/issues/320) with min and max values.
-
-We count on your feedback. React with 👍 under the respective tickets or [report new ones](https://github.com/ckeditor/ckeditor5-image/issues) if you have different ideas.
-
 ## Linking images
 
 The {@link module:link/linkimage~LinkImage} plugin adds support for linking images:
@@ -275,17 +264,20 @@ The {@link module:link/linkimage~LinkImage} plugin adds support for linking imag
 ```html
 <figure class="image">
 	<a href="...">
-	    <img src="..." alt="...">
-    </a>
+		<img src="..." alt="...">
+	</a>
+	<figcaption>Image caption</figcaption>
 </figure>
 ```
 
-Enabling linking images brings support for link editing to the rich-text editor. See the {@link features/link Link guide} to read more about the feature.
-
 {@snippet features/image-link}
 
+### Enabling image linking
+
+The image linking feature is not enabled by default in any of the editor builds. In order to enable it, you need to load the {@link module:link/linkimage~LinkImage} plugin. Read more in the [Installation](#installation) section.
+
 <info-box info>
-	The {@link module:link/linkimage~LinkImage} plugin is available in the [@ckeditor/ckeditor5-link](https://www.npmjs.com/package/@ckeditor/ckeditor5-link) package.
+	The {@link module:link/linkimage~LinkImage} plugin is available in the {@link api/link `@ckeditor/ckeditor5-link`} package.
 </info-box>
 
 ## Installation
@@ -293,7 +285,7 @@ Enabling linking images brings support for link editing to the rich-text editor.
 To add image features to your rich-text editor, install the [`@ckeditor/ckeditor5-image`](https://www.npmjs.com/package/@ckeditor/ckeditor5-image) package:
 
 ```bash
-npm install --save @ckeditor/ckeditor5-image
+npm install --save @ckeditor/ckeditor5-image @ckeditor/ckeditor5-link
 ```
 
 And add the plugins that you need to your plugin list. You also need to set the image toolbar items.
@@ -304,12 +296,20 @@ import ImageToolbar from '@ckeditor/ckeditor5-image/src/imagetoolbar';
 import ImageCaption from '@ckeditor/ckeditor5-image/src/imagecaption';
 import ImageStyle from '@ckeditor/ckeditor5-image/src/imagestyle';
 import ImageResize from '@ckeditor/ckeditor5-image/src/imageresize';
+import LinkImage from '@ckeditor/ckeditor5-link/src/linkimage';
 
 ClassicEditor
 	.create( document.querySelector( '#editor' ), {
-		plugins: [ Image, ImageToolbar, ImageCaption, ImageStyle, ImageResize ],
+		plugins: [ Image, ImageToolbar, ImageCaption, ImageStyle, ImageResize, LinkImage ],
 		image: {
-			toolbar: [ 'imageTextAlternative', '|', 'imageStyle:full', 'imageStyle:side' ]
+			toolbar: [
+				'imageStyle:full',
+				'imageStyle:side',
+				'|',
+				'imageTextAlternative',
+				'|',
+				'linkImage'
+			]
 		}
 	} )
 	.then( ... )

+ 22 - 22
packages/ckeditor5-image/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-image",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Image feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,29 +10,29 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-upload": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
-    "@ckeditor/ckeditor5-widget": "^19.1.0"
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-upload": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
+    "@ckeditor/ckeditor5-widget": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-cloud-services": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-easy-image": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-indent": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-cloud-services": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-easy-image": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-indent": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 8 - 8
packages/ckeditor5-indent/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-indent",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Block indentation feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,15 +10,15 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-ui": "^19.0.1"
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 4 - 0
packages/ckeditor5-link/docs/_snippets/features/autolink.html

@@ -0,0 +1,4 @@
+<div id="snippet-autolink">
+	<p>Type space, or Enter or Shift+Enter after a link: ckeditor.com</p>
+	<p>Will link to E-mail addresses also: example@example.com</p>
+</div>

+ 23 - 0
packages/ckeditor5-link/docs/_snippets/features/autolink.js

@@ -0,0 +1,23 @@
+/**
+ * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+
+/* globals console, window, document, ClassicEditor, CS_CONFIG, CKEditorPlugins */
+
+ClassicEditor
+	.create( document.querySelector( '#snippet-autolink' ), {
+		cloudServices: CS_CONFIG,
+		extraPlugins: [
+			CKEditorPlugins.AutoLink
+		],
+		toolbar: {
+			viewportTopOffset: window.getViewportTopOffsetConfig()
+		}
+	} )
+	.then( editor => {
+		window.editor = editor;
+	} )
+	.catch( err => {
+		console.error( err.stack );
+	} );

+ 5 - 0
packages/ckeditor5-link/docs/_snippets/features/build-link-source.js

@@ -7,6 +7,11 @@
 
 import ClassicEditor from '@ckeditor/ckeditor5-build-classic/src/ckeditor';
 import { CS_CONFIG } from '@ckeditor/ckeditor5-cloud-services/tests/_utils/cloud-services-config';
+import AutoLink from '@ckeditor/ckeditor5-link/src/autolink';
+
+window.CKEditorPlugins = {
+	AutoLink
+};
 
 window.ClassicEditor = ClassicEditor;
 window.CS_CONFIG = CS_CONFIG;

+ 21 - 0
packages/ckeditor5-link/docs/features/link.md

@@ -236,6 +236,27 @@ ClassicEditor
 	.catch( ... );
 ```
 
+## Autolink feature
+
+You can enable automatic linking of URLs typed or pasted into editor. The `AutoLink` feature will automatically add links to URLs or e-mail addresses.
+
+<info-box>
+	Autolink action can be always reverted using undo (<kbd>CTRL</kbd>+<kbd>Z</kbd>).
+</info-box>
+
+{@snippet features/autolink}
+
+```js
+import AutoLink from '@ckeditor/ckeditor5-link/src/autolink';
+
+ClassicEditor
+	.create( document.querySelector( '#editor' ), {
+		plugins: [ Link, AutoLink, ... ]
+	} )
+	.then( ... )
+	.catch( ... );
+```
+
 ## Installation
 
 <info-box info>

+ 16 - 15
packages/ckeditor5-link/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-link",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Link feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,23 +10,24 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-theme-lark": "^19.1.0",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-code-block": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-theme-lark": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 248 - 0
packages/ckeditor5-link/src/autolink.js

@@ -0,0 +1,248 @@
+/**
+ * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+
+/**
+ * @module link/autolink
+ */
+
+import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
+import TextWatcher from '@ckeditor/ckeditor5-typing/src/textwatcher';
+import getLastTextLine from '@ckeditor/ckeditor5-typing/src/utils/getlasttextline';
+
+const MIN_LINK_LENGTH_WITH_SPACE_AT_END = 4; // Ie: "t.co " (length 5).
+
+// This was tweak from https://gist.github.com/dperini/729294.
+const URL_REG_EXP = new RegExp(
+	// Group 1: Line start or after a space.
+	'(^|\\s)' +
+	// Group 2: Detected URL (or e-mail).
+	'(' +
+		// Protocol identifier or short syntax "//"
+		// a. Full form http://user@foo.bar.baz:8080/foo/bar.html#baz?foo=bar
+		'(' +
+			'(?:(?:(?:https?|ftp):)?\\/\\/)' +
+			// BasicAuth using user:pass (optional)
+			'(?:\\S+(?::\\S*)?@)?' +
+			'(?:' +
+				// Host & domain names.
+				'(?![-_])(?:[-\\w\\u00a1-\\uffff]{0,63}[^-_]\\.)+' +
+				// TLD identifier name.
+				'(?:[a-z\\u00a1-\\uffff]{2,})' +
+			')' +
+			// port number (optional)
+			'(?::\\d{2,5})?' +
+			// resource path (optional)
+			'(?:[/?#]\\S*)?' +
+		')' +
+		'|' +
+		// b. Short form (either www.example.com or example@example.com)
+		'(' +
+			'(www.|(\\S+@))' +
+			// Host & domain names.
+			'((?![-_])(?:[-\\w\\u00a1-\\uffff]{0,63}[^-_]\\.))+' +
+	// TLD identifier name.
+	'(?:[a-z\\u00a1-\\uffff]{2,})' +
+	')' +
+	')$', 'i' );
+
+const URL_GROUP_IN_MATCH = 2;
+
+// Simplified email test - should be run over previously found URL.
+const EMAIL_REG_EXP = /^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i;
+
+/**
+ * The auto link plugin.
+ *
+ * @extends module:core/plugin~Plugin
+ */
+export default class AutoLink extends Plugin {
+	/**
+	 * @inheritDoc
+	 */
+	static get pluginName() {
+		return 'AutoLink';
+	}
+
+	/**
+	 * @inheritDoc
+	 */
+	init() {
+		const editor = this.editor;
+		const selection = editor.model.document.selection;
+
+		selection.on( 'change:range', () => {
+			// Disable plugin when selection is inside a code block.
+			this.isEnabled = !selection.anchor.parent.is( 'codeBlock' );
+		} );
+
+		this._enableTypingHandling();
+	}
+
+	/**
+	 * @inheritDoc
+	 */
+	afterInit() {
+		this._enableEnterHandling();
+		this._enableShiftEnterHandling();
+	}
+
+	/**
+	 * Enables auto-link on typing.
+	 *
+	 * @private
+	 */
+	_enableTypingHandling() {
+		const editor = this.editor;
+
+		const watcher = new TextWatcher( editor.model, text => {
+			// 1. Detect "space" after a text with a potential link.
+			if ( !isSingleSpaceAtTheEnd( text ) ) {
+				return;
+			}
+
+			// 2. Check text before last typed "space".
+			const url = getUrlAtTextEnd( text.substr( 0, text.length - 1 ) );
+
+			if ( url ) {
+				return { url };
+			}
+		} );
+
+		const input = editor.plugins.get( 'Input' );
+
+		watcher.on( 'matched:data', ( evt, data ) => {
+			const { batch, range, url } = data;
+
+			if ( !input.isInput( batch ) ) {
+				return;
+			}
+
+			const linkEnd = range.end.getShiftedBy( -1 ); // Executed after a space character.
+			const linkStart = linkEnd.getShiftedBy( -url.length );
+
+			const linkRange = editor.model.createRange( linkStart, linkEnd );
+
+			this._applyAutoLink( url, linkRange );
+		} );
+
+		watcher.bind( 'isEnabled' ).to( this );
+	}
+
+	/**
+	 * Enables auto-link on <kbd>enter</kbd> key.
+	 *
+	 * @private
+	 */
+	_enableEnterHandling() {
+		const editor = this.editor;
+		const model = editor.model;
+		const enterCommand = editor.commands.get( 'enter' );
+
+		if ( !enterCommand ) {
+			return;
+		}
+
+		enterCommand.on( 'execute', () => {
+			const position = model.document.selection.getFirstPosition();
+
+			const rangeToCheck = model.createRange(
+				model.createPositionAt( position.parent.previousSibling, 0 ),
+				model.createPositionAt( position.parent.previousSibling, 'end' )
+			);
+
+			this._checkAndApplyAutoLinkOnRange( rangeToCheck );
+		} );
+	}
+
+	/**
+	 * Enables auto-link on <kbd>shift</kbd>+<kbd>enter</kbd> key.
+	 *
+	 * @private
+	 */
+	_enableShiftEnterHandling() {
+		const editor = this.editor;
+		const model = editor.model;
+
+		const shiftEnterCommand = editor.commands.get( 'shiftEnter' );
+
+		if ( !shiftEnterCommand ) {
+			return;
+		}
+
+		shiftEnterCommand.on( 'execute', () => {
+			const position = model.document.selection.getFirstPosition();
+
+			const rangeToCheck = model.createRange(
+				model.createPositionAt( position.parent, 0 ),
+				position.getShiftedBy( -1 )
+			);
+
+			this._checkAndApplyAutoLinkOnRange( rangeToCheck );
+		} );
+	}
+
+	/**
+	 * Checks passed range if it contains a linkable text.
+	 *
+	 * @param {module:engine/model/range~Range} rangeToCheck
+	 * @private
+	 */
+	_checkAndApplyAutoLinkOnRange( rangeToCheck ) {
+		const model = this.editor.model;
+		const { text, range } = getLastTextLine( rangeToCheck, model );
+
+		const url = getUrlAtTextEnd( text );
+
+		if ( url ) {
+			const linkRange = model.createRange(
+				range.end.getShiftedBy( -url.length ),
+				range.end
+			);
+
+			this._applyAutoLink( url, linkRange );
+		}
+	}
+
+	/**
+	 * Applies link on a given range.
+	 *
+	 * @param {String} url URL to link.
+	 * @param {module:engine/model/range~Range} range Text range to apply link attribute.
+	 * @private
+	 */
+	_applyAutoLink( url, range ) {
+		const model = this.editor.model;
+
+		if ( !this.isEnabled || !isLinkAllowedOnRange( range, model ) ) {
+			return;
+		}
+
+		// Enqueue change to make undo step.
+		model.enqueueChange( writer => {
+			const linkHrefValue = isEmail( url ) ? `mailto://${ url }` : url;
+
+			writer.setAttribute( 'linkHref', linkHrefValue, range );
+		} );
+	}
+}
+
+// Check if text should be evaluated by the plugin in order to reduce number of RegExp checks on whole text.
+function isSingleSpaceAtTheEnd( text ) {
+	return text.length > MIN_LINK_LENGTH_WITH_SPACE_AT_END && text[ text.length - 1 ] === ' ' && text[ text.length - 2 ] !== ' ';
+}
+
+function getUrlAtTextEnd( text ) {
+	const match = URL_REG_EXP.exec( text );
+
+	return match ? match[ URL_GROUP_IN_MATCH ] : null;
+}
+
+function isEmail( linkHref ) {
+	return EMAIL_REG_EXP.exec( linkHref );
+}
+
+function isLinkAllowedOnRange( range, model ) {
+	return model.schema.checkAttributeInSelection( model.createSelection( range ), 'linkHref' );
+}

+ 372 - 0
packages/ckeditor5-link/tests/autolink.js

@@ -0,0 +1,372 @@
+/**
+ * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+
+import ModelTestEditor from '@ckeditor/ckeditor5-core/tests/_utils/modeltesteditor';
+import CodeBlockEditing from '@ckeditor/ckeditor5-code-block/src/codeblockediting';
+import Enter from '@ckeditor/ckeditor5-enter/src/enter';
+import Input from '@ckeditor/ckeditor5-typing/src/input';
+import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph';
+import ShiftEnter from '@ckeditor/ckeditor5-enter/src/shiftenter';
+import UndoEditing from '@ckeditor/ckeditor5-undo/src/undoediting';
+import { getData, setData } from '@ckeditor/ckeditor5-engine/src/dev-utils/model';
+
+import LinkEditing from '../src/linkediting';
+import AutoLink from '../src/autolink';
+
+describe( 'AutoLink', () => {
+	let editor;
+
+	it( 'should be named', () => {
+		expect( AutoLink.pluginName ).to.equal( 'AutoLink' );
+	} );
+
+	it( 'should be loaded without Enter & ShiftEnter features', async () => {
+		const editor = await ModelTestEditor.create( {
+			plugins: [ Paragraph, Input, LinkEditing, AutoLink ]
+		} );
+
+		await editor.destroy();
+	} );
+
+	describe( 'auto link behavior', () => {
+		let model;
+
+		beforeEach( async () => {
+			editor = await ModelTestEditor.create( {
+				plugins: [ Paragraph, Input, Enter, ShiftEnter, LinkEditing, AutoLink ]
+			} );
+
+			model = editor.model;
+
+			setData( model, '<paragraph>[]</paragraph>' );
+		} );
+
+		it( 'does nothing on typing normal text', () => {
+			simulateTyping( 'Cupcake ipsum dolor. Sit amet caramels. Pie jelly-o lemon drops fruitcake.' );
+
+			expect( getData( model ) ).to.equal(
+				'<paragraph>Cupcake ipsum dolor. Sit amet caramels. Pie jelly-o lemon drops fruitcake.[]</paragraph>'
+			);
+		} );
+
+		it( 'does not add linkHref attribute to a text link while typing', () => {
+			simulateTyping( 'https://www.cksource.com' );
+
+			expect( getData( model ) ).to.equal(
+				'<paragraph>https://www.cksource.com[]</paragraph>'
+			);
+		} );
+
+		it( 'adds linkHref attribute to a text link after space', () => {
+			simulateTyping( 'https://www.cksource.com ' );
+
+			expect( getData( model ) ).to.equal(
+				'<paragraph><$text linkHref="https://www.cksource.com">https://www.cksource.com</$text> []</paragraph>'
+			);
+		} );
+
+		it( 'does not add linkHref attribute if linkHref is not allowed', () => {
+			model.schema.addAttributeCheck( () => false ); // Disable all attributes.
+
+			simulateTyping( 'https://www.cksource.com ' );
+
+			expect( getData( model ) ).to.equal(
+				'<paragraph>https://www.cksource.com []</paragraph>'
+			);
+		} );
+
+		it( 'does not add linkHref attribute if plugin is force-disabled (on space)', () => {
+			editor.plugins.get( 'AutoLink' ).forceDisabled( 'test' );
+
+			simulateTyping( 'https://www.cksource.com ' );
+
+			expect( getData( model ) ).to.equal(
+				'<paragraph>https://www.cksource.com []</paragraph>'
+			);
+		} );
+
+		it( 'does not add linkHref attribute if plugin is force-disabled (on enter)', () => {
+			setData( model, '<paragraph>https://www.cksource.com[]</paragraph>' );
+			editor.plugins.get( 'AutoLink' ).forceDisabled( 'test' );
+
+			editor.execute( 'enter' );
+
+			expect( getData( model ) ).to.equal(
+				'<paragraph>https://www.cksource.com</paragraph>' +
+				'<paragraph>[]</paragraph>'
+			);
+		} );
+
+		it( 'does not add linkHref attribute if plugin is force-disabled (on shift enter)', () => {
+			setData( model, '<paragraph>https://www.cksource.com[]</paragraph>' );
+			editor.plugins.get( 'AutoLink' ).forceDisabled( 'test' );
+
+			editor.execute( 'shiftEnter' );
+
+			expect( getData( model ) ).to.equal(
+				'<paragraph>https://www.cksource.com<softBreak></softBreak>[]</paragraph>'
+			);
+		} );
+
+		it( 'adds linkHref attribute to a text link after space (inside paragraph)', () => {
+			setData( model, '<paragraph>Foo Bar [] Baz</paragraph>' );
+
+			simulateTyping( 'https://www.cksource.com ' );
+
+			expect( getData( model ) ).to.equal(
+				'<paragraph>Foo Bar <$text linkHref="https://www.cksource.com">https://www.cksource.com</$text> [] Baz</paragraph>'
+			);
+		} );
+
+		it( 'adds linkHref attribute to a text link on shift enter', () => {
+			setData( model, '<paragraph>https://www.cksource.com[]</paragraph>' );
+
+			editor.execute( 'shiftEnter' );
+
+			// TODO: should test with selection but master has a bug. See: https://github.com/ckeditor/ckeditor5/issues/7459.
+			expect( getData( model, { withoutSelection: true } ) ).to.equal(
+				'<paragraph>' +
+				'<$text linkHref="https://www.cksource.com">https://www.cksource.com</$text>' +
+				'<softBreak></softBreak>' +
+				'</paragraph>'
+			);
+		} );
+
+		it( 'does not add linkHref attribute to a text link after double soft break', () => {
+			setData( model, '<paragraph>https://www.cksource.com<softBreak></softBreak>[]</paragraph>' );
+
+			editor.execute( 'shiftEnter' );
+
+			expect( getData( model ) ).to.equal(
+				'<paragraph>https://www.cksource.com<softBreak></softBreak><softBreak></softBreak>[]</paragraph>'
+			);
+		} );
+
+		it( 'adds linkHref attribute to a text link on enter', () => {
+			setData( model, '<paragraph>https://www.cksource.com[]</paragraph>' );
+
+			editor.execute( 'enter' );
+
+			expect( getData( model ) ).to.equal(
+				'<paragraph>' +
+					'<$text linkHref="https://www.cksource.com">https://www.cksource.com</$text>' +
+				'</paragraph>' +
+				'<paragraph>[]</paragraph>'
+			);
+		} );
+
+		it( 'adds "mailto://" to link of detected email addresses', () => {
+			simulateTyping( 'newsletter@cksource.com ' );
+
+			expect( getData( model ) ).to.equal(
+				'<paragraph><$text linkHref="mailto://newsletter@cksource.com">newsletter@cksource.com</$text> []</paragraph>'
+			);
+		} );
+
+		// Some examples came from https://mathiasbynens.be/demo/url-regex.
+		describe( 'supported URL', () => {
+			const supportedURLs = [
+				'http://cksource.com',
+				'https://cksource.com',
+				'https://cksource.com:8080',
+				'http://www.cksource.com',
+				'hTtP://WwW.cKsOuRcE.cOm',
+				'www.cksource.com',
+				'http://foo.bar.cksource.com',
+				'http://www.cksource.com/some/path/index.html#abc',
+				'http://www.cksource.com/some/path/index.html?foo=bar',
+				'http://www.cksource.com/some/path/index.html?foo=bar#abc',
+				'http://www.cksource.com:8080/some/path/index.html?foo=bar#abc',
+				'http://www.cksource.com/some/path/index.html#abc?foo=bar',
+				'ftp://cksource.com',
+				'http://cksource.com/foo_bar',
+				'http://cksource.com/foo_bar/',
+				'http://cksource.com/foo_bar_(wikipedia)',
+				'http://cksource.com/foo_bar_(wikipedia)_(again)',
+				'http://www.cksource.com/wpstyle/?p=364',
+				'http://www.cksource.com/wpstyle/?bar=baz&inga=42&quux',
+				'http://userid:password@example.com:8080' +
+				'http://userid:password@example.com:8080/' +
+				'http://userid@cksource.com' +
+				'http://userid@cksource.com/' +
+				'http://userid@cksource.com:8080' +
+				'http://userid@cksource.com:8080/' +
+				'http://userid:password@cksource.com' +
+				'http://userid:password@cksource.com/' +
+				'http://🥳df.ws/123',
+				'http://🥳.ws/富',
+				'http://🥳.ws',
+				'http://🥳.ws/',
+				'http://cksource.com/blah_(wikipedia)#cite-1',
+				'http://cksource.com/blah_(wikipedia)_blah#cite-1',
+				'http://cksource.com/unicode_(🥳)_in_parens',
+				'http://cksource.com/(something)?after=parens',
+				'http://🥳.cksource.com/',
+				'http://code.cksource.com/woot/#&product=browser',
+				'http://j.mp',
+				'ftp://cksource.com/baz',
+				'http://cksource.com/?q=Test%20URL-encoded%20stuff',
+				'http://مثال.إختبار',
+				'http://例子.测试',
+				'http://उदाहरण.परीक्षा',
+				'http://1337.net',
+				'http://a.b-c.de'
+			];
+
+			for ( const supportedURL of supportedURLs ) {
+				it( `should detect "${ supportedURL }" as a valid URL`, () => {
+					simulateTyping( supportedURL + ' ' );
+
+					expect( getData( model ) ).to.equal(
+						`<paragraph><$text linkHref="${ supportedURL }">${ supportedURL }</$text> []</paragraph>` );
+				} );
+			}
+		} );
+
+		describe( 'invalid or supported URL', () => {
+			// Some examples came from https://mathiasbynens.be/demo/url-regex.
+			const unsupportedOrInvalid = [
+				'http://',
+				'http://.',
+				'http://..',
+				'http://../',
+				'http://🥳',
+				'http://?',
+				'http://??',
+				'http://??/',
+				'http://#',
+				'http://##',
+				'http://##/',
+				'//',
+				'//a',
+				'///a',
+				'///',
+				'http:///a',
+				'rdar://1234',
+				'h://test',
+				':// foo bar',
+				'ftps://foo.bar/',
+				'http://-error-.invalid/',
+				'http://localhost',
+				'http:/cksource.com',
+				'cksource.com',
+				'ww.cksource.com'
+			];
+
+			for ( const unsupportedURL of unsupportedOrInvalid ) {
+				it( `should not detect "${ unsupportedURL }" as a valid URL`, () => {
+					simulateTyping( unsupportedURL + ' ' );
+
+					expect( getData( model ) ).to.equal(
+						`<paragraph>${ unsupportedURL } []</paragraph>` );
+				} );
+			}
+		} );
+	} );
+
+	describe( 'Undo integration', () => {
+		let model;
+
+		beforeEach( async () => {
+			editor = await ModelTestEditor.create( {
+				plugins: [ Paragraph, Input, Enter, ShiftEnter, LinkEditing, AutoLink, UndoEditing ]
+			} );
+
+			model = editor.model;
+
+			setData( model, '<paragraph>https://www.cksource.com[]</paragraph>' );
+		} );
+
+		it( 'should undo auto-linking (after space)', () => {
+			simulateTyping( ' ' );
+
+			editor.commands.execute( 'undo' );
+
+			expect( getData( model ) ).to.equal(
+				'<paragraph>https://www.cksource.com []</paragraph>'
+			);
+		} );
+
+		it( 'should undo auto-linking (after <softBreak>)', () => {
+			editor.execute( 'shiftEnter' );
+
+			editor.commands.execute( 'undo' );
+
+			expect( getData( model ) ).to.equal(
+				'<paragraph>https://www.cksource.com<softBreak></softBreak>[]</paragraph>'
+			);
+		} );
+
+		it( 'should undo auto-linking (after enter)', () => {
+			editor.execute( 'enter' );
+
+			editor.commands.execute( 'undo' );
+
+			expect( getData( model ) ).to.equal(
+				'<paragraph>https://www.cksource.com</paragraph>' +
+				'<paragraph>[]</paragraph>'
+			);
+		} );
+	} );
+
+	describe( 'Code blocks integration', () => {
+		let model;
+
+		beforeEach( async () => {
+			editor = await ModelTestEditor.create( {
+				plugins: [ Paragraph, Input, Enter, ShiftEnter, LinkEditing, AutoLink, CodeBlockEditing ]
+			} );
+
+			model = editor.model;
+		} );
+
+		it( 'should be disabled inside code blocks (on space)', () => {
+			setData( model, '<codeBlock language="plaintext">some [] code</codeBlock>' );
+
+			const plugin = editor.plugins.get( 'AutoLink' );
+
+			simulateTyping( 'www.cksource.com' );
+
+			expect( plugin.isEnabled ).to.be.false;
+			expect( getData( model, { withoutSelection: true } ) )
+				.to.equal( '<codeBlock language="plaintext">some www.cksource.com code</codeBlock>' );
+		} );
+
+		it( 'should be disabled inside code blocks (on enter)', () => {
+			setData( model, '<codeBlock language="plaintext">some www.cksource.com[] code</codeBlock>' );
+
+			const plugin = editor.plugins.get( 'AutoLink' );
+
+			editor.execute( 'enter' );
+
+			expect( plugin.isEnabled ).to.be.false;
+			expect( getData( model, { withoutSelection: true } ) ).to.equal(
+				'<codeBlock language="plaintext">some www.cksource.com</codeBlock>' +
+				'<codeBlock language="plaintext"> code</codeBlock>'
+			);
+		} );
+
+		it( 'should be disabled inside code blocks (on shift-enter)', () => {
+			setData( model, '<codeBlock language="plaintext">some www.cksource.com[] code</codeBlock>' );
+
+			const plugin = editor.plugins.get( 'AutoLink' );
+
+			editor.execute( 'shiftEnter' );
+
+			expect( plugin.isEnabled ).to.be.false;
+			expect( getData( model, { withoutSelection: true } ) ).to.equal(
+				'<codeBlock language="plaintext">some www.cksource.com<softBreak></softBreak> code</codeBlock>'
+			);
+		} );
+	} );
+
+	function simulateTyping( text ) {
+		const letters = text.split( '' );
+
+		for ( const letter of letters ) {
+			editor.execute( 'input', { text: letter } );
+		}
+	}
+} );

+ 11 - 0
packages/ckeditor5-link/tests/manual/autolink.html

@@ -0,0 +1,11 @@
+<div id="editor">
+	<p>Should auto link: http://ckeditor.com</p>
+	<p>
+		Danish tootsie roll muffin bonbon muffin candy. Croissant cupcake muffin pastry jujubes sweet roll. Gingerbread jelly donut chocolate muffin ice cream cheesecake pastry. Caramels tiramisu muffin cookie. Tootsie roll liquorice cupcake jelly-o lemon drops lollipop. Cupcake soufflé candy canes danish biscuit tiramisu chocolate chocolate. Sesame snaps caramels brownie. Cookie biscuit biscuit apple pie candy. Chocolate apple pie sweet roll marshmallow wafer jelly beans sweet cake. Bear claw pastry wafer macaroon cake soufflé gummi bears cheesecake sweet. Jelly-o jelly beans halvah apple pie. Powder soufflé donut chocolate. Chocolate cake pie chupa chups donut dessert tootsie roll fruitcake. Apple pie cheesecake bonbon sweet roll tiramisu chupa chups ice cream gummies dessert.
+		Caramels sweet pie cake carrot cake liquorice. Dessert gingerbread chocolate cake macaroon gummi bears carrot cake sesame snaps. Marshmallow jujubes cake jelly. Tiramisu lollipop chocolate cake. Jelly beans topping gingerbread jelly. Ice cream jujubes liquorice caramels candy canes. Marshmallow fruitcake danish jelly beans macaroon tart chupa chups cake. Dragée cheesecake danish sugar plum marshmallow sweet roll jujubes. Gummi bears marzipan marzipan. Sweet roll jujubes chocolate. Pastry lemon drops dragée sesame snaps ice cream. Donut candy dragée sweet roll.
+		Candy cupcake carrot cake dragée. Brownie oat cake candy. Fruitcake candy canes cookie muffin sweet roll dessert. Sweet icing halvah dragée muffin. Cotton candy carrot cake croissant sweet caramels halvah jelly beans lemon drops danish. Fruitcake dessert pudding marshmallow sugar plum. Cake cotton candy jelly-o sweet tootsie roll halvah chocolate cake. Lollipop cake marshmallow chocolate chocolate bar. Sesame snaps halvah fruitcake lollipop bonbon bear claw danish chocolate cake. Chupa chups sweet roll candy canes jelly. Danish macaroon ice cream cheesecake cake. Jelly beans caramels fruitcake donut ice cream cookie chupa chups pie. Toffee danish jelly beans chupa chups sweet topping chupa chups lollipop. Oat cake jelly-o pie fruitcake chupa chups.
+		Gingerbread caramels gummi bears chupa chups topping pie macaroon. Toffee apple pie carrot cake. Cake muffin sesame snaps candy canes cake marzipan carrot cake oat cake. Liquorice tootsie roll chupa chups cake sweet. Fruitcake tootsie roll tart. Caramels lemon drops cookie sweet roll halvah icing carrot cake jelly-o. Chocolate cake jelly muffin candy apple pie tiramisu. Chocolate lollipop gummi bears pie cake marshmallow toffee cheesecake. Gingerbread tootsie roll topping cake pastry. Candy lemon drops bonbon icing fruitcake chupa chups sugar plum. Jelly beans biscuit sugar plum jelly-o cupcake. Macaroon sesame snaps tiramisu.
+		Cookie jujubes jelly-o candy icing pie bonbon. Chocolate soufflé apple pie jelly beans jujubes. Macaroon pastry danish. Lemon drops lollipop cake bear claw cake. Pastry lemon drops chocolate cake liquorice chocolate toffee. Carrot cake dragée liquorice powder gingerbread bonbon jelly halvah. Lollipop candy canes lollipop candy sugar plum. Danish cake candy. Tiramisu candy jelly. Pudding cookie jelly brownie icing cupcake gingerbread sweet. Powder donut jelly-o sugar plum. Sweet pie gummi bears cake chupa chups bonbon chocolate cake cake danish. Tart cheesecake cheesecake wafer cotton candy.
+		<strong>Should auto link</strong>: http://ckeditor.com
+	</p>
+</div>

+ 30 - 0
packages/ckeditor5-link/tests/manual/autolink.js

@@ -0,0 +1,30 @@
+/**
+ * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+
+/* globals console, window, document */
+
+import ClassicEditor from '@ckeditor/ckeditor5-editor-classic/src/classiceditor';
+
+import Enter from '@ckeditor/ckeditor5-enter/src/enter';
+import Paragraph from '@ckeditor/ckeditor5-paragraph/src/paragraph';
+import ShiftEnter from '@ckeditor/ckeditor5-enter/src/shiftenter';
+import Typing from '@ckeditor/ckeditor5-typing/src/typing';
+import Undo from '@ckeditor/ckeditor5-undo/src/undo';
+
+import Link from '../../src/link';
+import AutoLink from '../../src/autolink';
+import Bold from '@ckeditor/ckeditor5-basic-styles/src/bold';
+
+ClassicEditor
+	.create( document.querySelector( '#editor' ), {
+		plugins: [ Bold, Typing, Paragraph, Undo, Enter, ShiftEnter, Link, AutoLink ],
+		toolbar: [ 'link', 'undo', 'redo' ]
+	} )
+	.then( editor => {
+		window.editor = editor;
+	} )
+	.catch( err => {
+		console.error( err.stack );
+	} );

+ 25 - 0
packages/ckeditor5-link/tests/manual/autolink.md

@@ -0,0 +1,25 @@
+## AutoLink feature
+
+### After a space
+
+1. Type a URL:
+    - Staring with `http://`.
+    - staring with `https://`.
+    - staring without a protocol (www.cksource.com).
+    - e-mail address should be linked using `mailto://` (in `linkHref` attribute value only).
+2. Type space after a URL.
+3. Check if text typed before space get converted to link.
+
+### After a soft break/new paragraph
+
+1. Type a URL as in base scenario.
+2. Press <kbd>Enter</kbd> or <kbd>Shift</kbd>+<kbd>Enter</kbd> after a link.
+3. Check if text typed pressed key get converted to link.
+
+### Undo integration
+
+1. Execute auto link either with "space" or with "enter" scenarios.
+2. Execute undo.
+3. Check if *only* created link was removed:
+    - For "space" - the space after the text link should be preserved.
+    - For "enter" - the new block or `<softBreak>` should be preserved.

+ 19 - 19
packages/ckeditor5-list/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-list",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Ordered and unordered lists feature to CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,26 +10,26 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-font": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-highlight": "^19.0.1",
-    "@ckeditor/ckeditor5-indent": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-font": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-highlight": "^20.0.0",
+    "@ckeditor/ckeditor5-indent": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 2 - 2
packages/ckeditor5-markdown-gfm/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-markdown-gfm",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "GitHub Flavored Markdown data processor for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,7 +10,7 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-engine": "^19.0.1"
+    "@ckeditor/ckeditor5-engine": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 17 - 17
packages/ckeditor5-media-embed/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-media-embed",
-  "version": "19.1.0",
+  "version": "20.0.0",
   "description": "Media Embed feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,24 +10,24 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
-    "@ckeditor/ckeditor5-widget": "^19.1.0"
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
+    "@ckeditor/ckeditor5-widget": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-balloon": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-table": "^19.1.0"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-balloon": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 16 - 16
packages/ckeditor5-mention/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-mention",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Mention feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,24 +10,24 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-font": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-undo": "^19.0.1",
-    "@ckeditor/ckeditor5-widget": "^19.1.0",
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-font": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0",
+    "@ckeditor/ckeditor5-widget": "^20.0.0",
     "lodash": "^4.17.15"
   },
   "engines": {

+ 11 - 11
packages/ckeditor5-page-break/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-page-break",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Page break feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,18 +10,18 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-widget": "^19.1.0"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-widget": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-cloud-services": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-easy-image": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-cloud-services": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-easy-image": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 13 - 13
packages/ckeditor5-paragraph/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-paragraph",
-  "version": "19.1.0",
+  "version": "20.0.0",
   "description": "Paragraph feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,20 +10,20 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 17 - 17
packages/ckeditor5-paste-from-office/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-paste-from-office",
-  "version": "19.0.2",
+  "version": "20.0.0",
   "description": "Paste from Office feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,24 +10,24 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1"
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-cloud-services": "^19.0.1",
-    "@ckeditor/ckeditor5-easy-image": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-font": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-utils": "^19.0.2"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-cloud-services": "^20.0.0",
+    "@ckeditor/ckeditor5-easy-image": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-font": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 15 - 15
packages/ckeditor5-remove-format/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-remove-format",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Remove Format feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,22 +10,22 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 14 - 14
packages/ckeditor5-restricted-editing/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-restricted-editing",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "A restricted editing feature for CKEditor 5 editors.",
   "keywords": [
     "ckeditor",
@@ -9,21 +9,21 @@
     "ckeditor5-lib"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 12 - 12
packages/ckeditor5-select-all/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-select-all",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Select all feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -9,19 +9,19 @@
     "ckeditor5-lib"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-essentials": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-essentials": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 9 - 9
packages/ckeditor5-special-characters/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-special-characters",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Special characters feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,16 +10,16 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-easy-image": "^19.0.1",
-    "@ckeditor/ckeditor5-cloud-services": "^19.0.1"
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-easy-image": "^20.0.0",
+    "@ckeditor/ckeditor5-cloud-services": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 18 - 18
packages/ckeditor5-table/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-table",
-  "version": "19.1.0",
+  "version": "20.0.0",
   "description": "Table feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,26 +10,26 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-widget": "^19.1.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-widget": "^20.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-alignment": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-horizontal-line": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-indent": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-media-embed": "^19.1.0",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
+    "@ckeditor/ckeditor5-alignment": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-horizontal-line": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-indent": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-media-embed": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
     "json-diff": "^0.5.4",
     "lodash-es": "^4.17.15"
   },

+ 25 - 25
packages/ckeditor5-theme-lark/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-theme-lark",
-  "version": "19.1.0",
+  "version": "20.0.0",
   "description": "A bright theme for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -9,32 +9,32 @@
     "ckeditor5-theme"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-ui": "^19.0.1"
+    "@ckeditor/ckeditor5-ui": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-alignment": "^19.0.1",
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-code-block": "^19.0.1",
-    "@ckeditor/ckeditor5-ckfinder": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-balloon": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-font": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-highlight": "^19.0.1",
-    "@ckeditor/ckeditor5-indent": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-media-embed": "^19.1.0",
-    "@ckeditor/ckeditor5-page-break": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-remove-format": "^19.0.1",
-    "@ckeditor/ckeditor5-restricted-editing": "^19.0.1",
-    "@ckeditor/ckeditor5-select-all": "^19.0.1",
-    "@ckeditor/ckeditor5-special-characters": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
-    "@ckeditor/ckeditor5-table": "^19.1.0"
+    "@ckeditor/ckeditor5-alignment": "^20.0.0",
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-code-block": "^20.0.0",
+    "@ckeditor/ckeditor5-ckfinder": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-balloon": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-font": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-highlight": "^20.0.0",
+    "@ckeditor/ckeditor5-indent": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-media-embed": "^20.0.0",
+    "@ckeditor/ckeditor5-page-break": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-remove-format": "^20.0.0",
+    "@ckeditor/ckeditor5-restricted-editing": "^20.0.0",
+    "@ckeditor/ckeditor5-select-all": "^20.0.0",
+    "@ckeditor/ckeditor5-special-characters": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 16 - 16
packages/ckeditor5-typing/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-typing",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Typing feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,24 +10,24 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-essentials": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-undo": "^19.0.1",
-    "@ckeditor/ckeditor5-code-block": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-essentials": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-undo": "^20.0.0",
+    "@ckeditor/ckeditor5-code-block": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 18 - 18
packages/ckeditor5-ui/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-ui",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "The UI framework and standard UI library of CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -9,26 +9,26 @@
     "ckeditor5-lib"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-balloon": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-essentials": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-mention": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-horizontal-line": "^19.0.1",
-    "@ckeditor/ckeditor5-typing": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-balloon": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-essentials": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-mention": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-horizontal-line": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 12 - 12
packages/ckeditor5-undo/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-undo",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Undo manager for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,19 +10,19 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 4 - 4
packages/ckeditor5-upload/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-upload",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Upload Feature for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -9,9 +9,9 @@
     "ckeditor5-lib"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 5 - 5
packages/ckeditor5-utils/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-utils",
-  "version": "19.0.2",
+  "version": "20.0.0",
   "description": "Miscellaneous utils used by CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -12,10 +12,10 @@
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-build-classic": "^19.0.2",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
+    "@ckeditor/ckeditor5-build-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
     "assertion-error": "^1.1.0",
     "js-beautify": "^1.11.0"
   },

+ 1 - 1
packages/ckeditor5-utils/src/version.js

@@ -11,7 +11,7 @@
 
 import CKEditorError from './ckeditorerror';
 
-const version = '19.1.1';
+const version = '20.0.0';
 
 /* istanbul ignore next */
 const windowOrGlobal = typeof window === 'object' ? window : global;

+ 6 - 6
packages/ckeditor5-watchdog/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-watchdog",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "A watchdog feature for CKEditor 5 editors. It keeps a CKEditor 5 editor instance running.",
   "keywords": [
     "ckeditor",
@@ -12,11 +12,11 @@
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 20 - 20
packages/ckeditor5-widget/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-widget",
-  "version": "19.1.0",
+  "version": "20.0.0",
   "description": "Widget API for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -9,29 +9,29 @@
     "ckeditor5-lib"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
-    "@ckeditor/ckeditor5-utils": "^19.0.1",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-typing": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-clipboard": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-balloon": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-essentials": "^19.0.1",
-    "@ckeditor/ckeditor5-heading": "^19.0.1",
-    "@ckeditor/ckeditor5-horizontal-line": "^19.0.1",
-    "@ckeditor/ckeditor5-image": "^19.0.1",
-    "@ckeditor/ckeditor5-media-embed": "^19.1.0",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-clipboard": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-balloon": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-essentials": "^20.0.0",
+    "@ckeditor/ckeditor5-heading": "^20.0.0",
+    "@ckeditor/ckeditor5-horizontal-line": "^20.0.0",
+    "@ckeditor/ckeditor5-image": "^20.0.0",
+    "@ckeditor/ckeditor5-media-embed": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
     "@ckeditor/ckeditor5-typing": "^19.0.1",
-    "@ckeditor/ckeditor5-undo": "^19.0.1"
+    "@ckeditor/ckeditor5-undo": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

+ 13 - 13
packages/ckeditor5-word-count/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ckeditor/ckeditor5-word-count",
-  "version": "19.0.1",
+  "version": "20.0.0",
   "description": "Word count and character count features for CKEditor 5.",
   "keywords": [
     "ckeditor",
@@ -10,21 +10,21 @@
     "ckeditor5-plugin"
   ],
   "dependencies": {
-    "@ckeditor/ckeditor5-core": "^19.0.1",
-    "@ckeditor/ckeditor5-ui": "^19.0.1",
+    "@ckeditor/ckeditor5-core": "^20.0.0",
+    "@ckeditor/ckeditor5-ui": "^20.0.0",
     "lodash-es": "^4.17.15"
   },
   "devDependencies": {
-    "@ckeditor/ckeditor5-basic-styles": "^19.0.1",
-    "@ckeditor/ckeditor5-block-quote": "^19.0.1",
-    "@ckeditor/ckeditor5-editor-classic": "^19.0.1",
-    "@ckeditor/ckeditor5-engine": "^19.0.1",
-    "@ckeditor/ckeditor5-enter": "^19.0.1",
-    "@ckeditor/ckeditor5-link": "^19.0.1",
-    "@ckeditor/ckeditor5-list": "^19.0.1",
-    "@ckeditor/ckeditor5-paragraph": "^19.1.0",
-    "@ckeditor/ckeditor5-table": "^19.1.0",
-    "@ckeditor/ckeditor5-utils": "^19.0.1"
+    "@ckeditor/ckeditor5-basic-styles": "^20.0.0",
+    "@ckeditor/ckeditor5-block-quote": "^20.0.0",
+    "@ckeditor/ckeditor5-editor-classic": "^20.0.0",
+    "@ckeditor/ckeditor5-engine": "^20.0.0",
+    "@ckeditor/ckeditor5-enter": "^20.0.0",
+    "@ckeditor/ckeditor5-link": "^20.0.0",
+    "@ckeditor/ckeditor5-list": "^20.0.0",
+    "@ckeditor/ckeditor5-paragraph": "^20.0.0",
+    "@ckeditor/ckeditor5-table": "^20.0.0",
+    "@ckeditor/ckeditor5-utils": "^20.0.0"
   },
   "engines": {
     "node": ">=12.0.0",

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików