php-src/UPGRADING
Nikita Popov 23a5be3696 Remove ability to declare userland case-insensitive constants
This is part of https://wiki.php.net/rfc/case_insensitive_constant_deprecation.

This commit only removes the ability to declare such constants from
userland. Before the functionality can be removed entirely, it's
necessary to figure out the handling of true/false/null first.
2019-01-30 09:19:02 +01:00

153 lines
5.3 KiB
Plaintext

PHP 8.0 UPGRADE NOTES
1. Backward Incompatible Changes
2. New Features
3. Changes in SAPI modules
4. Deprecated Functionality
5. Changed Functions
6. New Functions
7. New Classes and Interfaces
8. Removed Extensions and SAPIs
9. Other Changes to Extensions
10. New Global Constants
11. Changes to INI File Handling
12. Windows Support
13. Other Changes
14. Performance Improvements
========================================
1. Backward Incompatible Changes
========================================
- Core:
. Methods with the same name as the class are no longer interpreted as
constructors. The __construct() method should be used instead.
. Removed (unset) cast.
. Removed track_errors ini directive. This means that $php_errormsg is no
longer available. The error_get_last() function may be used instead.
. Removed the ability to define case-insensitive constants. The third
argument to define() may no longer be true.
. Removed create_function(). Anonymous functions may be used instead.
. Removed each(). foreach or ArrayIterator should be used instead.
- Filter:
. The FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED flags for the
FILTER_VALIDATE_URL filter have been removed. The scheme and host are (and
have been) always required.
- GD:
. The deprecated function image2wbmp() has been removed.
RFC: https://wiki.php.net/rfc/image2wbmp
. The deprecated functions png2wbmp() and jpeg2wbmp() have been removed.
RFC: https://wiki.php.net/rfc/deprecate-png-jpeg-2wbmp
- GMP:
. gmp_random() has been removed. One of gmp_random_range() or
gmp_random_bits() should be used instead.
- Intl:
. The deprecated constant INTL_IDNA_VARIANT_2003 has been removed.
RFC: https://wiki.php.net/rfc/deprecate-and-remove-intl_idna_variant_2003
- Mbstring:
. The mbstring.func_overload directive has been removed. The related
MB_OVERLOAD_MAIL, MB_OVERLOAD_STRING, and MB_OVERLOAD_REGEX constants have
also been removed. Finally, the "func_overload" and "func_overload_list"
entries in mb_get_info() have been removed.
. mb_parse_str() can no longer be used without specifying a result array.
. A number of deprecated mbregex aliases have been removed. See the following
list for which functions should be used instead:
* mbregex_encoding() -> mb_regex_encoding()
* mbereg() -> mb_ereg()
* mberegi() -> mb_eregi()
* mbereg_replace() -> mb_ereg_replace()
* mberegi_replace() -> mb_eregi_replace()
* mbsplit() -> mb_split()
* mbereg_match() -> mb_ereg_match()
* mbereg_search() -> mb_ereg_search()
* mbereg_search_pos() -> mb_ereg_search_pos()
* mbereg_search_regs() -> mb_ereg_search_regs()
* mbereg_search_init() -> mb_ereg_search_init()
* mbereg_search_getregs() -> mb_ereg_search_getregs()
* mbereg_search_getpos() -> mb_ereg_search_getpos()
* mbereg_search_setpos() -> mb_ereg_search_setpos()
. The 'e' modifier for mb_ereg_replace() has been removed.
mb_ereg_replace_callback() should be used instead.
- SPL:
. SplFileObject::fgetss() has been removed.
- Standard:
. assert() will no longer evaluate string arguments, instead they will be
treated like any other argument. assert($a == $b) should be used instead of
assert('$a == $b'). The assert.quiet_eval ini directive and
ASSERT_QUIET_EVAL constants have also been removed, as they would no longer
have any effect.
. parse_str() can no longer be used without specifying a result array.
. fgetss() has been removed.
. The string.strip_tags filter has been removed.
. The needle argument of strpos(), strrpos(), stripos(), strripos(), strstr(),
strchr(), strrchr(), and stristr() will now always be interpreted as a
string. Previously non-string needles were interpreted as an ASCII code
point. An explicit call to chr() can be used to restore the previous
behavior.
- Zlib:
. gzgetss() has been removed.
========================================
2. New Features
========================================
========================================
3. Changes in SAPI modules
========================================
========================================
4. Deprecated Functionality
========================================
========================================
5. Changed Functions
========================================
========================================
6. New Functions
========================================
========================================
7. New Classes and Interfaces
========================================
========================================
8. Removed Extensions and SAPIs
========================================
========================================
9. Other Changes to Extensions
========================================
========================================
10. New Global Constants
========================================
========================================
11. Changes to INI File Handling
========================================
========================================
12. Windows Support
========================================
========================================
13. Other Changes
========================================
========================================
14. Performance Improvements
========================================