summaryrefslogtreecommitdiff
path: root/UPGRADING
blob: a8ae9feeeeeaa30124b69a070f1930ccb1ee0e94 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
PHP 8.1 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
========================================

- Standard:
  . version_compare() no longer accepts undocumented operator abbreviations.

========================================
2. New Features
========================================

- hash:
  . The following functions have changed signatures:

    - function hash(string $algo, string $data, bool $binary = false, array $options = []): string|false {}
    - function hash_file(string $algo, string $filename, bool $binary = false, array $options = []): string|false {}
    - function hash_init(string $algo, int $flags = 0, string $key = "", array $options = []): HashContext {}

    The additional `$options` argument can be used to pass algorithm specific data.

  . Added MurmurHash3 with streaming support. The following variants are implemented:

    - murmur3a, 32-bit hash
    - murmur3c, 128-bit hash for x86
    - murmur3f, 128-bit hash for x64

    The initial hash state can be passed through the `seed` key in the `$options` array, for example:

    ```php
    $h = hash("murmur3f", $data, options: ["seed" => 42]);
    echo $h, "\n";
    ```

    A valid seed value is within the range from 0 to the plaform defined UINT_MAX, usually 4294967295.

========================================
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
========================================

- OpenSSL:
  . The OpenSSL extension now requires at least OpenSSL version 1.0.2.

- Standard:
  . --with-password-argon2 now uses pkg-config to detect libargon2. As such,
    an alternative libargon2 location should now be specified using
    PKG_CONFIG_PATH.

========================================
10. New Global Constants
========================================

========================================
11. Changes to INI File Handling
========================================

========================================
12. Windows Support
========================================

. The macro IGNORE_URL_WIN has been removed; it had no effect as of PHP 5.0.0.

========================================
13. Other Changes
========================================

========================================
14. Performance Improvements
========================================