Skip to content

@Dmi3yy Dmi3yy released this Oct 1, 2020 · 111 commits to 3.x since this release

Evolution CMS 3.0 RC

We continue developing and implementing new ideas in Evolution CMS, started in the 2.0 branch to reach even greater possibilities and convenience in working with CMS.

What's new?

  • PostgreSQL support
  • Redis sessions support
  • Install/Update by migrations
  • Install/Update by CLI
  • Docker support
  • Controllers support in core
  • Closure Table
  • DLSiteContent
  • Remove from core unused elements (Messages, Import, Export)
  • Move to Extras (DocLister, DocInfo, Summary, Phpthumb, DLCrumb, DLMenu, DLSitemap, FormLister, If, Doc Manager, ElementInTree, FileSource, Quick Manager+)
  • Remove Demo site
  • Add new fields to WebUsers (last_name, middle_name)
  • Create \helpers::phpthumb ({{\Helper::phpThumb('assets/images/evo-logo.png', 'w=150,h=76,far=C,bg=FFFFFF')}})
  • Tracy add new type (manager/admin/adminfrontonly/managerfrontonly)
  • Refactor Tracy dump and bdump functions for show all depth of data
  • Add cache to get documentObject

Upgrade from older versions

  1. You need upgrade to 2.0.3 version

  2. Get script prepareToUpdateFrom2To3Evo
    Link:, or in Extras

  3. Run script on your site by url sitename /assets/updater.php

The release version will contain a full description of the changes with examples of how to use it.

Assets 2

@Dmi3yy Dmi3yy released this Aug 9, 2020 · 4 commits to 2.0.x since this release

Most Important changes:

  • Update DocLister (Dmi3yy)
  • Update Formlister to 1.12.1 (Pathologic)
  • Add ukrainian lang (Dmi3yy)
  • fix webp rules for phpthumb (bug in chrome on mac and ios) (Dmi3yy)
  • Up phpmailer version (Dmi3yy)
  • Update PhpCompat.php (zatomant)
  • Fix getConfig in manager (Dzhuryn Volodymyr)
  • Fix Syntax error in mysql 8 (Kamil)
  • Fix bug with empty snippet (Dzhuryn Volodymyr)
  • Optimize backup manager evo 2.0 (Dzhuryn Volodymyr)
  • Fix lost plugin events on install (Pathologic)
  • Fix composer conflict version (Ser1ous)
  • Add OnLogEvent event (Dmi3yy)
Assets 2

@Dmi3yy Dmi3yy released this Mar 13, 2020 · 74 commits to 2.0.x since this release


  • [GitHub:#c2ba16eaf] - update core vendor (Dmi3yy)
  • [GitHub:#f6d0b38e9] - update DocLister to 2.5.2 (Dmi3yy)
  • [GitHub:#5ef199e39] - update FormLister to 1.10.3 (Dmi3yy)
  • [GitHub:#55455f34e] - Fix "New Folder" icon (Sasha Beep)
  • [GitHub:#d195ec024] - [F] init some properties (Pathologic)
  • [GitHub:#2498b78a6] - core (fix) Send new manager pass by mail. (Ser1ous)
  • [GitHub:#44da6253f] - fixing icons (Sasha Beep)
  • [GitHub:#94325e240] - core (fix) add limit for search path (Ser1ous)
  • [GitHub:#076261f7e] - turn off check connect to server, need rewrite (Dmi3yy)
  • [GitHub:#3afdc6398] - fix wrong config path (mnoskov)
  • [GitHub:#0641c0377] - fix getting installed pluing (mnoskov)
  • [GitHub:#616dff82b] - keep plugin events priority on cms update (mnoskov)
  • [GitHub:#ee4112953] - keep priority on pluing update (mnoskov)
  • [GitHub:#d5cbaf115] - keep priority on pluing update (mnoskov)
  • [GitHub:#4be2e330d] - fix mistake in getChildIds core function (ashmatko)
  • [GitHub:#96d56e82c] - core (add) add SMTPAutoTLS options (Ser1ous)
  • [GitHub:#bdb9945fc] - Fixed missing translation (luigif)
  • [GitHub:#e2d6b02f5] - Allow empty namespace for snippets and chunks (mnoskov)
  • [GitHub:#b456edc93] - Remove check child directory (Ser1ous)
  • [GitHub:#b96ca08e6] - Update Parser.php (mnoskov)
  • [GitHub:#418aa4f0a] - Update Core.php (mnoskov)
  • [GitHub:#753742fd4] - [F] check this->placeholder on empty (mnoskov)
  • [GitHub:#04dc7f2c5] - FIX php notice (milkamil93)
  • [GitHub:#1b5f3f81b] - Fix enable_cache (Kamil)
  • [GitHub:#ad23c0acd] - add Redis support (Pathologic)
  • [GitHub:#566dd1e25] - by default auto_template_logic == sibling (Dmi3yy)
  • [GitHub:#3f4dacec3] - fix for nested snippet work with PHx (Dmi3yy)
  • [GitHub:#e28aefa9f] - core (fix) Fix composer.json version dotenv (Ser1ous)
  • [GitHub:#58c90bf96] - core (fix) Fix composer.json version doting (Ser1ous)
  • [GitHub:#beb0df101] - manager (fix) fix params plugin (Serious)
Assets 2

@Dmi3yy Dmi3yy released this Mar 13, 2020 · 41 commits to 1.4.x since this release

From the most interesting:

  • update backup manager, work faster and can backup bigest db
  • fix duplication of events that appeared in 1.4.10


  • [GitHub:#6f67301ba] - Update DocLister to 2.5.2 (Dmi3yy)
  • [GitHub:#8d5b31b1f] - Update FormLister to 1.10.3 (Dmi3yy)
  • [GitHub:#6e491904a] - fix keep plugins priority (mnoskov)
  • [GitHub:#0859d1062] - fix getting installed plugin (mnoskov)
  • [GitHub:#376d7f57c] - fix getting previous events (mnoskov)
  • [GitHub:#449e8160e] - update instprocessor.php (mnoskov)
  • [GitHub:#1883666e4] - update bk manager (dzhuryn)
  • [GitHub:#acc871ecb] - fix nested snippet 100->200 (Dmytro Lukianenko)
  • [GitHub:#6f7ad2534] - fix Update russian.php (projkin)
  • [GitHub:#e4c47375d] - fix remove event name duplicates (Pathologic)
  • [GitHub:#425b623f8] - fix for nested snippet work with PHx (Dmi3yy)
  • [GitHub:#21ae71665] - fix(forms.css): fixed height input (Serg)
  • [GitHub:#7c44e274c] - fix(forms.css) changed height inputs (Serg)
  • [GitHub:#f3be07dd7] - Fix missing panel toggle arrows (Mr B)
  • [GitHub:#29f80ce9a] - Fix tree icon for private resource (Mr B)
  • [GitHub:#6c5f69caa] - fix(modx.js): remove loader with locked resource (Serg)
  • [GitHub:#787bf71c4] - fix #1261 mcpuk browser missing icons (Nicola)
  • [GitHub:#53ec9444f] - Fix right arrow icon before element description (Sasha Beep)
  • [GitHub:#d1a4f2e83] - fix demo site install (Pathologic)
  • [GitHub:#22713e57e] - fix(modx.js): remove jQuery variable (Serg)
  • [GitHub:#f5079d97f] - feat(modx.js): remove jQuery methods (Serg)
  • [GitHub:#0fbd46f2a] - feat(modx.js): remove jQuery animate (Serg)
  • [GitHub:#3a864cbc9] - fix #1246 (kivamp)
  • [GitHub:#e08a7f971] - Fix fullscreen tinymce hiding buttons (Mr B)
  • [GitHub:#8bcf79aa7] - fix icon in tree when move #1167 (Dmi3yy)
Assets 2

@Dmi3yy Dmi3yy released this Nov 25, 2019 · 121 commits to 2.0.x since this release

New feature:

Now we can use DynamicRelation:

SiteContent::addDynamicRelation('comments', function (SiteContent $myModel) {
     return $myModel->hasMany(Comments::class);


Change log:

  • Update DocLister
  • fix: manager fix change theme (Serious)
  • fix: #1271 childrens should be children (Dmi3yy)
  • fix: #1294 Bad layout on page template-bound resources (Dmi3yy)
  • fix: Lang issue & #1272 (Dmi3yy)
  • fix: forgot ->db-> #1265 (Dmi3yy)
  • fix: issets are need in codemirror plugin #1264 (Dmi3yy)
  • fix: needs isset #1263 (Dmi3yy)
  • fix: getDocumentObject method (Pathologic)
  • fix: need use correct cachekey with event and GET (Dmi3yy)
  • fix: manager theme bug (Dmi3yy)
  • fix: styles anв icons (Ruslan Aleev)
  • fix: tree icon for private resource (Mr B)
  • fix: No hint path defined for [cache] (Pathologic)
  • fix: Corrected lexicons, Corrected output of lexicons in template (Ruslan Aleev)
  • fix: send mail to manager e-mail. (Yevhen Lebediev)
  • fix: demo site install (Pathologic)
  • fix: fullscreen tinymce hiding buttons (Mr B)
  • fix: parse plugin params (dzhuryn.volodymyr)
  • refactor: htaccess add rules for remove // #1239 fix (Dmi3yy)
  • new: (core) Add Dynamic Relation (Ser1ous)
Assets 2

@Dmi3yy Dmi3yy released this Nov 5, 2019 · 168 commits to 2.0.x since this release

Evolution CMS 2.0 is fully compatible with earlier versions

To understand what is Evolution CMS 2.0 and how to work with Evolution 2.0, I recommend reading the content from the links below:

Important change:

In the runSnippet method, 2 parameters were added to cache snippet results

string runSnippet (string $ snippetName [, array $ params, int $ cacheTime, string $ cacheKey]);

Actual for use in BLADE templates. Since by default all snippets are not cached and there are no [[]] and [!!] snippet execution options, this also makes it possible to cache snippets not forever before resetting the cache as it was before, but for some certain period of time + cacheKey which makes it possible to cache the same snippet for many pages at once.

To upgrade from 1.4.9 and below:

  1. Update to the latest version 1.4 (1.4.10) If there are problems with the display of icons: (Delete /manager/media/style/default/css/styles.min.css)
  2. Check that php version 7.2+
  3. Create a file core / config / database / connections / default.php with the contents:
    in which placeholders are replaced by their data.
  4. Delete the manager folder
  5. Pour over all the files from the archive 2.0
  6. create an empty '.install' file in the core folder

For upgrades from 2.0.0-alpha and 2.0.0-RC

  1. Delete /manager/media/style/default/css/styles.min.css
  2. remove from /core/custom/composer.json: "vlucas / phpdotenv": "~ 2.2"
  3. upload all files on top
  4. run composer upd from the core folder (if you used new features using composer)
Assets 2

@Dmi3yy Dmi3yy released this Nov 5, 2019 · 80 commits to 1.4.x since this release

If you have problem with icons delete 'manager/media/style/default/css/styles.min.css' and re-save settings in manager panel

  • Update DocLister and FormLister
  • Update Bootstrap to 4.3.1
  • Update Font Awesome to 5.7
  • Update phpthumb snippet
  • SQL syntax for mysql 8
  • fix manager login lang override
  • fix Error : Undefined index: enable_filter
  • remove fixed id from system event names
  • add Mysql transactions support
  • set priority on install
  • Call to undefined function evolutionCMS() fixed
  • escape plugin,snippet, modules params
  • fix for empty tabs
  • added method for removing tabs

Full list you can see here:

Assets 2

@Dmi3yy Dmi3yy released this Sep 20, 2019 · 239 commits to 2.0.x since this release

it's release time of Evolution CMS 2.0 RC based on Laravel components, but as the previous release and subsequent discussions showed, there are a lot of questions and myths related to the 2.0 branch.

The most popular myth is that everything has changed in the new branch and will no longer be in the old way.

Everything will work as before. We expanded the new functionality without affecting the capabilities of previous features. The entry level has not changed, but more skilled developers will receive many ready-made solutions and features. Those who have enough existing components to work will be able to work as before, nobody will deprive them of usual things. Those users who are satisfied with existing components will be able to work as before, no one will deprive them of familiar things.

The level of compatibility is more than good - even from version 0.9 you can upgrade to 1.4, and then from it to 2.0 without changing the functionality. Although it is necessary to consider possible issues, which may arise using "deprecated methods", due to the fact that you need to update the PHP version to 7.2. I'll respond quickly to bugs, bringing the stable release period closer. The speed of work is worth it.

Especially for doubters, I recorded a video in which the system was updated from 1.0.8 to 1.4 (I could upgrade from an older version but did not find such an outdated hosting)
In this video already tells how to upgrade from version 1.4. * to 2.0
As a result, on version 2.0 you can work in exactly the same way as on 1.4 and below.

Where is everything going and what is the purpose of all these changes?

Preserving Backward Compatibility.

Evolution CMS grow up from MODX Evolution, which appeared in 2004 and I can confidently say that even the oldest site can be updated without any problems to the latest version!
It's could be done in two steps:
0.9 -> 1.4.*
1.4.* -> 2.0

I do not know any system that could boast of such a result, considering the 15-year history and where everything would be compatible. We also have moments that became deprecated, considering of the obsolescence of some functions of PHP, so your update may not go smoothly enough. But all issues are often resolved quickly and simply, it is enough to be able to use Google, copy-paste, etc. Just copy the error into Google and read the first couple of articles from the results, in 95% of cases you'll find a solution to the problem.

Modern technologies:

Modern technologies are developing rapidly and if we stand still, in the very near future we will become developers of a good, but the already outdated system. Who will need such sites when a lot of “new, relevant, trendy” systems of competitors will appear on the market, and they do not standstill.
An additional plus - if someone suddenly has a desire to explore new opportunities, dare I say that this may even become a discovery for those who have not used anything other than standard components in life. New knowledge and opportunities are the main factors in the cost of the developer’s work, we give them to you and it is up to you to use them or not.

A real example of the benefits of change - I think many people remember how a couple of years ago I was not a supporter of working in the IDE, but now I understand how much I was wrong and that it made life difficult for myself.

Framework or CMS?


When it was decided to build Evo on Laravel components, one of the first questions was: Did someone does something similar and maybe it makes no sense to reinvent the wheel?

As a result, I reviewed more than 10 different admin areas for Laravel, and a couple of CMS based on it, and came to the conclusion that almost everything was done not for content managers who spend a lot of time in the admin area, but for developers. As a result, it’s convenient to assemble and make sites on this site, but not very helpful.

I believe that the ideology of the Evolution CMS admin panel, which came from MODX, is very cool and understandable for the average user. It takes a minimum of time for anyone to explain how to work with her. So developers can simply and quickly implement all the wishes of the client on the organization of the admin panel.

As a real example, the Collection solution: which allows you to display child documents in the form of a table with a filter, sorting and inline editing, while you can independently configure which fields will be displayed in the table.


Currently, Laravel is one of the most popular frameworks, which means that it has many developers, a large community that has already resolved certain issues, as well as a large information base for working with it. We are expanding the capabilities of the system, by implementing Laravel 6.0 components in Evolution CMS, as well as simplifying the life of developers and stimulating the creation of new solutions and add-ons. Those who work with Evolution for a long time and do not use other tools should monitor global trends and what new tools have appeared that simplify and speed up development: Composer, Artisan, Blade, MVC, Migration, Models, Eloquent, Git, etc. For those who are just starting to get acquainted with Evolution, but already have experience working with other systems or with Laravel, the system will have familiar and favorite tools. Thus, the Laravel components in the Evolution CMS lower the entry threshold for beginners in working with the system and provide an opportunity to upgrade their skills for those who were familiar with the Evolution CMS for the long term.

So, what's new

The near future plans

The release of Evolution CMS 2.0 coming to November 2, 2019. An offline event will be organized in Moscow in the private cinema 'Kinoleto' by address: 2nd Kozhuhovsky passage 29, building 2, building 18. Pre-registration entry, registration form and more details will be here:

Assets 2

@Dmi3yy Dmi3yy released this May 26, 2019 · 154 commits to 1.4.x since this release

EVO 1.4.9 includes various fixes and improvements for stability and backward compatibility.

Evolution 1.4 LTS version:

  • support bugfix, compatible with 2.x branch, stability until 02.02.2020
  • support for critical security issues until 12.02.2021

Fixes and Updates in 1.4.9:

- [I] Add support WebP for phpthumb (Ser1ous)
- [I] New event OnLogEvent (Ser1ous)
- [F] set auto_template_logic -> sibling by default (Dmi3yy)
- [U] Update mutate_web_user.dynamic.php (bossloper)
- [U] Update mutate_user.dynamic.php (bossloper)
- [F] display thislogin date for users / managers (bossloper)
- [F] (security): update htaccess (Dmi3yy)
- [F] #1058 Warning in Admin Backend(Dmi3yy)
- [F] fix modx.js (Serg)
- [F] Undefined index enable_filter (Kamil)
- [U] #1054 Update (Dreamer0x01)
- [F] fix missing quality setting for png files (Pathologic)
- [F] #1026 Manager Manager tabs and maps (Dreamer0x01)
- [F] Manager Manager fix google and yandex map (dzhuryn)
- [F] (dbapi) unpacking the host string in a circle (AgelxNash)
- [F] #976 fix wrong language codes (Pathologic)
- [F] (core) fix undefined variable (Serg)

WebP for phpthumb:

- 1. install rosell-dk/webp-convert from composer 
- 2. use not cacheble with param &webp=1
Assets 2

@Dmi3yy Dmi3yy released this Jan 9, 2019 · 184 commits to 1.4.x since this release

Evolution CMS 1.4 LTS

  • support bugfix, compatible with 2.x branch, stability until 02.02.2020
  • support for critical security issues until 12.02.2021

If you used 3 level of nested Snippets you need Enable modifiers in settings!

This is a bad practice to use 3 levels of snippets, but if you really need to, then enable this setting.
I recommend if you need this behavior then write your snippet in which all the logic will be written in php it will work faster #977

Fixes and Updates in 1.4.8:

  • [refactor] (Extras) Updater - update only minor version(1.4 to 1.5, 2.0 to 2.1) (Update across major version (1.4 to 2.0 or 2.6 to 3.0 ) need do manual or from another plugin) (Dmi3yy)
  • [fix] (phpthumb): skipping svg files (Serg)
  • [fix] only if Enable modifiers in settings: #1200 only if Enable modifiers in settings: #1200 Double usage nested snippets. (Dmi3yy)
  • [fix] (core) buttons on welcome page, not work with Permission (Dmi3yy)
  • fix] Lightness navbar logo at width < 1200px (Nicola)
  • [fix] ser Icon Standardisation Suggestion #349 (Dmi3yy)
  • [refactor] clear (core) welcome.static @if (Dmi3yy)
  • [fix] (managermanager): path to the jquery file (Agel_Nash)
  • [feat] (manager) show template id in select on Document edit page (Dmi3yy)
  • [feat] (core): more compatible with 2.x branch (Agel_Nash)
  • [fix] (ElementsInTree) Categories are not sorted by name ASC (Nicola)
Assets 2
You can’t perform that action at this time.