Extras catalogue

Ace

Latest release 3 days ago (November 6, 2026).

ace

  • By danya_postfactum

About

Ace (Ajax.org Cloud9 Editor) integration for MODx Revolution. Ace Provides best syntax highlighting and desktop-editors behavior (Sublime, Vim, Textmate) in your Elements, Files and Resources (when wysiwyg is disabled). It comes with 28 color schemes.

This editor is used in GitHub, Cloud9 IDE, Acebug and other projects.

For now the editor supports drag'n'drop of chunks, snippets, resources and files from MODx Tree.

This project is hosted on github here. Please feel free to leave comments/suggestions.

Here is the support forum thread for Ace.

Installation & usage

Install via Package Management.

Set editor theme you wish in system settings (change namespace to "ace").

If you want to use this editor for resources, just set system option use_editor to false (global usage), or richtext setting of certain resource to false (specific usage).

At a glance

MODX 3 compatible.

More about MODX 3 support

  • Developer danya_postfactum
  • Latest release November 6, 2026 (3 days ago)
  • First seen in SiteDash November 6, 2026 (3 days ago)
  • License GPLv2
  • MODX support 2.0 – 100.0

Releases 19 indexed releases

Changelog
MODX.com

1.9.12-pl

November 6, 2026

3 days ago

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.9.12] - 2026-10-31

### Fixed
- Package upgrade now preserves `which_element_editor` when a custom editor is already selected. Ace is set as default only on fresh install or when the setting value is empty ([#56](https://github.com/modx-pro/modx-ace/issues/56)).
- Setting description for `ace.theme` lists `kr_theme` instead of `kr` in both RU and EN lexicons, matching the actual theme module name ([#57](https://github.com/modx-pro/modx-ace/issues/57)).

## [1.9.11] - 2026-10-25

### Fixed
- Undo (Ctrl+Z / Cmd+Z) still works after saving a chunk, template, or other Ace form. Save synced the editor with `session.setValue()` of the same text, and Ace resets its undo manager on that call ([#47](https://github.com/modx-pro/modx-ace/issues/47)).
- Snippet and plugin editor keeps a leading `<?php` (and a trailing `?>`) after save. MODX `modScript::set()` stores the code without that wrapper and the save response was written back into Ace, so the tag disappeared immediately ([#48](https://github.com/modx-pro/modx-ace/issues/48)). The database still stores the code without the wrapper. After a reload the editor shows the stored source.
- Fullscreen insets follow the manager nav and the Save/Close bar instead of fixed `60px` / `70px`, so a taller action bar on MODX 3 no longer covers the top of the editor or the collapse button ([#49](https://github.com/modx-pro/modx-ace/issues/49)).

## [1.9.10] - 2026-07-27

### Added
- Default MODX Tab snippets (`getr`, `pdoResources`, `chunk`, `[[*tv]]`, etc.) installed into `ace.snippets` on fresh install/upgrade when the setting is empty ([#36](https://github.com/modx-pro/modx-ace/issues/36)).
- System setting `ace.draft_restore` to save editor drafts in browser localStorage and restore after accidental reload ([#33](https://github.com/modx-pro/modx-ace/issues/33)).
- System setting `ace.color_preview` to tint CSS color literals (#hex, rgb/hsl) in CSS/HTML modes ([#34](https://github.com/modx-pro/modx-ace/issues/34)).
- System setting `ace.auto_close_tags` to disable automatic closing of HTML tags, brackets, and MODX tag pairs ([#29](https://github.com/modx-pro/modx-ace/issues/29)).
- Unit tests for plugin helpers and shared JS utils (`composer test`, `npm test`).

### Fixed
- Ctrl+S / Cmd+S in fullscreen on chunk/template/element forms: save showed success but wrote stale content because the hidden field left the form when the editor moved to `document.body`. The named input now stays in the form; `getValue()` syncs from Ace before submit; `MODx.onSaveEditor` syncs the original Ext field ([#25](https://github.com/modx-pro/modx-ace/issues/25)).
- Resource content form: Ace no longer replaces `#ta` when another RTE is configured (`which_editor` ≠ Ace). With `use_editor=Yes` and e.g. TinyMCE, non-richtext resources keep a plain textarea instead of Ace ([#30](https://github.com/modx-pro/modx-ace/issues/30)).
- Resource content form: `use_editor` is read from the current context override when available, not only the global system setting ([#35](https://github.com/modx-pro/modx-ace/issues/35)).
- `onDestroy` no longer throws when Ace was never initialized (destroy before `onRender` or partial Ext component) ([#32](https://github.com/modx-pro/modx-ace/issues/32)).
- SCSS/CSS/static chunks: MODX tag mixed mode is enabled only for HTML-like mime types (`text/html`, Smarty, Twig), so `//` and `/* */` comments highlight correctly instead of HTML `` ([#31](https://github.com/modx-pro/modx-ace/issues/31)).
- Resource overview cache tab (`resource/data`): Ace initializes after cache buffer is loaded, so `modx-rdata-buffer` is not empty ([#28](https://github.com/modx-pro/modx-ace/issues/28)).
- Empty-field Ace init no longer waits up to 5s: async wait applies only to `modx-rdata-buffer` on the resource overview cache tab.
- `which_editor` for resource forms also respects context overrides (aligned with `use_editor`).
- Color preview is per-editor (no shared singleton), capped at 2000 lines, and cleaned up on destroy.
- Draft restore: stable storage keys, non-empty draft banner only, clear on successful form save / `MODx.onSaveEditor`.
- Guard `onResize` / `initEvents` / `autoSize` / `setSize` when Ace was never rendered.
- Static Ace helpers (`DraftManager`, settings getters) attach after `Ext.extend` so they are not overwritten; `ace-color-preview.js` loads after `modx.texteditor.js`.

## [1.9.9] - 2026-03-29

### Fixed
- Fullscreen Ace over the whole manager (MODX 3): right-hand panels and other chrome no longer stay on top. The editor node is moved to `document.body` while maximized and uses a higher `z-index`, fixing stacking limits inside `#modx-content` that core PR [modxcms/revolution#16778](https://github.com/modxcms/revolution/pull/16778) does not address for extras ([#18](https://github.com/modx-pro/modx-ace/issues/18)).
- Fullscreen `.ace_maximized` insets (`top: 60px`, `left: 70px`, `right/bottom: 3px`) so the manager top bar, left tree, and resource/form header stay visible on MODX 3.1+ (see [community report](https://community.modx.com/t/3-1-0-issue-with-ace-editor-fullscreen/8267) and [workaround note](https://community.modx.com/t/3-1-0-issue-with-ace-editor-fullscreen/8267/5)).
- In-editor PHP syntax check: false `Syntax error, unexpected '?'` (and similar) for valid PHP 7+ code such as null coalescing `??`. Bundled `worker-php.js` updated to [ace-builds](https://www.npmjs.com/package/ace-builds) **1.37.5** (`T_COALESCE` and related tokens).

## [1.9.8] - 2026-03-05

### Fixed
- Fix fatal error when the resource does not exist
([#23](https://github.com/modx-pro/modx-ace/pull/23))

## [1.9.7] - 2026-02-21

### Fixed
- Installation/upgrade failing with "The location specified does not exist" and "Invalid or uninitialized Zip object" when preserving existing files (e.g. on MODX 3, SiteDash): set PREEXISTING_MODE to REMOVE_PREEXISTING so .preserved.zip is not created ([#22](https://github.com/modx-pro/modx-ace/issues/22))

## [1.9.6] - 2026-02-16

### Added
- Build script for MODX 2 and MODX 3 (Transport, auto-install, ClearCache)
- Readable install log: [Ace] sections, ✓/✅ messages in resolver and build output
- MODX root detection via `core/config/config.inc.php` when building from Extras/
- Readme: building from MODX 2 for MODX 2 installs (optional; avoids post-pack patch)

### Changed
- PHP 8.1–8.5: null-safe array_merge, array key and file_get_contents handling in completions processors
- Build config: 4-space indent, search order MODX_BASE_PATH → config.inc.php → modx.class.php
- Resolver: PSR-12, structured log, recursive rmdir via closure
- Package attributes and build output use [Ace] prefix and checkmarks

### Fixed
- Unable to load processor "getResourceFields" in MODX 3 (issue #16): processors path and CamelCase file names
- Auto-install in MODX 3: full class name `MODX\Revolution\Transport\modTransportPackage` for xPDO
- E_DEPRECATED suppressed during CLI build (dynamic property in MODX core)
- Package built on MODX 3 failing to install on MODX 2 (xPDOObjectVehicle could not be loaded): manifest vehicle class names patched to MODX 2 format (xpdo.transport.*) after pack; double-backslash and serialized manifest supported, array keys patched

## [1.9.5] - 2025-10-18

### Added
- Format code by Ctrl-Shift-B

## [1.9.4] - 2024-02-23

### Added
- Links on GitHub [#13]
- Alt+z keyboard shortcut to toggle word wrap [#15]

### Fixed
- focus() triggering for undefined [#14]

## [1.9.3] - 2022-05-15

### Changed
- Move settings into an own file [#12]

### Fixed
- Ace TV input [#11]
- PHP warning: Undefined variable $field [#10]

## [1.9.2] - 2022

### Added
- TV input Ace field [#9]

### Changed
- Corrected search form [#8]

## [1.9.1]

### Fixed
- Changed fonts

### Changed
- emmet.js with the support flex css styles and many other combinations

## [1.9.0]

### Added
- Autodetecting file mode by modelist.js [#7]
- New modes from ace-builds for version 1.2.0

## [1.8.0]

### Added
- Autocompletion for php functions

## [1.7.0]

### Added
- System setting "ace.grow"
- System setting "ace.html_elements_mime"

## [1.6.5]

### Added
- "Twig" syntax for support of Twig in chunks

### Changed
- Plugin is not static anymore

## [1.6.4]

### Fixed
- Support of emmet in smarty mode. Again.

## [1.6.3]

### Fixed
- Support of emmet in smarty mode

## [1.6.2]

### Added
- "Markdown" syntax for mime type "text/x-markdown"

### Fixed
- Editor mode handling

## [1.6.1]

### Fixed
- Work with enabled system setting "compress_js"

## [1.6.0]

### Added
- "Smarty" syntax for support of Fenom in chunks

### Changed
- Ace updated to version 1.2.0

## [1.5.1]

### Fixed
- Bug with narrowing of the textarea

## [1.5.0]

### Added
- Editor height setting

### Changed
- Assets moved back to /assets/

### Fixed
- MODx tag completions (was completely broken)

## [1.4.3]

### Added
- MODx tag completions (Ctrl+Space)

### Fixed
- Issue caused AjaxManager (MODx Manager speed booster plugin) tree drag'n'drop bug

## [1.4.2]

### Added
- Undo coalescing
- Drag delay for Mac (allow to start new selection inside current one)

### Changed
- Mac fullscreen command bound to Command+F12

### Fixed
- Use file extension of static chunks to detect code syntax

## [1.4.1]

### Added
- Expandable snippets support (see ace.snippets setting)
- Emmet wrap_with_abbreviation command (Alt+W)

### Fixed
- Tab handling
- Emmet shortcut listing by Ctrl+Alt+H

## [1.4.0]

### Added
- Emmet (Zen Coding) support
- Terminal dark theme
- Hotkey table (Ctrl+Alt+H)

### Changed
- Assets moved to /manager/assets/components/

### Fixed
- Resource overview fatal error

## [1.3.3]

### Added
- PHP live syntax check
- Chaos dark theme
- Setting show_invisibles

## [1.3.2]

### Added
- Tab settings (tab size, soft tab)
- Full compatibility with AjaxManager extra

### Fixed
- Bug while installing Ace
- Broken word_wrap setting

## [1.3.1]

### Changed
- Plugin content now stored in static file

## [1.3.0]

### Added
- German translation
- MODx tags highlighting
- Ambiance and xcode themes
- less/scss syntax highlighting
- Fullwindow mode (Ctrl+F11)

### Changed
- Editor now ignores `wich_editor` setting. Set `use_editor` to false to use ACE for Resources.

## [1.2.1]

### Added
- Font size setting
- "GitHub" theme
- Support of html5 drag'n'drop (accepting dropped text)
- XML/HTML tag autoclosing

### Changed
- Assets moved to manager folder

### Fixed
- Broken en lexicon and PHP 5.3 incompatibility

## [1.2.0]

### Added
- Add missing "OnFileEditFormPrerender" event to MODx
- Multiline editing
- Advanced find/replace window

### Changed
- Editor options moved to system settings
- Removed some unnecessary options

### Fixed
- Multiple little editor bugs

## [1.1.0]

### Added
- File edition support
- MODx tree elements drag'n'drop support
- Auto-assigning which_element_editor to Ace

### Fixed
- Fatal error on document create event
- Changing of properties has no effect

## [1.0.0]

### Added
- Plugin properties to adjust how Ace behaves
- Initial release
modstore.pro

1.9.12-pl

October 31, 2026

9 days ago

# Changelog<br /><br />
All notable changes to this project will be documented in this file.<br /><br />
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),<br />
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).<br /><br />
## [1.9.12] - 2026-10-31<br /><br />
### Fixed<br />
- Package upgrade now preserves `which_element_editor` when a custom editor is already selected. Ace is set as default only on fresh install or when the setting value is empty ([#56](https://github.com/modx-pro/modx-ace/issues/56)).<br />
- Setting description for `ace.theme` lists `kr_theme` instead of `kr` in both RU and EN lexicons, matching the actual theme module name ([#57](https://github.com/modx-pro/modx-ace/issues/57)).<br /><br />
## [1.9.11] - 2026-10-25<br /><br />
### Fixed<br />
- Undo (Ctrl+Z / Cmd+Z) still works after saving a chunk, template, or other Ace form. Save synced the editor with `session.setValue()` of the same text, and Ace resets its undo manager on that call ([#47](https://github.com/modx-pro/modx-ace/issues/47)).<br />
- Snippet and plugin editor keeps a leading php (and a trailing `?&gt;`) after save. MODX `modScript::set()` stores the code without that wrapper and the save response was written back into Ace, so the tag disappeared immediately ([#48](https://github.com/modx-pro/modx-ace/issues/48)). The database still stores the code without the wrapper. After a reload the editor shows the stored source.<br />
- Fullscreen insets follow the manager nav and the Save/Close bar instead of fixed `60px` / `70px`, so a taller action bar on MODX 3 no longer covers the top of the editor or the collapse button ([#49](https://github.com/modx-pro/modx-ace/issues/49)).<br /><br />
## [1.9.10] - 2026-07-27<br /><br />
### Added<br />
- Default MODX Tab snippets (`getr`, `pdoResources`, `chunk`, `[[*tv]]`, etc.) installed into `ace.snippets` on fresh install/upgrade when the setting is empty ([#36](https://github.com/modx-pro/modx-ace/issues/36)).<br />
- System setting `ace.draft_restore` to save editor drafts in browser localStorage and restore after accidental reload ([#33](https://github.com/modx-pro/modx-ace/issues/33)).<br />
- System setting `ace.color_preview` to tint CSS color literals (#hex, rgb/hsl) in CSS/HTML modes ([#34](https://github.com/modx-pro/modx-ace/issues/34)).<br />
- System setting `ace.auto_close_tags` to disable automatic closing of HTML tags, brackets, and MODX tag pairs ([#29](https://github.com/modx-pro/modx-ace/issues/29)).<br />
- Unit tests for plugin helpers and shared JS utils (`composer test`, `npm test`).<br /><br />
### Fixed<br />
- Ctrl+S / Cmd+S in fullscreen on chunk/template/element forms: save showed success but wrote stale content because the hidden field left the form when the editor moved to `document.body`. The named input now stays in the form; `getValue()` syncs from Ace before submit; `MODx.onSaveEditor` syncs the original Ext field ([#25](https://github.com/modx-pro/modx-ace/issues/25)).<br />
- Resource content form: Ace no longer replaces `#ta` when another RTE is configured (`which_editor` ≠ Ace). With `use_editor=Yes` and e.g. TinyMCE, non-richtext resources keep a plain textarea instead of Ace ([#30](https://github.com/modx-pro/modx-ace/issues/30)).<br />
- Resource content form: `use_editor` is read from the current context override when available, not only the global system setting ([#35](https://github.com/modx-pro/modx-ace/issues/35)).<br />
- `onDestroy` no longer throws when Ace was never initialized (destroy before `onRender` or partial Ext component) ([#32](https://github.com/modx-pro/modx-ace/issues/32)).<br />
- SCSS/CSS/static chunks: MODX tag mixed mode is enabled only for HTML-like mime types (`text/html`, Smarty, Twig), so `//` and `/* */` comments highlight correctly instead of HTML `` ([#31](https://github.com/modx-pro/modx-ace/issues/31)).<br />
- Resource overview cache tab (`resource/data`): Ace initializes after cache buffer is loaded, so `modx-rdata-buffer` is not empty ([#28](https://github.com/modx-pro/modx-ace/issues/28)).<br />
- Empty-field Ace init no longer waits up to 5s: async wait applies only to `modx-rdata-buffer` on the resource overview cache tab.<br />
- `which_editor` for resource forms also respects context overrides (aligned with `use_editor`).<br />
- Color preview is per-editor (no shared singleton), capped at 2000 lines, and cleaned up on destroy.<br />
- Draft restore: stable storage keys, non-empty draft banner only, clear on successful form save / `MODx.onSaveEditor`.<br />
- Guard `onResize` / `initEvents` / `autoSize` / `setSize` when Ace was never rendered.<br />
- Static Ace helpers (`DraftManager`, settings getters) attach after `Ext.extend` so they are not overwritten; `ace-color-preview.js` loads after `modx.texteditor.js`.<br /><br />
## [1.9.9] - 2026-03-29<br /><br />
### Fixed<br />
- Fullscreen Ace over the whole manager (MODX 3): right-hand panels and other chrome no longer stay on top. The editor node is moved to `document.body` while maximized and uses a higher `z-index`, fixing stacking limits inside `#modx-content` that core PR [modxcms/revolution#16778](https://github.com/modxcms/revolution/pull/16778) does not address for extras ([#18](https://github.com/modx-pro/modx-ace/issues/18)).<br />
- Fullscreen `.ace_maximized` insets (`top: 60px`, `left: 70px`, `right/bottom: 3px`) so the manager top bar, left tree, and resource/form header stay visible on MODX 3.1+ (see [community report](https://community.modx.com/t/3-1-0-issue-with-ace-editor-fullscreen/8267) and [workaround note](https://community.modx.com/t/3-1-0-issue-with-ace-editor-fullscreen/8267/5)).<br />
- In-editor PHP syntax check: false `Syntax error, unexpected '?'` (and similar) for valid PHP 7+ code such as null coalescing `??`. Bundled `worker-php.js` updated to [ace-builds](https://www.npmjs.com/package/ace-builds) **1.37.5** (`T_COALESCE` and related tokens).<br /><br />
## [1.9.8] - 2026-03-05<br /><br />
### Fixed<br />
- Fix fatal error when the resource does not exist<br />
([#23](https://github.com/modx-pro/modx-ace/pull/23))<br /><br />
## [1.9.7] - 2026-02-21<br /><br />
### Fixed<br />
- Installation/upgrade failing with "The location specified does not exist" and "Invalid or uninitialized Zip object" when preserving existing files (e.g. on MODX 3, SiteDash): set PREEXISTING_MODE to REMOVE_PREEXISTING so .preserved.zip is not created ([#22](https://github.com/modx-pro/modx-ace/issues/22))<br /><br />
## [1.9.6] - 2026-02-16<br /><br />
### Added<br />
- Build script for MODX 2 and MODX 3 (Transport, auto-install, ClearCache)<br />
- Readable install log: [Ace] sections, ✓/✅ messages in resolver and build output<br />
- MODX root detection via `core/config/config.inc.php` when building from Extras/<br />
- Readme: building from MODX 2 for MODX 2 installs (optional; avoids post-pack patch)<br /><br />
### Changed<br />
- PHP 8.1–8.5: null-safe array_merge, array key and file_get_contents handling in completions processors<br />
- Build config: 4-space indent, search order MODX_BASE_PATH → config.inc.php → modx.class.php<br />
- Resolver: PSR-12, structured log, recursive rmdir via closure<br />
- Package attributes and build output use [Ace] prefix and checkmarks<br /><br />
### Fixed<br />
- Unable to load processor "getResourceFields" in MODX 3 (issue #16): processors path and CamelCase file names<br />
- Auto-install in MODX 3: full class name `MODX\Revolution\Transport\modTransportPackage` for xPDO<br />
- E_DEPRECATED suppressed during CLI build (dynamic property in MODX core)<br />
- Package built on MODX 3 failing to install on MODX 2 (xPDOObjectVehicle could not be loaded): manifest vehicle class names patched to MODX 2 format (xpdo.transport.*) after pack; double-backslash and serialized manifest supported, array keys patched<br /><br />
## [1.9.5] - 2025-10-18<br /><br />
### Added<br />
- Format code by Ctrl-Shift-B<br /><br />
## [1.9.4] - 2024-02-23<br /><br />
### Added<br />
- Links on GitHub [#13]<br />
- Alt+z keyboard shortcut to toggle word wrap [#15]<br /><br />
### Fixed<br />
- focus() triggering for undefined [#14]<br /><br />
## [1.9.3] - 2022-05-15<br /><br />
### Changed<br />
- Move settings into an own file [#12]<br /><br />
### Fixed<br />
- Ace TV input [#11]<br />
- PHP warning: Undefined variable $field [#10]<br /><br />
## [1.9.2] - 2022<br /><br />
### Added<br />
- TV input Ace field [#9]<br /><br />
### Changed<br />
- Corrected search form [#8]<br /><br />
## [1.9.1]<br /><br />
### Fixed<br />
- Changed fonts<br /><br />
### Changed<br />
- emmet.js with the support flex css styles and many other combinations<br /><br />
## [1.9.0]<br /><br />
### Added<br />
- Autodetecting file mode by modelist.js [#7]<br />
- New modes from ace-builds for version 1.2.0<br /><br />
## [1.8.0]<br /><br />
### Added<br />
- Autocompletion for php functions<br /><br />
## [1.7.0]<br /><br />
### Added<br />
- System setting "ace.grow"<br />
- System setting "ace.html_elements_mime"<br /><br />
## [1.6.5]<br /><br />
### Added<br />
- "Twig" syntax for support of Twig in chunks<br /><br />
### Changed<br />
- Plugin is not static anymore<br /><br />
## [1.6.4]<br /><br />
### Fixed<br />
- Support of emmet in smarty mode. Again.<br /><br />
## [1.6.3]<br /><br />
### Fixed<br />
- Support of emmet in smarty mode<br /><br />
## [1.6.2]<br /><br />
### Added<br />
- "Markdown" syntax for mime type "text/x-markdown"<br /><br />
### Fixed<br />
- Editor mode handling<br /><br />
## [1.6.1]<br /><br />
### Fixed<br />
- Work with enabled system setting "compress_js"<br /><br />
## [1.6.0]<br /><br />
### Added<br />
- "Smarty" syntax for support of Fenom in chunks<br /><br />
### Changed<br />
- Ace updated to version 1.2.0<br /><br />
## [1.5.1]<br /><br />
### Fixed<br />
- Bug with narrowing of the textarea<br /><br />
## [1.5.0]<br /><br />
### Added<br />
- Editor height setting<br /><br />
### Changed<br />
- Assets moved back to /assets/<br /><br />
### Fixed<br />
- MODx tag completions (was completely broken)<br /><br />
## [1.4.3]<br /><br />
### Added<br />
- MODx tag completions (Ctrl+Space)<br /><br />
### Fixed<br />
- Issue caused AjaxManager (MODx Manager speed booster plugin) tree drag'n'drop bug<br /><br />
## [1.4.2]<br /><br />
### Added<br />
- Undo coalescing<br />
- Drag delay for Mac (allow to start new selection inside current one)<br /><br />
### Changed<br />
- Mac fullscreen command bound to Command+F12<br /><br />
### Fixed<br />
- Use file extension of static chunks to detect code syntax<br /><br />
## [1.4.1]<br /><br />
### Added<br />
- Expandable snippets support (see ace.snippets setting)<br />
- Emmet wrap_with_abbreviation command (Alt+W)<br /><br />
### Fixed<br />
- Tab handling<br />
- Emmet shortcut listing by Ctrl+Alt+H<br /><br />
## [1.4.0]<br /><br />
### Added<br />
- Emmet (Zen Coding) support<br />
- Terminal dark theme<br />
- Hotkey table (Ctrl+Alt+H)<br /><br />
### Changed<br />
- Assets moved to /manager/assets/components/<br /><br />
### Fixed<br />
- Resource overview fatal error<br /><br />
## [1.3.3]<br /><br />
### Added<br />
- PHP live syntax check<br />
- Chaos dark theme<br />
- Setting show_invisibles<br /><br />
## [1.3.2]<br /><br />
### Added<br />
- Tab settings (tab size, soft tab)<br />
- Full compatibility with AjaxManager extra<br /><br />
### Fixed<br />
- Bug while installing Ace<br />
- Broken word_wrap setting<br /><br />
## [1.3.1]<br /><br />
### Changed<br />
- Plugin content now stored in static file<br /><br />
## [1.3.0]<br /><br />
### Added<br />
- German translation<br />
- MODx tags highlighting<br />
- Ambiance and xcode themes<br />
- less/scss syntax highlighting<br />
- Fullwindow mode (Ctrl+F11)<br /><br />
### Changed<br />
- Editor now ignores `wich_editor` setting. Set `use_editor` to false to use ACE for Resources.<br /><br />
## [1.2.1]<br /><br />
### Added<br />
- Font size setting<br />
- "GitHub" theme<br />
- Support of html5 drag'n'drop (accepting dropped text)<br />
- XML/HTML tag autoclosing<br /><br />
### Changed<br />
- Assets moved to manager folder<br /><br />
### Fixed<br />
- Broken en lexicon and PHP 5.3 incompatibility<br /><br />
## [1.2.0]<br /><br />
### Added<br />
- Add missing "OnFileEditFormPrerender" event to MODx<br />
- Multiline editing<br />
- Advanced find/replace window<br /><br />
### Changed<br />
- Editor options moved to system settings<br />
- Removed some unnecessary options<br /><br />
### Fixed<br />
- Multiple little editor bugs<br /><br />
## [1.1.0]<br /><br />
### Added<br />
- File edition support<br />
- MODx tree elements drag'n'drop support<br />
- Auto-assigning which_element_editor to Ace<br /><br />
### Fixed<br />
- Fatal error on document create event<br />
- Changing of properties has no effect<br /><br />
## [1.0.0]<br /><br />
### Added<br />
- Plugin properties to adjust how Ace behaves<br />
- Initial release
modstore.pro

1.9.11-pl

October 25, 2026

15 days ago

# Changelog<br /><br />
All notable changes to this project will be documented in this file.<br /><br />
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),<br />
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).<br /><br />
## [1.9.9] - 2026-03-29<br /><br />
### Fixed<br />
- In-editor PHP syntax check: false `Syntax error, unexpected '?'` (and similar) for valid PHP 7+ code such as null coalescing `??`. Bundled `worker-php.js` updated to [ace-builds](https://www.npmjs.com/package/ace-builds) **1.37.5** (`T_COALESCE` and related tokens).<br /><br />
## [1.9.8] - 2026-03-05<br /><br />
### Fixed<br />
- Fix fatal error when the resource does not exist<br />
([#23](https://github.com/modx-pro/modx-ace/pull/23))<br /><br />
## [1.9.7] - 2026-02-21<br /><br />
### Fixed<br />
- Installation/upgrade failing with "The location specified does not exist" and "Invalid or uninitialized Zip object" when preserving existing files (e.g. on MODX 3, SiteDash): set PREEXISTING_MODE to REMOVE_PREEXISTING so .preserved.zip is not created ([#22](https://github.com/modx-pro/modx-ace/issues/22))<br /><br />
## [1.9.6] - 2026-02-16<br /><br />
### Added<br />
- Build script for MODX 2 and MODX 3 (Transport, auto-install, ClearCache)<br />
- Readable install log: [Ace] sections, ✓/✅ messages in resolver and build output<br />
- MODX root detection via `core/config/config.inc.php` when building from Extras/<br />
- Readme: building from MODX 2 for MODX 2 installs (optional; avoids post-pack patch)<br /><br />
### Changed<br />
- PHP 8.1–8.5: null-safe array_merge, array key and file_get_contents handling in completions processors<br />
- Build config: 4-space indent, search order MODX_BASE_PATH → config.inc.php → modx.class.php<br />
- Resolver: PSR-12, structured log, recursive rmdir via closure<br />
- Package attributes and build output use [Ace] prefix and checkmarks<br /><br />
### Fixed<br />
- Unable to load processor "getResourceFields" in MODX 3 (issue #16): processors path and CamelCase file names<br />
- Auto-install in MODX 3: full class name `MODX\Revolution\Transport\modTransportPackage` for xPDO<br />
- E_DEPRECATED suppressed during CLI build (dynamic property in MODX core)<br />
- Package built on MODX 3 failing to install on MODX 2 (xPDOObjectVehicle could not be loaded): manifest vehicle class names patched to MODX 2 format (xpdo.transport.*) after pack; double-backslash and serialized manifest supported, array keys patched<br /><br />
## [1.9.5] - 2025-10-18<br /><br />
### Added<br />
- Format code by Ctrl-Shift-B<br /><br />
## [1.9.4] - 2024-02-23<br /><br />
### Added<br />
- Links on GitHub [#13]<br />
- Alt+z keyboard shortcut to toggle word wrap [#15]<br /><br />
### Fixed<br />
- focus() triggering for undefined [#14]<br /><br />
## [1.9.3] - 2022-05-15<br /><br />
### Changed<br />
- Move settings into an own file [#12]<br /><br />
### Fixed<br />
- Ace TV input [#11]<br />
- PHP warning: Undefined variable $field [#10]<br /><br />
## [1.9.2] - 2022<br /><br />
### Added<br />
- TV input Ace field [#9]<br /><br />
### Changed<br />
- Corrected search form [#8]<br /><br />
## [1.9.1]<br /><br />
### Fixed<br />
- Changed fonts<br /><br />
### Changed<br />
- emmet.js with the support flex css styles and many other combinations<br /><br />
## [1.9.0]<br /><br />
### Added<br />
- Autodetecting file mode by modelist.js [#7]<br />
- New modes from ace-builds for version 1.2.0<br /><br />
## [1.8.0]<br /><br />
### Added<br />
- Autocompletion for php functions<br /><br />
## [1.7.0]<br /><br />
### Added<br />
- System setting "ace.grow"<br />
- System setting "ace.html_elements_mime"<br /><br />
## [1.6.5]<br /><br />
### Added<br />
- "Twig" syntax for support of Twig in chunks<br /><br />
### Changed<br />
- Plugin is not static anymore<br /><br />
## [1.6.4]<br /><br />
### Fixed<br />
- Support of emmet in smarty mode. Again.<br /><br />
## [1.6.3]<br /><br />
### Fixed<br />
- Support of emmet in smarty mode<br /><br />
## [1.6.2]<br /><br />
### Added<br />
- "Markdown" syntax for mime type "text/x-markdown"<br /><br />
### Fixed<br />
- Editor mode handling<br /><br />
## [1.6.1]<br /><br />
### Fixed<br />
- Work with enabled system setting "compress_js"<br /><br />
## [1.6.0]<br /><br />
### Added<br />
- "Smarty" syntax for support of Fenom in chunks<br /><br />
### Changed<br />
- Ace updated to version 1.2.0<br /><br />
## [1.5.1]<br /><br />
### Fixed<br />
- Bug with narrowing of the textarea<br /><br />
## [1.5.0]<br /><br />
### Added<br />
- Editor height setting<br /><br />
### Changed<br />
- Assets moved back to /assets/<br /><br />
### Fixed<br />
- MODx tag completions (was completely broken)<br /><br />
## [1.4.3]<br /><br />
### Added<br />
- MODx tag completions (Ctrl+Space)<br /><br />
### Fixed<br />
- Issue caused AjaxManager (MODx Manager speed booster plugin) tree drag'n'drop bug<br /><br />
## [1.4.2]<br /><br />
### Added<br />
- Undo coalescing<br />
- Drag delay for Mac (allow to start new selection inside current one)<br /><br />
### Changed<br />
- Mac fullscreen command bound to Command+F12<br /><br />
### Fixed<br />
- Use file extension of static chunks to detect code syntax<br /><br />
## [1.4.1]<br /><br />
### Added<br />
- Expandable snippets support (see ace.snippets setting)<br />
- Emmet wrap_with_abbreviation command (Alt+W)<br /><br />
### Fixed<br />
- Tab handling<br />
- Emmet shortcut listing by Ctrl+Alt+H<br /><br />
## [1.4.0]<br /><br />
### Added<br />
- Emmet (Zen Coding) support<br />
- Terminal dark theme<br />
- Hotkey table (Ctrl+Alt+H)<br /><br />
### Changed<br />
- Assets moved to /manager/assets/components/<br /><br />
### Fixed<br />
- Resource overview fatal error<br /><br />
## [1.3.3]<br /><br />
### Added<br />
- PHP live syntax check<br />
- Chaos dark theme<br />
- Setting show_invisibles<br /><br />
## [1.3.2]<br /><br />
### Added<br />
- Tab settings (tab size, soft tab)<br />
- Full compatibility with AjaxManager extra<br /><br />
### Fixed<br />
- Bug while installing Ace<br />
- Broken word_wrap setting<br /><br />
## [1.3.1]<br /><br />
### Changed<br />
- Plugin content now stored in static file<br /><br />
## [1.3.0]<br /><br />
### Added<br />
- German translation<br />
- MODx tags highlighting<br />
- Ambiance and xcode themes<br />
- less/scss syntax highlighting<br />
- Fullwindow mode (Ctrl+F11)<br /><br />
### Changed<br />
- Editor now ignores `wich_editor` setting. Set `use_editor` to false to use ACE for Resources.<br /><br />
## [1.2.1]<br /><br />
### Added<br />
- Font size setting<br />
- "GitHub" theme<br />
- Support of html5 drag'n'drop (accepting dropped text)<br />
- XML/HTML tag autoclosing<br /><br />
### Changed<br />
- Assets moved to manager folder<br /><br />
### Fixed<br />
- Broken en lexicon and PHP 5.3 incompatibility<br /><br />
## [1.2.0]<br /><br />
### Added<br />
- Add missing "OnFileEditFormPrerender" event to MODx<br />
- Multiline editing<br />
- Advanced find/replace window<br /><br />
### Changed<br />
- Editor options moved to system settings<br />
- Removed some unnecessary options<br /><br />
### Fixed<br />
- Multiple little editor bugs<br /><br />
## [1.1.0]<br /><br />
### Added<br />
- File edition support<br />
- MODx tree elements drag'n'drop support<br />
- Auto-assigning which_element_editor to Ace<br /><br />
### Fixed<br />
- Fatal error on document create event<br />
- Changing of properties has no effect<br /><br />
## [1.0.0]<br /><br />
### Added<br />
- Plugin properties to adjust how Ace behaves<br />
- Initial release
modstore.pro

1.9.10-pl

July 27, 2026

3 months ago

—
modstore.pro

1.9.9-pl

March 29, 2026

7 months ago

—
MODX.com

1.9.8-pl

March 17, 2026

7 months ago

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.9.8] - 2026-03-05

### Fixed
- Fix fatal error when the resource does not exist
([#23](https://github.com/modx-pro/modx-ace/pull/23))

## [1.9.7] - 2026-02-21

### Fixed
- Installation/upgrade failing with "The location specified does not exist" and "Invalid or uninitialized Zip object" when preserving existing files (e.g. on MODX 3, SiteDash): set PREEXISTING_MODE to REMOVE_PREEXISTING so .preserved.zip is not created ([#22](https://github.com/modx-pro/modx-ace/issues/22))

## [1.9.6] - 2026-02-16

### Added
- Build script for MODX 2 and MODX 3 (Transport, auto-install, ClearCache)
- Readable install log: [Ace] sections, ✓/✅ messages in resolver and build output
- MODX root detection via `core/config/config.inc.php` when building from Extras/
- Readme: building from MODX 2 for MODX 2 installs (optional; avoids post-pack patch)

### Changed
- PHP 8.1–8.5: null-safe array_merge, array key and file_get_contents handling in completions processors
- Build config: 4-space indent, search order MODX_BASE_PATH → config.inc.php → modx.class.php
- Resolver: PSR-12, structured log, recursive rmdir via closure
- Package attributes and build output use [Ace] prefix and checkmarks

### Fixed
- Unable to load processor "getResourceFields" in MODX 3 (issue #16): processors path and CamelCase file names
- Auto-install in MODX 3: full class name `MODX\Revolution\Transport\modTransportPackage` for xPDO
- E_DEPRECATED suppressed during CLI build (dynamic property in MODX core)
- Package built on MODX 3 failing to install on MODX 2 (xPDOObjectVehicle could not be loaded): manifest vehicle class names patched to MODX 2 format (xpdo.transport.*) after pack; double-backslash and serialized manifest supported, array keys patched

## [1.9.5] - 2025-10-18

### Added
- Format code by Ctrl-Shift-B

## [1.9.4] - 2024-02-23

### Added
- Links on GitHub [#13]
- Alt+z keyboard shortcut to toggle word wrap [#15]

### Fixed
- focus() triggering for undefined [#14]

## [1.9.3] - 2022-05-15

### Changed
- Move settings into an own file [#12]

### Fixed
- Ace TV input [#11]
- PHP warning: Undefined variable $field [#10]

## [1.9.2] - 2022

### Added
- TV input Ace field [#9]

### Changed
- Corrected search form [#8]

## [1.9.1]

### Fixed
- Changed fonts

### Changed
- emmet.js with the support flex css styles and many other combinations

## [1.9.0]

### Added
- Autodetecting file mode by modelist.js [#7]
- New modes from ace-builds for version 1.2.0

## [1.8.0]

### Added
- Autocompletion for php functions

## [1.7.0]

### Added
- System setting "ace.grow"
- System setting "ace.html_elements_mime"

## [1.6.5]

### Added
- "Twig" syntax for support of Twig in chunks

### Changed
- Plugin is not static anymore

## [1.6.4]

### Fixed
- Support of emmet in smarty mode. Again.

## [1.6.3]

### Fixed
- Support of emmet in smarty mode

## [1.6.2]

### Added
- "Markdown" syntax for mime type "text/x-markdown"

### Fixed
- Editor mode handling

## [1.6.1]

### Fixed
- Work with enabled system setting "compress_js"

## [1.6.0]

### Added
- "Smarty" syntax for support of Fenom in chunks

### Changed
- Ace updated to version 1.2.0

## [1.5.1]

### Fixed
- Bug with narrowing of the textarea

## [1.5.0]

### Added
- Editor height setting

### Changed
- Assets moved back to /assets/

### Fixed
- MODx tag completions (was completely broken)

## [1.4.3]

### Added
- MODx tag completions (Ctrl+Space)

### Fixed
- Issue caused AjaxManager (MODx Manager speed booster plugin) tree drag'n'drop bug

## [1.4.2]

### Added
- Undo coalescing
- Drag delay for Mac (allow to start new selection inside current one)

### Changed
- Mac fullscreen command bound to Command+F12

### Fixed
- Use file extension of static chunks to detect code syntax

## [1.4.1]

### Added
- Expandable snippets support (see ace.snippets setting)
- Emmet wrap_with_abbreviation command (Alt+W)

### Fixed
- Tab handling
- Emmet shortcut listing by Ctrl+Alt+H

## [1.4.0]

### Added
- Emmet (Zen Coding) support
- Terminal dark theme
- Hotkey table (Ctrl+Alt+H)

### Changed
- Assets moved to /manager/assets/components/

### Fixed
- Resource overview fatal error

## [1.3.3]

### Added
- PHP live syntax check
- Chaos dark theme
- Setting show_invisibles

## [1.3.2]

### Added
- Tab settings (tab size, soft tab)
- Full compatibility with AjaxManager extra

### Fixed
- Bug while installing Ace
- Broken word_wrap setting

## [1.3.1]

### Changed
- Plugin content now stored in static file

## [1.3.0]

### Added
- German translation
- MODx tags highlighting
- Ambiance and xcode themes
- less/scss syntax highlighting
- Fullwindow mode (Ctrl+F11)

### Changed
- Editor now ignores `wich_editor` setting. Set `use_editor` to false to use ACE for Resources.

## [1.2.1]

### Added
- Font size setting
- "GitHub" theme
- Support of html5 drag'n'drop (accepting dropped text)
- XML/HTML tag autoclosing

### Changed
- Assets moved to manager folder

### Fixed
- Broken en lexicon and PHP 5.3 incompatibility

## [1.2.0]

### Added
- Add missing "OnFileEditFormPrerender" event to MODx
- Multiline editing
- Advanced find/replace window

### Changed
- Editor options moved to system settings
- Removed some unnecessary options

### Fixed
- Multiple little editor bugs

## [1.1.0]

### Added
- File edition support
- MODx tree elements drag'n'drop support
- Auto-assigning which_element_editor to Ace

### Fixed
- Fatal error on document create event
- Changing of properties has no effect

## [1.0.0]

### Added
- Plugin properties to adjust how Ace behaves
- Initial release
modstore.pro

1.9.8-pl

March 5, 2026

8 months ago

—
modstore.pro

1.9.7-pl

February 22, 2026

8 months ago

—
modstore.pro

1.9.6-pl

February 16, 2026

8 months ago

—
modstore.pro

1.9.5-pl

October 19, 2025

1 year ago

—
modstore.pro

1.9.4-pl

February 23, 2024

2 years ago

—
modstore.pro

1.9.3-pl

May 15, 2022

4 years ago

—
MODX.com

1.9.3-pl

May 15, 2022

4 years ago

—
MODX.com

1.9.2-pl

August 25, 2021

5 years ago

—
MODX.com

1.9.1-pl

November 12, 2020

5 years ago

—
MODX.com

1.8.0-pl

February 28, 2019

7 years ago

—
modstore.pro

1.7.0-pl

January 9, 2019

7 years ago

—
MODX.com

1.7.0-pl

January 9, 2019

7 years ago

—
MODX.com

1.6.5-pl

January 8, 2016

10 years ago

—

We've also seen 16 unverified versions of Ace in use, but don't list those as we've been unable of confirming they are official releases from an official source.