|
6 | 6 |
|
7 | 7 | ## v0.34.1
|
8 | 8 |
|
9 |
| -- Fix connection state handling to allow idempotent response body closing. |
10 |
| -- Add `kisaten` fuzzing integration for improved security testing. |
| 9 | + - Fix connection state handling to allow idempotent response body closing. |
| 10 | + - Add `kisaten` fuzzing integration for improved security testing. |
11 | 11 |
|
12 | 12 | ## v0.34.0
|
13 | 13 |
|
14 |
| -- Support empty header values in HTTP parsing for better compatibility. |
| 14 | + - Support empty header values in HTTP parsing for better compatibility. |
15 | 15 |
|
16 | 16 | ## v0.33.0
|
17 | 17 |
|
18 |
| -- Support high-byte characters in HTTP headers for improved international compatibility. |
| 18 | + - Support high-byte characters in HTTP headers for improved international compatibility. |
19 | 19 |
|
20 | 20 | ## v0.32.0
|
21 | 21 |
|
22 |
| -- Fix header parsing to handle tab characters between values correctly. |
23 |
| -- Complete documentation coverage for all public APIs. |
| 22 | + - Fix header parsing to handle tab characters between values correctly. |
| 23 | + - Complete documentation coverage for all public APIs. |
24 | 24 |
|
25 | 25 | ## v0.31.0
|
26 | 26 |
|
27 |
| -- Enforce one-way transition for persistent connections to prevent invalid state changes. |
| 27 | + - Enforce one-way transition for persistent connections to prevent invalid state changes. |
28 | 28 |
|
29 | 29 | ## v0.30.0
|
30 | 30 |
|
31 |
| -- Make `authority` header optional in HTTP requests for improved flexibility. |
| 31 | + - Make `authority` header optional in HTTP requests for improved flexibility. |
32 | 32 |
|
33 | 33 | ## v0.29.0
|
34 | 34 |
|
35 |
| -- Add block/yield interface to `read_request` and `read_response` methods. |
| 35 | + - Add block/yield interface to `read_request` and `read_response` methods. |
36 | 36 |
|
37 | 37 | ## v0.28.1
|
38 | 38 |
|
39 |
| -- Fix handling of `nil` lines in HTTP parsing. |
| 39 | + - Fix handling of `nil` lines in HTTP parsing. |
40 | 40 |
|
41 | 41 | ## v0.28.0
|
42 | 42 |
|
43 |
| -- Add configurable maximum line length to prevent denial of service attacks. |
| 43 | + - Add configurable maximum line length to prevent denial of service attacks. |
44 | 44 |
|
45 | 45 | ## v0.27.0
|
46 | 46 |
|
47 |
| -- Improve error message clarity and debugging information. |
48 |
| -- Separate state machine logic from connection callbacks for better architecture. |
| 47 | + - Improve error message clarity and debugging information. |
| 48 | + - Separate state machine logic from connection callbacks for better architecture. |
49 | 49 |
|
50 | 50 | ## v0.26.0
|
51 | 51 |
|
52 |
| -- Improve error handling propagation through connection closure. |
| 52 | + - Improve error handling propagation through connection closure. |
53 | 53 |
|
54 | 54 | ## v0.25.0
|
55 | 55 |
|
56 |
| -- Fix connection stream handling when closing response bodies. |
57 |
| -- Improve connection state management for better reliability. |
| 56 | + - Fix connection stream handling when closing response bodies. |
| 57 | + - Improve connection state management for better reliability. |
58 | 58 |
|
59 | 59 | ## v0.24.0
|
60 | 60 |
|
61 |
| -- Add connection state tracking for safer connection reuse. |
| 61 | + - Add connection state tracking for safer connection reuse. |
62 | 62 |
|
63 | 63 | ## v0.23.0
|
64 | 64 |
|
65 |
| -- Add `Body#discard` method support for improved resource management. |
| 65 | + - Add `Body#discard` method support for improved resource management. |
66 | 66 |
|
67 | 67 | ## v0.22.0
|
68 | 68 |
|
69 |
| -- Improve handling of underlying stream objects for better stability. |
| 69 | + - Improve handling of underlying stream objects for better stability. |
70 | 70 |
|
71 | 71 | ## v0.21.0
|
72 | 72 |
|
73 |
| -- Fix connection persistence handling for `1xx` responses and remainder bodies. |
74 |
| -- Improve debug output readability by using `.inspect` instead of `.dump`. |
75 |
| -- Enhanced request upgrade body handling. |
| 73 | + - Fix connection persistence handling for `1xx` responses and remainder bodies. |
| 74 | + - Improve debug output readability by using `.inspect` instead of `.dump`. |
| 75 | + - Enhanced request upgrade body handling. |
76 | 76 |
|
77 | 77 | ## v0.20.0
|
78 | 78 |
|
79 |
| -- Restructure error hierarchy for better error handling consistency. |
| 79 | + - Restructure error hierarchy for better error handling consistency. |
80 | 80 |
|
81 | 81 | ## v0.19.1
|
82 | 82 |
|
83 |
| -- Fix stream flushing in `write_body_and_close` for proper connection cleanup. |
| 83 | + - Fix stream flushing in `write_body_and_close` for proper connection cleanup. |
84 | 84 |
|
85 | 85 | ## v0.19.0
|
86 | 86 |
|
87 |
| -- Add `#hijacked?` method to check connection hijack status. |
| 87 | + - Add `#hijacked?` method to check connection hijack status. |
88 | 88 |
|
89 | 89 | ## v0.18.0
|
90 | 90 |
|
91 |
| -- Add persistent connection handling examples. |
92 |
| -- Improve performance by avoiding blocking operations on `eof?` checks. |
| 91 | + - Add persistent connection handling examples. |
| 92 | + - Improve performance by avoiding blocking operations on `eof?` checks. |
93 | 93 |
|
94 | 94 | ## v0.17.0
|
95 | 95 |
|
96 |
| -- Add `HTTP/1` client and server example implementations. |
| 96 | + - Add `HTTP/1` client and server example implementations. |
97 | 97 |
|
98 | 98 | ## v0.16.1
|
99 | 99 |
|
100 |
| -- Allow external control of persistent connection settings. |
101 |
| -- Separate request line and response status line parsing for better maintainability. |
| 100 | + - Allow external control of persistent connection settings. |
| 101 | + - Separate request line and response status line parsing for better maintainability. |
102 | 102 |
|
103 | 103 | ## v0.16.0
|
104 | 104 |
|
105 |
| -- Add support for HTTP interim (informational) responses like `103 Early Hints`. |
106 |
| -- Improve error messages by including `content_length` in debugging output. |
| 105 | + - Add support for HTTP interim (informational) responses like `103 Early Hints`. |
| 106 | + - Improve error messages by including `content_length` in debugging output. |
107 | 107 |
|
108 | 108 | ## v0.15.1
|
109 | 109 |
|
110 |
| -- Add strict validation for `content-length` and chunk length values. |
| 110 | + - Add strict validation for `content-length` and chunk length values. |
111 | 111 |
|
112 | 112 | ## v0.15.0
|
113 | 113 |
|
114 |
| -- Migrate test suite to `Sus` testing framework with 100% coverage. |
| 114 | + - Migrate test suite to `Sus` testing framework with 100% coverage. |
115 | 115 |
|
116 | 116 | ## v0.14.6
|
117 | 117 |
|
118 |
| -- Handle `IOError` for closed streams gracefully. |
119 |
| -- Improve memory management by removing string ownership model. |
120 |
| -- Add early hints server example. |
| 118 | + - Handle `IOError` for closed streams gracefully. |
| 119 | + - Improve memory management by removing string ownership model. |
| 120 | + - Add early hints server example. |
121 | 121 |
|
122 | 122 | ## v0.14.4
|
123 | 123 |
|
124 |
| -- Improve trailer handling when content length is known in advance. |
| 124 | + - Improve trailer handling when content length is known in advance. |
125 | 125 |
|
126 | 126 | ## v0.14.3
|
127 | 127 |
|
128 |
| -- Enhanced trailer support with comprehensive test coverage. |
| 128 | + - Enhanced trailer support with comprehensive test coverage. |
129 | 129 |
|
130 | 130 | ## v0.14.2
|
131 | 131 |
|
132 |
| -- Prefer chunked transfer encoding when possible for better streaming performance. |
| 132 | + - Prefer chunked transfer encoding when possible for better streaming performance. |
133 | 133 |
|
134 | 134 | ## v0.14.1
|
135 | 135 |
|
136 |
| -- Improve error handling when reading chunk length lines. |
| 136 | + - Improve error handling when reading chunk length lines. |
137 | 137 |
|
138 | 138 | ## v0.14.0
|
139 | 139 |
|
140 |
| -- Rename "trailers" to "trailer" for HTTP specification compliance. |
| 140 | + - Rename "trailers" to "trailer" for HTTP specification compliance. |
141 | 141 |
|
142 | 142 | ## v0.13.2
|
143 | 143 |
|
144 |
| -- Enable `HTTP/1.1` connections to write fixed-length message bodies. |
| 144 | + - Enable `HTTP/1.1` connections to write fixed-length message bodies. |
145 | 145 |
|
146 | 146 | ## v0.13.1
|
147 | 147 |
|
148 |
| -- Fix `HTTP/1` request parsing example in documentation. |
| 148 | + - Fix `HTTP/1` request parsing example in documentation. |
149 | 149 |
|
150 | 150 | ## v0.13.0
|
151 | 151 |
|
152 |
| -- Implement pessimistic flushing strategy for better performance. |
153 |
| -- Add fuzzing infrastructure for security testing. |
| 152 | + - Implement pessimistic flushing strategy for better performance. |
| 153 | + - Add fuzzing infrastructure for security testing. |
154 | 154 |
|
155 | 155 | ## v0.12.0
|
156 | 156 |
|
157 |
| -- Update dependencies to latest compatible versions. |
| 157 | + - Update dependencies to latest compatible versions. |
158 | 158 |
|
159 | 159 | ## v0.11.1
|
160 | 160 |
|
161 |
| -- Improve header and trailer processing logic. |
162 |
| -- Update behavior to match new `write_body` semantics. |
| 161 | + - Improve header and trailer processing logic. |
| 162 | + - Update behavior to match new `write_body` semantics. |
163 | 163 |
|
164 | 164 | ## v0.11.0
|
165 | 165 |
|
166 |
| -- Add comprehensive HTTP trailer support for chunked transfers. |
167 |
| -- Simplify chunked encoding implementation. |
| 166 | + - Add comprehensive HTTP trailer support for chunked transfers. |
| 167 | + - Simplify chunked encoding implementation. |
168 | 168 |
|
169 | 169 | ## v0.10.3
|
170 | 170 |
|
171 |
| -- Improve handling of `HEAD` requests and responses. |
172 |
| -- Better error handling for incomplete fixed-length message bodies. |
| 171 | + - Improve handling of `HEAD` requests and responses. |
| 172 | + - Better error handling for incomplete fixed-length message bodies. |
173 | 173 |
|
174 | 174 | ## v0.10.2
|
175 | 175 |
|
176 |
| -- Add RFC-compliant header validation during read and write operations. |
177 |
| -- Improve performance with `frozen_string_literals: true`. |
| 176 | + - Add RFC-compliant header validation during read and write operations. |
| 177 | + - Improve performance with `frozen_string_literals: true`. |
178 | 178 |
|
179 | 179 | ## v0.10.1
|
180 | 180 |
|
181 |
| -- Drop support for Ruby 2.3 (end of life). |
182 |
| -- Validate that response header values don't contain `CR` or `LF` characters. |
| 181 | + - Drop support for Ruby 2.3 (end of life). |
| 182 | + - Validate that response header values don't contain `CR` or `LF` characters. |
183 | 183 |
|
184 | 184 | ## v0.10.0
|
185 | 185 |
|
186 |
| -- Parse HTTP `connection` header values as case-insensitive per RFC specification. |
| 186 | + - Parse HTTP `connection` header values as case-insensitive per RFC specification. |
187 | 187 |
|
188 | 188 | ## v0.9.0
|
189 | 189 |
|
190 |
| -- Enhanced `Remainder` body implementation with comprehensive test coverage. |
191 |
| -- Improve HTTP `CONNECT` method handling for both client and server. |
192 |
| -- Improve performance by removing array allocation in method arguments. |
| 190 | + - Enhanced `Remainder` body implementation with comprehensive test coverage. |
| 191 | + - Improve HTTP `CONNECT` method handling for both client and server. |
| 192 | + - Improve performance by removing array allocation in method arguments. |
193 | 193 |
|
194 | 194 | ## v0.8.3
|
195 | 195 |
|
196 |
| -- Restore Ruby 2.3 compatibility using monkey patches. |
197 |
| -- Enhanced test suite with improved memory and file handling utilities. |
| 196 | + - Restore Ruby 2.3 compatibility using monkey patches. |
| 197 | + - Enhanced test suite with improved memory and file handling utilities. |
198 | 198 |
|
199 | 199 | ## v0.8.2
|
200 | 200 |
|
201 |
| -- Simplify HTTP request line validation logic. |
| 201 | + - Simplify HTTP request line validation logic. |
202 | 202 |
|
203 | 203 | ## v0.8.1
|
204 | 204 |
|
205 |
| -- Improve error handling and recovery for malformed HTTP requests. |
| 205 | + - Improve error handling and recovery for malformed HTTP requests. |
206 | 206 |
|
207 | 207 | ## v0.8.0
|
208 | 208 |
|
209 |
| -- Add automatic HTTP reason phrase generation based on status codes. |
| 209 | + - Add automatic HTTP reason phrase generation based on status codes. |
210 | 210 |
|
211 | 211 | ## v0.7.0
|
212 | 212 |
|
213 |
| -- Enhanced connection hijacking support for pooled connections. |
| 213 | + - Enhanced connection hijacking support for pooled connections. |
214 | 214 |
|
215 | 215 | ## v0.6.0
|
216 | 216 |
|
217 |
| -- Adopt `Protocol::HTTP` Body abstractions for better consistency. |
218 |
| -- Require callers to handle hijacking for `HTTP/1` protocol upgrades. |
219 |
| -- Add flexible request/response body and upgrade handling. |
220 |
| -- Fix WebSocket compatibility issues with Safari browser. |
| 217 | + - Adopt `Protocol::HTTP` Body abstractions for better consistency. |
| 218 | + - Require callers to handle hijacking for `HTTP/1` protocol upgrades. |
| 219 | + - Add flexible request/response body and upgrade handling. |
| 220 | + - Fix WebSocket compatibility issues with Safari browser. |
221 | 221 |
|
222 | 222 | ## v0.5.0
|
223 | 223 |
|
224 |
| -- Return `nil` when unable to read HTTP request line (connection closed). |
| 224 | + - Return `nil` when unable to read HTTP request line (connection closed). |
225 | 225 |
|
226 | 226 | ## v0.4.1
|
227 | 227 |
|
228 |
| -- Ensure output streams are properly closed within accept blocks. |
| 228 | + - Ensure output streams are properly closed within accept blocks. |
229 | 229 |
|
230 | 230 | ## v0.4.0
|
231 | 231 |
|
232 |
| -- Improve handling of HTTP upgrade request and response message bodies. |
| 232 | + - Improve handling of HTTP upgrade request and response message bodies. |
233 | 233 |
|
234 | 234 | ## v0.3.0
|
235 | 235 |
|
236 |
| -- Enhanced support for partial connection hijacking and protocol upgrades. |
| 236 | + - Enhanced support for partial connection hijacking and protocol upgrades. |
237 | 237 |
|
238 | 238 | ## v0.2.0
|
239 | 239 |
|
240 |
| -- Improve error handling throughout the codebase. |
| 240 | + - Improve error handling throughout the codebase. |
241 | 241 |
|
242 | 242 | ## v0.1.0
|
243 | 243 |
|
244 |
| -- Initial public release of `Protocol::HTTP1`. |
245 |
| -- Low-level `HTTP/1.0` and `HTTP/1.1` protocol implementation. |
246 |
| -- Support for persistent connections, chunked transfer encoding, and connection upgrades. |
| 244 | + - Initial public release of `Protocol::HTTP1`. |
| 245 | + - Low-level `HTTP/1.0` and `HTTP/1.1` protocol implementation. |
| 246 | + - Support for persistent connections, chunked transfer encoding, and connection upgrades. |
0 commit comments