new ftp upload example, brand new cookie functionality and more
[platform/upstream/curl.git] / CHANGES
1                                   _   _ ____  _     
2                               ___| | | |  _ \| |    
3                              / __| | | | |_) | |    
4                             | (__| |_| |  _ <| |___ 
5                              \___|\___/|_| \_\_____|
6
7                                History of Changes
8
9 Daniel (29 August 2001)
10 - The new cookie code have enabled the brand new '-c/--cookie-jar' option. Use
11   that to specify the file name in which you want to have all cookies curl
12   knows of, dumped to. It'll be written using the netscape cookie format.
13
14   This is internally done with the new CURLOPT_COOKIEJAR option to libcurl,
15   which in turn dumps this information when curl_easy_cleanup() is invoked.
16   There might be reasons to re-consider my choice of putting it there. Perhaps
17   it is better placed to get done just before *_perform() is done. It is all
18   of course depending on how you guys want to use this feature...
19
20 - Added ftpupload.c in the source examples section, based on source code posted
21   by Erick Nuwendam.
22
23 Daniel (28 August 2001)
24 - Now running libtool CVS branch-1-4 to generate stuff. Should fix problems
25   on OpenBSD and hopefully on FreeBSD as well!
26
27 - Georg Huettenegger modified the curl_formadd() functionality slightly, and
28   added support for error code 417 when doing form post and using the Expect:
29   header. Great work!
30
31 - Made some tests with cached SSL session IDs, and they seem to work. There
32   should be a significant speed improvement in the SSL connection phase, but
33   in my tiny tests it just isn't possible to notice any difference. Like other
34   caching in libcurl, you must reuse the same handle for the caching to take
35   effect. SSL session ID caching is done on a per host-name and destination
36   port number basis.
37
38   Set verbose, and you'll get informational tests when libcurl detects and
39   uses a previous SSL session ID.
40
41 - Upgraded to automake 1.5 on my development/release machine.
42
43 Daniel (27 August 2001)
44 - Slowly started writing SSL session ID caching code
45
46 Daniel (24 August 2001)
47 - T. Bharath removed compiler warnings on windows and updated the MS project
48   files.
49
50 - Kevin Roth reported two kinds of command line constructs with the new -G that
51   curl didn't really deal with the way one would like.
52
53 - Tim Costello patched away a use of strcasecmp() in the SSL code. We have our
54   own portable version named strequal() that should be used!
55
56 - Tim also pointed out a problem in the lib/Makefile.vc6 file that made it mix
57   debug object modules causing confusions.
58
59 Daniel (23 August 2001)
60 - T. Bharath accurately found a libcurl bug that would happen when doing a
61   second invoke of curl_easy_perform() with a new URL when the previous invoke
62   followed a Location: header.
63
64 - Started the improvement work on the cookie engine:
65   - Now keeps cookies in the same order as the cookie file
66   - A write to the possibly static string was removed
67   - Added a function that can output all cookies
68   - Now supports reading multiple cookie files
69
70 - Steve Lhomme corrected a DLL naming issue in the MSVC++ project file.
71
72 - Split up the monster function in lib/ftp.c to use more smallish functions to
73   increase readability and maintainability.
74
75 Daniel (21 August 2001)
76 - Georg Huettenegger's big patch was applied. Now we have:
77   o "Expect: 100-continue" support. We will from now on send that header in
78     all rfc1867-posts, as that makes us abort much faster when the server
79     rejects our POST. Posting without the Expect: header is still possible in
80     the standard replace-internal-header style.
81   o curl_formadd() is a new formpost building function that is introduced to
82     replace the now deprecated curl_formparse() function. The latter function
83     will still hang around for a while, but the curl_formadd() is the new way
84     and correct way to build form posts.
85   o Documentation has been updated to reflect these changes
86
87   These changes are reason enough to name the next curl release 7.9...
88
89 - We now convert man pages to HTML pages and include them in the release
90   archive. For the pleasure of everyone without nroff within reach.
91
92 - Andrés García's suggested flushing of the progress meter output stream was
93   added. It should make the progress meter look better on Windows.
94
95 - Troy Engel pointed out a mistake in the configure script that made it fail
96   on many Red Hat boxes!
97
98 Daniel (20 August 2001)
99 - We need an updated libtool to make a better build environment for OpenBSD
100   as well as FreeBSD
101
102 Version 7.8.1
103
104 Daniel (20 August 2001)
105 - Brad pointed out that we ship two extra libtool files in the tarballs that
106   we really don't need to! Removing them makes the gz-archive about 60K
107   smaller!
108
109 - Albert Chin brought fixes for the configure script to detect socklen_t
110   properly as well as moving lots of our custom autoconf macros to
111   acinclude.m4.
112
113 Daniel (19 August 2001)
114 - Moonesamy improved his -G feature for host names only URLs...
115
116 Daniel (17 August 2001)
117 - Finally cleaned up the kerberos code to use Curl_ prefixes on all global
118   symbols and to not use global variables.
119
120 Version 7.8.1-pre6
121
122 Daniel (16 August 2001)
123 - S. Moonesamy added the -G option to curl, that converts the data specified
124   with -d to a GET request. Default action when using -d is POST. When -G is
125   used, the -d specified data will be appended to the URL with a '?'
126   separator. As suggested previously by Kevin Roth.
127
128 - curl-config --libs should now display all linker options required to link
129   with libcurl. It includes the path and options for libcurl itself.
130   curl-config --cflags displays the compiler option(s) needed to compile
131   source files that use libcurl functions. Basically, that sets the include
132   path correct.
133
134 Daniel (15 August 2001)
135 - Arkadiusz Miskiewicz pointed out a mistake in how IPv6-style IP-addresses
136   were parsed and used. (RFC2732-format)
137
138 - Bug #12733 over on php.net identified a problem in libcurl that made it core
139   dump if you used CURLOPT_POST without setting any data to post with
140   CURLOPT_POSTFIELDS! This is no longer the case. Not using CURLOPT_POSTFIELDS
141   now equals setting it to no data at all.
142
143 - Ramana Mokkapati reported that curl with '-w %{http_code}' didn't work
144   properly when used for multiple URLs on a single command line. Indeed, the
145   variable was not reset between the requests. This is now fixed.
146
147 - David James fixed the Borland makefile so that libcurl still compiles and
148   builds with that compiler.
149
150 Daniel (14 August 2001)
151 - Oops. I ruined Nico's socklen_t define in config-vms.h, corrected it now.
152
153 - An older item not mentioned here before: CURL_GLOBAL_WIN32 is a define for
154   windows users to curl_global_init(), that makes libcurl init the winsock
155   stuff. If libcurl is all socket stuff you do, then allowing it to fiddle
156   with this is a comfortable shortcut to fame.
157
158 Version 7.8.1-pre5
159
160 Daniel (14 August 2001)
161 - Nico Baggus provided more feedback from his VMS porting efforts and a few
162   minor changes were necessary.
163
164 - I modified configure.in so that --enable-debug sets more picky gcc options.
165   I then removed almost all the new warnings that appeared, and by doing so I
166   corrected the size_t-treated-as-signed problem that has been discussed on
167   the mailing list previously. I also removed a bunch of the just recently
168   added #ifdef VMS lines.
169
170 - I removed the use of a global variable in the SSL code. It was once
171   necessary but hasn't been needed since OpenSSL 0.9.4. The old code should
172   (hopefully) still work if libcurl is built against an ancient version of
173   OpenSSL.
174
175 Daniel (13 August 2001)
176 - Peter Todd posted a patch that now allows non-file rc1867-style form posts
177   to be larger than 4K.
178
179 Daniel (10 August 2001)
180 - S. Moonesamy fixed bugs for building debug and SSL lib in VC makefile
181
182 Daniel (9 August 2001)
183 - The redirected error stream was closed before the curl_easy_cleanup() call
184   was made, and when VERBOSE was enabled, the cleanup function tried to use
185   the stream. It could lead to a segmentation fault. Also, the stream was
186   closed even if we looped to get more files.  Corrects Dustin Boswell's bug
187   report #441610
188
189 - Now generates the release configure script with autoconf 2.52
190
191 Version 7.8.1-pre4
192
193 Daniel (8 August 2001)
194 - curl -E uses a colon to separate a file name from a passphrase. This turned
195   out really bad for the windows people who wants to include a drive letter in
196   the file name like "c:\cert.pem". There's now a win32 work-around
197   implemented that tries work around that, when the colon seems to be used for
198   this kind of construct.
199
200 - Patrick Bihan-Faou introduced CURLOPT_SSL_VERIFYHOST, which makes curl
201   verify the server's CN field when talking https://. If --cacert is not used,
202   any failures in matching is only displayed as information (-v).
203
204 Daniel (7 August 2001)
205 - Wrote up nine more test cases, more or less converted from the former test
206   suite.
207
208 Daniel (6 August 2001)
209 - Heikki Korpela posted a patch that makes 'curl-config --libs' include the
210   directory in which libcurl itself is installed in. While this wasn't my
211   initial intention with this option, it makes sense and makes linking with
212   libcurl easier.
213
214 - Stefan Ulrich pointed out to us that other tools and libraries treat file://
215   URLs with only one slash after the host name slighly different than libcurl
216   does. Since all the others seem to agree, we better follow them.
217
218 - Nico Baggus provided us with a huge set of fixes to make curl compile and
219   build under OpenVMS.
220
221 Version 7.8.1-pre3
222
223 Daniel (6 August 2001)
224 - Jonathan Hseu noticed that you couldn't get a header callback unless you
225   set CURLOPT_WRITEHEADER to non-NULL, even if you didn't care about that
226   data. This is now fixed.
227
228 Daniel (5 August 2001)
229 - Sergio Ballestrero provided a patch for reading responses from NCSA httpd
230   1.5.x servers, as they return really screwed up response headers when asked
231   for with HTTP 1.1.
232
233 - curl_escape() no longer treats already encoded characters in the input
234   string especially.
235
236 Daniel (3 August 2001)
237 - I replaced the former lib/arpa_telnet.h file with one I wrote myself, to
238   avoid the BSD annoucement clause of the license in the former file.
239
240 - Andrew Francis provided a new version of base64.c to work around the license
241   boiler plate that came with the previous one. I patched it, but the glory
242   should go to Andrew for his heads up.
243
244 - Tomasz Lacki noticed that when you do repeated transfers with libcurl you
245   couldn't always reliably change HTTP request. This has now been fixed and a
246   new libcurl option was added: CURLOPT_HTTPGET, that can force the HTTP
247   requestr (back) to GET.
248
249 - Linus Nielsen Feltzing pointed out that httpsserver.pl wasn't included in
250   release archives. It should be now.
251
252 Daniel (2 August 2001)
253 - Frank Keeney pointed out a manual mistake for certificate convertions.
254
255 - Tomasz Lacki pointed out a problem in the transfer loop that could make the
256   select() loop use far too much CPU.
257
258 - Pawel A. Gajda pointed out an output mistake done when using libcurl's
259   progress callback.
260
261 Daniel (29 June 2001)
262 - Naveen Noel noticed that the Borland library makefile wasn't updated.
263
264 - Nic Roets brought a fix for the certificate verification when using SSL.
265
266 Daniel (27 June 2001)
267 - Made the FTP tests run OK even on machines running curl IPv6-enabled.
268
269 - Troy Engel corrected some RPM package details.
270
271 Version 7.8.1-pre2
272
273 Daniel (25 June 2001)
274 - Björn Stenberg correctly identified a problem that occurred when downloading
275   several files with curl, and using resume. The first file's resume index was
276   then used for all files, resulting in weird results...
277
278 - Anton Kalmykov provided a fix that makes curl work with form field names
279   with spaces like when -F is used.
280
281 Version 7.8.1-pre1
282
283 Daniel (20 June 2001)
284 - Mike Bytnar provided a fine report that proved that the --with-ssl option
285   for configure needed tweaking. It no longer searches the default directories
286   for OpenSSL libs or directories when a specified path is given.
287
288 Daniel (19 June 2001)
289 - When an FTP transfer is cut off during transfer, curl could present a truly
290   garbaged error message and in worst case dump core. Thanks to detailed
291   reports from Shawn Poulson we nailed this.
292
293 Daniel (12 June 2001)
294 - Salvador Dávila provided a fix for FTP range downloads.
295
296 - Added a few more test cases from the former test suite to the new file
297   format. We're now at a total of 26 tests.
298
299 Daniel (11 June 2001)
300 - libcurl's version-info was wrong, as noted by both Domenico Andreoli and
301   David Odin.
302
303 Daniel (7 June 2001)
304 - Jörn fixed the curl_unescape duplicate entry in lib/libcurl.def
305
306 - I made SSL certificate failure messages to be more detailed.
307
308 Version 7.8
309
310 Daniel (7 June 2001)
311 - SDavila provided a resumed download fix.
312
313 Version 7.8-pre4
314
315 Daniel (1 June 2001)
316 - Sterling provided some new PHP examples.
317
318 - Changed the CVS hierarchy and the older checkout instruction does no longer
319   work. We moved the entire source code into a CVS module named 'curl'.
320
321 Daniel (31 May 2001)
322 - CURLOPT_MUTE does not exist anymore. It is still present in the include file
323   to not cause compiler errors for applications using it, but it isn't used
324   anywhere in the library.
325
326 Version 7.8-pre3
327
328 Daniel (31 May 2001)
329 - Once and for all fixed the _REENTRANT mess for Solaris compiles to present
330   less warnings.
331
332 - Sterling Hughes tirelessly points out and corrects my mistakes...! So,
333   curl_global_init() now lets the argument flags *SET* what parts to
334   init. CURL_GLOBAL_DEFAULT makes a nice default, CURL_GLOBAL_ALL inits all
335   known subsystems and CURL_GLOBAL_NONE inits nothing more than absolutely
336   necessary. Man page updated accordingly.
337
338 - Fixed the strtok.h include file as it wouldn't compile on all platforms!
339
340 Daniel (30 May 2001)
341 - Made libcurl by default act as if CURLOPT_MUTE and CURLOPT_NOPROGRESS were
342   set TRUE. Set them to FALSE to make libcurl more talkative. The *_MUTE
343   option is subject for complete removal...
344
345 Version 7.8-pre2
346
347 Daniel (30 May 2001)
348 - Cris Bailiff wrote a makefile for building Solaris packages.
349
350 - Sterling Hughes brought fixes for 'buildconf' (the build-from-CVS tool) and
351   we discussed and added a few CURL_GLOBAL_* flags in include/curl.h
352
353 - Kjetil Jacobsen privately announced his python interface to libcurl,
354   available at http://pycurl.sourceforge.net/
355
356 Daniel (29 May 2001)
357 - Sterling Hughes fixed a strtok() problem in libcurl. It is not a thread-
358   safe function. Now configure checks for a thread-safe version, and
359   lib/strtok.c offers one for the systems that don't come with one included!
360
361 - Mettgut Jamalla correctly pointed out that the -# progress bar was written
362   to stderr even though --stderr redirection was used. This is now corrected.
363
364 - I moved out the list of contributors from the curl.1 man page and made a
365   separate docs/THANKS file. It makes the list easier to find, and made it
366   easier for me to make a separate web page with that same information.
367
368   I really do want all you guys mentioned in there to feel you get the credit
369   you deserve.
370
371 - lib/easy.c didn't compile properly in the 7.8-pre1 due to a silly mistake
372
373 Version 7.8-pre1
374
375 Daniel (28 May 2001)
376 - curl-config now supports '--vernum' that outputs a plain hexadecimal version
377   of the libcurl version number (using 8 bits for each 3 numbers). Version
378   7.7.4 appears as 070704
379
380 - Wrote man pages for curl_global_init and curl_global_cleanup...
381
382 - T. Bharath brought news about the usage of the OpenSSL interface that was
383   not previously taken into consideration and thus caused libcurl to leak
384   memory.  The only somewhat sane approach to fix this dilemma, is adding two
385   two new functions curl_global_init() and curl_global_cleanup() that should
386   be called *ONCE* by the application using libcurl. The init should be done
387   only at startup, no matter how many threads the application is gonna use,
388   and the cleanup should be called when the application has finished using
389   libcurl completely.
390
391   *** UPGRADE NOTICE ***
392
393   If you write applications using libcurl, you really want to use the two
394   functions mentioned above !!!
395
396   I can't say I think this is a very beautiful solution, but as OpenSSL
397   insists on making lots of stuff on a "global" scope, we're forced to walk
398   the path they point us to.
399
400 - Moving more test cases into the new file format.
401
402 Version 7.7.4-pre3
403
404 Daniel (23 May 2001)
405 - Introduced a new file format for storing test cases, and thus I had to
406   modify all the perl test scripts and more (I added a new one). I have not
407   "ported" all the old test cases to the new format yet, but it'll come.
408
409   The main advantage of this new format is that all test data for each test
410   case is stored in a single file. It gives a better overview for each test
411   case and a lot less files.
412
413 - Andrés García brought a fix for the netscape/mozilla cookie file parsing
414   function, as it turns out it doesn't always store the path!
415
416 Daniel (22 May 2001)
417 - As was reported anonymously, when FAILONERROR was used, the httpcode was
418   not stored properly and thus wasn't possibly to read after a transfer with
419   the curl_easy_getinfo() function. This is now corrected.
420
421 - Installed and made use of the following tool versions:
422     autoconf 2.50
423     libtool 1.4
424     automake 1.4-p1
425
426   I wouldn't recommend any developer to try to generate things with older
427   versions than these. Building from CVS will probably more or less require
428   at least these versions.
429
430   As a result of this, the configure script grew to more than double its
431   previous size!
432
433   Arkadiusz Miskiewicz helped me by pointing out I had to remove my
434   acinclude.m4 file before I could get it working!
435
436 Daniel (21 May 2001)
437 - I made ftps:// work. Added test case 400 to the release archive, as the
438   first ftps:// test case. Requires stunnel.
439
440 - Also made the test cases that runs ssl tests not run if libcurl isn't built
441   with ssl support.
442
443 Daniel (19 May 2001)
444 - Made the configure not add any extra -L LDFLAGS or -I CPPFLAGS unless they
445   are actually needed. Albert Chin's and Domenico Andreoli's suggestions
446   helped out.
447
448 Version 7.7.4-pre2
449
450 Daniel (18 May 2001)
451 - Nicer configure-check for the OpenSSL headers, which then sets the proper
452   variable to have curl-config be good. (Albert Chin provided the fix)
453
454 - For systems that don't have theiw own 'strlcat()' libcurl provides its own.
455   It was now renamed to prevent collides with other libs. (After discussions
456   with Sterling Hughes and the implications this had on PHP builds.)
457
458 Daniel (17 May 2001)
459 - Colm Buckley posted a detailed bug report on (the debianized) 7.7.3, that
460   turned out to be a problem with the debian-built 7.7.3-package that
461   contained files from the 7.7.2 release!
462
463 - I added the CURLE_ALREADY_COMPLETE again, but with a fake value, just to
464   make programs that use it, not fail when compiling against this version of
465   libcurl.
466
467 Daniel (14 May 2001)
468 - Pawel A. Gajda fixed a problem with resumed transfers on re-used persistent
469   connections.
470
471 Version 7.7.4-pre1
472
473 Daniel (14 May 2001)
474 - Jun-ichiro itojun Hagino fixed FTP PORT for IPv6-enabled libcurl.
475
476 - Added the first HTTPS test to the test suite in the release archive.
477
478 Daniel (12 May 2001)
479 - Jukka Pihl suggested that if (lib)curl is told to verify the peer's
480   certificate and the peer can't be verified, it should fail and return a
481   proper error code. I added a brand new error code named
482   CURLE_SSL_PEER_CERTIFICATE for this purpose.
483
484 Daniel (11 May 2001)
485 - As was discussed with Frederic Lepied a while ago, I now made libcurl not
486   return error even though no data was transfered on upload/download resume
487   when the no transfer is needed. The CURLE_ALREADY_COMPLETE error was removed
488   from the header file to make any implemenator that uses that to be aware of
489   the fact that it can't be returned anymore!
490
491 - Improved general header-parsing to better allow white spaces and more.
492
493 - Rodney Simmons proved the fix I did yesterday was bad and I had to post
494   another one.
495
496 - Ingo Wilken patched away two redirect problems more!
497   
498 Daniel (10 May 2001)
499 - Cris Bailiff correctly noted that the space-after-header problem with
500   Location: is present on several other places in the libcurl sources.
501
502 - Ingo Wilken patched away a problem libcurl had when following Location:
503   headers with an extra space after the colon.
504
505 - Rodney Simmons found out that multiple FTP transfers did not treat relative
506   directories correctly.
507
508 Daniel (9 May 2001)
509 - Getting an FTP file with CURLOPT_NOBODY set (or -I from the command line),
510   makes curl use the non-standard ftp command "SIZE". If it failed, libcurl
511   returned error. Starting now, it just don't output the file size instead.
512   Anonymous bug report.
513
514 - stunnel.pm was accidentally left out from the release archive, it is now
515   added (stunnel is needed to run the https-tests in the test suite)
516   
517 Daniel (7 May 2001)
518 - Corrected two minor compiler warnings due to the FILE * to void * conversion
519   that I missed at two places. Jörn Hartroth brought me patches. Sander Gates
520   filed a bug report on this.
521
522 Version 7.7.3
523
524 Daniel (4 May 2001)
525 - All callback functions now take 'void *' instead of 'FILE *'. This is made
526   this way to make it more obvious to people that anything can be passed to
527   them (by using the apropriate option). After discussions with Sterling
528   Hughes.
529
530 Daniel (3 May 2001)
531 - Cris Bailiff fixed a chunked transfer encoding problem with persistent
532   connection that made libcurl fail if the persistent connection used mixed
533   chunked and non-chunked transfers.
534
535 - Cris Bailiff fixed a bad treatment of 304-replies, as they would not be
536   treated as content-length 0 replies but would cause a "hang" until the
537   server timed-out and closed the connection.
538
539 - Brad Burdick found a minor problem in the docs/examples/Makefile.am
540
541 Daniel (27 April 2001)
542 - Updated the INTERALS document again. It was lagging a bit. I think I made it
543   more easy to follow now as well.
544
545 - Brad Burdick found a problem with persistent connections when curl received
546   a "Content-Length: 0" header.
547
548 - Giuseppe D'Ambrosio was first out to report that TELNET doesn't work in curl
549   compiled/built on win32. It seems to work for unixes though!
550
551 - Dave Hamilton reported weird problems with CURL/PHP that I really can't
552   explain at the moment. I'm hoping on some help from the PHP crew.
553
554 Daniel (26 April 2001)
555 - I rewrote the FTP command response function. I had to do it to make ftps
556   work, as the OpenSSL read()-function didn't work the same way the normal
557   unix read() does, but it was also a huge performance boost. Previously the
558   function read one byte at a time, now it reads very large chunks, and it
559   makes a notable speed difference.
560
561 Daniel (25 April 2001)
562 - Connection re-use when not using a proxy didn't work properly for
563   non-default port numbers.
564
565 Daniel (24 April 2001)
566 - I've noticed that FTPS doesn't work. We attempt to use ssl even for the
567   data transfer, which causes the transfer to 'hang'... We need to fix this.
568
569 - Improved the test suite to use 'stunnel' to do HTTPS and FTPS testing on
570   the alredy written perl servers easily.
571
572 Daniel (23 April 2001)
573 - The OpenSSL version string recently modified didn't zero terminate one
574   of the generated strings properly, which could lead to a crash or simply
575   weird version string output!
576
577 Version 7.7.2
578
579 Daniel (22 April 2001)
580 - Rosimildo da Silva updated the Makefiles for Borland/Windows.
581
582 - Eric Rautman pointed out a problem with persistent connections that would
583   lead to broken Host: headers in the second HTTP request.
584
585 Daniel (20 April 2001)
586 - Added man pages for the curl_strequal() and curl_mprintf() families. Wrote
587   a 'libcurl overview' man page.
588
589 - Spell-fixed some documents.
590
591 - S. Moonesamy corrected mistakes in the man page.
592
593 - Cris Bailiff fixed the curl_slists options in the perl interface, present
594   separately in the Curl::easy 1.1.4 package.
595
596 Daniel (19 April 2001)
597 - Linus Nielsen Feltzing removed the decimals from the size variables in the
598   --write-out output. We hardly ever get fraction of bytes! :-)
599
600 Version 7.7.2-pre1
601
602 Daniel (19 April 2001)
603
604 - Albert Chin provided a configure patch for the AC_SYS_LARGEFILE macro.
605
606 Daniel (18 April 2001)
607 - Input from Michael Mealling made me add --feature to curl-config. It
608   displays a list of features that have been built-in in the current
609   libcurl. The currently available features that can be listed are: SSL, KRB4
610   and IPv6.
611
612 - I committed Cris and Georg's perl interface work. They've got callbacks
613   working and options that receives those slist pointers.
614
615 - Puneet Pawaia detected a problem with resumed downloads that use persistent
616   connections and I made a rather large writeup to correct this. It is
617   important that all session-data is stored in the connectdata struct and not
618   in the main struct as this previously did.
619
620 Daniel (17 April 2001)
621 - Frederic Lepied fixed a ftp resumed download problem and introduced a new
622   error code that lets applications be able to detect when a resumed download
623   actually didn't download anything since the whole file is already present.
624   Should this return OK instead?
625
626 - I added 'curl-config.in' to the root dir and configure script. Now, a
627   curl-config script is made when curl is built. The script can be used to
628   figure out compile time options used when libcurl was built, which in turn
629   should be options YOU should use to build applications that use libcurl.
630
631   This *-config style is not a new idea, but something that has been used
632   successfully in other (library based) projects.
633
634 - Phil Karn pointed out that libcurl wrongly did not always use GMT time zone
635   for the If-Modified-Since style headers.
636
637 - Georg Schwarz pointed out an extra needed #include file needed in src/main.c
638   for curl to build on Ultrix.
639
640 Daniel (11 April 2001)
641 - Cris Bailiff pointed out two problems that I corrected. First, libcurl's use
642   of the environment variable HTTP_PROXY in uppercase may become a security
643   hazard when people use libcurl in a server/cgi situation where the server
644   sets the HTTP_*-variables according to incoming headers in the HTTP
645   request. Thus, a "Proxy:"-header would set that environment variable!
646
647   Then, invoking curl_easy_perform() without having an URL set caused a crash.
648
649 - S. Moonesamy brought a patch that make curl use non-blocking connects on
650   windows when connection timeout is set, as it allows windows users to set
651   that timeout!
652
653 - Hirotaka Matsuyuki wrote a Ruby interface to libcurl!
654
655 - Cris Bailiff, Forrest Cahoon and Georg Horn work on the Perl interface.
656
657 - I've written a first shot at a Java interface to libcurl. Many thanks to
658   Daniel Marell for tirelessly answering to all my basic Java questions. It
659   works, but it is still very basic.
660
661 Daniel (10 April 2001)
662 - The progress display could get silly when doing multiple file transfers, as
663   it wasn't properly reset between transfers!
664
665 - Discussions with Cris Bailiff who writes a Perl interface to libcurl, made
666   me add CURLOPT_HEADERFUNCTION. It can be used to set a separate callback
667   function for writing headers. Previously you could only set a different FILE
668   * when headers are written from within libcurl.
669
670 Daniel (7 April 2001)
671 - Andrés García fixed a problem in curl_escape() and pointed out a flaw in
672   the curl_easy_setopt man page.
673
674 Daniel (6 April 2001)
675 - Adjusted the version code to properly display OpenSSL 0.9.6a. They sure
676   change their version define format often...
677
678 - curl_formfree() now accepts a NULL pointer without crashing!
679
680 Version 7.7.1
681
682 Daniel (3 April 2001)
683 - Puneet Pawaia pointed out two serious problems. Libcurl would attempt to
684   read bad memory during situations when an (ftp) connection attempt failed.
685   Also, the lib/Makefile.vc6 was corrected.
686
687 - More investigations in the Location: following code made me realize that
688   it was not clean enough to work transparantly with persistent and non-
689   persistent connections. I think I've fixed it now.
690
691 Daniel (29 March 2001)
692 - Georg Horn mailed me some corrections for the Curl::easy perl interface.
693
694 - Experimental ftps:// support added. It is basically FTP over SSL for the
695   control connection. It still makes all data transfers going over unencrypted
696   connections. Rainer Weikusat's ftpd-ssl server hack supports this and I used
697   that to verify the functionality.
698
699 Daniel (27 March 2001)
700 - Guenole Bescon discovered that if you set a CURLOPT_TIMEOUT and then tried
701   to get a file from a site and it fails, the SIGALRM would still be sent
702   after the timeout-time, quite inexpectedly!
703
704 - I added an ftp transfer example to docs/examples/ and I also wrote a tiny
705   example makefile that can be used as a start when building one of the
706   examples.
707
708 Version 7.7.1-beta1
709
710 Daniel (26 March 2001)
711 - Mohamed Lrhazi reported problems with 7.6.1 and persistent HTTP/1.0
712   connections (when the server replied a Connection: Keep-Alive) and this
713   problem was not properly dealt with in 7.7 either. A patch was posted to the
714   curl-and-php mailing list.
715
716 Daniel (24 March 2001)
717 - Colin Watson reported about a problem and brought a patch that corrected it,
718   which was about the man page and lines starting with a single quote (') in a
719   way that gnroff doesn't like.
720
721 Daniel (23 March 2001)
722 - Peter Bray reported correctly that the root makefile used make instead of
723   $(MAKE) for the test target.
724
725 - Corrected the Curl::easy perl interface to use curl_easy_setopt() and not
726   curl_setopt() which was removed in 7.7!
727
728 - S. Moonesamy provided updates on three documents (MANUAL, INSTALL and FAQ).
729
730 - When following a Location:, libcurl would sometimes write to the URL string
731   in a way it shouldn't. As the pointer is passed-in to libcurl from an
732   application, we can't be allowed to write to it. The particular bug report
733   from 'nk' that brought this up was because he had a read-only URL that then
734   caused a libcurl crash!
735
736 - No longer reads HEAD responses longer than to the last header. Previously,
737   curl would read the full reply if the connection was a "close" one.
738
739 - libcurl did re-use connections way too much. Doing "curl
740   http://www.{microsoft,ibm}.com" would make it re-use the connection which
741   made the second request return very odd results.
742
743 Daniel (22 March 2001)
744 - Edin Kadribasic made me aware that curl should not re-send POST requests
745   when following 302-redirects. I made 302 work like 303 which means curl uses
746   GET in the following request(s).
747
748 - libcurl now reset the "followed-location" counter on each invoke of
749   curl_easy_perform() as it otherwise would sum up all redirects on the same
750   connection and thus could reach the maxredirs counter wrongly.
751
752 - Jim Drash suggested curl_escape() should not re-encode what already looks
753   like an encoded sequence and I think that's a fair suggestion.
754
755 Version 7.7
756
757 Daniel (22 March 2001)
758 - The configure script now fails with an error message if gethostbyname_r() is
759   detected but it couldn't figure out how to invoke it (what amount of
760   arguments it is supposed to get). Reports from Andrés García made me aware
761   of this need.
762
763 - Talking with Jim Drash made me finally put the curl_escape and curl_unescape
764   functions in the curl.h include file and write man pages for them. The
765   escape function was modified to use the same interface as the unescape one
766   had.
767
768 - No bug reports at all on the latest betas. Release time coming up.
769
770 Version 7.7-beta5
771
772 Daniel (19 March 2001)
773 - Georg Ottinger reported problems with using -C together with -L in the sense
774   that the -C info got lost when it was redirected. I could not repeat this
775   problem on the 7.7 branch why I leave this for the moment. Test case 39 was
776   added to do exactly this, and it seems to do right.
777
778 - Christian Robottom Reis reported how his 7.7 beta didn't successfully do
779   form posts as elegantly as 7.6.1 did. Indeed, this was a flaw in the header
780   engine, as HTTP 1.1 has introduced a new 100 "transient" return code for PUT
781   and POST operations that I need to add support for. Section 8.2.3 in RFC2616
782   has all the details. Seems to work now!
783
784 Daniel (16 March 2001)
785 - After having experienced another machine break-down, we're back.
786
787 - Georg Horn's perl interface Curl::easy is now included in the curl release
788   archive. The perl/ directory is now present. Please help me with docs,
789   examples and updates you think fit.
790
791 - Made a new php/ directory in the release archive and moved the PHP examples
792   into a subdirectory in there. Not much PHP info yet, but I plan to. Please
793   help me here as well!
794
795 - Made libcurl return error if a transfer is aborted in the middle of a
796   "chunk". It actually enables libcurl to discover premature transfer aborts
797   even if the Content-Length: size is unknown.
798
799 Daniel (15 March 2001)
800 - Added --connect-timeout to curl, which sets the new CURLOPT_CONNECTTIMEOUT
801   option in libcurl. It limits the time curl is allowed to spend in the
802   connection phase. This differs from -m/--max-time that limits the entire
803   file transfer operation. Requested by Larry Fahnoe and others.
804
805   I also updated the curl.1 and curl_easy_setopt.3 man pages and removed the
806   item from the TODO.
807
808 Version 7.7-beta4
809
810 Daniel (14 March 2001)
811 - Made curl grok IPv6 with HTTP proxies and got everything to compile nicely
812   again when ENABLE_IPV6 is set.
813
814   I need to remake things in the test suite. I can't test the FTP parts with
815   curl built for IPv6 as it uses a different set of FTP commands then!
816
817 - I fell onto a bug report on php.net (posted by Lars Torben Wilson) that was
818   a report meant for our project. Anyway, it said the .netrc parsing didn't
819   work as supposed, and as I agreed with Lars, I made the netrc parser use
820   getpwuid() to figure out the home directory of the effective user and try
821   that netrc. It still uses the environment variable HOME for those that don't
822   have that function or if the user doesn't return valid pwd info.
823
824 - Edin Kadribaic posted a bug report where he got a crash when a fetch with
825   user+password in the URL followed a Location: to a second URL (absolute,
826   without name+password). This bug has been around for a long while and
827   crashes due to a read at address zero. Fixed now. Wrote test case 38, that
828   tests this.
829
830 - Modified the test suite's httpserver slightly to append all client request
831   data to its log file so that the test script now better can verify a range
832   of requests and not only the last one, as it did previously.
833
834 - Updated the curl man page with --random-file and --egd-file details.
835
836 Version 7.7-beta3
837
838 Daniel (14 March 2001)
839 - Björn Stenberg provided similar fixes as Jörn did and some additional patches
840   for non-SSL compiles.
841
842 - I increased the interface number for libcurl as I've removed the low level
843   functions from the interface. I also took this opportunity to rename the
844   Curl_strequal function to curl_strequal and Curl_strnequal to
845   curl_strnequal, as they're public libcurl functions (even if they're still
846   undocumented).
847
848   This will make older programs not capable of using the new libcurl with
849   just a drop-in replacement.
850
851 - Jörn Hartroth updated stuff for win32 compiles:
852   o config-win32.h was fixed for socklen_t
853   o lib/ssluse.c had a bad #endif placement
854   o lib/file.c was made to compile on win32 again
855   o lib/Makefile.m32 was updated with the new files
856   o lib/libcurl.def matches the current interface state
857
858 Daniel (13 March 2001)
859 - It only took an hour or so before Jörn Hartroth found a problem in the
860   chunked transfer-encoding. Given his fine example-site, I could easily spot
861   the problem and when I re-read the spec (the part I have pasted in the top
862   of the http_chunks.h file), I realized I had made my state-machine slightly
863   wrong and didn't expect/handle the trailing CRLF that comes after the data
864   in each chunk (and those extra two bytes sure feel wasted).
865
866   Had to modify test case 34 to match this as well.
867
868 Version 7.7-beta2
869
870 Daniel (13 March 2001)
871 - Added the policy stuff to the curl_easy_setopt man page for the two supported
872   policies.
873
874 - Implemented some support for the CURLOPT_CLOSEPOLICY option. The policies
875   CURLCLOSEPOLICY_LEAST_RECENTLY_USED and CURLCLOSEPOLICY_OLDEST are now
876   supported, and the "least recently used" is used as default if no policy
877   is chosen.
878
879 Daniel (12 March 2001)
880 - Added CURLOPT_RANDOM_FILE and CURLOPT_EGDSOCKET to libcurl for seeding the
881   SSL random engine. The random seeding support was also brought to the curl
882   client with the new options --random-file <file> and --egd-file <file>. I
883   need some people to really test this to know they work as supposed. Remember
884   that libcurl now informs (if verbose is on) if the random seed is considered
885   weak (HTTPS connections).
886
887 - Made the chunked transfer-encoding engine detected bad formatted data length
888   and return error if so (we can't possibly extract sensible data if this is
889   the case). Added a test case that detects this. Number 36. Now there are 60
890   test cases.
891
892 - Added 5 new libcurl options to curl/curl.h that can be used to control the
893   persistent connection support in libcurl. They're also documented (fairly
894   thoroughly) in the curl_easy_setopt.3 man page. Three of them are now
895   implemented, although not really tested at this point... Anyway, the new
896   implemented options are named CURLOPT_MAXCONNECTS, CURLOPT_FRESH_CONNECT,
897   CURLOPT_FORBID_REUSE. The ones still left to write code for are:
898   CURLOPT_CLOSEPOLICY and its related option CURLOPT_CLOSEFUNCTION.
899
900 - Made curl (the actual command line tool) use the new libcurl 7.7 persistent
901   connection support by re-using the same curl handle for every specified file
902   transfer and after some more test case tweaking we have 100% test case OK.
903   I made some test cases return HTTP/1.0 now to make sure that works as well.
904
905 - Had to add 'Connection: close' to the headers of a bunch of test cases so
906   that curl behaves "old-style" since the test http server doesn't do multiple
907   connections... Now I get 100% test case OK.
908
909 - The curl.haxx.se site, the main curl mailing list and my personal email are
910   all dead today due to power blackout in the area where the main servers are
911   located. Horrible.
912
913 - I've made persistance work over a squid HTTP proxy. I find it disturbing
914   that it uses headers that aren't present in any HTTP standard though
915   (Proxy-Connection:) and that makes me feel that I'm now on the edge of what
916   the standard actually defines. I need to get this code excercised on a lot
917   of different HTTP proxies before I feel safe.
918
919   Now I'm facing the problem with my test suite servers (both FTP and HTTP)
920   not supporting persistent connections and libcurl is doing them now. I have
921   to fix the test servers to get all the test cases do OK.
922
923 Daniel (8 March 2001)
924 - Guenole Bescon reported that libcurl did output errors to stderr even if
925   MUTE and NOPROGRESS was set. It turned out to be a bug and happens if
926   there's an error and no ERRORBUFFER is set. This is now corrected.
927
928 Version 7.7-beta1
929
930 Daniel (8 March 2001)
931 - "Transfer-Encoding: chunked" is no longer any trouble for libcurl. I've
932   added two source files and I've run some test downloads that look fine.
933
934 - HTTP HEAD works too, even on 1.1 servers.
935
936 Daniel (5 March 2001)
937 - The current 57 test cases now pass OK. It would suggest that libcurl works
938   using the old-style with one connection per handle. The test suite doesn't
939   handle multiple connections yet so there are no test cases for this.
940
941 - I patched the telnet.c heavily to not use any global variables anymore. It
942   should make it a lot nicer library-wise.
943
944 - The file:// support was modified slightly to use the internal connect-first-
945   then-do approach.
946
947 Daniel (4 March 2001)
948 - More bugs erased.
949
950 Version 7.7-alpha2
951
952 Daniel (4 March 2001)
953 - Now, there's even a basic check that a re-used connection is still alive
954   before it is assumed so. A few first tests have proven that libcurl will
955   then re-connect instead of re-use the dead connection!
956
957 Daniel (2 March 2001)
958 - Now they work intermixed as well. Major coolness!
959
960 - More fiddling around, my 'tiny' client I have for testing purposes now has
961   proved to download both FTP and HTTP with persistent connections. They do
962   not work intermixed yet though.
963
964 Daniel (1 March 2001)
965 - Wilfredo Sanchez pointed out a minor spelling mistake in a man page and that
966   curl_slist_append() should take a const char * as second argument. It does
967   now.
968
969 Daniel (22 February 2001)
970 - The persistent connections start to look good for HTTP. On a subsequent
971   request, it seems that libcurl now can pick an already existing connection
972   if a suitable one exists, or it opens a new one.
973
974 - Douglas R. Horner mailed me corrections to the curl_formparse() man page
975   that I applied.
976
977 Daniel (20 February 2001)
978 - Added the docs/examples/win32sockets.c file for our windows friends.
979
980 - Linus Nielsen Feltzing provided brand new TELNET functionality and
981   improvements:
982
983   * Negotiation is now passive. Curl does not negotiate until the peer does.
984   * Possibility to set negotiation options on the command line, currently only
985     XDISPLOC, TTYPE and NEW_ENVIRON (called NEW_ENV).
986   * Now sends the USER environment variable if the -u switch is used.
987   * Use -t to set telnet options (Linus even updated the man page, awesome!)
988
989 - Haven't done this big changes to curl for a while. Moved around a lot of
990   struct fields and stuff to make multiple connections get connection specific
991   data in separate structs so that they can co-exist in a nice way. See the
992   mailing lists for discussions around how this is gonna be implemented. Docs
993   and more will follow.
994
995   Studied the HTTP RFC to find out better how persistent connections should
996   work. Seems cool enough.
997
998 Daniel (19 February 2001)
999 - Bob Schader brought me two files that help set up a MS VC++ libcurl project
1000   easier. He also provided me with an up-to-date libcurl.def file.
1001
1002 - I moved a bunch of prototypes from the public <curl/curl.h> file to the
1003   library private urldata.h. This is because of the upcoming changes. The
1004   low level interface is no longer being planned to become reality.
1005
1006 Daniel (15 February 2001)
1007 - CURLOPT_POST is not required anymore. Just setting the POST string with
1008   CURLOPT_POSTFIELDS will switch on the HTTP POST. Most other things in
1009   libcurl already works this way, i.e they require only the parameter to
1010   switch on a feature so I think this works well with the rest. Setting a NULL
1011   string switches off the POST again.
1012
1013 - Excellent suggestions from Rich Gray, Rick Jones, Johan Nilsson and Bjorn
1014   Reese helped me define a way how to incorporate persistent connections into
1015   libcurl in a very smooth way. If done right, no change may have to be made
1016   to older programs and they will just start using persistent connections when
1017   applicable!
1018
1019 Daniel (13 February 2001)
1020 - Changed the word 'timeouted' to 'timed out' in two different error messages.
1021   Suggested by Larry Fahnoe.
1022
1023 Version 7.6.1
1024
1025 Daniel (9 February 2001)
1026 - Frank Reid and Cain Hopwood provided information and research around a HTTPS
1027   PUT/upload problem we seem to have. No solution found yet.
1028
1029 Daniel (8 February 2001)
1030 - An interesting discussion is how to specify an empty password without having
1031   curl ask for it interactively? The current implmentation takes an empty
1032   password as a request for a password prompt. However, I still want to
1033   support a blank user field. Thus, today if you enter "-u :" (without user
1034   and password) curl will prompt for the password. Tricky. How would you
1035   specify you want the prompt otherwise?
1036
1037 - Made the netrc parse result possible to use for other protocols than FTP and
1038   HTTP (such as the upcoming TELNET fixes).
1039
1040 - The previously mentioned "MSVC++ problems" turned out to be a non-issue.
1041
1042 - Added a HTTP file upload code example in the docs/examples/ section on
1043   request.
1044
1045 - Adjusted the FTP response fix slightly.
1046
1047 Version 7.6.1-pre3
1048
1049 Daniel (7 February 2001)
1050 - S. Moonesamy found a flaw in the response reading function for FTP that
1051   could make libcurl not get out of the loop properly when it should, if
1052   libcurl got -1 returned when reading the socket.
1053
1054 - I found a similar mistake in http.c when using a proxy and reading the
1055   results from the proxy connection.
1056
1057 Daniel (6 February 2001)
1058 - S. Moonesamy pointed out that the VC makefile in src/ needed the libpath set
1059   for the debug build to work.
1060
1061 - Daniel Gehriger stepped in to assist with the VC++ stuff Robert Weaver
1062   brought up yesterday.
1063
1064 Daniel (5 February 2001)
1065 - Jun-ichiro itojun Hagino brought a big patch that brings IPv6-awareness to
1066   a bunch of different areas within libcurl.
1067
1068 - Robert Weaver told me about the problems the MS VC++ 6.0 compiler has with
1069   the 'static' keyword on a number of libcurl functions. I might need to add a
1070   patch that redefines static when libcurl is compiled with that compiler.
1071   How do I know when VC++ compiles, anyone?
1072
1073 Daniel (4 February 2001)
1074 - curl_getinfo() was extended with two new options:
1075   CURLINFO_CONTENT_LENGTH_DOWNLOAD and CURLINFO_CONTENT_LENGTH_UPLOAD. They
1076   return the full assumed content length of the transfer in the given
1077   direction. The CURLINFO_CONTENT_LENGTH_DOWNLOAD will be the Content-Length:
1078   size of a HTTP download. Added descriptions to the man page as well. This
1079   was done after discussions with Bob Schader.
1080
1081 Daniel (3 February 2001)
1082 - Ingo Ralf Blum provided another fix that makes curl build under the more
1083   recent cygwin installations. It seems they've changed the preset defines to
1084   not include WIN32 anymore.
1085
1086 Version 7.6.1-pre2
1087
1088 Daniel (31 January 2001)
1089 - Curl_read() and curl_read() now return a ssize_t for the size, as it had to
1090   be able to return -1. The telnet support crashed due to this and there was a
1091   possibility to weird behaviour all over. Linus Nielsen Feltzing helped me
1092   find this.
1093
1094 - Added a configure.in check for a working getaddrinfo() if IPv6 is requested.
1095   I also made the configure script feature --enable-debug which sets a couple
1096   of compiler options when used. It assumes gcc.
1097
1098 Daniel (30 January 2001)
1099 - I finally took a stab at the long-term FIXME item I've had on myself, and
1100   now libcurl will properly work when doing a HTTP range-request that follows
1101   a Location:. Previously that would make libcurl fail saying that the server
1102   doesn't seem to support range requests.
1103
1104 Daniel (29 January 2001)
1105 - I added a test case for the HTTP PUT resume thing (test case 33).
1106
1107 Version 7.6.1-pre1
1108
1109 Daniel (29 January 2001)
1110 - Yet another Content-Range change. Ok now? Bob Schader checks from his end 
1111   and it works for him.
1112
1113 Daniel (27 January 2001)
1114 - So the HTTP PUT resume fix wasn't good. There should appearantly be a
1115   Content-Range header when resuming a PUT.
1116
1117 - I noticed I broke the download-check that verifies that a resumed HTTP
1118   download is actually resumed. It got broke because my new 'httpreq' field
1119   in the main curl struct. I should get slapped. I added a test case for
1120   this now, so I won't be able to ruin this again without noticing.
1121
1122 - Added a test case for content-length verifying when downloading HTTP.
1123
1124 - Made the progress meter title say if the transfer is being transfered. It
1125   makes the output slightly better for resumes.
1126
1127 - When dealing with Location: and HTTP return codes, libcurl will not attempt
1128   to follow the spirit of RFC2616 better. It means that when POSTing to a
1129   URL that is being following to a second place, the standard will judge on
1130   what to do. All HTTP codes except 303 and 305 will cause curl to make a
1131   second POST operation. 303 will make a GET and 305 is not yet supported.
1132
1133   I also wrote two test cases for this POST/GET/Location stuff.
1134
1135 Version 7.6
1136
1137 Daniel (26 January 2001)
1138 - Lots of mails back and forth with Bob Schader finally made me add a small
1139   piece of code in the HTTP engine so that HTTP upload resume works. You can
1140   now do an operation like 'curl -T file -C <offset> <URL>' and curl will PUT
1141   the ending part of the file starting at given offet to the specified URL.
1142
1143 Version 7.6-pre4
1144
1145 Daniel (25 January 2001)
1146 - I took hold of Rick Jones' question why we don't use recv() and send() for
1147   reading/writing to the sockets and I've now modified the sread() and
1148   swrite() macros to use them instead. If nothing else, they could be tested
1149   in the next beta-round coming right up.
1150
1151 - Jeff Morrow found a problem with libcurl's usage of SSL_read() and supplied
1152   his research results in how to fix this. It turns out we have to invoke the
1153   function several times in some cases. The same goes for the SSL_write().
1154
1155   I made some rather drastic changes all over libcurl to make all writes and
1156   reads get done on one single place so that this repeated-attempts thing
1157   would only have to be implemented at one point.
1158
1159 - Rick Jones spotted that the 'total time' counter really didn't measure the
1160   total time very accurate on subsecond levels.
1161
1162 - Johan Nilsson pointed out the need to more clearly specify that the timeout
1163   value you set for a download is for the *entire* download. There's currently
1164   no option available that sets a timeout for the connection phase only.
1165
1166 Daniel (24 January 2001)
1167 - Ingo Ralf Blum submitted a series of patches required to get curl to compile
1168   properly with cygwin.
1169
1170 - Robert Weaver posted a fix for the win32 section of the curl_getenv() code
1171   that corrected a potential memory leak.
1172
1173 - Added comments in a few files in a sudden attempt to make the sources more
1174   easy to read and understand!
1175
1176 Daniel (23 January 2001)
1177 - Added simple IPv6 detection in the configure script and made the version
1178   string add 'ipv6' to the enable section in that case. ENABLE_IPV6 will be
1179   set if curl is compiled with IPv6 support enabled.
1180
1181 - Added a parser for IPv6-style specified IP-addresses in a URL. Thus, when
1182   IPv6 gets enabled soon, we can use URLs like '[0::1]:80'...
1183
1184 - Made the URL globbing in the client possible to fail silently if there's an
1185   error in the globbing. It makes it almost intuitive, so when you don't
1186   follow the syntax rules, globbing is simply switched off and the raw string
1187   is used instead.
1188
1189   I still think we'll get problems with IPv6-style IP-addresses when we *want*
1190   globbing on parts of the URL as the initial part of the URL will for sure
1191   seriously confuse the globber.
1192
1193 Daniel (22 January 2001)
1194 - Björn Stenberg supplied a progress meter patch that makes it look better even
1195   during slow starts. Previously it made some silly assumptions...
1196
1197 - Added two FTP tests for -Q and -Q - stuff since it was being discussed on
1198   the mailing list. Had to correct the ftpserver.pl too as it bugged slightly.
1199
1200 Daniel (19 January 2001)
1201 - Made the Location: parsers deal with any-length URLs. Thus I removed the last
1202   code that restricts the length of URLs that curl supports.
1203
1204 - Added a --globoff test case (#28) and it quickly identified a memory problem
1205   in src/main.c that I took care of.
1206
1207 Version 7.6-pre3
1208
1209 Daniel (17 January 2001)
1210 - Made the two former files lib/download.c and lib/highlevel.c become the new
1211   lib/transfer.c which makes more sense. I also did the rename from Transfer()
1212   to Curl_Transfer() in the other source files that use the transfer function
1213   in the spirit of using Curl_ prefix for library-scoped global symbols.
1214
1215 Daniel (11 January 2001)
1216 - Added -g/--globoff that switches OFF the URL globbing and thus enables {}[]
1217   letters to be part of the URL. Do note that RFC2396 section 2.4.3 explicitly
1218   mention these letters to be escaped. This was posted as a feature request by
1219   Jorge Gutierrez and as a bug by Terry.
1220
1221 - Short options to curl that requires parameters can now be specified without
1222   having the option and its parameter space separated. -ofile works as good as
1223   -o file. -m20 is equal to -m 20. Do note that this goes for single-letter
1224   options only, verbose --long-style options still must be separated with
1225   space from their parameters.
1226
1227 Daniel (8 January 2001)
1228 - Francis Dagenais reported that the SCO compiler still fails when compiling
1229   curl due to that getpass_r() prototype. I've now put it around #ifndef
1230   HAVE_GETPASS_R in an attempt to please the SCO systems.
1231
1232 - Made some minor corrections to get the client to cleanup properly and I made
1233   the separator work again when getting multiple globbed URLs to stdout.
1234
1235 - Worked with Loic Dachary to get the make dist and make distcheck work
1236   correctly. The 'maketgz' script is now using the automake generated 'make
1237   dist' when creating release archives. Loic successfully made 'make rpms'
1238   automatically build RPMs!
1239
1240 Loic Dachary (6 January 2001)
1241 - Automated generation of rpm packages, no need to be root.
1242
1243 - make distcheck generates a proper distribution (EXTRA_DIST
1244   in all Makefile.am modified to match FILES).
1245
1246 Daniel (5 January 2001)
1247 - Huge client-side hack: now multiple URLs are supported. Any number of URLs
1248   can be specified on the command line, and they'll all be downloaded. There
1249   must be a corresponding -o or -O for each URL or the data will be written to
1250   stdout. This needs more testing, time to release a 7.6-pre package.
1251
1252 - The krb4 support was broken in the release. Fixed now.
1253
1254 - Huge internal symbol rename operation. All non-static but still lib-internal
1255   symbols should now be prefixed with 'Curl_' to prevent collisions with other
1256   libs. All public symbols should be prefixed with 'curl_' and the rest should
1257   be static and thus invisible to the outside world. I updated the INTERNALS
1258   document to say this as well.
1259
1260 Version 7.5.2
1261
1262 Daniel (4 January 2001)
1263 - As Kevin P Roth suggested, I've added text to the man page for every command
1264   line option and what happens when you specify that option more than
1265   once. That hasn't been exactly crystal clear before.
1266
1267 - Made the configure script possible to run from outside the source-tree. For
1268   odd reasons I can't build curl properly outside though. It has to do with
1269   curl's dependencies on libcurl...
1270
1271 - Cut off all older (dated 1999 and earlier) CHANGES entries from this file.
1272   The older piece is named CHANGES.0 and is added to the CVS repository in
1273   case anyone would need it.
1274
1275 - I added another file 'CVS-INFO' to the CVS. It contains information about
1276   files in the CVS that aren't included in release archives and how to build
1277   curl when you get the sources off CVS.
1278
1279 - Updated CONTRIBUTE and FAQ due to the new license.
1280
1281 Daniel (3 January 2001)
1282 - Renamed README.libcurl to LIBCURL
1283
1284 - Changed headers in all sources files to the new dual license concept of
1285   curl: use the MIT/X derivate license *or* MPL. The LEGAL file was updated
1286   accordingly and the MPL 1.1 and MIT/X derivate licenses are now part of the
1287   release archive.