<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/migration85.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'migration85.new-features.php',
    1 => 'Novas Funcionalidades',
    2 => 'Novas Funcionalidades',
  ),
  'up' => 
  array (
    0 => 'migration85.php',
    1 => 'Migrando do PHP 8.4.x para o PHP 8.5.x',
  ),
  'prev' => 
  array (
    0 => 'migration85.php',
    1 => 'Migrando do PHP 8.4.x para o PHP 8.5.x',
  ),
  'next' => 
  array (
    0 => 'migration85.new-classes.php',
    1 => 'Novas Classes e Interfaces',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'appendices/migration85/new-features.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="migration85.new-features" class="sect1">
 <h2 class="title">Novas Funcionalidades</h2>

 <div class="sect2" id="migration85.new-features.core">
  <h3 class="title">Núcleo do PHP</h3>

  <div class="sect3" id="migration85.new-features.core.pipe-operator">
   <h4 class="title">Operador Pipe</h4>

   <p class="simpara">
    Adicionado o <a href="language.operators.functional.php" class="link">operador pipe
    (<code class="literal">|&gt;</code>)</a>.
    
   </p>

   <div class="informalexample">
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$result </span><span style="color: #007700">= </span><span style="color: #DD0000">"Olá, Mundo!" </span><span style="color: #007700">|&gt; </span><span style="color: #0000BB">strlen</span><span style="color: #007700">(...);<br />print </span><span style="color: #0000BB">$result </span><span style="color: #007700">. </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;  </span><span style="color: #FF8000">// Exibe "11"</span></span></code></div>
    </div>

   </div>
  </div>

  <div class="sect3" id="migration85.new-features.core.closures-in-constexpr">
   <h4 class="title">Closure em expressões constantes</h4>

   <p class="para">
    Adicionado suporte a <a href="class.closure.php" class="link">Closures</a> e
    <a href="functions.first_class_callable_syntax.php" class="link">chamáveis de primeira classe</a>
    em expressões constantes. Isto inclui:

    <ul class="simplelist">
     <li>Parâmetros de atributo.</li>
     <li>Valores padrão de propriedades e parâmetros.</li>
     <li>Constantes regulares e de classe.</li>
    </ul>

    
    
   </p>
  </div>

  <div class="sect3" id="migration85.new-features.core.nodiscard-attribute">
   <h4 class="title">Atributo #[\NoDiscard]</h4>

   <p class="simpara">
    Adicionado o atributo <span class="classname"><a href="class.nodiscard.php" class="classname">NoDiscard</a></span> para indicar que um
    valor de retorno de uma função é importante e deve ser consumido.
    
   </p>

   <p class="simpara">
    Além disso, foi adicionada a conversão <code class="literal">(void)</code> para indicar a intenção de não se usar um valor.
    A conversão <code class="literal">(void)</code> não tem efeito na execução do programa em si mas
    pode ser usada para suprimir avisos emitidos por <code class="code">#[\NoDiscard]</code> e possivelmente
    também por diagnósticos emitidos por IDEs externos ou por ferramentas de análise estática.
    
   </p>

   <div class="informalexample">
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">#[</span><span style="color: #0000BB">\NoDiscard</span><span style="color: #007700">]<br />function </span><span style="color: #0000BB">concat</span><span style="color: #007700">(</span><span style="color: #0000BB">string $a</span><span style="color: #007700">, </span><span style="color: #0000BB">string $b</span><span style="color: #007700">): </span><span style="color: #0000BB">string </span><span style="color: #007700">{<br />    return </span><span style="color: #0000BB">$a </span><span style="color: #007700">. </span><span style="color: #0000BB">$b</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">// Warning: The return value of function concat() should either be used or<br />// intentionally ignored by casting it as (void) in xxx.php<br /></span><span style="color: #0000BB">concat</span><span style="color: #007700">(</span><span style="color: #DD0000">"a"</span><span style="color: #007700">, </span><span style="color: #DD0000">"b"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Nenhum aviso porque o valor de retorno é consumido pela atribuição.<br /></span><span style="color: #0000BB">$results </span><span style="color: #007700">= </span><span style="color: #0000BB">concat</span><span style="color: #007700">(</span><span style="color: #DD0000">"a"</span><span style="color: #007700">, </span><span style="color: #DD0000">"b"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Nenhum aviso porque a conversão (void) é usada.<br /></span><span style="color: #007700">(</span><span style="color: #0000BB">void</span><span style="color: #007700">)</span><span style="color: #0000BB">concat</span><span style="color: #007700">(</span><span style="color: #DD0000">"a"</span><span style="color: #007700">, </span><span style="color: #DD0000">"b"</span><span style="color: #007700">);</span></span></code></div>
    </div>

   </div>

  </div>

  <div class="sect3" id="migration85.new-features.core.attributes-on-constants">
   <h4 class="title">Atributos em Constantes</h4>

   <p class="simpara">
    Adicionado suporte a atributos em constantes que não sejam de classe no momento da compilação
    (ex.: <code class="code">const MY_CONST = 1;</code> em vez de
    <code class="code">define(&#039;MY_CONST&#039;, 1);</code>).
    
   </p>

   <p class="simpara">
    O atributo <span class="classname"><a href="class.deprecated.php" class="classname">Deprecated</a></span> agora pode ser usado em constantes.
    
   </p>

  </div>

  <div class="sect3" id="migration85.new-features.core.delayedtargetvalidation-attribute">
   <h4 class="title">Atributo <code class="code">#[\DelayedTargetValidation]</code></h4>

   <p class="simpara">
    O novo atributo <span class="classname"><strong class="classname">DelayedTargetValidation</strong></span> pode ser usado
    para suprimir erros de compilação de atributos do núcleo (ou de extensão) que são
    usados em destinos inválidos. Estes erros são por sua vez reportados no momento da execução se e
    quando <span class="methodname"><a href="reflectionattribute.newinstance.php" class="methodname">ReflectionAttribute::newInstance()</a></span> for chamado.
    
   </p>

  </div>

  <div class="sect3" id="migration85.new-features.core.override-for-properties">
   <h4 class="title"><code class="code">#[\Override]</code> para propriedades</h4>

   <p class="simpara">
    O atributo <span class="classname"><a href="class.override.php" class="classname">Override</a></span> agora pode ser aplicado a propriedades.
    
   </p>

  </div>

  <div class="sect3" id="migration85.new-features.core.static-aviz">
   <h4 class="title">Visibilidade Assimétrica para Propriedade Estática</h4>

   <p class="simpara">
    Adicionado o suporte a <a href="language.oop5.visibility.php#language.oop5.visibility-members-aviz" class="link">visibilidade
    assimétrica</a> para propriedades estáticas.
    
   </p>

  </div>

  <div class="sect3" id="migration85.new-features.core.backtraces-for-fatal-errors">
   <h4 class="title">Rastreamento de Pilha para Erros Fatais</h4>

   <p class="simpara">
    Erros fatais (tal como um tempo de execução máximo excedido) agora incluem um
    rastreamento de pilha.
    
   </p>

  </div>

  <div class="sect3" id="migration85.new-features.core.final-property-promotion">
   <h4 class="title">Promoção de construtor para propriedade final</h4>

   <p class="simpara">
    A <a href="language.oop5.decon.php#language.oop5.decon.constructor.promotion" class="link">promoção de propriedade
    de construtor</a> agora pode ser usada para propriedades finais.
    
   </p>

  </div>

  <div class="sect3" id="migration85.new-features.core.casts-in-constexpr">
   <h4 class="title">Conversões em expressões constantes</h4>

   <p class="simpara">
    Adicionado suporte para conversões em expressões constantes.
   </p>

   <div class="informalexample">
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">const </span><span style="color: #0000BB">T1 </span><span style="color: #007700">= (int) </span><span style="color: #0000BB">0.3</span><span style="color: #007700">; </span><span style="color: #FF8000">// Anteriormente: "Fatal error: Constant expression contains invalid operations"<br /></span><span style="color: #007700">print </span><span style="color: #0000BB">T1 </span><span style="color: #007700">. </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;   </span><span style="color: #FF8000">// Exibe "0"</span></span></code></div>
    </div>

   </div>

  </div>

  <div class="sect3" id="migration85.new-features.core.clone-function">
   <h4 class="title">Função de clonagem</h4>

   <p class="simpara">
    A <a href="language.oop5.cloning.php" class="link">construção de linguagem &#039;clone&#039;</a>
    agora é uma função e suporta reatribuição de propriedades (somente-leitura) durante
    a clonagem através do novo parâmetro <span class="property">$withProperties</span>.
    
   </p>

  </div>

 </div>

 <div class="sect2" id="migration85.new-features.curl">
  <h3 class="title">cURL</h3>

  <p class="simpara">
   Adicionado suporte para
   <a href="class.curlsharepersistenthandle.php" class="link">identificador compartilhado</a>
   que persistem por múltiplas requisições PHP, permitindo reúso mais efetivo de conexões
   de forma segura.
   
  </p>

  <p class="simpara">
   Adicionado suporte a <strong><code>CURLINFO_USED_PROXY</code></strong> (libcurl &gt;= 8.7.0),
   <strong><code>CURLINFO_HTTPAUTH_USED</code></strong>
   e <strong><code>CURLINFO_PROXYAUTH_USED</code></strong> (libcurl &gt;= 8.12.0)
   para a função <span class="function"><a href="function.curl-getinfo.php" class="function">curl_getinfo()</a></span>.
   Quando <span class="function"><a href="function.curl-getinfo.php" class="function">curl_getinfo()</a></span> retorna um array, a mesma informação
   fica disponível nas chaves <code class="literal">&quot;used_proxy&quot;</code>,
   <code class="literal">&quot;httpauth_used&quot;</code> e
   <code class="literal">&quot;proxyauth_used&quot;</code>.
   <strong><code>CURLINFO_USED_PROXY</code></strong> é definida para zero se nenhum proxy foi usado na
   transferência anterior ou para um valor diferente de zero se um proxy foi usado.
   <strong><code>CURLINFO_HTTPAUTH_USED</code></strong> e
   <strong><code>CURLINFO_PROXYAUTH_USED</code></strong> recebem máscaras de bits
   indicando os métodos de autenticação HTTP e proxy que foram
   usados na requisição anterior.
   Consulte as constantes <strong><code><a href="curl.constants.php#constant.curlauth-any">CURLAUTH_<span class="replaceable">*</span></a></code></strong> para
   os valores possíveis.
  </p>

  <p class="simpara">
   Adicionado suporte à opção cURL <strong><code>CURLOPT_INFILESIZE_LARGE</code></strong>, que é uma substituta segura
   para <strong><code><a href="curl.constants.php#constant.curlopt-infilesize">CURLOPT_INFILESIZE</a></code></strong>. Em certos sistemas,
   <strong><code><a href="curl.constants.php#constant.curlopt-infilesize">CURLOPT_INFILESIZE</a></code></strong> aceita somente um inteiro de 32 bits com sinal para indicar
   o tamanho do arquivo (2.0 GiB) mesmo em sistemas de 64 bits.
   <strong><code>CURLOPT_INFILESIZE_LARGE</code></strong> aceita o maior valor inteiro
   que o sistema permitir.
  </p>

  <p class="simpara">
   Adicionadas os valores <strong><code>CURLFOLLOW_OBEYCODE</code></strong>,
   <strong><code>CURLFOLLOW_FIRSTONLY</code></strong> e <strong><code>CURLFOLLOW_ALL</code></strong>
   para a opção <strong><code><a href="curl.constants.php#constant.curlopt-followlocation">CURLOPT_FOLLOWLOCATION</a></code></strong> da função
   <span class="function"><a href="function.curl-setopt.php" class="function">curl_setopt()</a></span>.
   <strong><code>CURLFOLLOW_OBEYCODE</code></strong> passa a seguir mais rigorosamente em relação ao
   redirecionamento, se permitido.
   <strong><code>CURLFOLLOW_FIRSTONLY</code></strong> segue apenas o primeiro redirecionamento, portanto
   se houver algum redirecionamento subsequente, ela não irá além disso.
   <strong><code>CURLFOLLOW_ALL</code></strong> é equivalente a definir
   <strong><code><a href="curl.constants.php#constant.curlopt-followlocation">CURLOPT_FOLLOWLOCATION</a></code></strong> para &#039;true&#039;.
  </p>

  <p class="simpara">
   Adicionado suporte à constante <strong><code>CURLINFO_CONN_ID</code></strong> (libcurl &gt;= 8.2.0)
   para a função <span class="function"><a href="function.curl-getinfo.php" class="function">curl_getinfo()</a></span>. Esta constante permite recuperar
   o ID exclusivo da conexão usada por uma transferência cURL. É principalmente
   útil quando a reutilização de conexões ou a lógica de agrupamento de conexões é necessária em
   aplicações de nível PHP. Quando <span class="function"><a href="function.curl-getinfo.php" class="function">curl_getinfo()</a></span> retorna um array,
   esse valor está disponível como a chave <code class="literal">&quot;conn_id&quot;</code>.
  </p>

  <p class="simpara">
   Adicionado suporte à constante <strong><code>CURLINFO_QUEUE_TIME_T</code></strong> (libcurl &gt;= 8.6.0)
   para a função <span class="function"><a href="function.curl-getinfo.php" class="function">curl_getinfo()</a></span>. Esta constante permite
   recuperar o tempo (em microssegundos) que a requisição passou na fila
   de conexões do libcurl antes de ser enviada.
   Este valor também pode ser obtido passando
   <strong><code>CURLINFO_QUEUE_TIME_T</code></strong> para o parâmetro
   <code class="parameter">option</code> da função <span class="function"><a href="function.curl-getinfo.php" class="function">curl_getinfo()</a></span>.
  </p>

  <p class="simpara">
   Adicionado suporte à constante <strong><code>CURLOPT_SSL_SIGNATURE_ALGORITHMS</code></strong> para
   especificar os algoritmos de assinatura a serem usados ​​para TLS.
  </p>

 </div>

 <div class="sect2" id="migration85.new-features.dom">
  <h3 class="title">DOM</h3>

  <p class="simpara">
   Adicionada a propriedade <span class="property">Dom\Element::$outerHTML</span>.
  </p>

  <p class="simpara">
   Adicionada a propriedade <span class="property">$children</span> às
   implementações <span class="interfacename"><a href="class.dom-parentnode.php" class="interfacename">Dom\ParentNode</a></span>.
  </p>

 </div>

 <div class="sect2" id="migration85.new-features.exif">
  <h3 class="title">EXIF</h3>

  <p class="simpara">
   Adicionado suporte às etiquetas Exif <code class="literal">OffsetTime*</code>.
  </p>

  <p class="simpara">
   Adicionado suporte para HEIF/HEIC.
  </p>

 </div>

 <div class="sect2" id="migration85.new-features.filter">
  <h3 class="title">Filter</h3>

  <p class="simpara">
   Adicionada a nova opção <strong><code>FILTER_THROW_ON_FAILURE</code></strong> que pode ser
   passada para as funções de filtro e forçará o lançamento de uma exceção
   quando a validação falhar.
   A nova opção não pode ser combinada com
   <strong><code><a href="filter.constants.php#constant.filter-null-on-failure">FILTER_NULL_ON_FAILURE</a></code></strong>; tentar fazer isso resultará
   no lançamento de um <span class="exceptionname"><a href="class.valueerror.php" class="exceptionname">ValueError</a></span>.
   
  </p>

 </div>

 <div class="sect2" id="migration85.new-features.intl">
  <h3 class="title">Intl</h3>

  <p class="simpara">
   Adicionadas as constantes de classe <strong><code><a href="class.numberformatter.php#numberformatter.constants.currency-iso">NumberFormatter::CURRENCY_ISO</a></code></strong>,
   <strong><code><a href="class.numberformatter.php#numberformatter.constants.currency-plural">NumberFormatter::CURRENCY_PLURAL</a></code></strong>,
   <strong><code><a href="class.numberformatter.php#numberformatter.constants.cash-currency">NumberFormatter::CASH_CURRENCY</a></code></strong>
   e <strong><code><a href="class.numberformatter.php#numberformatter.constants.currency-standard">NumberFormatter::CURRENCY_STANDARD</a></code></strong>
   para varios formatos de números relacionados a moeda.
  </p>

  <p class="simpara">
   Adicionados os métodos <span class="methodname"><strong>Locale::addLikelySubtags()</strong></span> e
   <span class="methodname"><strong>Locale::minimizeSubtags()</strong></span> para lidar com possíveis etiquetas
   em uma dada localidade.
  </p>

  <p class="simpara">
   Adicionada a classe <span class="classname"><strong class="classname">IntlListFormatter</strong></span> para formatar, ordenar e
   pontuar uma lista de itens com uma dada localidade; operandos
   <strong><code>IntlListFormatter::TYPE_AND</code></strong>,
   <strong><code>IntlListFormatter::TYPE_OR</code></strong>,
   <strong><code>IntlListFormatter::TYPE_UNITS</code></strong>; e larguras
   <strong><code>IntlListFormatter::WIDTH_WIDE</code></strong>,
   <strong><code>IntlListFormatter::WIDTH_SHORT</code></strong> e
   <strong><code>IntlListFormatter::WIDTH_NARROW</code></strong>.
   É suportado a partir da ICU 67.
  </p>

 </div>

 <div class="sect2" id="migration85.new-features.pdo-sqlite">
  <h3 class="title">PDO_Sqlite</h3>

  <p class="simpara">
   Adicionada a constante de classe <strong><code>Pdo\Sqlite::ATTR_BUSY_STATEMENT</code></strong>.
  </p>

  <p class="simpara">
   Adicionadas as constantes de classe <strong><code>Pdo\Sqlite::ATTR_EXPLAIN_STATEMENT</code></strong>,
   <strong><code>Pdo\Sqlite::EXPLAIN_MODE_PREPARED</code></strong>,
   <strong><code>Pdo\Sqlite::EXPLAIN_MODE_EXPLAIN</code></strong>,
   <strong><code>Pdo\Sqlite::EXPLAIN_MODE_EXPLAIN_QUERY_PLAN</code></strong>.
  </p>

  <p class="simpara">
   Adicionado o atributo de conexão <strong><code>Pdo\Sqlite::ATTR_TRANSACTION_MODE</code></strong>
   com valores possíveis de <strong><code>Pdo\Sqlite::TRANSACTION_MODE_DEFERRED</code></strong>,
   <strong><code>Pdo\Sqlite::TRANSACTION_MODE_IMMEDIATE</code></strong>
   e <strong><code>Pdo\Sqlite::TRANSACTION_MODE_EXCLUSIVE</code></strong>,
   permitindo configurar a o modo de transação a ser usado por beginTransaction().
  </p>

 </div>

 <div class="sect2" id="migration85.new-features.session">
  <h3 class="title">Session</h3>

  <p class="simpara">
   <span class="function"><a href="function.session-set-cookie-params.php" class="function">session_set_cookie_params()</a></span>,
   <span class="function"><a href="function.session-get-cookie-params.php" class="function">session_get_cookie_params()</a></span>
   e <span class="function"><a href="function.session-start.php" class="function">session_start()</a></span> agora suportam cookies particionados através da chave
   <code class="literal">&quot;partitioned&quot;</code>.
   
  </p>

 </div>

 <div class="sect2" id="migration85.new-features.soap">
  <h3 class="title">SOAP</h3>

  <p class="simpara">
   Os casos de enumeração agora são despejados em <span class="methodname"><a href="soapclient.gettypes.php" class="methodname">SoapClient::__getTypes()</a></span>.
  </p>

  <p class="simpara">
   Adicionado suporte para o atributo xml:lang do &quot;Reason Text&quot; do SOAP 1.2.
  </p>

  <p class="simpara">
   As assinaturas de <span class="methodname"><a href="soapfault.construct.php" class="methodname">SoapFault::__construct()</a></span> e
   <span class="methodname"><a href="soapserver.fault.php" class="methodname">SoapServer::fault()</a></span> agora possuem um
   parâmetro opcional <code class="parameter">$lang</code>.
   Esse suporte resolve a compatibilidade com clientes SOAP do .NET.
  </p>

 </div>

 <div class="sect2" id="migration85.new-features.standard">
  <h3 class="title">Standard</h3>

  <p class="simpara">
   A função <span class="function"><a href="function.mail.php" class="function">mail()</a></span> agora retorna o erro real do sendmail e detecta
   se o processo do sendmail foi encerrado inesperadamente.
   Nesses casos, um aviso é emitido e a função retorna &#039;false&#039;.
   Anteriormente, esses erros eram ignorados silenciosamente.
   Essa alteração afeta apenas o transporte do sendmail.
  </p>

  <p class="simpara">
   <span class="function"><a href="function.getimagesize.php" class="function">getimagesize()</a></span> agora suporta imagens HEIF/HEIC.
  </p>

  <p class="simpara">
   <span class="function"><a href="function.getimagesize.php" class="function">getimagesize()</a></span> agora suporta imagens SVG quando a extensão libxml
   também estiver carregada.
   De forma similar, <span class="function"><a href="function.image-type-to-extension.php" class="function">image_type_to_extension()</a></span> e
   <span class="function"><a href="function.image-type-to-mime-type.php" class="function">image_type_to_mime_type()</a></span>
   agora também suportam IMAGETYPE_SVG.
  </p>

  <p class="simpara">
   O array retornado por <span class="function"><a href="function.getimagesize.php" class="function">getimagesize()</a></span> agora possui duas entradas adicionais:
   <code class="literal">&quot;width_unit&quot;</code> e <code class="literal">&quot;height_unit&quot;</code> para indicar em
   quais unidades as dimensões são expressas. Essas unidades são px por padrão. Elas não são
   necessariamente as mesmas (apenas para dar um exemplo: uma pode ser cm e a outra pode ser px).
  </p>

  <p class="simpara">
   <span class="function"><a href="function.setcookie.php" class="function">setcookie()</a></span> e <span class="function"><a href="function.setrawcookie.php" class="function">setrawcookie()</a></span> agora suportam a chave
   <code class="literal">&quot;partitioned&quot;</code>.
   
  </p>

 </div>

 <div class="sect2" id="migration85.new-features.uri">
  <h3 class="title">URI</h3>

  <p class="simpara">
   Uma extensão URI sempre habilitada foi adicionada e pode ser usada para lidar com
   URIs e URLs de acordo com a RFC 3986 e a WHATWG URL.
   
  </p>

 </div>

 <div class="sect2" id="migration85.new-features.xsl">
  <h3 class="title">XSL</h3>

  <p class="simpara">
   O argumento <code class="parameter">$namespace</code> de <span class="methodname"><a href="xsltprocessor.getparameter.php" class="methodname">XSLTProcessor::getParameter()</a></span>,
   <span class="methodname"><a href="xsltprocessor.setparameter.php" class="methodname">XSLTProcessor::setParameter()</a></span> e
   <span class="methodname"><a href="xsltprocessor.removeparameter.php" class="methodname">XSLTProcessor::removeParameter()</a></span> agora funciona de fato
   em vez de ser tratado como vazio.
   Isso só funciona se o argumento <code class="parameter">$name</code> não usar a notação Clark e não for um
   QName, pois nesses casos o namespace é obtido do &#039;href&#039; do namespace ou
   do prefixo, respectivamente.
  </p>

 </div>

 <div class="sect2" id="migration85.new-features.zlib">
  <h3 class="title">Zlib</h3>

  <p class="simpara">
   <span class="function"><a href="function.flock.php" class="function">flock()</a></span> agora é compatível com fluxos zlib. Anteriormente,
   isso sempre falhava ao executar qualquer ação de bloqueio.
  </p>

 </div>

</div><?php manual_footer($setup); ?>