github 10play/10tap-editor v1.1.0
Release 1.1.0

2 hours ago

1.1.0 (2026-10-19)

Features

Bug Fixes

  • add a protocol to links typed without one (efc9e7f), closes #255
  • android: give the editor its focus back after a collapsed layout (9ec869e)
  • android: give the editor its focus back when a key would move it (1550357)
  • android: keep a bottom-anchored editor still while keyboards swap (7270cfa)
  • android: keep a custom keyboard open through a rotation (cc62e98)
  • android: keep the editor still when the system keyboard replaces a custom one (3f0031c)
  • android: keep the keyboard up after inserting a link (2d52cb4)
  • android: keep the loading WebView laid out so its accessibility nodes get bounds (bdf2c5d)
  • android: keep the toolbar and keyboard area steady while keyboards swap (ded07f7)
  • android: read newArchEnabled from the library project so React Native 0.82+ builds codegen (94df839)
  • android: refocus the autofocus input when it kept focus without the IME (101f15e)
  • android: report an IME that opens before its insets have a height (5475c94)
  • android: show the IME again when autofocus could not bring it up (2b3226f)
  • android: show the keyboard when the editor is focused and it stays down (dc7efea)
  • android: stop scripting a WebView whose renderer is gone (bea6a67)
  • blur before dropping the latch when dismissing an unfocused open (f448e58)
  • content: ignore fetched content that predates a later setContent (a458800)
  • content: keep useEditorContent current with legacy bundles (dceab95)
  • core: parse inline-only HTML in setContent with preserveWhitespace full (17176d4)
  • core: separate selected blocks with one newline inside lists and quotes (e55529e)
  • deps: install @tiptap/react, react-dom and the other 1.0 dependencies again (9f189b8)
  • deps: make @tiptap/react an optional peer dependency (53b9b67)
  • deps: restore the 1.0.1 react-dom range (f69d73a)
  • drop scripts sent to a disposed controller without warning (80eb2b3)
  • dynamic-height: detect a clamp at a height native already reached (82f5e96)
  • dynamic-height: do not replay an older page's switch onto a new page (1ce28b1)
  • dynamic-height: inject the corrected stylesheet into custom bundles built against 1.0 (b7a240c)
  • dynamic-height: keep the document of a 1.0 bundle when dynamicHeight changes (ceb222f)
  • dynamic-height: keep the editor visible inside a capped parent (479c8a3)
  • dynamic-height: pad by scrollBottomOffset in dynamic-height mode (9a51dae)
  • dynamic-height: reset flex so a capped editor lays out on Fabric (9d9243f)
  • dynamic-height: switch dynamicHeight without reloading the WebView (88a1f16)
  • editor: add the array methods older Android WebViews lack (e794315)
  • editor: boot the default editor through the web runtime (f9ecda0), closes #336 #342
  • editor: keep the first block's margin inside the editor (8d0f1dd)
  • editor: keep the selection through a collapsed layout (9bb7130)
  • editor: leave empty unset until the page reports its first state, as 1.0 did (4e13ec1)
  • editor: let 1.0 code assign editor option and state fields (6eca826)
  • editor: let useScrollToCaret follow a capped dynamic-height editor (689a097)
  • editor: re-render RichText and Toolbar under memoized parents when options change (00613cc)
  • editor: set EditorHelper.editorLastInstance while the editor renders (9c44a0e)
  • example-expo: keep the toolbar and custom keyboard above the keyboard (cba9d85)
  • example: give the modal keyboard example its own safe area provider (d7534e3)
  • example: keep keyboard screens clear of the landscape sensor housing (cb78b8f)
  • example: keep the overlay keyboard example toolbar at its own height (19cc80b)
  • example: leave the caret room on the Dynamic height and NavigationHeader screens (a175109)
  • example: leave the editor room in short landscape windows (22200e4)
  • example: let editor taps through the compose toolbar's keyboard padding (246476a)
  • example: pin react-dom to the example's React for the Advanced web bundle (e427881)
  • example: report words and characters under the right CounterBridge keys (2244e8c)
  • hooks: let useBridgeState follow subscription states like 1.0 (80e3748)
  • import the selection highlight extension from @tiptap/core (06eec77), closes #67
  • ios: keep recovering an editor whose renderers keep crashing (2ebb75d)
  • keep hard breaks in getSelectedText (7c5239a), closes #338
  • keep the caret below an image inserted at the end (cfcc42f), closes #273 #291
  • keep the keyboard module importable on react-native-web (1d49c5b)
  • keep the new workspaces out of the library declaration build (6318d45)
  • keep the web editor ready across react-native-web-webview renders (ccf0881)
  • keyboard: apply 'stable' mode on the next open when the window lacked focus (f94a7af)
  • keyboard: bring the system keyboard back when suppression verification fails (e68990f)
  • keyboard: count a 'stable' host once across a StrictMode re-attach (519b029)
  • keyboard: cover the navigation bar on edge-to-edge Android (06e812e)
  • keyboard: fall back for one open when the editor was not focused yet (87aa6ee)
  • keyboard: give a keyboard without a height the system height when switching to it (407ae97)
  • keyboard: give an event-only suppression check time for a slow IME hide (8b351ea)
  • keyboard: keep Android's stable window mode until the last host detaches (8587352)
  • keyboard: keep the overlay keyboard inside its host view (339242e)
  • keyboard: keep the toolbar on the keyboard and the caret above the toolbar (2d3f664)
  • keyboard: keep the toolbar on the keyboard on edge-to-edge Android (39ec161)
  • keyboard: let a bare CustomKeyboardExtension hold ColorKeyboard again (44df459)
  • keyboard: let ColorKeyboard buttons shrink on narrow screens (b09f74a)
  • keyboard: place an overlay keyboard in window coordinates after a rotation (56b9ca5)
  • keyboard: place the toolbar on the keyboard from measured geometry (66cccab)
  • keyboard: prefix custom keyboard warnings with [TenTap] like the rest of the library (3c0b0f1)
  • keyboard: read the Android status bar height from the window insets (c58faf4)
  • keyboard: read the navigation bar inset again on every open (98e2012)
  • keyboard: release only the iOS suppression a host made itself (aba4a23)
  • keyboard: reset the bottom insets when scrollBottomOffset is unset (2df7c00)
  • keyboard: reset the system keyboard state when listening resumes (f491ae7)
  • keyboard: resize an open custom keyboard when the window rotates (09361ad)
  • keyboard: retry the native driver after one focus failure with the editor focused (81a6a6d)
  • keyboard: skip the fallback suppression after the transition ended (fe95088)
  • let RichText accept spread copies of the editor (b295a6c)
  • let RN 0.74-0.76 autolinking detect the Android package (af6e7de)
  • link: honor an explicit http defaultProtocol (2e75b40)
  • link: keep TipTap's autolink protocol and record a configured one (b881cdd)
  • link: turn a bare email address into a mailto link (2441fcf)
  • load every bridge's type augmentation with EditorBridge (#290) (e0b13af)
  • make setPlaceholder update the placeholder on tiptap 3 (11742a7)
  • native: do not replay commands after a late 1.1 handshake (648e3e4)
  • native: hold capability-gated RPCs until the bundle is known (95ab636)
  • native: keep a ready page when the WebView ref detaches and comes back (d17dcea)
  • native: keep RPC timeouts running after the editor unmounts (21a6d44)
  • native: replay content after a reload without firing onChange (860eca0)
  • native: resolve deprecated asyncMessages requests from core replies (ccf6bcb)
  • package: declare the React Native 0.74 floor as a peer range (5f30e5f)
  • package: drop react-dom from runtime dependencies (992f30d), closes #315
  • package: emit only declarations into lib-web/typescript (20d5fc7)
  • package: keep the react-native peer dependency at * (2edf594)
  • package: leave the editor build input and empty .d.js files out of the tarball (0763f4a)
  • package: publish the Node 18 engines range again (3eb149e)
  • queue CoreBridge injectJS until the editor is ready (87ddbf6)
  • replay the outbox when the handshake arrives after the ready fallback (1b5729b)
  • resolve the advanced example's web editor build against local lib-web (93059d7), closes #334
  • restore inputmode on the previously suppressed WebView when another is suppressed (77194d7)
  • RichText: replace a recovered WebView again when it never becomes ready (c6b56cb)
  • RichText: restore the latest edits after a renderer crash (2164add)
  • route WebView messages and load events to the editor controller (db046ef)
  • skip autofocus and editable commands when CoreBridge is absent (c29637a)
  • start injected stylesheet and boot scripts with a semicolon (dfc006a)
  • theme: type the resolved themes with a colorKeyboard (5ef9de5)
  • toolbar: apply an Android link to the selection held when the link bar opened (37eac2c)
  • toolbar: close the link bar when the keyboard is dismissed and honor hidden (ef44c9d)
  • toolbar: link the range selected while the Android link bar is open (51dba01)
  • toolbar: remount per context, add headingItems and keep the link bar open (b13a2d6), closes #298 #295 #252 #239 #173
  • track applied keyboard insets per editor controller (bf7fdbf)
  • types: accept 1.0-style configureTiptapExtensionsOnRunTime overrides (ea95b8e)
  • types: declare editorHtml in the root entry (7143f6b)
  • types: keep React Native codegen types out of the root declarations (ceee75b)
  • web: apply the dynamic-height stylesheet without !important so app CSS can size the editor (7c4b186)
  • web: count the first and last block margins in the dynamic height (e9c38b9)
  • web: keep a custom keyboard open when the editor blurs (29533a6)
  • web: keep another editor's messages out of a custom onMessage (d86d990)
  • web: keep stored marks off a composition the Android keyboard starts on its own (e92e9b4)
  • web: keep suppressing scroll for the first new line after a pause (6247348), closes #236 #244
  • web: keep the caret visible when the keyboard grows (3aa5afd)
  • web: keep the editor's text in place when a keyboard closes (c556660)
  • web: keep the toolbar in its row and the editor focused (cd84ecc)
  • web: publish focus only when the document focus actually changes (368400b)
  • web: run web-only bridges that have no TipTap extension (48c668d)
  • web: skip the react-native-webview version lookup on web (b876103)
  • web: stop touching the DOM when focusListener is imported (887142a)
  • whitelist HistoryBridge under its 0.7.x name for legacy bundles (c92a1f0)

Don't miss a new 10tap-editor release

NewReleases is sending notifications on new releases.