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 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
|
Revision history for Perl extension Protocol-HTTP2
1.11 2024-05-19T16:55:28Z
- Fix minor typos and spelling errors (Yoshikazu Sawa)
- Do not hardcode tlsv1 which is deprecated and disabled in some systems (Olivier Gayot)
- Fix length-undef warnings in pre-5.12 perls (Felipe Gasper)
1.10 2019-11-12T06:19:05Z
- test: fixed test 9 (issue 10)
1.09 2018-08-05T16:03:20Z
- doc: fix spelling mistakes (Gregor Herrmann)
- doc: added link to RFC 7541 (Mohammad S Anwar)
- bugfix: protect against "disappearing" on_cancel() callback of
server object (Felipe Gasper)
- bugfix: prevent uninitialized warning (Junho Choi)
1.08 2016-09-27T12:57:26Z
- implemented on_error callback for request
- fixed bug: incorrect handling of negative window size (thanks to Daniil
Bondarev for patch #2)
- fixed bug: last chunk of blocked data can be sent several times
- size of flow control window updated with current value of
SETTINGS_INITIAL_WINDOW_SIZE
1.07 2016-03-03T20:44:19Z
- implemented ping() method for client and server
- implemented trailer headers support
- fixed some error codes
- improved header table size handling
1.06 2016-02-22T08:56:19Z
- implemented keepalive option for client (#1)
- explicit connection closing for client (#1)
- fixed MAX_PAYLOAD_SIZE constant value (thanks to Francisco Obispo for
bugreport)
1.05 2015-12-24T12:40:10Z
- support for request body
- new client/server examples with IO::Socket::SSL
1.04 2015-07-10T20:19:19Z
- fixed bug: Chrome send ':path' as literal header, make exception for
pseudo headers in header check
- make exceptions for RST_STREAM frames in state_machine
- fixed debugging level
1.03 2015-07-09T21:09:54Z
- reworked enqueue() method, implemented enqueue_raw()
- return error when CONTINUATION frames interrupted by other frames
- check length of RST_STREAM and WINDOW_UPDATE frames
- implemented validation rules for settings SETTINGS_ENABLE_PUSH and
SETTINGS_INITIAL_WINDOW_SIZE
- update flow control window size on active streams when receive
SETTINGS_INITIAL_WINDOW_SIZE
- fixed bug: now send ack on empty settings
- fixed bug: flow control window for sended frames used to be initialized
with wrong value
- strict validation of headers
- check for explicit content-length header to match size of received DATA
frames
- control for maximum concurrent streams
- fixed tests
1.02 2015-06-22T17:27:01Z
- fixed leaks test
1.01 2015-06-21T14:17:54Z
- fixed leaks in Server/Client code
- new test to check leaks
- updated examples with tls
1.00 2015-05-16T18:51:09Z
- HTTP/2 is RFC 7540
- HPACK is RFC 7541
- updated protocol id string ("h2", "h2c"), dropped old interop id strings
0.16 2015-04-05T20:41:49Z
- update status (beta)
- add wiki link
- implemented server streaming
- implemented client downloading, request cancelling
0.15 2015-02-26T20:39:20Z
- Split settings for decoder/encoder
- Allow to setup custom settings in Server/Client constructor
- Fixed bug with settings packing/unpacking
- Dropper Log::Dispatch dependency
- updated HPACK to draft 12
0.14 2015-02-11T14:03:22Z
- updated HTTP/2 to draft 17
- updated HPACK to draft 11
0.13 2014-12-01T07:56:43Z
- updated HTTP/2 to draft 16
- added draft_interop version (14) for interoperability
0.12 2014-10-28T12:18:22Z
- updated HTTP/2 to draft 15
0.11 2014-08-14T12:07:48Z
- dropped Hash::MultiValue requirement
- fixed HPACK
- fixed HPACK test
0.10 2014-07-31T21:25:59Z
- updated HTTP/2 to draft 14
- updated HPACK to draft 09
- fixed tests
0.09 2014-07-08T13:16:24Z
- another fix for 09_client_server_tcp.t (check features of Net::SSLeay)
- updated extract_* scripts
- updated HTTP/2 to draft 13
- removed ALTSVC and BLOCKED frames
- removed DATA frames compression support
- PAD_HIGH, PAD_LOW flags are replaced by PADDED
- settings changed from 8-bit to 16-bit unsigned integer
- updated HPACK to draft 08
- updated huffman codes table
- updated static table
- fixed tests
0.08 2014-05-17T09:59:07Z
- fixed test 09_client_server_tcp.t
- fixed *_COMPRESS_DATA constants
- fixed blocked data handling
- allow zero-sized DATA frames
- fixed HPACK encoding: evicting and reference set emptying
- added Protocol::HTTP2::Server POD
- fixed upgrade (added required header :scheme)
0.07 2014-05-15T13:14:32Z
- implemented PRIOIRITY encoder/decoder
- update HEADERS implementation (priority handling)
- remove old flags PRIORITY_GROUP, PRIORITY_DEPENDENCY
- added tcp test
- update cpanfile (TCP::Test and other test deps)
- implemented ALTSVC encoder/decoder
- updated Protocol::HTTP2 POD
- added Protocol::HTTP2::Client POD
0.06 2014-05-13T17:51:16Z
- switch to Module::Build::Tiny
- implemented PING encoder/decoder
- fixed Rst_stream - unneeded state manipulation
- internal PH2Test test module
- implemented PUSH_PROMISE encoder
- implemented push for Server
- add Server's push in server-tls-anyevent.pl example
- process state of encoded frame after putting it on a queue
0.05 2014-05-11T11:19:57Z
- implemented flow control
- implemented WINDOW_UPDATE encoder/decoder
- fixed MAX_PAYLOAD_SIZE constant
- fixed runtime error in RST_STREAM
- required MIME::Base64 >= 3.11 (encode_base64url and decode_base64url)
- HTTP/1.1 Upgrade for client
0.04 2014-05-08T18:22:24Z
- enable Upgrade in server-anyevent.pl example
- implemented HTTP/1.1 Upgrade (server)
- fixed build/tests on windows
- update cpanfile (Net::SSLeay > 1.45 for NPN)
- update state doc
0.03 2014-05-07T18:05:50Z
- client-tls-anyevent.pl with NPN/ALPN support and server's push handling
- fixed error handling (send only one GOAWAY)
- fixed PUSH_RPOMISE/CONTINUATION state and headers handling
- implemented PUSH_PROMISE decoder
- implemented RST_STREAM encoder
- server-tls-anyevent.pl with NPN/ALPN support
- fixed Connection's send(): set END_STREAM flag for last DATA frame
- fixed HEADERS/CONTINUATION logic
- pending state change until all CONTINUATION frames received
- fixed author
0.02 2014-05-05T20:24:31Z
- implemented CONTINUATION frame decoding
- docs: table about frame types, flags and stream id
0.01 2014-04-27T08:51:15Z
- original version
|