Jump to main content Jump to doc navigation
Note: This document is not yet complete.

As a major release, MODX 3.0 comes with a number of breaking changes. There is always a balance to be kept between breaking changes that cleanup technical debt, and not breaking things unnecessarily.

Most important breaking changes

The biggest breaking changes can be summarised as follows:

Legacy functionality cleanup

  • modResource->contentType field has been removed. Use the content_type integer field (FK to modContentType) instead. #14057

    Before (legacy / broken in 3.0):

    $mime = $resource->get('contentType'); // removed field
    

    After:

    $contentTypeId = $resource->get('content_type');
    $contentType = $resource->getOne('ContentType'); // or $modx->getObject(modContentType::class, $contentTypeId)
    $mime = $contentType ? $contentType->get('mime_type') : '';
    
  • modParser095, modTranslate095, and modTranslator have been removed. They only helped migrate Evolution (0.9.x) tag syntax into Revolution. Do not call them for Evo→Revo migrations anymore: convert templates to standard [[...]] tags manually or with your own tooling, then rely on the normal modParser. #14133

  • Flash-based copy-to-clipboard in ExtJS has been removed. Manager copy actions use the browser clipboard APIs instead. #13697

  • /manager/min/ directory has been removed; was unused since 2.5. #12778, #13194, #14416

  • Unused ExtJS grids have been removed: assets/modext/widgets/resource/modx.grid.resource.security.js, assets/modext/widgets/security/modx.grid.role.user.js, assets/modext/workspace/lexicon/language.grid.js, assets/modext/workspace/lexicon/lexicon.topic.grid.js #14895

  • @EVAL binding has been removed from TVs #13865

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • CrewMark
  • Fabian Christen
  • Sepia River Studios
  • Dannevang Digital
  • Alex
  • A. Moreno
  • Chris Fickling
  • Stéphane Jäggi
  • Murray Wood
  • Anton Tarasov
  • JT Skaggs
  • deJaya
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

$195 per month—let's make that $500!

Learn more