## Nuevas características

### Núcleo de PHP

#### Atributo SensitiveParameter

Se ha añadido el atributo `#[\SensitiveParameter]` para expurgar datos sensibles en los rastros.

#### Directiva INI error_log_mode

Se ha añadido la directiva INI error_log_mode para permitir definir los permisos del archivo de registro de errores.

#### Propiedades de enumeraciones en expresiones constantes

Ahora es posible recuperar las propiedades de las enumeraciones en expresiones constantes.

#### Mejoras en el sistema de tipos

Ahora es posible usar null y false como tipos independientes.

Se ha añadido el tipo true.

Ahora es posible combinar tipos de intersección y unión. El tipo debe escribirse en DNF.

#### Constantes en traits

Ahora es posible definir constantes en traits.

#### Clases de solo lectura

Se ha añadido soporte para readonly en clases.

### cURL

Se ha añadido la opción `CURLINFO_EFFECTIVE_METHOD`, que devuelve el método HTTP efectivo en el valor de retorno de curl_getinfo().

Exposición de varias nuevas constantes de libcurl 7.62 a 7.80.

Se ha añadido la función curl_upkeep() para realizar comprobaciones de mantenimiento de la conexión.

### DBA

El controlador LMDB ahora acepta las banderas `DBA_LMDB_USE_SUB_DIR` o `DBA_LMDB_NO_SUB_DIR` para determinar si debe crear o no un subdirectorio al crear un archivo de base de datos.

### OCI8

Se ha añadido la directiva INI oci8.prefetch_lob_size y la función oci_set_prefetch_lob() para mejorar el rendimiento de las consultas LOB reduciendo el número de idas y vueltas entre PHP y la base de datos Oracle al recuperar los LOBs. Esto es utilizable con bases de datos Oracle 12.2 o más recientes.

### OpenSSL

Se ha añadido soporte AEAD para el algoritmo chacha20-poly1305.

### ODBC

Se han añadido las funciones odbc_connection_string_is_quoted(), odbc_connection_string_should_quote(), y odbc_connection_string_quote(). Principalmente se utilizan en segundo plano en las extensiones ODBC y PDO_ODBC, pero se exponen al espacio de usuario para facilitar las pruebas unitarias, y para que las aplicaciones y bibliotecas de usuario puedan realizar el "quoting" por sí mismas.

### PCRE

Se ha añadido soporte para el modificador `n` (NO_AUTO_CAPTURE), que hace que los grupos simples `(xyz)` no sean capturables. Solo los grupos nombrados como `(?<name>xyz)` son capturables. Esto solo afecta a los grupos que son capturados, aún es posible usar referencias de subpatrones numeradas, y la tabla de coincidencias seguirá conteniendo resultados numerados.

### Random

Es una nueva extensión que organiza y consolida las implementaciones existentes relacionadas con los generadores de números aleatorios. Nuevos y mejores RNG están disponibles y los problemas de alcance se han eliminado.

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