diff --git a/en/getting-started/maintenance/upgrading.md b/en/getting-started/maintenance/upgrading.md index 0e292e0c1..cbe1357b3 100644 --- a/en/getting-started/maintenance/upgrading.md +++ b/en/getting-started/maintenance/upgrading.md @@ -66,12 +66,16 @@ It's a good idea to clear your browser cache after upgrading. Browsers often cac For changes relating to specific versions, please see the following pages: -- [For Upgrading to 2.2](getting-started/maintenance/upgrading/2.2 "Upgrading to 2.2.x") -- [For Upgrading From 2.0.x to 2.1.x](getting-started/maintenance/upgrading/2.1 "Upgrading from 2.0.x to 2.1.x") **!important** -- [For Upgrades Coming From Prior to 2.0.5](getting-started/maintenance/upgrading/2.0.5 "Upgrading from Versions Earlier than 2.0.5") -- [For Upgrades Coming From Prior to 2.0.0-rc2](getting-started/maintenance/upgrading/2.0.0-rc2 "Upgrading to Revolution 2.0.0-rc-2") - -Upgrades after 2.0.0-rc-2 should run smoothly without issues. +- [Upgrading to 2.8](getting-started/maintenance/upgrading/2.8), then the security-related changes in [2.8.2 / 2.8.3](getting-started/maintenance/upgrading/2.8.2) +- [Upgrading to 2.7](getting-started/maintenance/upgrading/2.7) +- [Upgrading to 2.6](getting-started/maintenance/upgrading/2.6) +- [Upgrading to 2.5](getting-started/maintenance/upgrading/2.5) +- [Upgrading to 2.4](getting-started/maintenance/upgrading/2.4) +- [Upgrading to 2.3](getting-started/maintenance/upgrading/2.3) +- [Upgrading to 2.2](getting-started/maintenance/upgrading/2.2) +- [Upgrading from 2.0.x to 2.1.x](getting-started/maintenance/upgrading/2.1) **!important** +- [Upgrades from prior to 2.0.5](getting-started/maintenance/upgrading/2.0.5) +- [Upgrades from prior to 2.0.0-rc2](getting-started/maintenance/upgrading/2.0.0-rc2) ## See Also @@ -96,9 +100,14 @@ See the note above about FTP clients that support directory merging. ### Related Articles 1. [Troubleshooting Upgrades](getting-started/maintenance/upgrading/troubleshooting) -2. [Upgrading to 2.2.x](getting-started/maintenance/upgrading/2.2) -3. [Upgrading from 2.0.x to 2.1.x](getting-started/maintenance/upgrading/2.1) -4. [Upgrading from Versions Earlier than 2.0.5](getting-started/maintenance/upgrading/2.0.5) -5. [Upgrading to Revolution 2.0.0-rc-2](getting-started/maintenance/upgrading/2.0.0-rc2) -6. [Upgrading from MODX Evolution](getting-started/maintenance/upgrading/evolution) -7. [Functional Changes from Evolution](getting-started/maintenance/upgrading/evolution/functional-changes) +2. [Upgrading to 2.8](getting-started/maintenance/upgrading/2.8) +3. [Upgrading to 2.8.2 / 2.8.3](getting-started/maintenance/upgrading/2.8.2) +4. [Upgrading to 2.7](getting-started/maintenance/upgrading/2.7) +5. [Upgrading to 2.6](getting-started/maintenance/upgrading/2.6) +6. [Upgrading to 2.5](getting-started/maintenance/upgrading/2.5) +7. [Upgrading to 2.4](getting-started/maintenance/upgrading/2.4) +8. [Upgrading to 2.3](getting-started/maintenance/upgrading/2.3) +9. [Upgrading to 2.2.x](getting-started/maintenance/upgrading/2.2) +10. [Upgrading from 2.0.x to 2.1.x](getting-started/maintenance/upgrading/2.1) +11. [Upgrading from MODX Evolution](getting-started/maintenance/upgrading/evolution) +12. [Functional Changes from Evolution](getting-started/maintenance/upgrading/evolution/functional-changes) diff --git a/en/getting-started/maintenance/upgrading/2.4.md b/en/getting-started/maintenance/upgrading/2.4.md new file mode 100644 index 000000000..3fd592e61 --- /dev/null +++ b/en/getting-started/maintenance/upgrading/2.4.md @@ -0,0 +1,55 @@ +--- +title: "Upgrading to 2.4" +sortorder: 95 +--- + +MODX Revolution 2.4.0 (August 2015) adds package dependencies, namespace permissions, database indexes, and manager improvements. Full changelog: [`core/docs/changelog.txt`](https://github.com/modxcms/revolution/blob/2.x/core/docs/changelog.txt). + +Release overviews: + +- [Revolution 2.4 — Package Dependencies & More](https://modx.com/blog/2015/08/19/revolution-2.4/) +- [Deep Dive Into MODX Revolution 2.4](https://modx.com/blog/2015/08/26/deep-dive-into-modx-revolution-2.4/) + +## Before you upgrade + +- Upgrade to the latest 2.4 patch release, rather than stopping at 2.4.0. The 2.4 line includes the security fix from 2.3.6. +- Update Extras on the current version, clear `core/cache`, flush sessions, and back up the database and files. +- Check custom integrations with `modTransportProvider`. MODX 2.4.1 restored compatibility for Extras that used its previous behaviour. + +## Changes to review + +### User profile country values + +`modUserProfile.country` stores ISO country codes instead of translated country names. Check imports, exports, profile forms, and reports that compare this field with a full country name. + +### Resource URI generation + +The `use_frozen_parent_uris` setting lets child URI generation respect frozen parent URIs. Review generated aliases if your site freezes resource URIs or builds paths in custom code. + +### Access control and namespaces + +2.4 adds namespace permissions and combines the user-group tree with a user grid in the ACL page. Re-test custom access policies and manager users after setup. + +### Package dependencies + +Transport packages can declare dependencies on other Extras. Package Manager resolves those dependencies and may show setup options during installation. Test packages with custom resolvers or setup-option windows. + +## Other notable additions + +- New database indexes for common queries. +- System Events management page. +- Real-time resource alias generation. +- Regular-expression validation for text TVs. +- Date TVs can hide the time input. +- Custom icons for media sources and contexts. +- New `saveObject` and `removeObject` methods in object processors. +- JSONP support in `modConnectorResponse`. +- `contentType=string` support in `modRestCurlClient`. + +## Patch-level caution + +2.4.3 introduced a regression in output filters on undefined placeholders. MODX 2.4.4 fixed it. Install the latest 2.4.x patch and test pages that apply output modifiers to missing values. + +## After setup + +Check manager login, ACLs, Package Manager dependency resolution, user profile country values, and friendly URLs. Clear the manager browser cache before testing. diff --git a/en/getting-started/maintenance/upgrading/2.5.md b/en/getting-started/maintenance/upgrading/2.5.md new file mode 100644 index 000000000..b61ec436c --- /dev/null +++ b/en/getting-started/maintenance/upgrading/2.5.md @@ -0,0 +1,44 @@ +--- +title: "Upgrading to 2.5" +sortorder: 93 +--- + +MODX Revolution 2.5.0 (April 2016) focused on PHP 7 readiness, manager usability, and anonymous-request performance. Full changelog: [`core/docs/changelog.txt`](https://github.com/modxcms/revolution/blob/2.x/core/docs/changelog.txt). + +Release overview: [MODX Revolution 2.5—PHP 7, Performance and More](https://modx.com/blog/2016/04/21/modx-revolution-2.5/). + +## Before you upgrade + +- Confirm the host can run PHP 5.3+ for 2.5.x. Prefer PHP 7 if the host offers it. PHP 7 support landed in this line (`modPhpThumb` and related fixes). +- Update Extras on the current version first, then clear `core/cache` and flush sessions before setup. + +## Behaviour changes + +### `anonymous_sessions` + +2.5 adds the [`anonymous_sessions`](building-sites/settings/anonymous_sessions) setting so anonymous front-end hits can skip PHP sessions. + +- Default is Yes (sessions for anonymous users still exist unless you change it). +- Set it to No only as a **context** setting on a front-end context that does not need sessions. Putting No in System Settings can lock you out of the manager. + +### Manager JS/CSS compression + +`compress_js` no longer builds minified manager assets on the fly. The core ships prebuilt `min.js` / CSS bundles instead. That removes a common source of broken managers after minifier failures. Site developers who patch core manager assets must rebuild those bundles; normal upgrades do not need extra steps. + +### Upgrade cleanup + +Setup removes selected legacy core files during upgrade. Keep a backup of the tree before you run setup so you can compare if a custom patch lived in a removed path. + +## Other additions + +- More mobile-friendly manager layout and login accessibility work. +- New default manager template / starter content for fresh installs. +- Output filters `stripmodxtags` and `htmlspecial`. +- Zip unpack in the media/file tree. +- `modParsedManagerController` for CMPs that use snippets and chunks. +- Uberbar can search by resource ID. +- Smarty and PHPMailer library updates (Smarty BC restored in 2.5.0-rc2). + +## After setup + +Clear the browser cache for the manager domain so you load the new static asset bundles. Re-test login, Package Manager, and any Extra that hooks manager JS. diff --git a/en/getting-started/maintenance/upgrading/2.6.md b/en/getting-started/maintenance/upgrading/2.6.md new file mode 100644 index 000000000..4fa6a58b9 --- /dev/null +++ b/en/getting-started/maintenance/upgrading/2.6.md @@ -0,0 +1,46 @@ +--- +title: "Upgrading to 2.6" +sortorder: 92 +--- + +MODX Revolution 2.6.0 (November 2017) is a large stability and manager UX release. Full changelog: [`core/docs/changelog.txt`](https://github.com/modxcms/revolution/blob/2.x/core/docs/changelog.txt). + +Release overview: [A Major New Milestone for MODX Revolution](https://modx.com/blog/modx-revolution-2-6). + +## Before you upgrade + +- Prefer 2.5.8 (or later 2.5.x) as the starting point when you can. Older 2.x sites still upgrade, but Extras and custom code need more careful testing. +- Update packages, clear `core/cache`, flush sessions, then run setup. + +## Database notes + +### InnoDB on new installs + +New MySQL installs create tables with the **InnoDB** engine when the server supports it. Existing MyISAM sites keep their current engines after upgrade. You can convert later if you want InnoDB benefits. See [How to change your MyISAM DB to InnoDB using phpMyAdmin](https://modx.com/blog/convert-myisam-to-innodb-with-phpmyadmin). + +### utf8mb4 indexes + +Index prefixes on `varchar` / `text` columns were shortened so MySQL can use **utf8mb4**. That mainly matters for new installs and for hosts that already use utf8mb4. If you change collation manually after upgrade, check index lengths against MySQL limits. + +## Behaviour and security + +- **TV `@EVAL` binding:** set [`allow_tv_eval`](building-sites/settings/allow_tv_eval) to No to disable EVAL bindings (`#13224`). Turn it off on production if you do not need it. +- **Cached vs uncached tags:** processing of non-cacheable elements inside cacheable ones was fixed (`#13530`). Re-check pages that mix `!` tags inside cached chunks/snippets. +- **`failed_login_attempts`:** the setting is honoured again (`#13516`). Confirm lockout behaviour matches what you expect. +- **PHP 7:** session callback and related PHP 7 errors in this line were addressed. On PHP 7 hosts, still confirm manager login and that a front-end session works. +- Package install / uninstall / remove fire new events (`#12936`). Custom plugins that assume the old event set should be reviewed. + +## Manager and API additions + +- Who's Online dashboard widget. +- SVG previews in the Media Browser. +- Custom manager top menus (`#12554`). +- `OnResourceCacheUpdate` event for third-party cache layers. +- Option to skip resource duplication when duplicating a context. +- `.less`, `.scss`, `.sass`, and `.css.map` among default allowed upload types. +- DKIM-related PHPMailer attributes. +- REST: `OPTIONS` on `modRestController`, stream upload support for binary files. + +## After setup + +Clear the manager browser cache. Check Package Manager, media uploads, login lockout, and any dashboard widgets. On MyISAM hosts, convert to InnoDB only after a full database backup. diff --git a/en/getting-started/maintenance/upgrading/2.7.md b/en/getting-started/maintenance/upgrading/2.7.md new file mode 100644 index 000000000..9a2feafea --- /dev/null +++ b/en/getting-started/maintenance/upgrading/2.7.md @@ -0,0 +1,55 @@ +--- +title: "Upgrading to 2.7" +sortorder: 91 +--- + +MODX Revolution 2.7.0 (November 2018) adds Trash Manager, native password hashing, static-element automation, and Media Browser security fixes. Full changelog: [`core/docs/changelog.txt`](https://github.com/modxcms/revolution/blob/2.x/core/docs/changelog.txt). + +Release overview: [Revolution 2.7: An Impressive and Feature-Packed Release](https://modx.com/blog/modx-revolution-2.7). + +## Before you upgrade + +- Merge **all** core files from the release package. Incomplete uploads (especially under `core/docs/` and setup templates) have produced broken `config.inc.php` writes when obsolete keys like `cache_disabled` disappeared from the templates. +- Keep a copy of `core/config/config.inc.php` before setup. If setup writes unresolved `{placeholders}` into that file, restore the backup and run setup again with a complete file tree. +- Update Extras, clear `core/cache`, flush sessions. + +## Breaking changes + +### Removed settings + +2.7 removes the non-functional `cache_disabled` system setting and drops `cache_system_settings` from system settings. Do not reintroduce those keys by hand. If an old deploy script or Extra still writes them, clean that up after upgrade. + +### Password hashing + +User passwords use **native PHP password hashing** (`#13926`). Existing hashes keep working through the normal login upgrade path. Custom user-import or password-reset scripts that assume plain MD5 need to follow the current hash class / `hash_class` behaviour instead of writing raw MD5 into `modUser`. + +### Deprecated 0.9.x parser utilities + +Migration helpers aimed at the old 0.9.x parser are deprecated and logged for removal in 3.0 (`#14131`). Finish any leftover migration work before you jump to MODX 3. + +### Media Browser and paths + +- Invalid relative media source paths no longer expose filesystem roots (`#14038`). +- Clearing `modFileRegister` no longer deletes arbitrary paths (`#13980`). +- phpThumb receives filtered user parameters (`#13979`). + +Re-test custom media sources that rely on unusual relative bases. + +## Features to configure after upgrade + +- **Trash Manager** for restore / purge of deleted resources (`#14058`). +- **Automatic static elements** workflow (`#14135`) if you keep elements on disk. +- **`automatic_template_assignment`** (`#13700`). +- Resource option **Use current alias in alias path** to omit a resource segment from the URI (`#11153`). +- **`set_sudo`** permission (`#13807`) for controlled sudo elevation. +- **Purge Old Versions** in Package Management (`#12818`). +- Composer-oriented project install plus **CLI setup** script (`#13790`). +- Customisable error.log location (`#13768`) and configurable custom error handler class path (`#14119`). +- Output filter `filterPathSegment` (`#13699`). +- Form Customization wildcards on actions (`#13775`). + +## After setup + +Confirm manager login (password hash path), Trash Manager, Media Browser sources, and Package Manager purge. If `config.inc.php` looks wrong, restore the pre-upgrade file and re-run setup with a complete 2.7 tree. + +If you later move to MODX 3, finish anything that still depends on the deprecated 0.9.x utilities first. See the [MODX 3 upgrade guide](https://docs.modx.com/3.x/en/getting-started/upgrading-to-3.0). diff --git a/en/getting-started/maintenance/upgrading/2.8.md b/en/getting-started/maintenance/upgrading/2.8.md new file mode 100644 index 000000000..95a8c8f78 --- /dev/null +++ b/en/getting-started/maintenance/upgrading/2.8.md @@ -0,0 +1,61 @@ +--- +title: "Upgrading to 2.8" +sortorder: 89 +--- + +MODX Revolution 2.8.0 (October 2020) focuses on manager security, file handling, and library updates. Read [the 2.8.2 / 2.8.3 notes](getting-started/maintenance/upgrading/2.8.2) before you install a later 2.8 release. + +Release overview: [MODX Revolution 2.8](https://modx.com/blog/modx-revolution-2.8). + +## Before you upgrade + +- Install the latest 2.8.x patch available. Do not stop at 2.8.0. +- Update Extras, clear `core/cache`, flush sessions, and back up the database and files. +- Merge the complete release tree before setup. 2.8.0 fixes a fatal error when upgrading from 2.5.x or earlier, but setup still needs every current core file. +- List the media sources available to each limited manager user. The new permission checks may remove file access that the user previously had by mistake. + +## Security and permissions + +2.8.0 closes several manager-side stored XSS issues and hardens file operations: + +- Limited manager users can only interact with files in media sources they can access. +- File upload and file-tree values receive stronger XSS protection. +- `modRestService` blocks a potential XXE path. +- Registry messages block path traversal. +- Template names are escaped in template and TV access grids. + +These fixes affect authenticated manager users. Re-test custom manager pages, file browsers, and ACLs with a non-administrator account. + +## File and image handling + +- `webp` joins the default uploadable file and image types. +- Upload handling checks whether a file already exists and fixes path selection. +- The login screen gets responsive styles. +- phpThumb is updated to 1.7.15. + +If you maintain a custom upload allowlist, add `webp` only when the server and your image pipeline support it. + +## Template Variables and settings + +- URL, RichText, Image, and File TVs gain an **Allow Blank** option. +- Listbox (Multi-Select) TVs can accept custom values. +- System Settings gain a number field type. + +Review validation for TVs where an empty value must remain forbidden. The new option makes that rule explicit. + +## Library updates + +2.8.0 updates: + +- xPDO to 2.8.1 +- Smarty to 3.1.36 +- PHPMailer to 5.2.28 +- phpThumb to 1.7.15 + +Test custom Smarty plugins, mail integrations, and image processing after setup. + +## After setup + +Log in as an administrator and as each limited manager role. Check media source access, uploads, TV validation, resource trash, email delivery, and manager pages supplied by Extras. + +Before moving past 2.8.1, read [Upgrading to 2.8.2 and 2.8.3](getting-started/maintenance/upgrading/2.8.2). Those releases tighten static-resource paths and permissions and may require configuration changes. diff --git a/ru/getting-started/maintenance/upgrading.md b/ru/getting-started/maintenance/upgrading.md index 510ec7a8f..3d78c508d 100644 --- a/ru/getting-started/maintenance/upgrading.md +++ b/ru/getting-started/maintenance/upgrading.md @@ -63,14 +63,18 @@ translation: "getting-started/maintenance/upgrading" ## Изменения в зависимости от версии - Для обновлений, касающихся определенных версий, пожалуйста ознакомьтесь со следующими страницами: - -- [Обновление до версии 2.2](getting-started/maintenance/upgrading/2.2 "Обновление до 2.2.x") -- [Обновление с версии 2.0.x до 2.1.x](getting-started/maintenance/upgrading/2.1 "Обновление с версии 2.0.x до 2.1.x") **!важно** -- [Обновление с более ранних версий до 2.0.5](getting-started/maintenance/upgrading/2.0.5 "Обновление с более ранних версий до 2.0.5") -- [Обновление до версии MODX Revolution 2.0.0-rc-2](getting-started/maintenance/upgrading/2.0.0-rc2 "Обновление до версии MODX Revolution 2.0.0-rc-2") - - Обновления после 2.0.0-rc-2 должны выполняться без проблем. +Для изменений по конкретным версиям см. страницы: + +- [Обновление до 2.8](getting-started/maintenance/upgrading/2.8), затем изменения безопасности в [2.8.2 / 2.8.3](getting-started/maintenance/upgrading/2.8.2) +- [Обновление до 2.7](getting-started/maintenance/upgrading/2.7) +- [Обновление до 2.6](getting-started/maintenance/upgrading/2.6) +- [Обновление до 2.5](getting-started/maintenance/upgrading/2.5) +- [Обновление до 2.4](getting-started/maintenance/upgrading/2.4) +- [Обновление до 2.3](getting-started/maintenance/upgrading/2.3) +- [Обновление до 2.2](getting-started/maintenance/upgrading/2.2) +- [Обновление с 2.0.x до 2.1.x](getting-started/maintenance/upgrading/2.1) **!важно** +- [Обновление с версий до 2.0.5](getting-started/maintenance/upgrading/2.0.5) +- [Обновление с версий до 2.0.0-rc2](getting-started/maintenance/upgrading/2.0.0-rc2) ## Смотри также @@ -95,9 +99,14 @@ cp -fr modx-2.2.0-pl/* /www/public_html/modx ### Смотрите также 1. [Решение проблем с обновлением](getting-started/maintenance/upgrading/troubleshooting) -2. [Обновление до версии 2.2.x](getting-started/maintenance/upgrading/2.2) -3. [Обновление с версии 2.0.x до 2.1.x](getting-started/maintenance/upgrading/2.1) -4. [Обновление с более ранних версий до 2.0.5](getting-started/maintenance/upgrading/2.0.5) -5. [Обновление до версии MODX Revolution 2.0.0-rc-2](getting-started/maintenance/upgrading/2.0.0-rc2) -6. [Обновление с MODX Evolution](getting-started/maintenance/upgrading/evolution) -7. [Функциональные отличия от Evolution](getting-started/maintenance/upgrading/evolution/functional-changes) +2. [Обновление до 2.8](getting-started/maintenance/upgrading/2.8) +3. [Обновление до 2.8.2 / 2.8.3](getting-started/maintenance/upgrading/2.8.2) +4. [Обновление до 2.7](getting-started/maintenance/upgrading/2.7) +5. [Обновление до 2.6](getting-started/maintenance/upgrading/2.6) +6. [Обновление до 2.5](getting-started/maintenance/upgrading/2.5) +7. [Обновление до 2.4](getting-started/maintenance/upgrading/2.4) +8. [Обновление до 2.3](getting-started/maintenance/upgrading/2.3) +9. [Обновление до 2.2.x](getting-started/maintenance/upgrading/2.2) +10. [Обновление с 2.0.x до 2.1.x](getting-started/maintenance/upgrading/2.1) +11. [Обновление с MODX Evolution](getting-started/maintenance/upgrading/evolution) +12. [Функциональные отличия от Evolution](getting-started/maintenance/upgrading/evolution/functional-changes) diff --git a/ru/getting-started/maintenance/upgrading/2.4.md b/ru/getting-started/maintenance/upgrading/2.4.md new file mode 100644 index 000000000..2200749a4 --- /dev/null +++ b/ru/getting-started/maintenance/upgrading/2.4.md @@ -0,0 +1,56 @@ +--- +title: "Обновление до 2.4" +translation: "getting-started/maintenance/upgrading/2.4" +sortorder: 95 +--- + +MODX Revolution 2.4.0 (август 2015) добавляет зависимости пакетов, права пространств имён, индексы базы данных и улучшения менеджера. Полный changelog: [`core/docs/changelog.txt`](https://github.com/modxcms/revolution/blob/2.x/core/docs/changelog.txt). + +Обзоры релиза: + +- [Revolution 2.4 — Package Dependencies & More](https://modx.com/blog/2015/08/19/revolution-2.4/) +- [Deep Dive Into MODX Revolution 2.4](https://modx.com/blog/2015/08/26/deep-dive-into-modx-revolution-2.4/) + +## Перед обновлением + +- Ставьте последний патч 2.4, а не 2.4.0. В линейку 2.4 входит исправление безопасности из 2.3.6. +- Обновите Extras на текущей версии, очистите `core/cache`, сбросьте сессии и сделайте резервные копии базы данных и файлов. +- Проверьте интеграции с `modTransportProvider`. MODX 2.4.1 вернул совместимость с Extras, которые зависели от прежнего поведения. + +## Что проверить + +### Страна в профиле пользователя + +`modUserProfile.country` хранит код страны ISO вместо переведённого названия. Проверьте импорт, экспорт, формы профиля и отчёты, которые сравнивают это поле с полным названием страны. + +### Формирование URI ресурсов + +Настройка `use_frozen_parent_uris` позволяет учитывать зафиксированные URI родителей при построении URI дочерних ресурсов. Проверьте адреса, если сайт фиксирует URI ресурсов или формирует пути в своём коде. + +### Контроль доступа и пространства имён + +В 2.4 появились права пространств имён, а дерево групп пользователей объединили с таблицей пользователей на странице ACL. После установки проверьте свои политики доступа и учётные записи менеджера. + +### Зависимости пакетов + +Транспортные пакеты могут объявлять зависимости от других Extras. Package Manager разрешает эти зависимости и может показывать параметры setup при установке. Проверьте пакеты со своими резолверами и окнами параметров. + +## Другие заметные изменения + +- Новые индексы базы данных для частых запросов. +- Страница управления системными событиями. +- Формирование alias ресурса в реальном времени. +- Проверка текстовых TV по регулярному выражению. +- Возможность скрыть время в TV с датой. +- Свои иконки для media source и контекстов. +- Методы `saveObject` и `removeObject` в процессорах объектов. +- Поддержка JSONP в `modConnectorResponse`. +- Поддержка `contentType=string` в `modRestCurlClient`. + +## Предупреждение о патчах + +В 2.4.3 появилась регрессия выходных фильтров на неопределённых плейсхолдерах. MODX 2.4.4 исправил её. Ставьте последний патч 2.4.x и проверьте страницы, где выходные модификаторы применяются к отсутствующим значениям. + +## После установки + +Проверьте вход в менеджер, ACL, разрешение зависимостей в Package Manager, страну в профилях пользователей и дружественные URL. Перед проверкой очистите кеш браузера для менеджера. diff --git a/ru/getting-started/maintenance/upgrading/2.5.md b/ru/getting-started/maintenance/upgrading/2.5.md new file mode 100644 index 000000000..d0fae440f --- /dev/null +++ b/ru/getting-started/maintenance/upgrading/2.5.md @@ -0,0 +1,45 @@ +--- +title: "Обновление до 2.5" +translation: "getting-started/maintenance/upgrading/2.5" +sortorder: 93 +--- + +MODX Revolution 2.5.0 (апрель 2016) готовит ядро к PHP 7, улучшает менеджер и ускоряет анонимные запросы. Полный changelog: [`core/docs/changelog.txt`](https://github.com/modxcms/revolution/blob/2.x/core/docs/changelog.txt). + +Обзор релиза: [MODX Revolution 2.5—PHP 7, Performance and More](https://modx.com/blog/2016/04/21/modx-revolution-2.5/). + +## Перед обновлением + +- Хост должен тянуть PHP 5.3+ для 2.5.x. Если есть PHP 7, лучше сразу на него. Поддержка PHP 7 в этой линейке есть (в том числе правки `modPhpThumb`). +- Сначала обновите Extras на текущей версии, очистите `core/cache` и сбросьте сессии, затем запускайте setup. + +## Что меняет поведение + +### `anonymous_sessions` + +В 2.5 появляется настройка [`anonymous_sessions`](building-sites/settings/anonymous_sessions): анонимные запросы к фронтенду могут обходиться без PHP-сессий. + +- По умолчанию Yes (сессии у анонимов остаются, пока вы сами не отключите). +- Ставьте No только как настройку **контекста** на фронтенд-контексте без сессий. No в системных настройках может закрыть вход в менеджер. + +### Сжатие JS/CSS менеджера + +`compress_js` больше не минифицирует ассеты менеджера на лету. В ядре лежат готовые `min.js` / CSS-бандлы. Это убирает частые поломки менеджера из-за минификатора. Кто правит core-ассеты менеджера, тот пересобирает бандлы. Обычному обновлению сайта дополнительные шаги не нужны. + +### Очистка при апгрейде + +Setup удаляет часть устаревших файлов ядра. Держите бэкап дерева до setup, если у вас были патчи в удаляемых путях. + +## Другие дополнения + +- Более удобный менеджер на мобильных и доработки accessibility на экране логина. +- Новый базовый шаблон / стартовый контент для чистых установок. +- Выходные фильтры `stripmodxtags` и `htmlspecial`. +- Распаковка zip в дереве файлов / медиа. +- `modParsedManagerController` для CMP со сниппетами и чанками. +- Поиск ресурса по ID в Uberbar. +- Обновления Smarty и PHPMailer (обратная совместимость Smarty вернули в 2.5.0-rc2). + +## После установки + +Очистите кеш браузера для домена менеджера, чтобы подтянуть новые статические бандлы. Проверьте логин, Package Manager и Extra, которые цепляются к JS менеджера. diff --git a/ru/getting-started/maintenance/upgrading/2.6.md b/ru/getting-started/maintenance/upgrading/2.6.md new file mode 100644 index 000000000..8898b73e5 --- /dev/null +++ b/ru/getting-started/maintenance/upgrading/2.6.md @@ -0,0 +1,47 @@ +--- +title: "Обновление до 2.6" +translation: "getting-started/maintenance/upgrading/2.6" +sortorder: 92 +--- + +MODX Revolution 2.6.0 (ноябрь 2017) — крупный релиз по стабильности и UX менеджера. Полный changelog: [`core/docs/changelog.txt`](https://github.com/modxcms/revolution/blob/2.x/core/docs/changelog.txt). + +Обзор релиза: [A Major New Milestone for MODX Revolution](https://modx.com/blog/modx-revolution-2-6). + +## Перед обновлением + +- Удобная точка входа — 2.5.8 (или более поздний 2.5.x). Со старых 2.x тоже обновляются, но Extra и свой код нужно сильнее прогнать руками. +- Обновите пакеты, очистите `core/cache`, сбросьте сессии, затем setup. + +## База данных + +### InnoDB на новых установках + +Новые установки на MySQL создают таблицы с движком **InnoDB**, если сервер его поддерживает. Уже существующие MyISAM-сайты после апгрейда остаются на своём движке. Конвертацию можно сделать позже. См. [How to change your MyISAM DB to InnoDB using phpMyAdmin](https://modx.com/blog/convert-myisam-to-innodb-with-phpmyadmin). + +### Индексы utf8mb4 + +Префиксы индексов по `varchar` / `text` укоротили под **utf8mb4**. Это важно для новых установок и хостов, где utf8mb4 уже включён. Если после апгрейда меняете collation вручную, сверьте длины индексов с лимитами MySQL. + +## Поведение и безопасность + +- **TV `@EVAL`:** поставьте [`allow_tv_eval`](building-sites/settings/allow_tv_eval) в No, чтобы отключить EVAL (`#13224`). На проде без нужды в EVAL лучше выключить. +- **Кешируемые и некешируемые теги:** починили обработку некешируемых элементов внутри кешируемых (`#13530`). Перепроверьте страницы, где `!`-теги сидят внутри кешируемых чанков/сниппетов. +- **`failed_login_attempts`:** настройка снова соблюдается (`#13516`). Проверьте блокировку после неудачных логинов. +- **PHP 7:** закрыли ошибки сессий и смежные проблемы. На PHP 7 всё равно прогоните логин в менеджере и сессию на фронте. +- При install / uninstall / remove пакетов появляются новые события (`#12936`). Плагины со старым набором событий стоит просмотреть. + +## Дополнения менеджера и API + +- Виджет Who's Online на дашборде. +- Превью SVG в Media Browser. +- Кастомные top menu менеджера (`#12554`). +- Событие `OnResourceCacheUpdate` для сторонних кешей. +- Опция не дублировать ресурсы при дублировании контекста. +- В разрешённые типы загрузки по умолчанию добавлены `.less`, `.scss`, `.sass`, `.css.map`. +- Атрибуты DKIM в PHPMailer. +- REST: `OPTIONS` в `modRestController`, потоковая загрузка бинарных файлов. + +## После установки + +Очистите кеш браузера менеджера. Проверьте Package Manager, загрузки медиа, блокировку логина и виджеты дашборда. На MyISAM конвертацию в InnoDB планируйте только после полного бэкапа БД. diff --git a/ru/getting-started/maintenance/upgrading/2.7.md b/ru/getting-started/maintenance/upgrading/2.7.md new file mode 100644 index 000000000..b5c69866a --- /dev/null +++ b/ru/getting-started/maintenance/upgrading/2.7.md @@ -0,0 +1,56 @@ +--- +title: "Обновление до 2.7" +translation: "getting-started/maintenance/upgrading/2.7" +sortorder: 91 +--- + +MODX Revolution 2.7.0 (ноябрь 2018) добавляет Trash Manager, нативное хеширование паролей, автоматизацию статических элементов и правки безопасности Media Browser. Полный changelog: [`core/docs/changelog.txt`](https://github.com/modxcms/revolution/blob/2.x/core/docs/changelog.txt). + +Обзор релиза: [Revolution 2.7: An Impressive and Feature-Packed Release](https://modx.com/blog/modx-revolution-2.7). + +## Перед обновлением + +- Слейте **все** файлы ядра из пакета релиза. Неполная заливка (особенно `core/docs/` и шаблоны setup) уже ломала запись `config.inc.php`, когда из шаблонов убрали устаревшие ключи вроде `cache_disabled`. +- Сохраните копию `core/config/config.inc.php` до setup. Если setup запишет в файл нераскрытые `{placeholders}`, верните бэкап и запустите setup снова с полным деревом файлов. +- Обновите Extra, очистите `core/cache`, сбросьте сессии. + +## Ломающие изменения + +### Удалённые настройки + +Убрали неработающую `cache_disabled` и `cache_system_settings` из системных настроек. Не возвращайте эти ключи руками. Если старый скрипт деплоя или Extra всё ещё их пишет, уберите это после апгрейда. + +### Хеширование паролей + +Пароли пользователей идут через **нативное PHP password hashing** (`#13926`). Старые хеши продолжают работать через обычный путь логина. Свои скрипты импорта/сброса паролей, которые кладут сырой MD5 в `modUser`, нужно перевести на актуальный hash class / `hash_class`. + +### Устаревшие утилиты парсера 0.9.x + +Хелперы миграции со старого парсера 0.9.x помечены deprecated и логируются к удалению в 3.0 (`#14131`). Допрыгните эту миграцию до перехода на MODX 3. + +### Media Browser и пути + +- Некорректные относительные пути media source больше не открывают корень ФС (`#14038`). +- Очистка `modFileRegister` больше не удаляет произвольные пути (`#13980`). +- В phpThumb параметры пользователя фильтруются (`#13979`). + +Перепроверьте кастомные media source с нестандартной относительной базой. + +## Что настроить после апгрейда + +- **Trash Manager** для восстановления / окончательного удаления ресурсов (`#14058`). +- Workflow **automatic static elements** (`#14135`), если элементы лежат на диске. +- **`automatic_template_assignment`** (`#13700`). +- Опция ресурса **Use current alias in alias path**, чтобы убрать сегмент из URI (`#11153`). +- Право **`set_sudo`** (`#13807`) для контролируемого sudo. +- **Purge Old Versions** в Package Management (`#12818`). +- Установка проекта через Composer и **CLI setup** (`#13790`). +- Настраиваемый путь к error.log (`#13768`) и класс кастомного error handler (`#14119`). +- Выходной фильтр `filterPathSegment` (`#13699`). +- Wildcard в Form Customization для actions (`#13775`). + +## После установки + +Проверьте логин в менеджере (путь хеша пароля), Trash Manager, media source и purge в Package Manager. Если `config.inc.php` выглядит сломанным, верните файл до апгрейда и снова запустите setup с полным деревом 2.7. + +Перед переходом на MODX 3 сначала закройте всё, что ещё держится за deprecated-утилиты 0.9.x. См. [руководство по обновлению на MODX 3](https://docs.modx.com/3.x/ru/getting-started/upgrading-to-3.0). diff --git a/ru/getting-started/maintenance/upgrading/2.8.md b/ru/getting-started/maintenance/upgrading/2.8.md new file mode 100644 index 000000000..367fce1e2 --- /dev/null +++ b/ru/getting-started/maintenance/upgrading/2.8.md @@ -0,0 +1,62 @@ +--- +title: "Обновление до 2.8" +translation: "getting-started/maintenance/upgrading/2.8" +sortorder: 89 +--- + +MODX Revolution 2.8.0 (октябрь 2020) усиливает безопасность менеджера, работу с файлами и обновляет библиотеки. Перед установкой более позднего 2.8 прочитайте [заметки для 2.8.2 / 2.8.3](getting-started/maintenance/upgrading/2.8.2). + +Обзор релиза: [MODX Revolution 2.8](https://modx.com/blog/modx-revolution-2.8). + +## Перед обновлением + +- Ставьте последний доступный патч 2.8.x. Не останавливайтесь на 2.8.0. +- Обновите Extras, очистите `core/cache`, сбросьте сессии и сделайте резервные копии базы данных и файлов. +- Слейте полное дерево релиза до запуска setup. В 2.8.0 исправили фатальную ошибку при обновлении с 2.5.x и старше, но setup по-прежнему нужны все актуальные файлы ядра. +- Составьте список media source, доступных каждому ограниченному пользователю менеджера. Новые проверки прав могут закрыть доступ к файлам, который раньше пользователь получал по ошибке. + +## Безопасность и права + +2.8.0 закрывает несколько хранимых XSS в менеджере и усиливает файловые операции: + +- Ограниченные пользователи менеджера работают с файлами только в доступных им media source. +- Загрузка файлов и дерево файлов получили более строгую защиту от XSS. +- `modRestService` блокирует потенциальный XXE. +- Сообщения реестра блокируют обход путей. +- Имена шаблонов экранируются в таблицах доступа шаблонов и TV. + +Эти исправления затрагивают авторизованных пользователей менеджера. Проверьте свои страницы менеджера, файловые браузеры и ACL под учётной записью без прав администратора. + +## Файлы и изображения + +- `webp` добавлен в стандартные списки загружаемых файлов и изображений. +- Загрузчик проверяет наличие файла и исправляет выбор пути. +- Экран входа получил адаптивные стили. +- phpThumb обновлён до 1.7.15. + +Если вы поддерживаете свой список расширений, добавляйте `webp`, только когда сервер и обработчик изображений его поддерживают. + +## TV и настройки + +- TV типов URL, RichText, Image и File получили параметр **Allow Blank**. +- TV Listbox (Multi-Select) принимает свои значения. +- Для системных настроек появился числовой тип поля. + +Проверьте валидацию TV, где пустое значение должно оставаться запрещённым. Новый параметр задаёт это правило явно. + +## Обновления библиотек + +В 2.8.0 обновлены: + +- xPDO до 2.8.1 +- Smarty до 3.1.36 +- PHPMailer до 5.2.28 +- phpThumb до 1.7.15 + +После установки проверьте свои плагины Smarty, отправку почты и обработку изображений. + +## После установки + +Войдите как администратор и под каждой ограниченной ролью менеджера. Проверьте доступ к media source, загрузку файлов, валидацию TV, корзину ресурсов, отправку почты и страницы менеджера от Extras. + +Перед переходом с 2.8.1 прочитайте [Обновление до 2.8.2 и 2.8.3](getting-started/maintenance/upgrading/2.8.2). Эти релизы ужесточают пути и права статических ресурсов, поэтому могут потребовать настройки.