## Novas Funcionalidades

### Núcleo do PHP

#### Atributo SensitiveParameter

Adicionado o atributo `#[\SensitiveParameter]` para redigir dados confidenciais em backtraces.

#### Diretiva INI error_log_mode

A diretiva INI error_log_mode foi adicionada, permitindo definir as permissões para o arquivo de log de erros.

#### Propriedades de Enumerações em expressões constantes

Agora é possível buscar propriedades de Enumerações em expressões constantes.

#### Melhorias no sistema de tipos

Agora é possível usar null e false como tipos autônomos.

O tipo true foi adicionado.

Agora é possível combinar tipos de interseção e união. O tipo precisa ser escrito em DNF.

#### Constantes em Traits

Agora é possível definir constantes em traits.

#### Classes Somente Leitura

Foi adicionado suporte para classes somente leitura.

### cURL

Adicionada a opção `CURLINFO_EFFECTIVE_METHOD`, que retorna o método HTTP efetivo no valor de retorno de curl_getinfo().

Expôs várias novas constantes de libcurl 7.62 a 7.80.

Adicionada a função curl_upkeep() para executar qualquer verificação de manutenção de conexão.

### DBA

O driver LMDB agora aceita as flags `DBA_LMDB_USE_SUB_DIR` ou `DBA_LMDB_NO_SUB_DIR` para determinar se deve criar um subdiretório ou não ao criar um arquivo de banco de dados.

### OCI8

Adicionou a diretiva INI oci8.prefetch_lob_size e a função oci_set_prefetch_lob() para ajustar o desempenho da consulta LOB reduzindo o número de viagens de ida e volta entre bancos de dados PHP e Oracle ao buscar LOBS. Isso pode ser usado com o Oracle Database 12.2 ou posterior.

### OpenSSL

Adicionado suporte AEAD para o algoritmo chacha20-poly1305.

### ODBC

Adicionadas as funções odbc_connection_string_is_quoted(), odbc_connection_string_should_quote() e odbc_connection_string_quote(). Eles são usados principalmente nos bastidores nas extensões ODBC e PDO_ODBC, mas são expostos ao userland para facilitar o teste de unidade e para que os aplicativos e bibliotecas do usuário executem as próprias citações.

### PCRE

Adicionado suporte para o modificador `n` (NO_AUTO_CAPTURE), que torna os grupos simples `(xyz)` sem captura. Somente grupos nomeados como `(?<name>xyz)` serão de captura. Isso afeta apenas quais grupos estão sendo capturados, ainda é possível usar referências de sub-expressão numeradas e o array de correspondências ainda conterá resultados numerados.

### Random

Esta é uma nova extensão que organiza e consolida implementações existentes relacionadas a geradores de números aleatórios. Novos e melhores RNGs estão disponíveis com problemas de escopo eliminados.

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