Novas Funcionalidades
PHP Core
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.