# What changed in react-ace

> 16 changes in react-ace 5 to 15 from its official release notes, upgrade guides and advisories: 4 breaking, 3 new APIs and options. Each one cited. Sources checked 2026-10-25. HTML: https://unstale.sh/npm/react-ace/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## react-ace 15

### Breaking changes

- A new exports map provides import and require conditions with per-format TypeScript declarations, and exposes only the package root. (15.0.0) — [release notes](https://github.com/securingsincity/react-ace/releases/tag/v15.0.0)
- Deep imports no longer resolve because the exports map exposes only the package root; import from react-ace instead. (15.0.0) — [release notes](https://github.com/securingsincity/react-ace/releases/tag/v15.0.0)
- The shim is gone; modern ace-builds evaluates without a window object, allowing server-side imports without mutating globals. (15.0.0) — [release notes](https://github.com/securingsincity/react-ace/releases/tag/v15.0.0)

### Behavior and default changes

- ace-builds now loads when react-ace is imported instead of lazily on first render; lazy-load react-ace itself to defer loading. (15.0.0) — [release notes](https://github.com/securingsincity/react-ace/releases/tag/v15.0.0)

### Tooling

- A module field was added for older bundlers; main and types remain unchanged for legacy tooling. (15.0.0) — [release notes](https://github.com/securingsincity/react-ace/releases/tag/v15.0.0)

### Fixes and other changes

- Fixed prop-types usage that would crash under Node's ESM loader. (15.0.0) — [release notes](https://github.com/securingsincity/react-ace/releases/tag/v15.0.0)
- A native ESM build is shipped alongside CommonJS, so imports resolve to real ES modules in modern bundlers and Node, fixing default-import interop under Vite 8. (15.0.0) — [release notes](https://github.com/securingsincity/react-ace/releases/tag/v15.0.0)

## react-ace 14

### Behavior and default changes

- The Split editor's onFocus event now includes the index of the editor that received focus. (14.1.0) — [release notes](https://github.com/securingsincity/react-ace/releases/tag/v14.1.0)

### Fixes and other changes

- Handling of a null or absent markers property is fixed. (14.1.0) — [release notes](https://github.com/securingsincity/react-ace/releases/tag/v14.1.0)

## react-ace 13

### New APIs and options

- Added the new enableMobileMenu option from ace-builds. (13.0.0) — [release notes](https://github.com/securingsincity/react-ace/releases/tag/v13.0.0)

### Fixes and other changes

- Fixed the type for showInvisibles. (13.0.0) — [release notes](https://github.com/securingsincity/react-ace/releases/tag/v13.0.0)

## react-ace 12

### New APIs and options

- The ICommand interface now includes a readOnly property. (12.0.0) — [release notes](https://github.com/securingsincity/react-ace/releases/tag/v12.0.0)

## react-ace 7

### Breaking changes

- Replace brace with ace-builds and migrate mode, theme, and snippet imports to ace-builds paths. (7.0.0) — [upgrade guide](https://github.com/securingsincity/react-ace/blob/HEAD/docs/Migrate-v7-to-v8.md)

### Behavior and default changes

- Workers may need configuration to load correctly through webpack or a CDN if autocomplete or validation fails. (7.0.0) — [upgrade guide](https://github.com/securingsincity/react-ace/blob/HEAD/docs/Migrate-v7-to-v8.md)

## react-ace 5

### New APIs and options

- Adds support for a Split View Editor. (5.0.0) — [release notes](https://github.com/securingsincity/react-ace/blob/HEAD/CHANGELOG.md)

### Behavior and default changes

- Ace Editor now warns when editor options are misspelled. (5.0.0) — [release notes](https://github.com/securingsincity/react-ace/blob/HEAD/CHANGELOG.md)
