%YAML 1.2
--- |
  <?xml version="1.0" encoding="UTF-8"?>
  <package packagerversion="1.9.5" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
   <name>grpc</name>
   <channel>pecl.php.net</channel>
   <summary>A high performance, open source, general RPC framework that puts mobile and HTTP/2 first.</summary>
   <description>Remote Procedure Calls (RPCs) provide a useful abstraction for building distributed applications and services. The libraries in this repository provide a concrete implementation of the gRPC protocol, layered over HTTP/2. These libraries enable communication between clients and servers using any combination of the supported languages.</description>
   <lead>
    <name>Stanley Cheung</name>
    <user>stanleycheung</user>
    <email>grpc-packages@google.com</email>
    <active>yes</active>
   </lead>
   <date>2016-05-19</date>
   <time>16:06:07</time>
   <version>
    <release>${settings.php_version.php()}</release>
    <api>${settings.php_version.php()}</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <license>BSD</license>
   <notes>
  - TBD
   </notes>
   <contents>
    <dir baseinstalldir="/" name="/">
      <file baseinstalldir="/" name="config.m4" role="src" />
      <file baseinstalldir="/" name="src/php/README.md" role="src" />
      <file baseinstalldir="/" name="src/php/ext/grpc/CREDITS" role="src" />
      <file baseinstalldir="/" name="src/php/ext/grpc/LICENSE" role="src" />
      % for source in php_config_m4.src + php_config_m4.headers:
      <file baseinstalldir="/" name="${source}" role="src" />
      % endfor
      % for lib in libs:
      % if lib.name in php_config_m4.get('deps', []):
      % for source in lib.get('public_headers', []) + lib.headers + lib.src:
      <file baseinstalldir="/" name="${source}" role="src" />
      % endfor
      % endif
      % endfor
    </dir>
   </contents>
   <dependencies>
    <required>
     <php>
      <min>5.5.0</min>
     </php>
     <pearinstaller>
      <min>1.4.0</min>
     </pearinstaller>
    </required>
   </dependencies>
   <providesextension>grpc</providesextension>
   <extsrcrelease />
   <changelog>
    <release>
     <version>
      <release>0.5.0</release>
      <api>0.5.0</api>
     </version>
     <stability>
      <release>alpha</release>
      <api>alpha</api>
     </stability>
     <date>2015-06-16</date>
     <license>BSD</license>
     <notes>
  First alpha release
     </notes>
    </release>
    <release>
     <version>
      <release>0.5.1</release>
      <api>0.5.1</api>
     </version>
     <stability>
      <release>alpha</release>
      <api>alpha</api>
     </stability>
     <date>2015-07-09</date>
     <license>BSD</license>
     <notes>
  Update to wrap gRPC C Core version 0.10.0
     </notes>
    </release>
    <release>
     <version>
      <release>0.6.0</release>
      <api>0.6.0</api>
     </version>
     <stability>
      <release>beta</release>
      <api>beta</api>
     </stability>
     <date>2015-09-24</date>
     <license>BSD</license>
     <notes>
  - support per message compression disable
  - expose per-call host override option
  - expose connectivity API
  - expose channel target and call peer
  - add user-agent
  - update to wrap gRPC C core library beta version 0.11.0
     </notes>
    </release>
    <release>
     <version>
      <release>0.6.1</release>
      <api>0.6.0</api>
     </version>
     <stability>
      <release>beta</release>
      <api>beta</api>
     </stability>
     <date>2015-10-21</date>
     <license>BSD</license>
     <notes>
  - fixed undefined constant fatal error when run with apache/nginx #2275
     </notes>
    </release>
    <release>
     <version>
      <release>0.7.0</release>
      <api>0.7.0</api>
     </version>
     <stability>
      <release>beta</release>
      <api>beta</api>
     </stability>
     <date>2016-01-13</date>
     <license>BSD</license>
     <notes>
  - Breaking change to Credentials class (removed) #3765
  - Replaced by ChannelCredentials and CallCredentials class #3765
  - New plugin based metadata auth API #4394
  - Explicit ChannelCredentials::createInsecure() call
     </notes>
    </release>
    <release>
     <version>
      <release>0.8.0</release>
      <api>0.8.0</api>
     </version>
     <stability>
      <release>beta</release>
      <api>beta</api>
     </stability>
     <date>2016-02-24</date>
     <license>BSD</license>
     <notes>
  - Simplify gRPC PHP installation #4517
     </notes>
    </release>
    <release>
     <version>
      <release>0.8.1</release>
      <api>0.8.1</api>
     </version>
     <stability>
      <release>beta</release>
      <api>beta</api>
     </stability>
     <date>2016-03-01</date>
     <license>BSD</license>
     <notes>
  - Increase unit test code coverage #5225
     </notes>
    </release>
    <release>
     <version>
      <release>0.14.0</release>
      <api>0.14.0</api>
     </version>
     <stability>
      <release>beta</release>
      <api>beta</api>
     </stability>
     <date>2016-04-19</date>
     <license>BSD</license>
     <notes>
  - destroy grpc_byte_buffer after startBatch #6096
     </notes>
    </release>
    <release>
     <version>
      <release>0.14.2</release>
      <api>0.14.2</api>
     </version>
     <stability>
      <release>beta</release>
      <api>beta</api>
     </stability>
     <date>2016-05-18</date>
     <license>BSD</license>
     <notes>
  - Updated functions with TSRM macros for ZTS support #6607
     </notes>
    </release>
   </changelog>
  </package>
