History log of /PHP-8.2/UPGRADING (Results 551 – 575 of 1683)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 47cf18ba 15-Feb-2020 Nikita Popov

Don't include trailing newline in comment token

Don't include a trailing newline in T_COMMENT tokens, instead leave
it for a following T_WHITESPACE token. The newline does not belong

Don't include trailing newline in comment token

Don't include a trailing newline in T_COMMENT tokens, instead leave
it for a following T_WHITESPACE token. The newline does not belong
to the comment logically, and this makes for an ugly special case,
as other tokens do not include trailing newlines.

Whitespace-sensitive tooling will want to either forward or backward
emulate this change.

Closes GH-5182.

show more ...


# e12b9df0 04-Mar-2020 Nikita Popov

Make sorting stable

Make user-exposed sorts stable, by storing the position of elements
in the original array, and using those positions as a fallback
comparison criterion. The base

Make sorting stable

Make user-exposed sorts stable, by storing the position of elements
in the original array, and using those positions as a fallback
comparison criterion. The base sort is still hybrid q/insert.

The use of true/false comparison functions is deprecated (but still
supported) and should be replaced by -1/0/1 comparison functions,
driven by the <=> operator.

RFC: https://wiki.php.net/rfc/stable_sorting

Closes GH-5236.

show more ...


# ff19ec2d 26-Feb-2020 Nikita Popov

Introduce InternalIterator

Userland classes that implement Traversable must do so either
through Iterator or IteratorAggregate. The same requirement does
not exist for internal class

Introduce InternalIterator

Userland classes that implement Traversable must do so either
through Iterator or IteratorAggregate. The same requirement does
not exist for internal classes: They can implement the internal
get_iterator mechanism, without exposing either the Iterator or
IteratorAggregate APIs. This makes them usable in get_iterator(),
but incompatible with any Iterator based APIs.

A lot of internal classes do this, because exposing the userland
APIs is simply a lot of work. This patch alleviates this issue by
providing a generic InternalIterator class, which acts as an
adapater between get_iterator and Iterator, and can be easily
used by many internal classes. At the same time, we extend the
requirement that Traversable implies Iterator or IteratorAggregate
to internal classes as well.

Closes GH-5216.

show more ...


# 4730b06f 04-Mar-2020 Nikita Popov

Make SimpleXMLElement a RecursiveIterator

Context: https://externals.io/message/108789

This essentially moves the functionality of SimpleXMLIterator into
SimpleXMLElement, and m

Make SimpleXMLElement a RecursiveIterator

Context: https://externals.io/message/108789

This essentially moves the functionality of SimpleXMLIterator into
SimpleXMLElement, and makes SimpleXMLIterator a no-op extension.

Ideally SimpleXMLElement would be an IteratorAggregate, whose
getIterator() method returns SimpleXMLIterator. However, because
SimpleXMLIterator extends SimpleXMLElement (and code depends on
this in non-trivial ways), this is not possible.

The only way to not keep SimpleXMLElement as a magic Traversable
(that implements neither Iterator nor IteratorAggregate) is to
move the SimpleXMLIterator functionality into it.

Closes GH-5234.

show more ...


# 18f58080 08-Jun-2020 Christoph M. Becker

Convert shmop resources to opaque objects

We make `shmop_close()` a NOP, and deprecate the function right away;
detaching from SHM now happens when the wrapper object is freed.


# d579b10c 24-Jun-2020 Nikita Popov

Remove deprecated DES fallback in crypt()


# f3b1f342 20-Jun-2020 Máté Kocsis

Deprecate the procedural API of ext/zip

Closes GH-5746


# a43fd3bb 18-Jun-2020 Máté Kocsis

Remove the deprecated parameter of curl_version()


# 314eedbc 17-Jun-2020 Máté Kocsis

Convert resources to objects in ext/zlib

Closes GH-5680


# b516566b 17-Jun-2020 Máté Kocsis

Convert CURL resources to objects

Closes GH-5402

Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>


# 2e18b30d 16-Jun-2020 Máté Kocsis

Convert resource to object in Sysvshm extension

Closes GH-5499


# 367c55ff 07-Jun-2020 Jakub Zelenka

Update NEWS and UPGRADING for the OpenSSL ext CMS addition


# 7439941d 30-May-2020 Gabriel Caruso

Add $filter parameter for ReflectionClass::(getConstants|getReflectionConstants)

This solves [#79628](https://bugs.php.net/79628).

Similar to `ReflectionClass::getMethods()` and `Re

Add $filter parameter for ReflectionClass::(getConstants|getReflectionConstants)

This solves [#79628](https://bugs.php.net/79628).

Similar to `ReflectionClass::getMethods()` and `ReflectionClass::getProperties()`,
this new `$filter` argument allows the filtering of constants defined in a class by
their visibility.

For that, we create three new constants for `ReflectionClassConstant`:

* `IS_PUBLIC`
* `IS_PROTECTED`
* `IS_PRIVATE`

Closes GH-5649.

show more ...


# 064b4644 24-Mar-2020 Nikita Popov

Implement "Constructor Promotion" RFC

RFC: https://wiki.php.net/rfc/constructor_promotion

Closes GH-5291.


# 1622d22c 04-Jun-2020 Benjamin Eberlei

Add upgrading note for Attributes RFC

[ci-skip]


# eeb7a7cd 31-May-2020 Nikita Popov

Add UPGRADING note for pty support

[ci skip]


# 393cd89f 31-May-2020 Nikita Popov

Add UPGRADING note for xmlrpc unbundling

And drop other UPGRADING references to xmlrpc. I don't think it
makes sense to have those for extensions that are no longer
shipped...

Add UPGRADING note for xmlrpc unbundling

And drop other UPGRADING references to xmlrpc. I don't think it
makes sense to have those for extensions that are no longer
shipped...

[ci skip]

show more ...


# d7f17ea4 31-May-2020 Nikita Popov

Fix some line overruns in UPGRADING

[ci skip]


# 805e3e3a 31-May-2020 Nikita Popov

Move upgrading note for mixed

This should be in the "new features" section.

[ci skip]


# 2302b14a 26-Mar-2020 George Peter Banyard

Use ZPP callable check for spl_autoload_register.

This makes it always throw a TypeError, moreover this makes the
error message consistent.

Added a warning mentioning that the s

Use ZPP callable check for spl_autoload_register.

This makes it always throw a TypeError, moreover this makes the
error message consistent.

Added a warning mentioning that the second parameter is now ignored
when passed false.

Closes GH-5301

show more ...


# 444aa263 29-May-2020 Máté Kocsis

Add upgrading notes about the deprecated functionality in ext/enchant

[skip ci]


# cd3e04df 15-May-2020 Máté Kocsis

Convert enchant resources to opaque objects

Additionally, deprecate ENCHANT_MYSPELL and ENCHANT_ISPELL constants.
Closes GH-5577

Co-authored-by: Remi Collet <remi@php.net>


# cc27781f 29-Apr-2020 Tyson Andre

[RFC] Always enable JSON support in php 8.0

Currently, it's possible to disable the json extension with
`./configure --disable-json` (for historical reasons that no longer apply).
Ho

[RFC] Always enable JSON support in php 8.0

Currently, it's possible to disable the json extension with
`./configure --disable-json` (for historical reasons that no longer apply).
However, JSON is widely used in many use cases - web sites, logging output,
and as a data format that can be used to share data with many applications
and programming languages,
so I'd personally find it useful if it was always enabled.

Examples of where this would be useful:

- For internal classes to be able to implement `JsonSerializable`
which currently requires a hard dependency on the JSON extension.
- For PHP users to publish single-file scripts that use json_encode and
json_decode and don't require polyfills or less readable var_export output.
(polyfills are less efficient and may have issues with recursive data
structures)
- So that php-src's own modules, tools and test cases can start using JSON
if it's a good choice for encoding a value. (same for PECLs)

https://wiki.php.net/rfc/jsond mentions that in PHP 5,

> The current Json Parser in the json extension does not have a free license
> which is a problem for many Linux distros.
> This has been referenced at Bug #63520.
> That results in not packaging json extension in the many Linux distributions.

Starting in php 7.0 with the switch to jsond,
It looks like licensing is no longer an issue.

Changes:

- Remove all flags related to JSON such as `configure --disable-json`
- Require that JSON be compiled statically instead of as a shared library

Examples of uses of JSON in various distros
(backwards incompatible changes such as changing packaging are typically
reserved for major versions, and 8.0 is a major version)

- JSON is required by `php-cli` or `php` in ubuntu:
https://packages.ubuntu.com/focal/php/
- The php-json package has to be installed separately
from the PHP binary in Fedora repos.

Closes GH-5495

show more ...


# 0221b8b2 21-Apr-2020 Nikita Popov

Add support for * width and precision in printf()

If * is used for width/precision in printf, then the width/precision
is provided by a printf argument instead of being part of the forma

Add support for * width and precision in printf()

If * is used for width/precision in printf, then the width/precision
is provided by a printf argument instead of being part of the format
string. Semantics generally match those of printf in C.

This can be used to easily reproduce PHP's float printing behavior:

// Locale-sensitive using precision ini setting.
// Used prior to PHP 8.0.
sprintf("%.*G", (int) ini_get('precision'), $float);

// Locale-insensitive using precision ini setting.
// Used since to PHP 8.0.
sprintf("%.*H", (int) ini_get('precision'), $float);

// Locale-insensitive using serialize_precision ini setting.
// Used in serialize(), json_encode() etc.
sprintf("%.*H", (int) ini_get('serialize_precision'), $float);

Closes GH-5432.

show more ...


# b6000b7e 22-Apr-2020 Nikita Popov

Add support for %h and %H in printf()

These are locale-independent variants of %g and %G.

Closes GH-5436.


1...<<21222324252627282930>>...68