Вы здесь

Drupal 7.50

Описание версии

Эта версия исправляет ошибки найденные в предыдущей версии.

Предыдущей версией была версия 7.44, переход в нумерации сразу к версии 7.50 связан со значительными изменениями реализованными в этой версии.

Добавлено право «Управление полями»

Раньше не было отдельного права, которое бы ограничивало доступ к интерфейсу управления полями. Любой пользователь с правом «Управление таксономией», например, мог добавлять и удалять поля в термине таксономии, а также изменять описание, заголовок и так далее. Сейчас доступ к интерфейсу управления полями защищён новым правом «Управление полями». С версии 7.50 это право требуется для доступа к интерфейсу управления полями.

Пример для интерфейса управления полями документа:

  • До версии 7.50: «Управление типами документов»
  • С версии 7.50: «Управление типами документов» и «Управление полями»

Пример для интерфейса управления терминами таксономии:

  • До версии 7.50: «Управление таксономией»
  • С версии 7.50: «Управление таксономией» и «Управление полями»

Обновление до версии 7.50 приведёт к тому, что право «Управление полями» будет автоматически дано ролям, которым раньше было даны права «Управление конфигурацией сайта», «Управление типами документов» и «Управление пользователями». Поэтому большинство управляющих сайтом сможет продолжить управлять полями без необходимости дополнительной настройки прав. Ролям, которым нужно дать право «Управление полями», но у которых раньше не было перечисленных выше прав, это право нужно будет назначить вручную.

Друпал 7.50

Разработчикам модулей и профилей установки нужно учесть это изменение в своих проектах, так как это изменение может вызвать небольшие проблемы со ссылками в интерфейсе, когда некоторые ссылки будут видны пользователям у которых нет соответствующего права.

Защита от clickjacking включена по умолчанию

Кликджекинг может использоваться для злонамеренных действий, когда владелец сайта может попытаться атаковать другой сайт, встроив сайт жертвы на свой через iframe. Чтобы предотвратить это, Друпал теперь запрещает встраивание iframe на другом домене. Это стандартное поведение, которое вы можете изменить.

Полная поддержка UTF-8 в MySQL (смайлики, азиатские и математические знаки)

Смайлики и другие знаки теперь можно использовать на сайте, который работает на MySQL (ранее это было возможно на PostgreSQL и SQLite). Включение этой возможности потребует изменений связанных с базой данных, правки файла settings.php и возможно других шагов.

Друпал 7.50

Улучшена поддержка последних версий PHP, включая PHP 7

Ядро Друпала теперь полностью проходит тесты с различным окружением, которые ранее заканчивались неудачей (PHP 5.4, 5.5, 5.6 и 7).

Улучшено быстродействие, когда Друпал пытался найти несуществующие файлы

Когда Друпал не мог найти файл, который ожидался в файловой системе, выполнялось большое количество ненужных запросов, что снижало быстродействие. Теперь это решено и если файл не найден, то заносится запись с предупреждением. Если у вас на сайте включен показ сообщений об ошибках, то его лучше отключить, чтобы не смущать посетителей.

Улучшена поисковая оптимизация для поиска файлов изображений/CSS/JS

Пауки поисковых систем читают изображения, файлы .css и .js (как и обычные браузеры) при индексации сайта, что позволяет им улучшать свою поисковую выдачу. Теперь стандартный файл robots.txt включает правила, который даёт поисковым системам больший доступ к этим файлам.

Изменения в файле default.settings.php

Добавлены строки:

* For handling full UTF-8 in MySQL, including multi-byte characters such as
* emojis, Asian symbols, and mathematical symbols, you may set the collation
* and charset to "utf8mb4" prior to running install.php:
* @code
* $databases['default']['default'] = array(
*   'driver' => 'mysql',
*   'database' => 'databasename',
*   'username' => 'username',
*   'password' => 'password',
*   'host' => 'localhost',
*   'charset' => 'utf8mb4',
*   'collation' => 'utf8mb4_general_ci',
* );
* @endcode
* When using this setting on an existing installation, ensure that all existing
* tables have been converted to the utf8mb4 charset, for example by using the
* utf8mb4_convert contributed project available at
* https://www.drupal.org/project/utf8mb4_convert, so as to prevent mixing data
* with different charsets.
* Note this should only be used when all of the following conditions are met:
* - In order to allow for large indexes, MySQL must be set up with the
*   following my.cnf settings:
*     [mysqld]
*     innodb_large_prefix=true
*     innodb_file_format=barracuda
*     innodb_file_per_table=true
*   These settings are available as of MySQL 5.5.14, and are defaults in
*   MySQL 5.7.7 and up.
* - The PHP MySQL driver must support the utf8mb4 charset (libmysqlclient
     5.5.3 and up, as well as mysqlnd 5.0.9 and up).
* - The MySQL server must support the utf8mb4 charset (5.5.3 and up).
*

Изменения в файле robots.txt

Добавлены строки:

# CSS, JS, Images
Allow: /misc/*.css$
Allow: /misc/*.css?
Allow: /misc/*.js$
Allow: /misc/*.js?
Allow: /misc/*.gif
Allow: /misc/*.jpg
Allow: /misc/*.jpeg
Allow: /misc/*.png
Allow: /modules/*.css$
Allow: /modules/*.css?
Allow: /modules/*.js$
Allow: /modules/*.js?
Allow: /modules/*.gif
Allow: /modules/*.jpg
Allow: /modules/*.jpeg
Allow: /modules/*.png
Allow: /profiles/*.css$
Allow: /profiles/*.css?
Allow: /profiles/*.js$
Allow: /profiles/*.js?
Allow: /profiles/*.gif
Allow: /profiles/*.jpg
Allow: /profiles/*.jpeg
Allow: /profiles/*.png
Allow: /themes/*.css$
Allow: /themes/*.css?
Allow: /themes/*.js$
Allow: /themes/*.js?
Allow: /themes/*.gif
Allow: /themes/*.jpg
Allow: /themes/*.jpeg
Allow: /themes/*.png

Обновление системы

Пошаговое описание обновления системы до новой версии смотрите в документации.

Дополнительная информация

Журнал изменений

2016.07.07

- Added a new "administer fields" permission for trusted users, which is
  required in addition to other permissions to use the field UI
  (https://www.drupal.org/node/2483307).
- Added clickjacking protection to Drupal core by setting the X-Frame-Options
  header to SAMEORIGIN by default (https://www.drupal.org/node/2735873).
- Added support for full UTF-8 (emojis, Asian symbols, mathematical symbols) on
  MySQL and other database drivers when the site and database are configured to
  allow it (https://www.drupal.org/node/2761183).
- Improved performance by avoiding a re-scan of directories when a file is
  missing; instead, trigger a PHP warning (minor API change:
  https://www.drupal.org/node/2581445).
- Made it possible to use any PHP callable in Ajax form callbacks, form API
  form-building functions, and form API wrapper callbacks (API addition:
  https://www.drupal.org/node/2761169).
- Fixed that following a password reset link while logged in leaves users unable
  to change their password (minor user interface change:
  https://www.drupal.org/node/2759023).
- Implemented various fixes for automated test failures on PHP 5.4+ and PHP 7.
  Drupal core automated tests now pass in these environments.
- Improved support for PHP 7 by fixing various problems.
- Fixed various bugs with PHP 5.5+ imagerotate(), including when incorrect
  color indices are passed in.
- Fixed a regression introduced in Drupal 7.43 that allowed files uploaded by
  anonymous users to be lost after form validation errors, and that also caused
  regressions with certain contributed modules.
- Fixed a regression introduced in Drupal 7.36 which caused the default value
  of hidden textarea fields to be ignored.
- Fixed robots.txt to allow search engines to access CSS, JavaScript and image
  files.
- Changed wording on the Update Manager settings page to clarify that the
  option to check for disabled module updates also applies to uninstalled
  modules (administrative-facing translatable string change).
- Changed the help text when editing menu links and configuring URL redirect
  actions so that it does not reference "Drupal" or the drupal.org website
  (administrative-facing translatable string change).
- Fixed the locale safety check that is used to ensure that translations are
  safe to allow for tokens in the href/src attributes of translated strings.
- Fixed that URL generation only works on port 80 when using domain based
  language negotation.
- Made method="get" forms work inside the administrative overlay. The fix adds
  a new hidden field to these forms when they appear inside the overlay (minor
  data structure change).
- Increased maxlength of menu link title input fields in the node form and
  menu link form from 128 to 255 characters.
- Removed meaningless post-check=0 and pre-check=0 cache control headers from
  Drupal HTTP responses.
- Added a .editorconfig file to auto-configure editors that support it.
- Added --directory option to run-tests.sh for easier test discovery of all
  tests within a project.
- Made run-tests.sh exit with a failure code when there are test fails or
  problems running the script.
- Fixed that cookies from previous tests are still present when a new test
  starts in DrupalWebTestCase.
- Improved performance of queries on the {authmap} database table.
- Fixed handling of missing files and functions inside the registry.
- Fixed Ajax handling for tableselect form elements that use checkboxes.
- Fixed a bug which caused ip_address() to return nothing when the client IP
  address and proxy IP address are the same.
- Added a new option to format_xml_elements() to allow for already encoded
  values.
- Changed the {history} table's node ID field to be an unsigned integer, to
  match the same field in the {node} table and to prevent errors with very
  large node IDs.
- Added an explicit page callback to the "admin/people/create" menu item in the
  User module (minor data structure change). Previously this automatically
  inherited the page callback from the parent "admin/people" menu item, which
  broke contributed modules that override the "admin/people" page.
- Numerous small bug fixes.
- Numerous API documentation improvements.
- Additional automated test coverage.