forked from excon/excon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.txt
579 lines (401 loc) · 13.4 KB
/
changelog.txt
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
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
0.25.3 07/18/2013
=================
respect SSL_CERT_DIR/SSL_CERT_FILE
more aggressively include bundled cert as fallback
0.25.2 07/18/2013
=================
add license to gemspec
add "excon/#{version}" default user agent
create/use response parser middleware
fix proxy request info to use datum rather than @data
0.25.1 07/01/2013
=================
fix for jruby ssl
more explicit description in docs
0.25.0 06/20/2013
=================
attempt to use OS certs first, only use bundled as fallback
normalize method in stubs
0.24.0 06/12/2013
=================
allow passing ssl creds as strings or file paths
0.23.0 06/10/2013
=================
defer writing request/headers to allow all-in-one
allow opt-in for request/response error info
add configurable TCP_NODELAY
consolidate warning display
respect ruby verbosity conventions
fix copyright years in notice
0.22.1 05/17/2013
=================
fix logic error in dropping default ports
0.22.0 05/17/2013
=================
remove request/response info from default error messages to avoid credential leaks
add option to omit default ports (http:80 and https:443)
add examples for form encoding
updates to facilitate streaming responses from middleware responses
0.21.0 05/04/2013
=================
update bundled cacert
add deprecated connection helper
URL decode user/pass for basic auth
fix odd name/permissions in benchmarks
check for socket before closing one
add support for no_proxy
include scheme in socket key
make socket.connect private
allow stub lookup with Excon.stub_for
0.20.1 03/19/2013
=================
dup middlewares to avoid overwriting original set
delete datum[:response] in idempotent to ensure new response is parsed
0.20.0 03/08/2013
=================
redact password from inspect/instrument
downgrade severity of invalid keys from error to warning
0.19.5 03/04/2013
=================
fix ssl socket proxy setup
0.19.4 03/04/2013
=================
fix merge order of params in new
0.19.3 03/01/2013
=================
properly raise errors when datum[:stack] has not yet been set
0.19.2 02/28/2013
=================
add client_cert, client_key to valid connection options
0.19.1 02/27/2013
=================
fix for ssl proxies to allow connect response to be read
0.19.0 02/27/2013
=================
fix requests (pipeline) example in README
make StubNotFound inherit from StandardError (not Excon::Errors::Error)
idempotent reimplemented as middleware
remaining idempotent/instrumentor functionality moved to middleware
move uri parsing to Excon.new
allow for configurable URI parser (ie Addressable vs URI)
move VALID_CONNECTION_KEYS to constants
move idempotent tests to middleware directory
fix output of expects middleware to pass response objects instead of hashes
0.18.5 02/22/2013
=================
add family to known keys
0.18.4 02/21/2013
=================
remove ssl proxy host_port usage
0.18.3 02/21/2013
=================
update response accessors to read from/write to @data
0.18.2 02/21/2013
=================
one shouldn't rush, fix typo in previous
0.18.1 02/21/2013
=================
fix for http errors when using mocks
0.18.0 02/21/2013
=================
more refactoring around middlewares
add pipelining capabilities
allow [] style access to response attributes
0.17.0 02/01/2013
=================
add patch method
allow passing family for addresses to params/proxy
more consistent empty header passing
nicer debug output
internal refactoring toward middleware pattern
0.16.10 11/16/2012
==================
set default request_params for stub
do not attempt to read body for CONNECT requests
0.16.9 11/16/2012
=================
readme cleanup/clarification around stubs
fix for reading response from ssl proxy
0.16.8 11/12/2012
=================
set file body pos to 0 at beginning of request
add eventmachine to dev dependencies for bad server tests
comment out benchmark deps for now
fix typo in readme
0.16.7 10/17/2012
=================
fix typo in host_port per-request patch
0.16.6 10/17/2012
=================
fix for host_port to recalculate on a per-request basis
0.16.5 10/17/2012
=================
Also retry Timeouts on idempotent requests
Excon.stub now breaks out user/pass from url if supplied
loosen ssl version requirement to allow negotiation
eof on read should return '' instead of nil
build host_port up front to avoid recalculating
set Proxy-Connection: Keep-Alive for https proxies
postpone https upgrade until after proxy connect
0.16.4 09/25/2012
=================
better behavior nonblock and use DEFAULT_NONBLOCK constant
update deprecation/warnings to use $stderr
consistency fixes for REDACT
add REDACT behavior to standard_instrumentor
0.16.3 09/20/2012
=================
remove overly paranoid const checking
change chunk_size to be a param for consistency
0.16.2 08/27/2012
=================
provide more helpful backtraces on connection requests
provide more helpful backtraces on one-off requests
rearrange class methods so params will pass to socket
integrate nonblock backwards compatability fix
rearrange excon.rb to initialize defaults sooner
set nonblock at init time for ssl socket
fixes around nonbleck to properly skip/warn if unavailable but selected
0.16.1 08/15/2012
=================
default to SSLv3 usage
0.16.0 08/14/2012
=================
add nonblock => false to use blocking requests with Timeout.timeout
update readme to describe nonblock and idempotent options
0.15.5 08/01/2012
=================
consolidate proxy handling
proxy settings should pull from connection instead of params (allows
Excon.defaults[:proxy])
properly raise connect timeout errors
change recommended standard instrumentor ENV to EXCON_DEBUG
remove readline nonblock protections (they didn't fix the windows issue)
don't swallow non-nonblock SSL exceptions
consistency fixes for ssl nonblock error handling
do SNI in ssl_socket setup
use Excon::Response#parse to read https proxy response
0.15.4 07/16/12
===============
rescue/retry nonblock errors from readline (even though they shouldn't occur)
0.15.3 07/16/12
===============
remove erroneous newline in proxy auth header
0.15.2 07/16/12
===============
fix capitalization of EXCON constant in auth stuff
properly handle nil user/password values in auth
various fixes to proxy and related tests
0.15.1 07/16/12
===============
fix for sending user/pass to proxy
0.15.0 07/16/12
===============
clarifications in README
added base error class to message for Excon::SocketError
fixes for proxy, sets properly on http and passes auth
0.14.3 07/05/12
===============
remove a redundant setter in response streamer
standardize on each (instead of for) to iterate enumerables
0.14.2 06/26/12
===============
fix invoke_stub to convert files into strings before comparing
0.14.1 06/19/12
===============
accept port as a separate option
ensure first read from socket is nonblock (fixes read_timeouts)
respect upper case env vars
0.14.0 05/31/12
===============
make stubs LIFO for ease of use/understanding, updated README to explain
simplify https proxy logic
add instrumentation for responses
add StandardInstrumentor (events got to stderr)
EXCON_STANDARD_INSTRUMENTOR=true sets StandardInstrumentor as default
0.13.3 04/05/12
===============
* fix for file size calculation in 1.8.7
0.13.3 04/05/12
===============
* fixes for file like objects which do not respond to binmode
0.13.2 03/26/12
===============
* fix to avoid issues when Tempfile is not required/defined. Thanks nextmat
0.13.1 03/26/12
===============
* fix to allow for passing Tempfile objects as body. Thanks rkyrychuk
0.13.0 03/22/12
===============
* workaround for jruby (use blocking read/write for ssl sockets)
0.12.0 03/18/12
===============
* use params to set ssl (so each connection could differ)
* bundle a default cert
0.11.0 03/15/12
===============
* add request_block to support chunked requests
* deprecate implicit block in favor of explicit response_block
* loosen activesupport and jruby-openssl development dependencies
0.10.1 03/13/12
===============
* avoid calling empty? on file body
0.10.0 03/01/12
===============
* avoid setting/passing Content-Length headers for GET requests with no body
* remove rcov from tasks/bundle in development
* automatically parse and use basic auth when passed as part of a uri
* fix for erroneous recursion in Excon.defaults=
0.9.6 02/22/12
==============
* add support for setting ca_file. Thanks mattmatt!
* add docs for Excon.stubs.clear and expects. Thanks masterkain!
* add class level defaults
* fix ruby warnings. Thanks foca!
* improve instrumentation docs. Thanks mkb!
* fix for empty body and SSL sockets. Thanks pweldon!
0.9.5 01/16/12
==============
* fix getaddrinfo usage for rbx
* fix mock handling when a block in passed
* add jruby to ci
0.9.4 12/21/11
==============
* fix for regexp/capture setting
0.9.3 12/21/11
==============
* fix CONSTANTS referenced in SSL_Socket
* fix default value for proxy in SSL_Socket
* fix non-regexp header matching
* return captures from regexp based params
0.9.2 12/16/11
==============
* update mocks to allow for regex based matching
* fixes for write_nonblock+OpenSSL weirdness
0.9.1 12/15/11
==============
* update mock usage to be at the connection/request level
0.9.0 12/14/11
==============
* add ability to do instrumentation
* misc cleanup
* deprecate retry_limit accessor in favor of passing as a param
0.8.0 12/12/11
==============
* move mock handler to its own method
* better handling around openssl errors
* simplify writing by removing buffer
0.7.12 12/04/11
===============
* revert: explicitly close files after writing
0.7.11 12/24/11
==============
* rebuild gem broken gemspec with 1.8.x
0.7.10 12/04/11
===============
* explicitly close files after writing
0.7.9 11/30/11
==============
* add ability to modify retry limit
* use addrinfo to avoid localhost and other IPv6 issues
* update gemspec authors to add Dan Peterson and Matt Sanders
0.7.8 11/24/11
==============
* rebuild gem broken gemspec with 1.8.x
0.7.7 11/24/11
==============
* setup for travis ci automated testing
* fix EOFError
* use Socket.getaddrinfo to fix IPv6 issues
0.7.6 10/04/11
==============
* fixes to provide for using openssl-nonblock for 1.8.x
* correctly pass per-request settings to socket
* fix for nonblocking stuff when waiting for socket close
* use 127.0.0.1 instead of localhost in tests (fixes some errors)
0.7.5 10/03/11
==============
* convert port to integer in sockaddr_in (jruby won't convert for you)
0.7.4 09/30/11
==============
* rescue write would block from openssl
0.7.3 09/27/11
==============
* fix nonblocking read to avoid reading past chunk in chunked encoded
* rescue read would block from openssl
0.7.2 09/24/11
==============
* fix buffer drain for socket#write. thanks dpiddy
* rescue/retry timeout errors for idempotent requests. thanks dpiddy
* timeouts should raise an excon specific error
0.7.1 09/13/11
==============
* use nonblocking only when available (skip for 1.8.x SSL)
0.7.0 09/12/11
==============
* change connects and most read/writes to use nonblocking methods
* provide connect/read/write timeouts
0.6.6 09/06/11
==============
* cleanup/refactoring. thanks nextmat
* default to connection close as request delimiter
0.6.5 07/13/11
==============
* properly stream responses with proc
* fix mock with block to match real requests
0.6.4 07/05/11
==============
* add block support to mocks. thanks dmeiz
* fixes for stub matching. thanks dmeiz
* don't do post_connection_check if verify mode is off
* check excon state for verify mode instead of checking OpenSSL constants
* use RbConfig to find OS. thanks trym
* fixes for idempotent/retry. thanks lstoll
0.6.3 05/02/11
==============
* fixes for header parsing to allow whitespace after :. thanks myronmarston
* get_header optimization. thanks nextmat
* rewind body on retry. thanks pweldon
0.6.2 04/11/11
==============
* fix block arguments for connection close. thanks ggoodale
0.6.1 04/05/11
==============
* add support for HTTPS proxies. thanks mrowe
* add support for http_proxy and https_proxy ENV variables. thanks mrowe
* fix progress for requests with blocks that are chunked or connection close
0.6.0 03/30/11
==============
* basic support for using proxies. thanks mattsa
* yield remaining/total bytes to streaming block. thanks nate
* minor optimizations/cleanup
0.5.8 03/24/11
==============
* fix regression where nil values in queries were ignored in 1.9. thanks mattsa
* fix regression causing EOFError when making many connections in one thread
* added tests to prevent both of the former from recurring
0.5.7 03/21/11
==============
* lazily connect, rather than connecting at #initialize
* add rough first pass at stubbing
* minor optimizations
* ssl client certification support. thanks thommay
* skip figuring out/setting Content-Length if one is supplied. Thanks pweldon
* do not try to parse body for 205 and 304. Thanks seancribbs
0.5.6 02/19/11
==============
* only split headers by first ':' to allow for values with ':'. Thanks mtodd!
* check a string instance for force_encoding, not class. Thanks seancribbs!
* add benchmarks related to for vs each for enumerable. Thanks caius!
* fix default rake task to run tests
0.5.5 02/18/11
==============
* use local variables in response parsing, prevents keeping state across requests
0.5.4 02/18/11
==============
* 204 should not attempt to parse body
0.5.3 02/17/11
==============
* header comparison for responses is now case insensitive
* change to allow :idempotent => false to operate correctly
* misc cleanup