## Новая функциональность

### Ядро PHP

#### Атрибут SensitiveParameter

Добавлен атрибут `#[\SensitiveParameter]` для редактирования конфиденциальных данных в трассировках стека вызовов.

#### INI-директива error_log_mode

Добавлена INI-директива error_log_mode, которая позволяет установить разрешения для файла журнала ошибок.

#### Свойства перечислений в константных выражениях

Теперь можно получать свойства перечислений в константных выражениях.

#### Улучшения системы типов

Теперь можно использовать null и false как самостоятельные типы.

Добавлен тип true.

Теперь можно комбинировать пересечение и объединение типов. Тип должен быть записан в виде DNF.

#### Константы в трейтах

Теперь в трейтах можно определять константы.

#### Классы, доступные только для чтения

Добавлена поддержка readonly для классов.

### cURL

Добавлена опция `CURLINFO_EFFECTIVE_METHOD`, которая возвращает последний использованный метод HTTP в возвращаемом значении функции curl_getinfo().

Стало доступно множество новых констант из libcurl 7.62 - 7.80.

Добавлена функция curl_upkeep() для выполнения любых проверок восстановления соединения.

### DBA

Драйвер LMDB теперь принимает флаги `DBA_LMDB_USE_SUB_DIR` или `DBA_LMDB_NO_SUB_DIR`, чтобы определить, должен ли он создавать подкаталог или нет при создании файла базы данных.

### OCI8

Добавлены INI-директива oci8.prefetch_lob_size и функция oci_set_prefetch_lob() для настройки производительности LOB-запросов путём уменьшения количества обходов между PHP и базами данных Oracle при выборке LOBS. Её можно использовать с Oracle Database 12.2 или более поздней версией.

### OpenSSL

Добавлена поддержка AEAD-алгоритма chacha20-poly1305.

### ODBC

Добавлены функции odbc_connection_string_is_quoted(), odbc_connection_string_should_quote() и odbc_connection_string_quote(). В основном они используются внутри самих модулей ODBC и PDO_ODBC, но для облегчения модульного тестирования теперь доступны извне. Кроме этого, ими можно воспользоваться для экранирования строки из пользовательских приложений.

### PCRE

Добавлена поддержка модификатора `n` (NO_AUTO_CAPTURE), который делает простые группы `(xyz)` не перехватываемыми. Перехватываются только именованные группы типа `(?<name>xyz)`. Это влияет только на то, какие группы перехватываются, по-прежнему можно использовать нумерованные ссылки на подшаблоны и массив совпадений по-прежнему будет содержать нумерованные результаты.

### Random

Это новый модуль, который организует и консолидирует существующие реализации, связанные с генераторами случайных чисел. В новых и улучшенных ГСЧ устранены проблемы, связанные с областью их применения.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open