missing bits from 2.6.0/3.1.0
authorMichael Wallner <mike@php.net>
Tue, 13 Dec 2016 14:26:11 +0000 (15:26 +0100)
committerMichael Wallner <mike@php.net>
Tue, 13 Dec 2016 14:26:11 +0000 (15:26 +0100)
http.md
http/Url.md
http/Url/: Changelog.md

diff --git a/http.md b/http.md
index d70403e4b61adb7615c4e61922d35d137cd38c9e..63095d51cbbab4963deb131f4b3164e50b4f04f2 100644 (file)
--- a/http.md
+++ b/http.md
@@ -2,7 +2,7 @@
 
 ## About:
 
-Extended HTTP support. Again. 
+Extended HTTP support. Again.
 
 * Introduces the http namespace.
 * PHP stream based message bodies.
@@ -25,6 +25,7 @@ The following system libraries are required to build this extension:
 
 =zlib=
        Provides gzip/zlib/deflate encoding.  
+       Configure: `--with-http-zlib-dir`  
        Minimum version: 1.2.0.4  
        Install on Debian: `apt-get install zlib1g-dev`
 
@@ -33,31 +34,55 @@ The following system libraries are required to build this extension:
 
 The following system libraries are optional and provide additional features:
 
+=libcurl=
+       Provides HTTP request functionality.  
+       Configure: `--with-http-libcurl-dir`  
+       Minimum version: 7.18.2  
+       Install on Debian: `apt-get install libcurl4-openssl-dev`  
+
+=libevent=
+       Internal event loop support for the HTTP client.  
+       Configure: `--with-http-libevent-dir`  
+       Minimum version: none  
+       Install on Debian: `apt-get install libevent-dev`
+
+=libicu=
+       Provides IDNA2003 and/or IDNA2008 support in URLs.  
+       Configure: `--with-http-libicu-dir`  
+       Minimum version: none  
+       Install on Debian: `apt-get install libicu-dev`
+
 =libidn=
-       Provides IDNA support in URLs.  
+       Provides IDNA2003 support in URLs.  
+       Configure: `--with-http-libidn-dir`  
        Minimum version: none  
        Install on Debian: `apt-get install libidn11-dev`
 
 =libidn2=
-       Provides IDNA support in URLs (fallback if libidn is not available).  
+       Provides IDNA2008 support in URLs.  
+       Configure: `--with-http-libidn2-dir`  
        Minimum version: none  
        Install on Debian: `apt-get install libidn2-0-dev`
 
-=libicu=
-       Provides IDNA support in URLs (fallback if libidn is not available).  
+=libidnkit=
+       Provides IDNA2003 support in URLs. Conflicts with libidnkit2.  
+       Configure: `--with-http-libidnkit-dir`  
        Minimum version: none  
-       Install on Debian: `apt-get install libicu-dev`
+       Install on Debian: N/A
 
-=libcurl=
-       Provides HTTP request functionality.  
-       Minimum version: 7.18.2  
-       Install on Debian: `apt-get install libcurl4-openssl-dev`  
-       Note: There are usually different styles of SSL support for libcurl available, so you can replace 'openssl' in the above command f.e. with 'nss' or 'gnutls'.
-
-=libevent=
-       Eventloop support for the HTTP client.  
+=libidnkit2=
+       Provides IDNA2008 support in URLs. Conflicts with libidnkit.  
+       Configure: `--with-http-libidnkit2-dir`  
        Minimum version: none  
-       Install on Debian: `apt-get install libevent-dev`
+       Install on Debian: N/A
+
+##### A note on IDNA libraries:
+
+If configured with multiple IDNA libraries' support, there's a run-time precedence of ICU over GNU libidn, which in turn has precendence over idnkit. If neither IDNA2008, nor IDNA2003 is explicitly requested, IDNA2008 has precendence.
+
+##### A note on the CURL library:
+
+There are usually different styles of SSL support for libcurl available, so you can choose between 'openssl' and f.e. 'nss' or 'gnutls' when installing libcurl.
 
 ### PHP extensions:
 
@@ -79,12 +104,12 @@ Please ensure that all extension on which pecl/http depends, are loaded before i
        ; obligatory deps
        extension = raphf.so
        extension = propro.so
-       
+
        ; if shared deps were enabled
        extension = hash.so
        extension = iconv.so
        extension = json.so
-       
+
        ; finally load pecl/http
        extension = http.so
 
@@ -121,3 +146,8 @@ The http extension registers the ```http.*``` namespace for its stream filters.
        * Dropped the ext/json dependency.
 0. v2.4.2
        * Added libidn2 and libicu as fallback for IDNA support.
+0. v2.6.0, v3.1.0
+       * Added idnkit-1 IDNA2003 support.
+       * Added idnkit-2 IDNA2008 support.
+       * Added ICU IDNA2008 support.
+       * Added explicit configuration options for each IDNA library.
index f6f1c143ffad165103f3f9938915bcc8d27efb86..e953723e627dcb80e3d4e62ecbe11f012e031eeb 100644 (file)
@@ -35,7 +35,11 @@ The http\Url class provides versatile means to parse, construct and manipulate U
 * PARSE_MBLOC  
   Parse locale encoded multibyte sequences (on systems with wide character support).
 * PARSE_TOIDN  
-  Parse and convert multibyte hostnames according to IDNA (with libidn support).
+  Parse and convert multibyte hostnames according to IDNA (with IDNA support).
+* PARSE_TOIDN_2003  
+  Explicitly request IDNA2003 implementation if available (libidn, idnkit or ICU).
+* PARSE_TOIDN_2008  
+  Explicitly request IDNA2008 implementation if available (libidn2, idnkit2 or ICU).
 * PARSE_TOPCT  
   Percent encode multibyte sequences in the userinfo, path, query and fragment parts of the URL.
 * IGNORE_ERRORS  
index a06f3427aa62da737da0e683b6195c568a8819c7..3373fb5e92af557fd55dd46d31f03cb7b877b64c 100644 (file)
@@ -11,6 +11,8 @@
                * http\Url::IGNORE_ERRORS
                * http\Url::SILENT_ERRORS
                * http\Url::STDFLAGS
+               * http\Url::PARSE_TOIDN_2003
+               * http\Url::PARSE_TOIDN_2008
 
 ## Backwards compatibility notes