Skip to content

Releases: xdan/jodit

4.13.22

Choose a tag to compare

@github-actions github-actions released this 13 Aug 06:05

🐛 Bug Fix

  • Image processor: an image with a percent-encoded data URI (<img src="data:image/svg+xml,%3Csvg...">) made dataURItoBlob call atob on a payload that is not base64, so the editor threw InvalidCharacterError out of the change handler — on every change while such an image was in the content. Percent-encoded payloads are now decoded as well, and a data URI that still cannot be decoded leaves the image untouched instead of breaking the editor. The plugin's private copy of the helper is gone; both paths share modules/uploader/helpers/data-uri-to-blob.

4.13.21

Choose a tag to compare

@github-actions github-actions released this 12 Aug 16:08

🐛 Bug Fix

  • Helpers: when the caret line can only be revealed by scrolling the page itself (e.g. the editor is half-visible in a small viewport), scrollIntoViewIfNeeded fell back to scrollIntoView() with the default block: 'start' — the element was aligned to the viewport top and the page jumped as if PageDown was pressed on every Enter. The fallback now uses block: 'nearest' and scrolls the minimal distance, one line at a time, like a native textarea. Reported by Ralf Pichler (Uniquare, Jodit OEM).

4.13.20

Choose a tag to compare

@github-actions github-actions released this 11 Aug 19:06

🐛 Bug Fix

  • Search: the next/previous/close/replace buttons of the search bar could be reached with Tab but did nothing on Enter/Space — the handlers listened only to pointerdown, while keyboard activation of a native button fires click. Keyboard-initiated clicks (detail === 0, which also covers screen readers) are now handled; pointer behaviour is unchanged. Fixes #1440.

4.13.19

Choose a tag to compare

@github-actions github-actions released this 11 Aug 18:28

🐛 Bug Fix

  • Accessibility / toolbar: split-button dropdown triggers (list type, color, etc.) now participate in Tab navigation and open with Enter/Space, as their role="button" promises. Thanks @Sakshamm-Goyal (#1420, fixes #1419).
  • Accessibility / table: the table-size picker is exposed as an ARIA grid with a single Tab stop — move the active cell with bounded arrow keys (the size preview stays in sync), insert the table with Enter, close the picker with Escape. Mouse and touch keep the same insertion path. Thanks @Sakshamm-Goyal (#1421, fixes #1418).

🏠 Internal

  • CI: the greeting workflow failed on every new issue/PR — actions/first-interaction v3 renamed its inputs to snake_case (issue_message/pr_message/repo_token).
  • Dependencies (dev/build only): webpack-cli 7.2.2, less 4.8.1, @swc/core 1.15.47, @playwright/test 1.62.1, js-yaml 4.3.1, @tony.ganchev/eslint-plugin-header 3.4.4, mini-css-extract-plugin 2.10.2, axios 1.19.0, dotenv 17.4.2, serialize-javascript 7.0.7 (#1424#1439); GitHub Actions: actions/checkout v7, actions/stale v11, actions/labeler v7, softprops/action-gh-release v3. The @eslint/js 10 bump was declined — it pairs with ESLint 10 while the repo is on ESLint 9 (#1432).

4.13.18

Choose a tag to compare

@github-actions github-actions released this 11 Aug 12:27

🐛 Bug Fix

  • Helpers/inView: getBoundingClientRect returns fractional values while scroll offsets are integers, so a container scrolled right up to its limit could still appear to clip the element by a fraction of a pixel — scrollIntoViewIfNeeded then needlessly fell through to elm.scrollIntoView() and scrolled the whole page (breaking e.g. Perfect Scrollbar integrations). Elements clipped by less than a pixel are now treated as visible. Reported by Ralf Pichler (Uniquare, Jodit OEM).

4.13.17

Choose a tag to compare

@github-actions github-actions released this 11 Aug 10:08

🐛 Bug Fix

  • Uploader: with uploader.insertImageAsBase64URI: true the filesWereUploaded event was never fired — images read as data-URI skip the server branch of sendFiles, which was the only place emitting the event. Now it also fires once all dropped/pasted images have been read and inserted as base64. Reported by Ralf Pichler (Uniquare, Jodit OEM).

4.13.16

Choose a tag to compare

@github-actions github-actions released this 06 Aug 07:03

🐛 Bug Fix

  • Enter: pressing Enter with the caret at the bottom of a fixed-height (scrollable) editor left the new line clipped below the visible area — the view only caught up once you started typing. Three stacked causes: after splitting a paragraph the scroll targeted the left (already visible) half instead of the block that keeps the caret; inView treated a line clipped by the container's bottom edge as visible; and Chrome's scroll anchoring shifted the scroll position during the split. The editor now keeps the scroll stable across the split and follows the caret, scrolling the minimal distance (new line aligned to the bottom edge instead of jumping to the top). Fixes #1300.

4.13.15

Choose a tag to compare

@github-actions github-actions released this 05 Aug 17:30

🚀 New Feature

  • Uploader / insert popup: new option uploader.showTabInFileSelector (default true). Set it to false to hide the Upload (drag-and-drop) tab in the image/file insert popup while keeping the uploader configured for the file browser — previously any configured uploader forced the tab to appear. Fixes #1406.

4.13.14

Choose a tag to compare

@github-actions github-actions released this 05 Aug 15:48

💅 Polish

  • Languages: Slovak locale polish — consistent capitalization (Premenovať, Ukážka, Stiahnuť) and translations for the file-browser actions (Upload file, Remove file, Update file list, Select file, Edit image, Tiles view, List view). Thanks @KamikX (#1417).

4.13.13

Choose a tag to compare

@github-actions github-actions released this 05 Aug 04:01

🚀 New Feature

  • Color picker: the palette popup now has a text input for the color value — paste or type a hex code (#FF0000, FF0000, short #F00) or an rgb()/rgba() value and press Enter (or blur) to apply it. Previously the only way to pick a non-palette color was the native browser picker. Invalid values are ignored. Requested in jodit-react#310.

🏠 Internal

  • Regression tests: applying styles/commands (color, fontsize, bold) to a fully selected list hits every <li>, not just one (reported in jodit-react#313 against an older jodit; not reproducible on current code).