From f14e8072431285731d29d22a23aaa3ac83fa615a Mon Sep 17 00:00:00 2001 From: Tim Bond Date: Tue, 21 Nov 2023 11:02:49 -0800 Subject: [PATCH 1/7] Add link to "More appropriate DateTime exceptions" RFC --- releases/8.3/languages/en.php | 2 +- releases/8.3/languages/ru.php | 2 +- releases/8.3/languages/zh.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/8.3/languages/en.php b/releases/8.3/languages/en.php index f5e2600c5f..0716bf23d8 100644 --- a/releases/8.3/languages/en.php +++ b/releases/8.3/languages/en.php @@ -34,7 +34,7 @@ 'new_ini' => 'New INI setting zend.max_allowed_stack_size to set the maximum allowed stack size.', 'bc_title' => 'Deprecations and backward compatibility breaks', - 'bc_datetime' => 'More Appropriate Date/Time Exceptions.', + 'bc_datetime' => 'More Appropriate Date/Time Exceptions.', 'bc_arrays' => 'Assigning a negative index n to an empty array will now make sure that the next index is n + 1 instead of 0.', 'bc_range' => 'Changes to the range() function.', 'bc_traits' => 'Changes in re-declaration of static properties in traits.', diff --git a/releases/8.3/languages/ru.php b/releases/8.3/languages/ru.php index 54bafafdf1..6eef6aad9b 100644 --- a/releases/8.3/languages/ru.php +++ b/releases/8.3/languages/ru.php @@ -34,7 +34,7 @@ 'new_ini' => 'Новый параметр INI zend.max_allowed_stack_size для установки максимально допустимого размера стека.', 'bc_title' => 'Устаревшая функциональность и изменения в обратной совместимости', - 'bc_datetime' => 'Более подходящие исключения в модуле Date/Time.', + 'bc_datetime' => 'Более подходящие исключения в модуле Date/Time.', 'bc_arrays' => 'Присвоение отрицательного индекса n пустому массиву теперь гарантирует, что следующим индексом будет n + 1, а не 0.', 'bc_range' => 'Изменения в функции range().', 'bc_traits' => 'Изменения в повторном объявлении статических свойств в трейтах.', diff --git a/releases/8.3/languages/zh.php b/releases/8.3/languages/zh.php index 76b6395bb2..040de418a1 100644 --- a/releases/8.3/languages/zh.php +++ b/releases/8.3/languages/zh.php @@ -38,7 +38,7 @@ 'new_ini' => '新增 INI 设置 zend.max_allowed_stack_size 用于设置允许的最大堆栈大小。', 'bc_title' => '弃用和向后不兼容', - 'bc_datetime' => '更合适的 Date/Time 异常。', + 'bc_datetime' => '更合适的 Date/Time 异常。', 'bc_arrays' => '现在在空数组中获取负索引 n 时,将确保下一个索引是 n + 1 而不是 0。', 'bc_range' => '对 range() 函数的更改。', 'bc_traits' => '在 traits 中重新声明静态属性的更改。', From df7215128dc81c0594414eb8a4fbbebba747fb1d Mon Sep 17 00:00:00 2001 From: Tim Bond Date: Tue, 21 Nov 2023 11:27:40 -0800 Subject: [PATCH 2/7] Add entry for command line linter --- releases/8.3/languages/en.php | 2 ++ releases/8.3/languages/ru.php | 2 ++ releases/8.3/languages/zh.php | 2 ++ releases/8.3/release.inc | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 40 insertions(+) diff --git a/releases/8.3/languages/en.php b/releases/8.3/languages/en.php index 0716bf23d8..a461185c0a 100644 --- a/releases/8.3/languages/en.php +++ b/releases/8.3/languages/en.php @@ -19,6 +19,8 @@ 'randomizer_getfloat_nextfloat_title' => 'New Randomizer::getFloat() and Randomizer::nextFloat() methods', 'randomizer_getfloat_nextfloat_description' => '

Due to the limited precision and implicit rounding of floating point numbers, generating an unbiased float lying within a specific interval is non-trivial and the commonly used userland solutions may generate biased results or numbers outside the requested range.

The Randomizer was also extended with two methods to generate random floats in an unbiased fashion. The Randomizer::getFloat() method uses the γ-section algorithm that was published in Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022.

', 'dynamic_class_constant_fetch_title' => 'Dynamic class constant fetch', + 'command_line_linter_title' => 'Command line linter supports multiple files', + 'command_line_linter_description' => '

The command line linter now accepts variadic input for filenames to lint

', 'new_classes_title' => 'New Classes, Interfaces, and Functions', 'new_dom' => 'New DOMElement::getAttributeNames(), DOMElement::insertAdjacentElement(), DOMElement::insertAdjacentText(), DOMElement::toggleAttribute(), DOMNode::contains(), DOMNode::getRootNode(), DOMNode::isEqualNode(), DOMNameSpaceNode::contains(), and DOMParentNode::replaceChildren() methods.', diff --git a/releases/8.3/languages/ru.php b/releases/8.3/languages/ru.php index 6eef6aad9b..833d472590 100644 --- a/releases/8.3/languages/ru.php +++ b/releases/8.3/languages/ru.php @@ -19,6 +19,8 @@ 'randomizer_getfloat_nextfloat_title' => 'Новые методы Randomizer::getFloat() и Randomizer::nextFloat()', 'randomizer_getfloat_nextfloat_description' => '

Из-за ограниченной точности и неявного округления чисел с плавающей точкой генерация несмещённого числа, лежащего в определённом интервале, является нетривиальной задачей, а пользовательские решения могут давать смещённые результаты или числа, выходящие за пределы требуемого диапазона.

Класс Randomizer был расширен двумя методами, позволяющими генерировать случайные числа с плавающей точкой несмещённым образом. Метод Randomizer::getFloat() использует алгоритм γ-секции, который был опубликован в Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022.

', 'dynamic_class_constant_fetch_title' => 'Динамическое получение констант класса', + 'command_line_linter_title' => 'Линтер командной строки поддерживает несколько файлов', + 'command_line_linter_description' => '

Линтер командной строки теперь принимает переменный ввод имен файлов для проверки.

', 'new_classes_title' => 'Новые классы, интерфейсы и функции', 'new_dom' => 'Новые методы DOMElement::getAttributeNames(), DOMElement::insertAdjacentElement(), DOMElement::insertAdjacentText(), DOMElement::toggleAttribute(), DOMNode::contains(), DOMNode::getRootNode(), DOMNode::isEqualNode(), DOMNameSpaceNode::contains() и DOMParentNode::replaceChildren().', diff --git a/releases/8.3/languages/zh.php b/releases/8.3/languages/zh.php index 040de418a1..196f25d99c 100644 --- a/releases/8.3/languages/zh.php +++ b/releases/8.3/languages/zh.php @@ -23,6 +23,8 @@ 'randomizer_getfloat_nextfloat_title' => '新增 Randomizer::getFloat()Randomizer::nextFloat() 方法', 'randomizer_getfloat_nextfloat_description' => '

由于浮点数的精度和隐式四舍五入的限制,在特定区间内生成无偏差的浮点数并非易事,常建的用户解决方案可能会生成有偏差的结果或超出要求范围的数字。

Randomizer 扩展了两种方法,用于随机生成无偏差的浮点数。Randomizer::getFloat() 方法使用的是 γ-section 算法,该算法发表于 Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022.

', 'dynamic_class_constant_fetch_title' => '动态获取类常量', + 'command_line_linter_title' => '命令行 linter 支持多个文件', + 'command_line_linter_description' => '

命令行 linter 现在接受文件名的可变输入以进行 lint

', 'new_classes_title' => '新的类、接口和函数', 'new_dom' => '新增 DOMElement::getAttributeNames()DOMElement::insertAdjacentElement()DOMElement::insertAdjacentText()DOMElement::toggleAttribute()DOMNode::contains()DOMNode::getRootNode()DOMNode::isEqualNode()DOMNameSpaceNode::contains()DOMParentNode::replaceChildren() 方法。', diff --git a/releases/8.3/release.inc b/releases/8.3/release.inc index 49e4910c7b..6800a3603b 100644 --- a/releases/8.3/release.inc +++ b/releases/8.3/release.inc @@ -440,6 +440,40 @@ PHP +
+

+ + PR + +

+
+
+
PHP < 8.3
+
+ +php -l foo.php bar.php +No syntax errors detected in foo.php + +
+
+
+
+
PHP 8.3
+
+ +php -l foo.php bar.php +No syntax errors detected in foo.php +No syntax errors detected in bar.php + +
+
+
+
+ +
+ +
+ From c04835ce82e91cceb59155149c1e6e0289dccf54 Mon Sep 17 00:00:00 2001 From: Tim Bond Date: Tue, 21 Nov 2023 13:04:55 -0800 Subject: [PATCH 3/7] Add entry for ini fallback syntax --- releases/8.3/languages/en.php | 1 + releases/8.3/languages/ru.php | 1 + releases/8.3/languages/zh.php | 1 + releases/8.3/release.inc | 1 + 4 files changed, 4 insertions(+) diff --git a/releases/8.3/languages/en.php b/releases/8.3/languages/en.php index a461185c0a..50c496f2f6 100644 --- a/releases/8.3/languages/en.php +++ b/releases/8.3/languages/en.php @@ -34,6 +34,7 @@ 'new_ziparchive' => 'New ZipArchive::getArchiveFlag() method.', 'new_openssl_ec' => 'Support for generation EC keys with custom EC parameters in OpenSSL extension.', 'new_ini' => 'New INI setting zend.max_allowed_stack_size to set the maximum allowed stack size.', + 'ini_fallback' => 'php.ini now supports fallback/default value syntax.', 'bc_title' => 'Deprecations and backward compatibility breaks', 'bc_datetime' => 'More Appropriate Date/Time Exceptions.', diff --git a/releases/8.3/languages/ru.php b/releases/8.3/languages/ru.php index 833d472590..5486e07616 100644 --- a/releases/8.3/languages/ru.php +++ b/releases/8.3/languages/ru.php @@ -34,6 +34,7 @@ 'new_ziparchive' => 'Новый метод ZipArchive::getArchiveFlag().', 'new_openssl_ec' => 'Поддержка генерации EC-ключей с пользовательскими EC-параметрами в модуле OpenSSL.', 'new_ini' => 'Новый параметр INI zend.max_allowed_stack_size для установки максимально допустимого размера стека.', + 'ini_fallback' => 'php.ini теперь поддерживает синтаксис резервных значений/значений по умолчанию.', 'bc_title' => 'Устаревшая функциональность и изменения в обратной совместимости', 'bc_datetime' => 'Более подходящие исключения в модуле Date/Time.', diff --git a/releases/8.3/languages/zh.php b/releases/8.3/languages/zh.php index 196f25d99c..abf518a000 100644 --- a/releases/8.3/languages/zh.php +++ b/releases/8.3/languages/zh.php @@ -38,6 +38,7 @@ 'new_ziparchive' => '新增 ZipArchive::getArchiveFlag() 方法。', 'new_openssl_ec' => '支持在 OpenSSL 扩展中使用自定义 EC 参数生成 EC 密钥。', 'new_ini' => '新增 INI 设置 zend.max_allowed_stack_size 用于设置允许的最大堆栈大小。', + 'ini_fallback' => 'php.ini 现在支持后备/默认值语法。', 'bc_title' => '弃用和向后不兼容', 'bc_datetime' => '更合适的 Date/Time 异常。', diff --git a/releases/8.3/release.inc b/releases/8.3/release.inc index 6800a3603b..f8ce6b1ba1 100644 --- a/releases/8.3/release.inc +++ b/releases/8.3/release.inc @@ -493,6 +493,7 @@ No syntax errors detected in bar.php
  • +
  • From a73939b43ce511650c2fce5ee1acc5a72a54b9ea Mon Sep 17 00:00:00 2001 From: Tim Bond Date: Tue, 21 Nov 2023 13:09:23 -0800 Subject: [PATCH 4/7] Add entry for anonymous readonly classes --- releases/8.3/languages/en.php | 1 + releases/8.3/languages/ru.php | 1 + releases/8.3/languages/zh.php | 1 + releases/8.3/release.inc | 1 + 4 files changed, 4 insertions(+) diff --git a/releases/8.3/languages/en.php b/releases/8.3/languages/en.php index 50c496f2f6..6ae09a51c4 100644 --- a/releases/8.3/languages/en.php +++ b/releases/8.3/languages/en.php @@ -35,6 +35,7 @@ 'new_openssl_ec' => 'Support for generation EC keys with custom EC parameters in OpenSSL extension.', 'new_ini' => 'New INI setting zend.max_allowed_stack_size to set the maximum allowed stack size.', 'ini_fallback' => 'php.ini now supports fallback/default value syntax.', + 'anonymous_readonly' => 'Anonymous classes can now be readonly.', 'bc_title' => 'Deprecations and backward compatibility breaks', 'bc_datetime' => 'More Appropriate Date/Time Exceptions.', diff --git a/releases/8.3/languages/ru.php b/releases/8.3/languages/ru.php index 5486e07616..2ec0a06dda 100644 --- a/releases/8.3/languages/ru.php +++ b/releases/8.3/languages/ru.php @@ -35,6 +35,7 @@ 'new_openssl_ec' => 'Поддержка генерации EC-ключей с пользовательскими EC-параметрами в модуле OpenSSL.', 'new_ini' => 'Новый параметр INI zend.max_allowed_stack_size для установки максимально допустимого размера стека.', 'ini_fallback' => 'php.ini теперь поддерживает синтаксис резервных значений/значений по умолчанию.', + 'anonymous_readonly' => 'Анонимные классы теперь доступны только для чтения.', 'bc_title' => 'Устаревшая функциональность и изменения в обратной совместимости', 'bc_datetime' => 'Более подходящие исключения в модуле Date/Time.', diff --git a/releases/8.3/languages/zh.php b/releases/8.3/languages/zh.php index abf518a000..ea3d037195 100644 --- a/releases/8.3/languages/zh.php +++ b/releases/8.3/languages/zh.php @@ -39,6 +39,7 @@ 'new_openssl_ec' => '支持在 OpenSSL 扩展中使用自定义 EC 参数生成 EC 密钥。', 'new_ini' => '新增 INI 设置 zend.max_allowed_stack_size 用于设置允许的最大堆栈大小。', 'ini_fallback' => 'php.ini 现在支持后备/默认值语法。', + 'anonymous_readonly' => '匿名类现在可以是只读的。', 'bc_title' => '弃用和向后不兼容', 'bc_datetime' => '更合适的 Date/Time 异常。', diff --git a/releases/8.3/release.inc b/releases/8.3/release.inc index f8ce6b1ba1..c04aaa5bb4 100644 --- a/releases/8.3/release.inc +++ b/releases/8.3/release.inc @@ -494,6 +494,7 @@ No syntax errors detected in bar.php
  • +
  • From 4b4eb36aed7240975aeabad94b35584f0f784ae3 Mon Sep 17 00:00:00 2001 From: Tim Bond Date: Tue, 21 Nov 2023 13:12:20 -0800 Subject: [PATCH 5/7] Add entry for sqlite's default error mode --- releases/8.3/languages/en.php | 1 + releases/8.3/languages/ru.php | 1 + releases/8.3/languages/zh.php | 1 + releases/8.3/release.inc | 1 + 4 files changed, 4 insertions(+) diff --git a/releases/8.3/languages/en.php b/releases/8.3/languages/en.php index 6ae09a51c4..dee5499da7 100644 --- a/releases/8.3/languages/en.php +++ b/releases/8.3/languages/en.php @@ -47,6 +47,7 @@ 'bc_reflection' => 'ReflectionClass::getStaticProperties() is no longer nullable.', 'bc_ini' => 'INI settings assert.active, assert.bail, assert.callback, assert.exception, and assert.warning have been deprecated.', 'bc_standard' => 'Calling get_class() and get_parent_class() without arguments are deprecated.', + 'bc_sqlite3' => 'SQLite3: Default error mode set to exceptions.', 'footer_title' => 'Better performance, better syntax, improved type safety.', 'footer_description' => '

    For source downloads of PHP 8.3 please visit the downloads page. Windows binaries can be found on the PHP for Windows site. The list of changes is recorded in the ChangeLog.

    diff --git a/releases/8.3/languages/ru.php b/releases/8.3/languages/ru.php index 2ec0a06dda..ab11a51a6f 100644 --- a/releases/8.3/languages/ru.php +++ b/releases/8.3/languages/ru.php @@ -47,6 +47,7 @@ 'bc_reflection' => 'ReflectionClass::getStaticProperties() теперь не возвращает значение null.', 'bc_ini' => 'Параметры INI assert.active, assert.bail, assert.callback, assert.exception и assert.warning объявлены устаревшими.', 'bc_standard' => 'Вызов функции get_class() и get_parent_class() без аргументов объявлен устаревшим.', + 'bc_sqlite3' => 'SQLite3: режим ошибок по умолчанию установлен на исключения.', 'footer_title' => 'Выше производительность, лучше синтаксис, надёжнее система типов.', 'footer_description' => '

    Для загрузки исходного кода PHP 8.3 посетите страницу Downloads. Бинарные файлы Windows находятся на сайте PHP for Windows. Список изменений перечислен на странице ChangeLog.

    diff --git a/releases/8.3/languages/zh.php b/releases/8.3/languages/zh.php index ea3d037195..cbe5807295 100644 --- a/releases/8.3/languages/zh.php +++ b/releases/8.3/languages/zh.php @@ -51,6 +51,7 @@ 'bc_reflection' => 'ReflectionClass::getStaticProperties() 不再为空。', 'bc_ini' => 'INI 配置 assert.activeassert.bailassert.callbackassert.exceptionassert.warning 已被废弃。', 'bc_standard' => '调用 get_class()get_parent_class() 时未提供参数,已被废弃。', + 'bc_sqlite3' => 'SQLite3:默认错误模式设置为异常。', 'footer_title' => '更好的性能、更好的语法、改进类型安全。', 'footer_description' => '

    diff --git a/releases/8.3/release.inc b/releases/8.3/release.inc index c04aaa5bb4..4e7aaf46aa 100644 --- a/releases/8.3/release.inc +++ b/releases/8.3/release.inc @@ -512,6 +512,7 @@ No syntax errors detected in bar.php

  • +
  • From 9238c3814cbc889f0ca10e410ac5c2549cf134b0 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Fri, 24 Nov 2023 10:11:40 +0300 Subject: [PATCH 6/7] Update releases/8.3/languages/ru.php --- releases/8.3/languages/ru.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/8.3/languages/ru.php b/releases/8.3/languages/ru.php index ab11a51a6f..78eaa53411 100644 --- a/releases/8.3/languages/ru.php +++ b/releases/8.3/languages/ru.php @@ -20,7 +20,7 @@ 'randomizer_getfloat_nextfloat_description' => '

    Из-за ограниченной точности и неявного округления чисел с плавающей точкой генерация несмещённого числа, лежащего в определённом интервале, является нетривиальной задачей, а пользовательские решения могут давать смещённые результаты или числа, выходящие за пределы требуемого диапазона.

    Класс Randomizer был расширен двумя методами, позволяющими генерировать случайные числа с плавающей точкой несмещённым образом. Метод Randomizer::getFloat() использует алгоритм γ-секции, который был опубликован в Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022.

    ', 'dynamic_class_constant_fetch_title' => 'Динамическое получение констант класса', 'command_line_linter_title' => 'Линтер командной строки поддерживает несколько файлов', - 'command_line_linter_description' => '

    Линтер командной строки теперь принимает переменный ввод имен файлов для проверки.

    ', + 'command_line_linter_description' => '

    Линтер командной строки теперь принимает нескольно имён файлов для проверки.

    ', 'new_classes_title' => 'Новые классы, интерфейсы и функции', 'new_dom' => 'Новые методы DOMElement::getAttributeNames(), DOMElement::insertAdjacentElement(), DOMElement::insertAdjacentText(), DOMElement::toggleAttribute(), DOMNode::contains(), DOMNode::getRootNode(), DOMNode::isEqualNode(), DOMNameSpaceNode::contains() и DOMParentNode::replaceChildren().', From 4b59cdf4617944286a1247fb556570d3b4e5a973 Mon Sep 17 00:00:00 2001 From: Tim Bond Date: Thu, 23 Nov 2023 23:30:38 -0800 Subject: [PATCH 7/7] Add pt-BR translations --- releases/8.3/languages/pt_BR.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/releases/8.3/languages/pt_BR.php b/releases/8.3/languages/pt_BR.php index 49338420af..089dfe8b8e 100644 --- a/releases/8.3/languages/pt_BR.php +++ b/releases/8.3/languages/pt_BR.php @@ -19,6 +19,8 @@ 'randomizer_getfloat_nextfloat_title' => 'Novos métodos Randomizer::getFloat() e Randomizer::nextFloat()', 'randomizer_getfloat_nextfloat_description' => '

    Devido à precisão limitada e ao arredondamento implícito de números de ponto flutuante, gerar um float imparcial dentro de um intervalo específico não é trivial, e as soluções comumente usadas no nível do usuário podem gerar resultados tendenciosos ou números fora do intervalo solicitado.

    O Randomizer também foi ampliado com dois métodos para gerar floats de maneira imparcial. O método Randomizer::getFloat() utiliza o algoritmo da seção γ que foi publicado em Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022.

    ', 'dynamic_class_constant_fetch_title' => 'Recuperação dinâmica de constantes de classe', + 'command_line_linter_title' => 'O linter de linha de comando suporta vários arquivos', + 'command_line_linter_description' => '

    O linter da linha de comando agora aceita vários nomes de arquivos para lint

    ', 'new_classes_title' => 'Novas classes, interfaces e funções', 'new_dom' => 'Novos métodos DOMElement::getAttributeNames(), DOMElement::insertAdjacentElement(), DOMElement::insertAdjacentText(), DOMElement::toggleAttribute(), DOMNode::contains(), DOMNode::getRootNode(), DOMNode::isEqualNode(), DOMNameSpaceNode::contains() e DOMParentNode::replaceChildren().', @@ -32,6 +34,8 @@ 'new_ziparchive' => 'Novo método ZipArchive::getArchiveFlag().', 'new_openssl_ec' => 'Suporte para geração de chaves EC com parâmetros EC personalizados na extensão OpenSSL.', 'new_ini' => 'Nova configuração INI zend.max_allowed_stack_size para definir o tamanho máximo permitido da pilha.', + 'ini_fallback' => 'php.ini agora suporta sintaxe de valor substituto/padrão.', + 'anonymous_readonly' => 'Classes anônimas agora podem ser somente leitura.', 'bc_title' => 'Alterações obsoletas e incompatibilidades com versões anteriores', 'bc_datetime' => 'Exceções de Date/Time mais apropriadas.', @@ -43,6 +47,7 @@ 'bc_reflection' => 'O tipo de retorno de ReflectionClass::getStaticProperties() não será mais nulo.', 'bc_ini' => 'As configurações INI assert.active, assert.bail, assert.callback, assert.exception e assert.warning foram obsoletas.', 'bc_standard' => 'Chamar get_class() e get_parent_class() sem argumentos está obsoleto.', + 'bc_sqlite3' => 'SQLite3: modo de erro padrão definido como exceções.', 'footer_title' => 'Melhorias de desempenho, sintaxe aprimorada e maior segurança de tipos.', 'footer_description' => '

    Para downloads do código-fonte do PHP 8.3, visite a página de downloads. Binários para Windows podem ser encontrados no site PHP for Windows. A lista de alterações está registrada no ChangeLog.