NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3181 most downloaded on npm
The core constants used throughout the remirror codebase
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 1 weeks to 7 months
Some releases are documented
notes for 9 of 18 stable releases
4 versions withdrawn
withdrawn after publishing
7 years old
230 releases · first in 2019
f6185b950: ## 💥 BREAKING CHANGES! 💥
2024-07-30
f6185b950: Based on community feedback, we have decided to decouple the core of Remirror from Lingui, an internationalisation (a.k.a. i18n) library.
Thereby making it possible to use any i18n solution with Remirror 🙌🙌🙌.
N.B. To use the translatable strings provided by Remirror, the i18n library you use needs to support ICU message formatting.
This change aims to make it easier to use Remirror in existing applications, by not imposing our architectural decisions on to you.
There are example integrations with many different i18n libraries in our Storybook.
If you are using editors provided by the @remirror/react-editors package, you are unaffected by these changes. These editors have been updated to keep existing behaviour.
i18n prop removed from the <Remirror /> root componentIn previous versions of Remirror, the i18n prop of the root Remirror component allowed you to pass a customised Lingui instance.
With this version, we want to allow any i18n library to be used with Remirror, so the i18n prop has been removed, and replaced with an i18nFormat function.
This allows users to plug in any i18n library, by implementing a definition for this function.
This function is described by the TypeScript type I18nFormatter.
react-i18nextimport { useTranslation } from 'react-i18next';
import { Remirror, useRemirror } from '@remirror/react';
const Editor: React.FC = () => {
const { t } = useTranslation();
const i18nFormat: I18nFormatter = useCallback(
(message, values) => {
// Note only using the message ID here, more on this later
return t(message.id, values);
},
[t],
);
const { manager } = useRemirror({
extensions: () => [
// Some extensions here
],
});
return <Remirror manager={manager} i18nFormat={i18nFormat} />;
};
react-i18next, like many i18n solutions, requires you define your translatable strings up front, via key-value pairs.
To facilitate this, the @remirror/messages package now exposes the translatable strings as JSON files.
These messages are provided as key value pairs, so they can be loaded into your chosen i18n library.
Currently, only English locale (en) messages are provided.
import i18n from 'i18next';
import ICU from 'i18next-icu';
import { initReactI18next } from 'react-i18next';
import type { I18nFormatter } from 'remirror';
import allMessages from '@remirror/messages/en/all-messages.json';
// or messages for specific extension(s)
// import boldMessages from '@remirror/messages/en/extension-bold-messages.json';
// import italicMessages from '@remirror/messages/en/extension-italic-messages.json';
i18n
.use(ICU) // Required if using the provided messages from @remirror/messages
.use(initReactI18next)
.init({
resources: {
en: {
translation: allMessages,
},
},
lng: 'en',
fallbackLng: 'en',
interpolation: {
escapeValue: false,
},
});
You do not have to use the messages in these key value pairs, you could replace them with your own. They are provided for convenience, and to expose the message IDs Remirror uses.
If you wish to carry on using Remirror's default i18n solution (powered by Lingui), you will need to install the @remirror/i18n package, as this is now an optional package.
@remirror/i18nInstall the i18n package, as it is now optional, and not installed by default.
npm add @remirror/i18n
import { i18nFormat } from '@remirror/i18n';
import { Remirror, useRemirror } from '@remirror/react';
const Editor: React.FC = () => {
const { manager } = useRemirror({
extensions: () => [
// Some extensions here
],
});
return <Remirror manager={manager} i18nFormat={i18nFormat} />;
};
useI18n hook has a different return valueAs a consequence of the above, the useI18n no longer returns an object containing the Lingui i18n instance.
It now returns the i18nFormat function that was passed to the root <Remirror /> component.
const { t, i18n } = useI18n();
const t = useI18n();
// Where "t" is the same function that was passed via `i18nFormat`
As always, we value your feedback on how we can improve Remirror. Please raise your proposals via issues on GitHub or via our Discord server.
f6185b950: Based on community feedback, we have decided to decouple the React core of Remirror from MUI, a popular React component library (but you probably already knew that).
This means installing @remirror/react will no longer bundle @mui/material too. The MUI components exposed by @remirror/react have been moved to a new optional package - @remirror/react-ui.
This change aims to make it easier to use Remirror in existing applications, by not imposing our architectural decisions on to you.
If you are using editors provided by the @remirror/react-editors package, you are unaffected by these changes. These editors have been updated to keep existing behaviour.
@remirror/react, moved to new optional package.In previous versions of Remirror, menus/toolbar/buttons and "find and replace" components were exposed from @remirror/react.
As @remirror/react is a required module for Remirror, it meant @mui/material was bundled regardless of whether you used these components or not.
With this version, these components have been moved to a new optional package - @remirror/react-ui.
Other than the change in import path, there should be no changes to the MUI components themselves. The full list of affected components is included below.
import React from 'react';
import { BoldExtension } from 'remirror/extensions';
import { Remirror, ThemeProvider, ToggleBoldButton, Toolbar, useRemirror } from '@remirror/react';
const extensions = () => [new BoldExtension()];
const ToggleBold = (): JSX.Element => {
const { manager, state, onChange } = useRemirror({
extensions: extensions,
content: '<p>Text in <b>bold</b></p>',
stringHandler: 'html',
});
return (
<ThemeProvider>
<Remirror
manager={manager}
autoFocus
onChange={onChange}
initialContent={state}
autoRender='end'
>
<Toolbar>
<ToggleBoldButton />
</Toolbar>
</Remirror>
</ThemeProvider>
);
};
export default ToggleBold;
import React from 'react';
import { BoldExtension } from 'remirror/extensions';
- import { Remirror, ThemeProvider, ToggleBoldButton, Toolbar, useRemirror } from '@remirror/react';
+ import { Remirror, ThemeProvider, useRemirror } from '@remirror/react';
+ import { ToggleBoldButton, Toolbar } from '@remirror/react-ui';
const extensions = () => [new BoldExtension()];
const ToggleBold = (): JSX.Element => {
const { manager, state, onChange } = useRemirror({
extensions: extensions,
content: '<p>Text in <b>bold</b></p>',
stringHandler: 'html',
});
return (
<ThemeProvider>
<Remirror
manager={manager}
autoFocus
onChange={onChange}
initialContent={state}
autoRender='end'
>
<Toolbar>
<ToggleBoldButton />
</Toolbar>
</Remirror>
</ThemeProvider>
);
};
export default ToggleBold;
As part of our initiative to "play nicer" with existing applications, the MUI components provided by @remirror/react-ui should now utilise any existing MUI theme (assuming a MUI ThemeProvider is present), rather than imposing our own MUI theme.
If you need access to Remirror's default MUI theme, this is available via the useRemirrorDefaultMuiTheme hook.
These components have been moved from @remirror/react to the new optional packages @remirror/react-ui.
ToolbarFloatingToolbarMarkdownToolbarWysiwygToolbarVerticalDividerCenterAlignButtonCommandButtonCopyButtonCreateTableButtonCutButtonDecreaseFontSizeButtonDecreaseIndentButtonDropdownButtonIncreaseFontSizeButtonIncreaseIndentButtonInsertHorizontalRuleButtonJustifyAlignButtonLeftAlignButtonPasteButtonRedoButtonRightAlignButtonToggleBlockquoteButtonToggleBoldButtonToggleBulletListButtonToggleCalloutButtonToggleCodeBlockButtonToggleCodeButtonToggleColumnsButtonToggleHeadingButtonToggleItalicButtonToggleOrderedListButtonToggleStrikeButtonToggleSubscriptButtonToggleSuperscriptButtonToggleTaskListButtonToggleUnderlineButtonToggleWhitespaceButtonUndoButtonBaselineButtonGroupBasicFormattingButtonGroupCalloutTypeButtonGroupCommandButtonGroupDataTransferButtonGroupFormattingButtonGroupHeadingLevelButtonGroupHistoryButtonGroupIndentationButtonGroupListButtonGroupTextAlignmentButtonGroupFindReplaceComponentCommandMenuItemToggleCalloutMenuItemToggleHeadingMenuItemAs always, we value your feedback on how we can improve Remirror. Please raise your proposals via issues on GitHub or via our Discord server.
f6185b950: Use ES Stage-3 decorators syntax.
f6185b950: Forward-port the removal of the validate property from main
f6185b950: Add a validate property to each of the Node or Mark attributes used in Remirror (v3 branch)
f6185b950: Bump all packages to rebuild for browsers since 2017
f6185b950: ## 💥 BREAKING CHANGES! 💥
@remirror/reactThe TableExtension also known as ReactTableExtension exposed via @remirror/react (not remirror) adds significant bloat to the core package.
Furthermore, since the addition of Table positioners added in Remirror 2.0.12 this function has become largely redundant.
If you still need the functionality provided by this extension, simply add @remirror/extension-react-tables as a direct dependency to your application.
import { TableComponents, tableControllerPluginKey, TableExtension } from '@remirror/react';
import {
TableComponents,
tableControllerPluginKey,
TableExtension,
} from '@remirror/extension-react-tables';
Updated dependencies [f6185b950]
Updated dependencies [f6185b950]
Updated dependencies [f6185b950]
Updated dependencies [f6185b950]
Updated dependencies [f6185b950]
Updated dependencies [f6185b950]
Updated dependencies [f6185b950]
Updated dependencies [f6185b950]
Updated dependencies [f6185b950]
One column per quarter.
2024-07-30
f6185b950: Update ProseMirror packages to latest versions.
Use newly provided Transform.setDocAttribute to update doc node attributes, rather than custom step type.
f6185b950: Forward-port the removal of the validate property from main
f6185b950: Add a validate property to each of the Node or Mark attributes used in Remirror (v3 branch)
f6185b950: Bump all packages to rebuild for browsers since 2017
Updated dependencies [f6185b950]
Updated dependencies [f6185b950]
Updated dependencies [f6185b950]
Updated dependencies [f6185b950]
Updated dependencies [f6185b950]
Updated dependencies [f6185b950]
Updated dependencies [f6185b950]
2024-07-30
deprecated error code RMR0000, as we no longer hide error details in production.mainc4c4fa512: Forward-port the removal of the validate property from main
2024-07-19
main760d9739d: Add a validate property to each of the Node or Mark attributes used in Remirror (v3 branch)
2024-07-18
469d7ce8f: Remove deprecated error code RMR0000, as we no longer hide error details in production.
2023-11-20
deprecated error code RMR0000, as we no longer hide error details in production.93f4ebdc2: Bump all packages to rebuild for browsers since 2017
2023-11-08
8f5467ae6: Use ES Stage-3 decorators syntax.
c24854eef: Update prosemirror-tables to the latest version, which includes new TypeScript declaration.
2022-12-10
prosemirror-tables to the latest version, which includes new TypeScript declaration.prosemirror dependencies to latest version.2022-09-20
isSafari to crash.2023-07-24
b637f9f3e: Update dependencies.
2022-10-27
2022-09-19
doubleClick, doubleClickMark, tripleClick and tripleClickMark. They have the same interface as the existing click and clickMark event, but are triggered when the user double or triple clicks.Remove the deprecated useEvents hook
2022-09-13
Improve the calculation of changed ranges by utilising mapping
Don't re-create initialEditorState when re-mounting the <Remirror/> component.
Before this patch, for an uncontrolled editor, the <Remirror/> component would re-create the initialEditorState when it re-mounts. This will call EditorState.create() and call the init method for every ProseMirror plugins with initialEditorState. This is problematic because the editor state passed to plugins is not the same as the current state.
This patch fixes the issue by only creating initialEditorState when the editor is mounted for the first time.
Rewrite React components using MUI.
Support both ESM and CJS.
Fix the issue that PlaceholderExtension passed with the extension list doesn't work.
Expose the return type of the throttle and debounce helpers
Try to require JSDOM implicitly in node environment.
Correct a bad import.
Add a customisible floating button to completely delete React tables.
Fix creating React tables from markdown initial state.
Fix copy and paste of React tables, which resulted in duplicated controlled cells.
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Standardize the contextmenu and hover events to return event as first parameter
SSR features are removed.
Set style white-space as break-spaces to wrap end-of-lines spaces.
Removes domino from the codebase.
Update jsx-dom to v7.
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
OnChangeHTML and OnChangeJSON won't listen to the first update.
option for supported characters in emoji suggester.
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-09-13
Remove the deprecated useEvents hook
2022-09-12
Removes domino from the codebase.
Support both ESM and CJS.
option for supported characters in emoji suggester.
Rewrite React components using MUI.
Try to require JSDOM implicitly in node environment.
Add a customisible floating button to completely delete React tables.
Fix creating React tables from markdown initial state.
Fix copy and paste of React tables, which resulted in duplicated controlled cells.
OnChangeHTML and OnChangeJSON won't listen to the first update.
SSR features are removed.
Don't re-create initialEditorState when re-mounting the <Remirror/> component.
Before this patch, for an uncontrolled editor, the <Remirror/> component would re-create the initialEditorState when it re-mounts. This will call EditorState.create() and call the init method for every ProseMirror plugins with initialEditorState. This is problematic because the editor state passed to plugins is not the same as the current state.
This patch fixes the issue by only creating initialEditorState when the editor is mounted for the first time.
Correct a bad import.
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Fix the issue that PlaceholderExtension passed with the extension list doesn't work.
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
Expose the return type of the throttle and debounce helpers
Update jsx-dom to v7.
Improve the calculation of changed ranges by utilising mapping
Set style white-space as break-spaces to wrap end-of-lines spaces.
Standardize the contextmenu and hover events to return event as first parameter
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-09-12
Remove the deprecated useEvents hook
2022-09-12
Set style white-space as break-spaces to wrap end-of-lines spaces.
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
OnChangeHTML and OnChangeJSON won't listen to the first update.
SSR features are removed.
option for supported characters in emoji suggester.
Rewrite React components using MUI.
Support both ESM and CJS.
Correct a bad import.
Expose the return type of the throttle and debounce helpers
Update jsx-dom to v7.
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Fix the issue that PlaceholderExtension passed with the extension list doesn't work.
Improve the calculation of changed ranges by utilising mapping
Add a customisible floating button to completely delete React tables.
Fix creating React tables from markdown initial state.
Fix copy and paste of React tables, which resulted in duplicated controlled cells.
Removes domino from the codebase.
Try to require JSDOM implicitly in node environment.
Standardize the contextmenu and hover events to return event as first parameter
Don't re-create initialEditorState when re-mounting the <Remirror/> component.
Before this patch, for an uncontrolled editor, the <Remirror/> component would re-create the initialEditorState when it re-mounts. This will call EditorState.create() and call the init method for every ProseMirror plugins with initialEditorState. This is problematic because the editor state passed to plugins is not the same as the current state.
This patch fixes the issue by only creating initialEditorState when the editor is mounted for the first time.
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-09-12
Remove the deprecated useEvents hook
2022-09-11
option for supported characters in emoji suggester.
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
OnChangeHTML and OnChangeJSON won't listen to the first update.
Support both ESM and CJS.
Set style white-space as break-spaces to wrap end-of-lines spaces.
Rewrite React components using MUI.
SSR features are removed.
Standardize the contextmenu and hover events to return event as first parameter
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
Improve the calculation of changed ranges by utilising mapping
Update jsx-dom to v7.
Add a customisible floating button to completely delete React tables.
Fix creating React tables from markdown initial state.
Fix copy and paste of React tables, which resulted in duplicated controlled cells.
Don't re-create initialEditorState when re-mounting the <Remirror/> component.
Before this patch, for an uncontrolled editor, the <Remirror/> component would re-create the initialEditorState when it re-mounts. This will call EditorState.create() and call the init method for every ProseMirror plugins with initialEditorState. This is problematic because the editor state passed to plugins is not the same as the current state.
This patch fixes the issue by only creating initialEditorState when the editor is mounted for the first time.
Fix the issue that PlaceholderExtension passed with the extension list doesn't work.
Expose the return type of the throttle and debounce helpers
Removes domino from the codebase.
Try to require JSDOM implicitly in node environment.
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-09-11
Remove the deprecated useEvents hook
2022-09-08
Removes domino from the codebase.
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Fix the issue that PlaceholderExtension passed with the extension list doesn't work.
OnChangeHTML and OnChangeJSON won't listen to the first update.
Don't re-create initialEditorState when re-mounting the <Remirror/> component.
Before this patch, for an uncontrolled editor, the <Remirror/> component would re-create the initialEditorState when it re-mounts. This will call EditorState.create() and call the init method for every ProseMirror plugins with initialEditorState. This is problematic because the editor state passed to plugins is not the same as the current state.
This patch fixes the issue by only creating initialEditorState when the editor is mounted for the first time.
Set style white-space as break-spaces to wrap end-of-lines spaces.
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
Improve the calculation of changed ranges by utilising mapping
Add a customisible floating button to completely delete React tables.
Fix creating React tables from markdown initial state.
Fix copy and paste of React tables, which resulted in duplicated controlled cells.
Standardize the contextmenu and hover events to return event as first parameter
Support both ESM and CJS.
SSR features are removed.
Update jsx-dom to v7.
Expose the return type of the throttle and debounce helpers
Try to require JSDOM implicitly in node environment.
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-09-08
Remove the deprecated useEvents hook
2022-09-08
Standardize the contextmenu and hover events to return event as first parameter
Removes domino from the codebase.
Expose the return type of the throttle and debounce helpers
Set style white-space as break-spaces to wrap end-of-lines spaces.
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
OnChangeHTML and OnChangeJSON won't listen to the first update.
Try to require JSDOM implicitly in node environment.
Add a customisible floating button to completely delete React tables.
Fix creating React tables from markdown initial state.
Fix copy and paste of React tables, which resulted in duplicated controlled cells.
Support both ESM and CJS.
Don't re-create initialEditorState when re-mounting the <Remirror/> component.
Before this patch, for an uncontrolled editor, the <Remirror/> component would re-create the initialEditorState when it re-mounts. This will call EditorState.create() and call the init method for every ProseMirror plugins with initialEditorState. This is problematic because the editor state passed to plugins is not the same as the current state.
This patch fixes the issue by only creating initialEditorState when the editor is mounted for the first time.
Update jsx-dom to v7.
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
Fix the issue that PlaceholderExtension passed with the extension list doesn't work.
SSR features are removed.
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-09-08
Remove the deprecated useEvents hook
2022-09-05
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
Fix the issue that PlaceholderExtension passed with the extension list doesn't work.
SSR features are removed.
Don't re-create initialEditorState when re-mounting the <Remirror/> component.
Before this patch, for an uncontrolled editor, the <Remirror/> component would re-create the initialEditorState when it re-mounts. This will call EditorState.create() and call the init method for every ProseMirror plugins with initialEditorState. This is problematic because the editor state passed to plugins is not the same as the current state.
This patch fixes the issue by only creating initialEditorState when the editor is mounted for the first time.
OnChangeHTML and OnChangeJSON won't listen to the first update.
Try to require JSDOM implicitly in node environment.
Standardize the contextmenu and hover events to return event as first parameter
Add a customisible floating button to completely delete React tables.
Fix creating React tables from markdown initial state.
Fix copy and paste of React tables, which resulted in duplicated controlled cells.
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Update jsx-dom to v7.
Expose the return type of the throttle and debounce helpers
Support both ESM and CJS.
Set style white-space as break-spaces to wrap end-of-lines spaces.
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-09-05
Remove the deprecated useEvents hook
2022-08-04
Standardize the contextmenu and hover events to return event as first parameter
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
Expose the return type of the throttle and debounce helpers
SSR features are removed.
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Set style white-space as break-spaces to wrap end-of-lines spaces.
Don't re-create initialEditorState when re-mounting the <Remirror/> component.
Before this patch, for an uncontrolled editor, the <Remirror/> component would re-create the initialEditorState when it re-mounts. This will call EditorState.create() and call the init method for every ProseMirror plugins with initialEditorState. This is problematic because the editor state passed to plugins is not the same as the current state.
This patch fixes the issue by only creating initialEditorState when the editor is mounted for the first time.
Try to require JSDOM implicitly in node environment.
Add a customisible floating button to completely delete React tables.
Fix creating React tables from markdown initial state.
Fix copy and paste of React tables, which resulted in duplicated controlled cells.
OnChangeHTML and OnChangeJSON won't listen to the first update.
Update jsx-dom to v7.
Fix the issue that PlaceholderExtension passed with the extension list doesn't work.
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-08-04
Remove the deprecated useEvents hook
2022-07-20
Update jsx-dom to v7.
Set style white-space as break-spaces to wrap end-of-lines spaces.
OnChangeHTML and OnChangeJSON won't listen to the first update.
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
Add a customisible floating button to completely delete React tables.
Fix creating React tables from markdown initial state.
Fix copy and paste of React tables, which resulted in duplicated controlled cells.
SSR features are removed.
Fix the issue that PlaceholderExtension passed with the extension list doesn't work.
Standardize the contextmenu and hover events to return event as first parameter
Expose the return type of the throttle and debounce helpers
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Try to require JSDOM implicitly in node environment.
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-07-20
Remove the deprecated useEvents hook
2022-07-20
Add a customisible floating button to completely delete React tables.
Fix creating React tables from markdown initial state.
Fix copy and paste of React tables, which resulted in duplicated controlled cells.
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
Try to require JSDOM implicitly in node environment.
Expose the return type of the throttle and debounce helpers
Update jsx-dom to v7.
OnChangeHTML and OnChangeJSON won't listen to the first update.
SSR features are removed.
Fix the issue that PlaceholderExtension passed with the extension list doesn't work.
Set style white-space as break-spaces to wrap end-of-lines spaces.
Standardize the contextmenu and hover events to return event as first parameter
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-07-20
Remove the deprecated useEvents hook
2022-07-19
Expose the return type of the throttle and debounce helpers
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Update jsx-dom to v7.
Set style white-space as break-spaces to wrap end-of-lines spaces.
Fix the issue that PlaceholderExtension passed with the extension list doesn't work.
Standardize the contextmenu and hover events to return event as first parameter
SSR features are removed.
Add a customisible floating button to completely delete React tables.
Fix creating React tables from markdown initial state.
Fix copy and paste of React tables, which resulted in duplicated controlled cells.
OnChangeHTML and OnChangeJSON won't listen to the first update.
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
Try to require JSDOM implicitly in node environment.
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-07-19
Remove the deprecated useEvents hook
2022-07-18
Update jsx-dom to v7.
Standardize the contextmenu and hover events to return event as first parameter
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
OnChangeHTML and OnChangeJSON won't listen to the first update.
Fix the issue that PlaceholderExtension passed with the extension list doesn't work.
Set style white-space as break-spaces to wrap end-of-lines spaces.
Expose the return type of the throttle and debounce helpers
Try to require JSDOM implicitly in node environment.
SSR features are removed.
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-07-18
Remove the deprecated useEvents hook
2022-07-13
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
OnChangeHTML and OnChangeJSON won't listen to the first update.
SSR features are removed.
Fix the issue that PlaceholderExtension passed with the extension list doesn't work.
Update jsx-dom to v7.
Set style white-space as break-spaces to wrap end-of-lines spaces.
Standardize the contextmenu and hover events to return event as first parameter
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Try to require JSDOM implicitly in node environment.
Expose the return type of the throttle and debounce helpers
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-07-13
Remove the deprecated useEvents hook
2022-07-11
SSR features are removed.
Fix the issue that PlaceholderExtension passed with the extension list doesn't work.
Set style white-space as break-spaces to wrap end-of-lines spaces.
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Update jsx-dom to v7.
Try to require JSDOM implicitly in node environment.
OnChangeHTML and OnChangeJSON won't listen to the first update.
Standardize the contextmenu and hover events to return event as first parameter
Expose the return type of the throttle and debounce helpers
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-07-11
Remove the deprecated useEvents hook
2022-07-08
Set style white-space as break-spaces to wrap end-of-lines spaces.
Expose the return type of the throttle and debounce helpers
Update jsx-dom to v7.
Fix the issue that PlaceholderExtension passed with the extension list doesn't work.
SSR features are removed.
OnChangeHTML and OnChangeJSON won't listen to the first update.
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Try to require JSDOM implicitly in node environment.
Standardize the contextmenu and hover events to return event as first parameter
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-07-08
Remove the deprecated useEvents hook
2022-07-01
Try to require JSDOM implicitly in node environment.
Expose the return type of the throttle and debounce helpers
Removes the following CSS variables:
--rmr-color-selection-background: Highlight;
--rmr-color-selection-shadow: inherit;
--rmr-color-selection-text: HighlightText;
--rmr-color-selection-caret: inherit;
This brings more natural selection colors to the editor.
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
SSR features are removed.
Standardize the contextmenu and hover events to return event as first parameter
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-07-01
Remove the deprecated useEvents hook
2022-06-29
SSR features are removed.
Standardize the contextmenu and hover events to return event as first parameter
Expose the return type of the throttle and debounce helpers
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Try to require JSDOM implicitly in node environment.
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-06-29
Remove the deprecated useEvents hook
2022-06-26
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Standardize the contextmenu and hover events to return event as first parameter
Expose the return type of the throttle and debounce helpers
SSR features are removed.
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-06-26
Remove the deprecated useEvents hook
2022-06-26
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Standardize the contextmenu and hover events to return event as first parameter
SSR features are removed.
Expose the return type of the throttle and debounce helpers
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-06-26
Remove the deprecated useEvents hook
2022-06-20
Standardize the contextmenu and hover events to return event as first parameter
SSR features are removed.
Expose the return type of the throttle and debounce helpers
Rename useEvent to useEditorEvent to avoid confusion with the React hook of the same name
Remove the deprecated useEvents hook
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
Updated dependencies
2022-06-20
Use official TypeScript type definitions from ProseMirror.
2022-05-31
2022-05-31
Make sure that "main", "module" and "types" fields within the package.json are prefixed with ./. This is a best practice according to node.js, esbuild
2022-01-03
package.json are prefixed with ./. This is a best practice according to node.js, esbuild and vite's documentation.Stop hiding error details in production.
2021-10-01
For information on what's changed in this release see the `v1.0.0` release.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
`4504aadb` #830 Thanks @ifiokjr! - Rename deprecated error constant from COMMANDS_CALLED_IN_OUTER_SCOPE to SCHEMA.
Forced update in pre-release mode.
2020-12-12
Forced update in pre-release mode.
2020-11-29
Forced update in pre-release mode.
2020-11-25
Forced update in pre-release mode.
2020-11-24
Forced update in pre-release mode.
2020-11-20
Forced update in pre-release mode.
2020-11-19
Forced update in pre-release mode.
2020-11-12
Forced update in pre-release mode.
2020-11-06
Forced update in pre-release mode.
2020-10-27
`bd8ac67d` Thanks @ifiokjr! - Upgrade package dependencies.
Forced update in pre-release mode.
2020-10-10
`725df02b` #672 Thanks @ifiokjr! - Reduce bundle size by updating babel configuration thanks to help from preconstruct/preconstruct/297. Fixes #358.
2020-09-13
725df02b #672 Thanks @ifiokjr! - Reduce bundle size by updating babel configuration thanks to help from preconstruct/preconstruct/297. Fixes #358.Store tags as markTags, nodeTags, plainTags and deprecate the helper methods which were previously doing this.
2020-09-10
27b358e4 #668 Thanks @ifiokjr! - Add MarkSupportsExit tag to ExtensionTag constant export.
Add KeymapExtension option exitMarksOnArrowPress which allows the user to exit marks with the MarkSupportExit tag from the beginning or the end of the document.
Store tags as markTags, nodeTags, plainTags and deprecate the helper methods which were previously doing this.
Add extraTags option to the extension and RemirrorManager now extra can be added as part of the configuration.
7a34e15d: Add invalidMarks support.
2020-09-07
7a34e15d: Add invalidMarks support.
ItalicExtension regex which was over eager.decorationSet for the prosemirror-suggest state.markActiveInRange, rangeHasMarks, positionHasMarks from prosemirror-suggest.getMarksByTags and getNodesByTags to the TagsExtension.`a830c70f` #633 Thanks @ifiokjr! - Fix missing version bump from last release.
A small breaking change removes some related type exports from @remirror/core.
2020-08-24
a2bc3bfb: Support for extending the ExtensionTag with your own custom types and names to close #465. Deprecates NodeGroup and MarkGroup which will be removed in a future version.
@remirror/core.mutateTag for creating custom tags in custom extensions.tags as a replacement for the spec group.9ab1d0f3: Remove ExtensionType enum which is no longer used.
2020-08-17
ExtensionType enum which is no longer used.Rename contains to containsNodesOfType.
2020-08-01
6c6d524e: Breaking Changes 💥
Rename contains to containsNodesOfType.
Make isValidPresetConstructor internal only.
Remove EMPTY_CSS_VALUE, CSS_ROTATE_PATTERN from @remirror/core-constants.
Remove method: clean() | coerce() | fragment() | markFactory() | nodeFactory() | offsetTags() | sequence() | slice() | text() | isTaggedNode() | replaceSelection() and type: BaseFactoryParameter | MarkWithAttributes | MarkWithoutAttributes | NodeWithAttributes | NodeWithoutAttributes | TagTracker | TaggedContent | TaggedContentItem | TaggedContentWithText | Tags exports from jest-remirror.
Remove SPECIAL_INPUT_KEYS | SPECIAL_KEYS | SPECIAL_MENU_KEYS | SPECIAL_TOGGLE_BUTTON_KEYS from multishift.
a7037832: Use exact versions for @remirror package dependencies and peerDepedencies.
Closes #435
dcccc5fc: Add browser entrypoint to packages and shrink bundle size.
231f664b: Upgrade dependencies.
6c6d524e: Remove use of export * for better tree shaking.
Closes #406
92342ab0: Throw error in Preset and Extension when attempting to update a non-dynamic option at runtime.
2020-07-29
Preset and Extension when attempting to update a non-dynamic option at runtime.e06a3623: Upgrade package dependencies.
2020-07-20
5d5970ae: Update repository and website field to point to HEAD rather than a specific branch.
2020-07-16
Fix missing dist files from previous publish.
2020-07-05
The whole API for remirror has completely changed. These pre-release versions are a breaking change across all packages. The best way to know what's c…
2020-07-05
The whole API for remirror has completely changed. These pre-release versions are a breaking change across all packages. The best way to know what's changed is to read the documentaion on the new documentation site https://remirror.io.
28bd8bea: This is a breaking change to the structure of published npm packages.
lib to dist7b817ac2: Rename all types and interfaces postfixed with Params to use the postfix Parameter. If your code was importing any matching interface you will need to update the name.
Your coding agent can read these notes before it upgrades. Set up the MCP server →